Grafy a tabulky v Enterprise Architectu

Kromě běžných elementů, jako je třída či případ užití, si můžete nechat na diagramu zobrazit koláčový či sloupcový graf nebo tabulku, a to na základě různých podkladů. Ukažme si, jak je použít.

Předně je nutno říct, že grafy i tabulku najdeme v Toolboxu ve skupině Artifacts pod názvy Standard Chart (grafy) a Model View (tabulky). Tam jsou dostupné vždy (ještě je jedna možnost, o ní se zmíním za chvilku). Vložme tedy náš první graf na libovolný diagram a zobrazme si jeho vlastnosti:

Nás bude zajímat položka Source ve stromové struktuře vlevo. Ta je totiž určená k definici grafu. Ponechme koláčový typ grafu a podívejme se, co nabízí možnost Series. Po kliknutí na výpustku vyberte, co budete zobrazovat. Jestliže vyberete např. Element.ObjectType, dostanete podíly typů elementů ve zvolených balících.

Jak ale zadat požadované balíky? K tomu slouží tlačítko Add nad dosud prázdným seznamem zdrojů. Pomocí něho vyvoláte dialog na přidání balíku. V případě potřeby zaškrtněte i Include Child Packages, jestliže chcete zahrnout do grafu i prvky z vnořených balíků.

Poté se ještě můžete podívat na záložku Appearance, kde lze upravit některé vlastnosti grafu.

Konečně zbývá použít tlačítko OK a pokochat se prvním vlastním grafem.

Fajn, hezké. Ale nějaké rozumné použití by nebylo? Jedno bych to měl, sám ho využívám v případě požadavků, resp. user stories z Atlassian Jira. Pomocí add-inu Cheeky EA Connector for Atlassian Jira si stahuji storky a v grafu pak vidím např. jejich počet rozdělený dle stavu:

Jak na to? Popis práce s addinem je popsán jinde, zde si jen ukážeme, jak nadefinovat graf. Opět vložím graf na diagram, zvolím typ 2D Bar a protože se chci dotazovat na tagové hodnoty elementů, musím holt zvolit definici pomocí SQL dotazu. Tento dotaz se doptá na všechny elementy typu JiraStory a jejich tagovou hodnotu nazvanou Status. Podle toho pak určím počet jednotlivých prvků. Konečně dotazovat se budu na storky v nějakém konkrétním balíku v modelu. K tomu však musím znát GUID takového balíku. Jak se ho dozvím? Např. tím, že na něj najedu v Project Browseru a v kontextovém menu zvolím položku Copy/Paste → Copy Node GUID to Clipboard. Hodnotu pak zadám do odpovídajícího SQL dotazu:

select op.value as Series, count (1) as ChartValue
  from t_object o, t_objectproperties op
    where o.object_id = op.object_id
      and o.object_type = 'Requirement'
      and o.stereotype = 'JiraStory'
      and op.property = 'Status'
      and o.package_id = (select package_id
        from t_package
          where ea_guid = '{7CDD29FD-DFE3-4640-B20F-AC312CB5DA43}')
group by op.value

Jeden z možných výsledků pak vidíte na jednom z předchozích obrázků.

Přejděme nyní na tabulky. Ty samozřejmě můžete také vkládat přes Toolbox, ale je ještě jedna možnost. Pokud vytváříte nový diagram, ve skupině Extended zvolte Dashboard:

EA vám předpřipraví Toolbox dle chuti – jednak některé předdefinované grafy a jednak tabulky. Především jedna z nich je hodně užitečná: Unrealized Requirements. Jedná se o seznam požadavků, které dosud nejsou nijak realizované (jinými slovy není na ně realizační vazba). Pokud tedy tento seznam vložíte na diagram, máte SQL dotaz předpřipravený, stačí jej tedy potvrdit tlačítkem OK a seznam (tabulka) je na světě:

Samozřejmě můžete použít jiný SQL dotaz, přesně takový, který odpovídá vašim potřebám.

A to je vlastně vše. Je to jen nastínění možností éáčka, pomocí kterého můžete vaše diagramy (které se pak mohou objevovat např. v reportech) ještě více vylepšovat.

About Slávek Rydval 134 Článků
Slávek Rydval začínal jako programátor, ale postupem času se dostal k návrhu softwaru, posléze k integrační architektuře a v současní době pracuje jednak jako architekt řešení a jednak jako školitel UML (základů i příprav k certifikační zkoušce OCUP 2) a nástroje Sparx Enterprise Architect. S UML přišel do styku již na univerzitě, ale opravdu intenzivně se mu věnuje posledních deset let. Na programování však nezanevřel a občas pár řádek kódu napíše.

Buďte první kdo přidá komentář

Napište komentář

Vaše e-mailová adresa nebude zveřejněna.


*