Uspořádejte a znovu použijte cenné techniky, nástroje a příklady
Vydáno 17. dubna 2007
Někde, někdy, někdo čelil podobnému problému jako vy a přišel na to, jak ho vyřešit. Co kdybyste mohli zachytit těžce získané informace tohoto člověka a dát řešení do opakovaně použitelné podoby? Přesně to poskytují návrhové a analytické vzory softwarovým inženýrům již deset let. Tyto vzory však obvykle pojednávají o konkrétním řešení; neposkytují příliš návodů, jak se naučit identifikovat správný vzor a tento vzor vůbec použít.
Naštěstí se můžete obrátit na analytické rámce, které kombinují opakovaně použitelná řešení s analytickými vzory, výzkumem, užitečnými technikami organizace a konkrétními příklady úspěšných přístupů. Analytický rámec je něco jako vaše osobní knihovna, přizpůsobená konkrétně vašim zkušenostem a zázemí.
Analytické vzory se při vývoji softwaru používají již mnoho let a poskytují řešení pro přístup k datům, monitorování a správu transakcí, zabezpečení, zasílání zpráv, uživatelská rozhraní a další potřeby aplikací. Nejsou určeny k implementaci do kódu, ale spíše k tomu, aby umožnily analytikům pochopit složité problémové oblasti.
Analytické rámce zahrnují takové vzory a také poskytují kontrolní seznam dovedností, nástrojů a technik, které jsou nezbytné pro zkoumání určité oblasti, například obchodní analýzy nebo systémové architektury. To může být velkým přínosem pro společnosti, které hledají konkrétní dovednosti pro uspokojení aktuální potřeby. Pokud uchazeč prokáže uvedené zkušenosti a schopnosti, je pravděpodobné, že s úkolem uspěje.
Pochopení struktury analytického rámce
Přemýšlejte chvíli o tom, jak někdo vyučený v oboru truhlářství postupuje při tvorbě nábytku. Pro pracovníka, který je omezen na několik jednoduchých nástrojů a své osobní znalosti, může být vytváření nových kusů obtížné a časově náročné. Na druhou stranu, pokud má tatáž osoba k dispozici plně vybavenou dílnu, výkonné nářadí a plnou knihovnu plánů a vzorových kusů, bude pro ni mnohem snazší vytvořit složitý a zajímavý nábytek. Stejně tak lze výkon analytika zlepšit přístupem k souboru osvědčených analytických vzorů, výkonných analytických nástrojů a technik a mnoha příkladům efektivních modelovacích přístupů pro zachycení a prezentaci komplexních informací.
Analytický rámec se skládá z pěti hlavních složek: sortimentu nástrojů, souboru užitečných vzorů řešení, jedné nebo více modelových forem, několika výzkumných technik a dovedností a metod pro seskupování komplexních informací. V tabulce 1 jsou uvedeny prvky nezbytné pro rámec podnikové analýzy.
Tabulka 1. Rámec podnikové analýzy
Prvek | Popis |
---|---|
Nástroje | Zpracování textu, modelovací software, řízení verzí dokumentů |
Vzory | Vzory specifické pro dané odvětví, vzory podnikových systémů, organizační struktury podniku |
Formuláře modelů | Organizační schéma, obchodní případ v jazyce UML (Unified Modeling Language), činnost v jazyce UML, Zachmanův rámec |
Techniky | Pozorování, rozhovory, studium dokumentů |
Dovednosti | Notování, aktivní naslouchání, facilitace schůzek, vedení týmu, kritické myšlení, uvažování pomocí analogie |
Kategorizace | Rámec obchodních procesů, hierarchie oddělení, obchodní případy užití, graf obchodních funkčních závislostí |
V tomto rámci obchodní analýzy, účinné nástroje pro zjišťování a zachycení podnikových procesů zahrnují modelovací software (zejména modelování v jazyce UML, pokud jsou podnikové požadavky zachyceny jako případy užití), pomůcky pro zpracování textu a určitou formu řízení verzí modelů a dokumentů. Nástroje mohou být přizpůsobeny konkrétním potřebám nebo se může jednat o obecnější nástroje, jako je například jednoduchá vizuální kreslicí pomůcka.
Obecné analytické vzory mohou být účinné, pokud jsou aplikovány na konkrétní oblast analýzy. V rámci podnikové analýzy tyto vzory zahrnují vzory podnikových systémů (například zadávání objednávek, řízení zásob a řešení obchodů), vzory specifické pro dané odvětví (například směrování telefonních hovorů, přeprava a plánování zásilek a řízení výroby léčiv) a podnikové struktury (například matice, hierarchie a distribuované organizace). Vzory jsou témata, u nichž bylo zjištěno, že se v určitých oblastech podnikání opakovaně vyskytují. Další informace o způsobech zachycení opakujících se obchodních témat naleznete v knize „Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML“. (Další informace naleznete v části Související témata.)
K zachycení komplexních informací můžete použít vybrané formy modelu. Pro komplexní analytickou analýzu existuje řada užitečných modelových forem, například Unified Modeling Language (UML) pro softwarově náročné systémy, Systems Modeling Language (SysML) pro systémové inženýrství a Zachman Framework pro průřezové problémy organizace. V příkladu rámce podnikové analýzy uvedeném v tabulce 1 zahrnují užitečné formy modelů pro studium podnikových procesů jazyk UML (pro modelování procesů a případů užití), hierarchické organizační diagramy a případně upravenou formu Zachmanova modelu.
Techniky a dovednosti jsou klíčovým aspektem každého analytického přístupu. Je důležité, aby bylo možné poskytnout posouzení aktuálně dostupných dovedností jednotlivce nebo týmu. Například technika rozhovoru vyžaduje dovednosti vedení poznámek a aktivního naslouchání. Vedení skupinového semináře vyžaduje dovednosti facilitace a vedení týmu. Systémová analýza se opírá o schopnosti kriticky uvažovat o problému (rozpoznat, jak lze problém rozdělit na menší, jednodušší oblasti) a aplikovat podobná řešení nalezená v jiných oblastech.
Cílem analýzy je prezentovat zjištění publiku. Ani ten nejlepší analytik na světě nebude úspěšný, pokud nedokáže uspořádat informace smysluplným a prezentovatelným způsobem. Automatizované nástroje poskytují pouze část řešení tohoto problému; celková organizace informací určuje, jak zamýšlené publikum data využije. V rámci podnikové analýzy jsou tyto zásady kategorizace reprezentovány podnikovými procesy (kde je podnik rozdělen na subdomény), grafy závislostí mezi případy užití a celkovou organizační strukturou (obvykle hierarchickou).
Použití analytického rámce
Teď, když víte, z čeho se skládá analytický rámec, se musíte naučit, jak jej používat. Existují nejméně tři situace, kdy se analytický rámec může hodit. První z nich je situace, kdy je třeba, aby jednotlivec změnil roli. Například obchodní analytik může přejít do role systémového analytika nebo testovacího analytika. Každá role má jiné povinnosti a vytváří zcela odlišnou sadu dokumentace a pracovních produktů. Pokud se jednotlivec může odvolat na již existující analytický rámec (s vhodnými příklady), bude mnohem snazší se na novou roli připravit a přejít do ní. Jednotlivec se musí naučit, které nástroje, techniky, vzory, modely a organizační přístupy fungují v každé situaci nejlépe. Přístup k analytickému vzoru pro každou z těchto oblastí může výrazně zkrátit čas strávený hledáním řešení.
Druhou oblastí, kde se analytické rámce mohou ukázat jako užitečné, je hodnocení dovedností a přípravy outsourcingové skupiny. Většina organizací, které využívají near-shore nebo offshore outsourcing, se při posuzování schopnosti týmů dodat dohodnuté artefakty spoléhá na jejich předchozí zkušenosti. Pokud se outsourcingový tým řídí určitým standardem definovaným specifickým analytickým vzorem, který se osvědčil, je větší jistota, že tým bude mít správný soubor materiálů a schopností. Totéž lze říci o interních týmech, ačkoli tyto týmy již obvykle mají osvědčený konkrétní přístup, který poskytuje zdroj pro analytický rámec.
Třetí oblastí, kde se analytické rámce hodí, je školení. Pokud si prostudujete rámce uvedené v tabulce 1, mělo by vám být zřejmé, že mohou tvořit základ plánu školení pro zlepšení týmu. Můžete provést posouzení, abyste zjistili, zda je správný soubor prvků rámce, nástrojů, vzorů a dovedností již k dispozici v rámci členů týmu, nebo zda je třeba jej doplnit buď nákupem nástroje, nebo školením pracovníků.
Vytváření a přizpůsobování rámců
Analytický rámec je užitečný pouze tehdy, pokud jsou nástroje modeláři známy. Připomeňme si talentovaného truhláře, že sebelepší nástroje jsou k ničemu bez tvůrčí aplikace vyškoleného a talentovaného řemeslníka. Podobně i sestavení esteticky příjemných modelů vyžaduje přizpůsobení jednoho nebo více analytických rámců problémové doméně. Musíte vědět, jak vybrat nejvhodnější rámec, seznámit se s jeho prvky a přizpůsobit prvky rámce danému problému.
Mnoho problémů má opakující se aspekty, takže často můžete přizpůsobit úzce související rámec. Například téměř všechny starší počítačové systémy potřebují nějakou formu vyšetřování návrhu, už jen proto, aby bylo možné zaškolit nové vývojáře v údržbě a rozšiřování systému. Proto bude rámec pro návrh systému použitelnější než rámec pro obchodní procesy.
Vytvoření nového rámce může být stejně jednoduché jako naklonování existujícího rámce a přidání nových vzorů a příkladů. Na druhou stranu složitější rámce, jako je například rámec, který lze vytvořit pro analýzu a řízení projektů vestavěných systémů, mohou mít jen málo společného s jinými existujícími rámci, takže je možná bude nutné vytvořit je od začátku. Měli byste začít tím, že zvážíte nástroje a techniky, které můžete v dané oblasti použít. Například může být nutné upravit stávající techniky, jako je vedení rozhovorů nebo skupinová facilitace, aby podporovaly novou doménu. Možná budete moci modeláři poskytnout další nástroje pro specifické úkoly, například počítačem podporované softwarové inženýrství (CASE) pro organizaci obsahu pro federaci webových stránek. Postupem času můžete rámec rozšířit o více příkladů. Nakonec můžete na závěr projektu formálně zachytit techniky a vzory, které se ukázaly jako nejužitečnější, jako analytické vzory pro použití na další použitelný problém.
Možná budete muset analytický rámec upravit, než bude použitelný v konkrétním kontextu. Přizpůsobení rámce zahrnuje zahrnutí nových vzorů nebo organizačních schémat, aby lépe odpovídaly potřebám daného subjektu. Tímto způsobem můžete tyto rámce rozšiřovat a rozvíjet pro nové problémové oblasti. Jakmile budou k dispozici nové nástroje a techniky a budou objeveny a kodifikovány nové analytické vzory, můžete je přidat do svého souboru nástrojů a uspořádat je do upraveného rámce. Pokud je úroveň modifikace významná, může to znamenat, že byste měli vytvořit zcela nový rámec.
Použití analytického rámce
Představte si, že jste seniorní vývojář, který byl právě přidělen na novou pozici architekta staršího systému. Na původních vývojových pracích jste se nepodíleli, ale musíte se se systémem rychle seznámit a uvést do chodu zaměstnance nového týmu, což vyžaduje, abyste se nejprve dostali do tempa. Naštěstí máte několik věcí ve svůj prospěch. Zaprvé máte k dispozici dobrou sadu příkladů architektury z jiných podobných systémů ve firmě. Za druhé, máte přístup k analytickému vzoru pro softwarovou architekturu (viz tabulka 2).
Tabulka 2. Analytický vzor pro architekturu softwaru
Element | Popis |
---|---|
Nástroje | Profilovač kódu, nástroj pro tvorbu databází, šablona dokumentu softwarové architektury, modelovací software, analýza kódu |
Vzorce | Vzorce nasazení softwaru, vzorce architektury, vzorce návrhu systému, vzorce ukládání dat |
Formy modelů | Dynamické modely (například sekvence UML, diagramy algoritmů, stavové diagramy UML a diagramy aktivit UML), diagramy entit a vztahů databáze, strukturální modely (např. mapa volání tříd a funkcí UML), diagramy toku dat, modely podnikových systémů |
Techniky | Abstraktní myšlení, organizace a kategorizace, kritická analýza, tvorba poznámek |
Dovednosti | Struktura kódu, analýza toku, profilování hardwaru, chování systému |
kategorizace | funkční chování, závislost subsystémů, závislost komponent, balení pro nasazení |
Při použití rámce softwarové architektury je vaším prvním krokem sestavení všech doporučených nástrojů. Modelovací nástroj poskytuje možnost vizualizace stávajícího kódu do modelu UML, což vám umožní prozkoumat stávající strukturu kódu. Runtime profiler je cenný pro záznam zásobníků volání při provádění funkcí aplikace.
Dále můžete zkoumat běžné architektonické vzory přítomné v aplikaci. Tyto vzory, pokud jsou přítomny, můžete identifikovat pomocí popisů společných vzorů zaznamenaných v rámci, zejména vzorů analýzy a návrhu. Takových vzorů je publikováno mnoho; znalost těch nejběžnějších často postačí k provedení architektonické analýzy.
Znalost různých forem modelů, jako jsou diagramy entit a vztahů (ERD), UML a další přístupy k modelování orientovanému na systém, vám poskytne širokou škálu možností modelování. Kategorizace těchto modelů podle funkčního chování, logického porovnání s fyzickou strukturou a vnitřních stavů chování vytvoří užitečný záznam celkové architektury systému. Nakonec je důležité znát svá vlastní omezení. Sebehodnocení je obtížný úkol, ale je nezbytné, abyste se ujistili a ujistili, že tým má k dispozici všechny skutečně potřebné dovednosti. Použití souboru očekávaných dovedností uvedených v analytickém rámci pro architekturu softwaru je dobrým výchozím bodem pro určení druhů schopností potřebných pro úkol analýzy architektury. Analytický rámec vám poskytne kontrolní seznam minimálního množství prvků, které potřebujete k tomu, abyste byli úspěšní. U specializovaných architektur, jako jsou například dopravní sítě, mohou být vyžadovány další dovednosti.
Shrnutí
Studium a pochopení složitých softwarových systémů může být náročným úkolem. Abyste byli úspěšní, musíte používat různé nástroje a techniky pro shromažďování, uspořádání a prezentaci popisů systémů. Vytvořením a přizpůsobením analytických rámců se můžete připravit s dostatečným předstihem a shromáždit užitečné nástroje a příklady, které můžete použít v aktuální situaci. Nyní, když víte, z jakých prvků se skládá úspěšný analytický rámec, jak rámce opakovaně používat a jak vytvářet rámce nové, budete dobře připraveni na řešení mnoha běžných situací, s nimiž se setkáváte při řešení dnešních složitých problémů.
Zdroje ke stažení
- PDF tohoto obsahu
- Další informace o podnikových archetypech najdete v knize Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML, kterou napsali Jim Arlow a Ila Neustadt (Addison-Wesley Professional, 2003).
- Přečtěte si třídílný seriál Bena Liebermana (PDF) na téma Umění modelování, který vás naučí sestavovat analytický rámec, organizaci a konstrukci modelu a vizuální kompozici (developerWorks, srpen 2003).
- Naučte se modelovat pomocí strukturálních forem, organizačních témat a otočných diagramů v článku Bena Liebermana „Vytváření efektivních modelů systému“ (developerWorks, březen 2007).
Naučte se modelovat pomocí strukturálních forem, organizačních témat a otočných diagramů.