You are currently browsing the category archive for the 'metodiky vývoja softvéru' category.

OMG vydala prípadovú štúdiu zaoberajúcu sa posúdením modelovania Enterprise Architektúry (EA) TOGAF (konkrétne časti Architecture Development Method, t.j. ADM) pomocou OMG metamodelov, predovšetkým SPEM.

Z pohľadu implementácie informačných systémov podľa princípov Enterprise Architecture vidím prínos použitia špecifikácie SPEM v2.0 pri definovaní procesného modelu (v prípade TOGAF ide o definovanie výstupu B. fázy, t.j.: tvorbu Business architecture) a následného použitia tohoto modelu pri rozpracovaní do Dátovej a Aplikačnej architektúry.

Poznámka na okraj: jeden z autorov spomínanej štúdie naštartoval nový projekt, kde zachytáva Architecture Development Method časť TOGAF-u používajúc EPFC.

Ďalšie zdroje k téme

Dnes som narazil na veľmi podarený plugin pre aplikáciu JIRA. Ide o GreenHopper doplňajúci JIRA o vizualizáciu založenú na princípoch vývoja typu Agile software development alebo Lean software development používajúcich evidenciu požiadaviek klienta vo forme príbehov či kariet (ako napr.: Stories v Extreme Programming, či Feature v Feature Driven Development) . Veľa napovie úvodné video a základný popis funkcionality.

Po dlhšom čase som sa zase dostal k webu a našiel niekoľko zaujímavostí:

Na serveri InfoQ, ktorý sa zaoberá aj agilnými technikami vývoja softvéru, vyšiel článok o súťaži krátkych filmov propagujúcich agilné techniky. Odporúčam veľmi vtipné “propagujúce” video od High Moon Studios.

Ako ste si všimli, pre písanie a publikovanie svojich postrehov používam výborný program WordPress (šírený pod opensource licenciou) prevádzkovaný zadarmo na wordpress.com. Keďže píšem po slovensky, rád by som mal po slovensky aj rozhranie k publikovaným článkom. Ako som zistil, zapojenie sa do lokalizácie WordPress je skutočne jednoduché.

Konečne sa mi podarilo usporiadať materiály, ktoré som prednášal ako prvú prednášku v predmete Kvalita programových a informačných systémov na FIIT. Témou bola Manažment kvality softvérových procesov.

Dnes mám na FIIT ďalšiu prednášku v rámci predmetu Kvalita programových a informačných systémov. Dnešná téma je Goal Question Metric.

Opätovne vyberám z diania na mailing listoch EPF …

Používateľská konferencia

Vývojárska konferencia

Poznámka: k mojim príspevkom neuvádzam linky nakoľko reagujem pri písaní tohto článku a chvíľu trvá kým sa publikujú vo web rozhraní mailovej konferencie.

Konečne som sa opätovne dostal k čítaniu diskusie na eclipse.technology.epf, čo je používateľská konferencia k nástroju pre metodické modelovanie procesov - EPF. Tu je výber toho najzaujímavejšieho:

  • -> Saravanan Sankar z Cognizant: “Activity Entry & Exit State
    Sarav sa spýtal prečo je zadávanie vstupno/výstupných stavov aktivít v hierarchii WBS možné len ako text (String). Po osobných testoch (prikladám ukážku) som dospel k názoru, že hovorí o vstupno/výstupných stavoch výstupu (WorkProduct) v aktivite definovanej v prvku typu Processes (Delivery Process, Capability Pattern). Peter Haumer potvrdil moju domnienku a doplnil, že riešenie stavov pre výstup (Workproduct) - “state-transition models for work products” bolo z EPFC z časových dôvodov stiahnuté, ale je obsiahnuté v návrhu špecifikácie SPEM 2.0, v časti Process Behavior. Peter deklaroval snahu o doplnenie danej funkcionality do EPFC. Toto by mohla byť cesta ako časom dostaťdo EPFC rozumnejšie modelovanie stavov výstupov (WorkProduct), t.j. akési State Machine Diagram (UML2)
    Work Product Descriptor - Activity Entry/Exit State
  • -> Jan Masaryk: “Again to translation topic
    Mauro pokračoval v mojich otázkach ohľadom lokalizácie nástroja a publikovaného modelu. Shilpa (vývojár EPFC) ho informoval o dostupnej lokalizácii pre 9 jazykov ako balíčka “NLS Pack for EPF 1.0.1 and 1.0.1.x“. Po prezretí vývojových úložísk projektu s radosťou konštatujem, že sa samotná lokalizácia oddelila od zdrojových súborov nástroja aj formou oddeleného uloženia (vetva nl_features a nl_plugins). Diskusia sa ďalej uberala smerom k lokalizácii/prekladom metodiky OpenUP, Ricardo deklaroval prijatý konsenzus spustenia lokalizácií (na báze dobrovoľníkov) až po vydaní verzie 1.0. Bližšie k plánu vývoja OpenUP tu.
    Položil som otázku ohľadom spôsobu lokalizácia EPFC a publikovania za pomoci uverejneného NLS Pack.
  • -> Charles Edwards: “Could we add a stereotype on the Guidance type called ‘Principle’?”
    Charles sa informoval o možnostiach rozšírenia stereotypov prvku Guidance. Momentálne to nie je možné, ale je to už v požiadavkách na EPFC, takže by to malo by dostupné v ďalších verziách.
  • -> Kannoori: “Decision Flow Based Process
    Kannoori odpovedal na otázku ohľadom tvorby diagramu s použitím prvku Decision. Konštatoval, že momentálne nie je dostupné priame označenie prvkov typu Decision a linky Control flow. Odporúča použiť prvok Free text. Daná požiadavka už je zaregistrovaná v bugzille EPFC.
  • -> Peter Haumer: “Re: Custom Categories and Guidance Type of: Term Definition
    Peter opravil svoju odpoveď ohľadom linkovania prvku Term definition. Ide o chybu nástroja pri použití filtra All. Riešením je použitie filtra Guidance. Ďalej upozornil na rozumné využívanie prvku typu Term a odporučil zváženie použitia prvku typu Concept.
  • -> Aitor Bediaga: “Define steps in a new task descriptor
    Aitor nevedel ako pridať Steps do vytvoreného Task Descriptora. Shilpa odpovedal, že Steps pre nový Task dexcriptor sú pridané len v prípade ak linkovaný prvok Task dajaké Steps obsahuje. Peter ho odkázal na výborne video ukazujúce ako to robiť. Dopĺňam, že v prípade použitia linkovania typu Extend, by mali ísť dopĺňať nové Steps. Neskúšal som to však.
  • -> Saravanan Sankar: “Guidance Attachment
    Sarav sa pýtal na dôvody prečo nie je možné pridávať prílohy a odkaz na externé zdroje (ako štruktúrovaný údaj, t.j. položku formulára) ku všetkým druhom prvkov typu Guidance (u Template to ide). Peter odpovedal, že to nie je želaný spôsob práce vzhľadom na princípy tvorby modelu v EPFC a poukázal na možnosť linkovania v Rich Text Editor cez Add link. Rob požiadavku Sarav podporil, zdôrazňoval potrebu zachytenia externého zdroja pomocou URL a nepáčil sa mu odporúčaným postup vloženia tejto linky pomocou Rich text editora. Osobne by som uvítal možnosť pripojenia súboru k prvku example, čo som aj v konferencii uviedol.
  • -> Srinath: “is ther any Workflow engine in epf?
    Srinath sa pýtal, či je dostupný “runtime engine” pre procesy namodelované v EPFC. Peter objasnil, že táto funkčnosť nie je v primárnych cieľoch projektu (EPFC je určený na metodické modelovanie), pričom by uvítal prispetie do projektu týmto smerom. Pre potencionálnych záujemcov ponúkol, že má zopár nápadov ako by to bolo možné. Sarav odpovedal, že sa zaoberajú možnosťami automatizácie a naznačil dva možné smery implementácie: rozšírenie SPEM špecifikácie alebo mapovanie na BPEL. Bol spomenutý pokus implementácie pomocou Microsoft Workflow Foundation a návrh cez ActiveBPEL.
  • -> Jim Ruehlin: OpenUP/Basic 0.9 Alignment Review
    Prebiehalo ďalšie review obsahu OpenUP/Basic.
  • -> Jim Ruehlin: “Please Provide Feedback on OpenUP
    Jim vyzval ľudí používajúcich OpenUP/Basic alebo tých, ktorí o používaní uvažovali, aby poslali spätnú väzbu na obsah metodiky. Pripojil aj zopár otázok, ktoré by mali pomôcť sumarizácii danej väzby. V rámci odpovede Roba bolo zaujímavé potvrdenie náročnosti udržiavania metodiky pomocou systému typu wiki.
  • -> Claude Aubry: “plugin and tool mentors
    Claude popísal spôsob ako pripájať prvky typu Tool mentor k prvkom typu Task v prípade, že pre nástroje existuje samostatný Method plugin a opýtal sa na jednoduchší spôsob. Peter mu jeho postup potvrdil.
  • -> Brian Lyons: Reference to EPF & OpenUP in Forrester Teleconference”
    Brian odkázal na prezentáciu EPF/OpenUP a upozornil na nedostatky prezentácie.
  • -> Saravanan Sankar: “Search Feature
    Sarav upozornil na nedostupnosť funkcionality vyhľadávania v publikovanom modele i napriek odkazovaniu na danú funkcionalitu v nápovede EPFC. Shilpa odpovedal, že daná funkcionalit nie je dostupná v open source verzii. Mark vysvetlil dôvody, odkázal na danú požiadavku v bugzille a navrhol ako to napraviť: 1. hlasovať za danú funkcionalitu (mailing list, bugzilla) alebo 2. napísať daný kód (jednoznačne preferovaná možnosť :-)).
  • -> Charles Edwards: “Service Operation idea built into EPF?
    Charles sa zamýšla nad použitím EPFC na definovanie “business services“, prikladá aj diagram metamodelu (Service Defition Document). Zaujímavá úvaha, zatiaľ bez odpovede.
  • Ricardo Balduino: “XP Plug-in 0.1 available
    Ricardo oznámil dostupnosť prvej verejnej verzii metodiky XP ako EPFC library. Po prvom zhliadnutí potvrdzujem, že ide naozaj o prvú verziu.
  • -> Scott: “EPF and Subversion/Subclipse
    A najzaujímavejší príspevok som si nechal na záver. Ako bonus. :-) Scott zhrnul ich skúsenosti s používania EPFC a Subversion (cez eclipse plugin Subclipse 1.1.8). Priklonili sa k používaniu Lock funkcionality nad každým súborom, ktorý bude editovaný (na záver prikladá nastavenie automatického zamykania súborov a pridávania properties). Zároveň poukazuje na skúsenosti s používaním TortoiseSVN v kombinácii s Subclipse. Pochvaľuje si udržiavanie presunutia/premenovania prvkov modelu (podporované v subversion). Pri navrhnutom spôsobe používania narazili na problém premenovávania súborov ak je premenovávaný prvok (jeho súbor) zamknutý, čo je podľa mňa problém navrhnutého spôsobu práce a vedie k nekonzistencii modelu (ale dá sa pomerne jednoducho opraviť). Neskôr Scott oznamuje, že Subclipse verzia 1.1.9 má nezvyčajné problémy (závislosť na Mylar). Túto nepríjemnú závislosť potvrdzujem (pričom Mylar nie je možné nainštalovať do EPFC 1.0.1.2) a pridávam problémy s nutnosťou zamykania súborov s ktorými chce používateľ pracovať. Na záver Scott ponúka spôsob nainštalovania Subclipse 1.1.9 aj s Mylar (vynikajúci plugin odporúčam pozrieť) !!! Osobne som to neskúšal, takže nemôžem potvrdiť. Mark neskôr opravuje Scotta, že Subclipse samotný nemá závislosť na Mylar, čo neskôr Scott potvrdzuje (asi to skúsim ešte raz a pozorne :-)). Mark kritizuje navrhovaný spôsob fungovania, nakoľko ide proti samotným princípom Subversion (ide o optimistický model verzionovania) a pýta sa na zložitosť riešenia konfliktov. Scott poukazuje na odporúčanie Jima nepoužívať zlučovanie súborov (merging). Vzhľadom na to, že Subversion používame aj my, prispel som do diskusie zopár poznámkami.

Doplnenie z mailovej konferencie vývojárov EPF:

Archív ďalších výberov:

Microsoft vydal ďalšiu aktualizáciu metodík MSF v4 určených pre vývoj softvéru:

Obsahujú podporu databázových unit testov a refaktoringu súvisiacich s článkami na Visual Studio Team Edition for Database Professionals. V prípade používania MS Visual Studio Team Foundation Server, tu sú inštrukcie pre aktualizáciu.

Pri dávnejšom preskúmavaní možností “metodického” modelovania procesov som narazil na nástroj EPF, ktorý považujem za jeden z najvydarenejších. Plánujem k nemu vydať zopár článkov, zatiaľ ponúkam výber diskutovaných tém z mailing listu news.eclipse.technology.epf, kde sa diskutovalo k týmto témam:

  • Oddelenie oblasti ‘Process Authoring’ do osobitnej časti (asi plug-in). zatiaľ je to súčasť Method Plugin “base_concepts”.
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=164688
  • Preorganizovanie obsahu menu (Tree Browser).
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=164690
  • Mark sa pokúša založiť European EPF User Group.
    (Mark Dickson: “ANNOUNCEMENT: European EPF User Group”)
  • Prispievatelia (EPF/OpenUP) zbierajú spätnú väzbu k akémukoľvek používaniu (alebo aj zamietnutiu) metodiky OpenUP.
    (Jim Ruehlin: Please Provide Feedback on OpenUP)
  • Jim otvoril otázku, čo má byť výsledkom dvoj-fázy Construction/Transition. Kompletný či stabilizovaný softvér? Odpovede smerovali k obidvom použitiam, t.j. závisí od konkrétneho projektu na ktorý sa OpenUP aplikuje.
    (Jim Ruehlin: OpenUP Construction/Transition Phases)
  • Funkcionalita vyhľadávania nie je dostupná v EPF (mala by byť dostupná v Rational Method Composer) nakoľko sa jedná o Java applet, ktorý nebol súčasťou uvoľneného kódu od IBM pre EPF. Pre túto funkcionalitu existuje požiadavka v bugzille EPF.
    (Svanarav Sankar: Search Feature)
  • Jim sa zamyslel nad použitím konceptu 4 oblastí (Collaboration, Intent, Management, Solution) v publikovanom modele OpenUP a nenašiel žiadnu väzbu vo vnútri vypublikovaného modelu. Navrhuje buď koncept zaviesť do OpenUP alebo úplne vypustiť (príp. marketingovo využiť :-))
    (Jim Ruehlin: Subprocesses in the OpenUP/Basic Published Process)
  • Jim otvoril diskusiu (z pohľadu OpenUP) čo s otvorenou iteráciou v prípade veľkej zmeny požiadaviek alebo ich priorít. Aktuálne je v OpenUP odporúčané “re-prioritizing and adjusting” iterácie, zatiaľčo Jim zhrnul výhody otvorenia novej iterácie.
    (Jim Ruehlin: Terminating or Reprioritizing Iterations in OpenUP/Basic)
  • Alax položil otázku riadenia projektu definovanom v EPF. Peter Haumer odpovedal, že momentálne (not yet) to nie je úlohou EPFC, pričom rozobral možnosti integrácie s MS Project a Rational Portfolio Manager. Charles Edwards odporučil xProcess od Ivis, i keď upozornil, že v danom nástroji nie je podporovaný import definície z EPF. V každom prípade si myslím, že vzhľadom na známu schému ukladania modelu a podporu MOF je dostupnosť takého nástroja otázkou krátkeho času.
    (Alax Lam: Tracking project progress in EPF)
  • Charles sa zamýšla nad vhodne zvolenou granularitou Method Plugin a dôvodmi vedúcimi k určitému členeniu do jednotlivých Method Plugins. Bohužial zatiaľ bez odpovede.
    (Charles Edwards: What level of granularity of Published Plugins should we be aiming to build?)
  • Jim navrhol zopár vylepšení procesu preskúmavania obsahu OpenUP.
    (Jim Ruehlin: Content Reviewing Ideas)

Martin Andrews vo svojom článku Defining software architecture roles pekne definoval jednotlivé role IT architektov (System/Application Architect, Solution architect, Enterprise architect).

Otázne je, či je v praxi možné (a nutné) tieto role rozlišovať pre potreby definovania rolí a náplne. Z pohľadu odbornosti určite, nakoľko riešená problematika je veľmi rozdielna (len si zoberme integračné návrhové vzory VERSUS jednotlivé Enterprise Architecture frameworks). Zároveň môžme tiež predpokladať (a je aj vhodný) postupný pokrok smerom system/solution/enterprise.

Je to však aj v skutočnosti tak (na Slovensku)? A koľko máme na slovensku ľudí v roli Enterprise Architect? :-)

Narazil som na pekne spracovaný server venujúci sa o-o technikám (objektové programovanie, analýza, návrh) a metodikám. Obsahuje články pracovníkov a študentov Katedry informačních technologií Vysoké školy ekonomické.

Konkrétne dávam do pozornosti:

Mimochodom výborným zdrojom informácií k problematike o-o vývoja je pravidelná každoročná konferencia Objekty a jej archív príspevkov.