Modelovací nástroj Enterprise Architect stručný popis vybraných funkcí a charakteristik
Ing. Kamil Svoboda, Ph.D. 2005
verze 1.3
Modelovací nástroj Enterprise Architect.................................................................................... 1 1 Enterprise Architect 5.0...................................................................................................... 4 1.1 Seznámení s prostředím EA ....................................................................................... 4 1.1.1 Založení projektu................................................................................................ 4 1.1.2 Nastavení prostředí............................................................................................. 4 1.1.3 Vytvoření nového diagramu............................................................................... 5 1.1.4 Přidání elementu a vztahu do diagramu ............................................................. 5 1.1.5 Vytvoření nového elementu v balíku projektu (v Project View) ....................... 6 1.1.6 Editace obecných vlastností elementu................................................................ 6 1.1.7 Editace vlastností vztahu .................................................................................... 7 1.1.8 Přidání (zobrazení) elementu z balíku (v Project View) do diagramu ............... 8 1.1.9 Kopírování elementů (např. tříd)........................................................................ 8 1.1.10 Kopírování vlastností elementů (např. atributů tříd) .......................................... 8 1.1.11 Přesouvání elementů, nebo jejich vlastností ...................................................... 8 1.1.12 Vytvoření nového podřízeného (Child) diagramu elementu.............................. 8 1.1.13 Změna zdroje nebo cíle vztahu........................................................................... 9 1.1.14 Mazání elementů ................................................................................................ 9 1.1.15 Změna typu diagramu nebo elementu .............................................................. 10 1.1.16 Defaultní diagram projektu .............................................................................. 10 1.1.17 Automatické uspořádání diagramu................................................................... 10 1.1.18 Vložení detailních informací do diagramu....................................................... 10 1.1.19 Zamykání diagramů a jednotlivých elementů .................................................. 10 1.1.20 Hyperlinky........................................................................................................ 10 1.1.21 Změna barev a fontů......................................................................................... 11 1.1.22 Styly (fonty, barvy,...) ...................................................................................... 11 1.1.23 Změna pořadí prvků v Project View ................................................................ 12 1.1.24 Report View ..................................................................................................... 12 1.1.25 Relationship Matrix.......................................................................................... 12 1.1.26 Uspořádání oken - layout ................................................................................. 12 1.1.27 Generování dokumentace ve formátu RTF (MS Word)................................... 12 1.1.28 Export a import dat projektu ............................................................................ 13 1.1.29 Kontrola a oprava konzistence projektu........................................................... 14 1.1.30 Komprimace projektu po mazání velkého množství elementů ........................ 14 1.2 Modelování firemních procesů (BPM) .................................................................... 14 1.2.1 Hierarchie firemních procesů ........................................................................... 14 1.2.2 Vlastnosti vztahu Flow (přechod) mezi procesy .............................................. 15 1.3 Specifikace požadavků ............................................................................................. 15 1.3.1 Nastavení typů požadavků ............................................................................... 15 1.4 Use Case diagram..................................................................................................... 15 1.4.1 Body rozšíření (Extension Points).................................................................... 15 1.4.2 Navázání vztahu <<extend>> na bod rozšíření................................................ 15 1.5 Class diagram ........................................................................................................... 16 1.5.1 Automatické vygenerování metod GET a SET k atributům třídy.................... 16 1.5.2 Asociativní třída (Association Class)............................................................... 16 1.5.3 Vnořená třída (Inner Class) .............................................................................. 16 1.5.4 Vztahy agregace ............................................................................................... 16 1.5.5 Collection classes ............................................................................................. 17 1.5.6 Dědičnost z externích tříd (rozhraní) ............................................................... 17 1.5.7 Import knihoven, hlavičkové soubory a další klauzule.................................... 17
2
1.5.8 Generování zdrojového kódu aplikace ............................................................. 17 1.5.9 Prohlížení a změna kódu třídy.......................................................................... 18 1.5.10 Vytvoření modelu z existujících zdrojových kódů .......................................... 18 1.6 Interactions (Sequence) diagram .............................................................................. 19 1.6.1 Fragmenty......................................................................................................... 19 1.7 Datové modelování .................................................................................................. 19 1.7.1 Import struktury databáze (DLL skript) do datového modelu ......................... 19 1.7.2 Generování DLL skriptu z datového modelu ................................................... 20 1.8 Vybrané klávesové zkratky ...................................................................................... 20 2 Slovník pojmů .................................................................................................................. 21
3
1 Enterprise Architect 5.0 http://www.sparxsystems.com.au
1.1 Seznámení s prostředím EA 1.1.1 Založení projektu Nový projekt založíte z nabídky File > New. Název projektu si zvolte libovolně (např. mujProjekt.eap). Z bezpečnostních důvodů doporučuji uložení projektu do osobního adresáře na síťovém disku. Žádné další zabezpečení přístupu k souboru projektu totiž není možné. „Model project" slouží jako základní šablona, podle které se vytvoří nový projekt. Pokud nepotřebujete speciální strukturu projektu, ponechte implicitní EABase.eap (prázdná šablona, která se instaluje společně s EA). Z tohoto vzorového projektu se překopíruje základní struktura balíků a některé (prázdné) diagramy. Dodatečná změna této struktury je možná v okně Project View. Soubor projektu má vnitřní formát MDB. Lze tedy do něj přistupovat externími nástroji. Výrobce dokonce připravil API se sadou funkcí pro přístup k datům projektu pomocí ActiveX.
1.1.2 Nastavení prostředí
1.1.2.1 Nastavení Model Authors Každý nově vytvořený model a prvek by měl mít přiděleného autora. Přednastavení autora modelů se definuje ve volbě Configuration > People > Model Authors. V polích formuláře se nastaví jméno autora, jeho role v týmu a případně doplňující poznámka. Poté se klikne na tlačítko Save.
1.1.2.2 Nastavení automatických prefixů Každý element, nebo diagram modelu může mít název tvořen prefixem obsahujícím automaticky přidělené číslo. Tento prefix zajistí unikátnost každého názvu elementu (v rámci typu) a zároveň umožní třídit elementy dle posloupnosti ve které byly vytvořeny. 1. Z menu Configuration vyberte položku Auto Counters. 2. Ze seznamu Type vyberte typ elementu, pro který chcete nastavit automatický prefix. Např. pro Requirements. 3. V poli Prefix nastavte statickou část prefixu – např. REQ 4. V poli Counter nastavte číselnou hodnotu, od které se má začít počítat pořadí – např. 1 5. V poli Suffix nastavte statickou část prefixu, která se přidá za vygenerované číslo – např. _ 6. Zaškrtněte pole Activate Při vytváření nového elementu (např. požadavku) klikněte na tlačítku Auto. Výše nastavený prefix potom vytvoří konstrukci REQ1_VášNázev.
1.1.2.3 Nastavení relativní cesty pro generování kódu Na projektu může pracovat více členů týmu. Aby mohl každý generovat kód tříd do své lokální cesty na disku, může si nastavit tzv. Local Path. Tato proměnná je uložena v lokální instalaci EA, takže ji má každý člen týmu individuální. Při generování se pak použije tato lokální cesta společně s názvem třídy (pokud se jedná o Javu) pro vytvoření cílového souboru. 1. Z menu Configuration vyberte položku Local Paths
4
2. V poli Path nastavte cestu k místu, kam se budou generovat zdrojové kódy tříd 3. V poli ID nastavte označení této cesty (např. JAVA_SRC) 4. V poli Type vyberte Java 5. Klikněte na Save a potom na Apply Path Změnu absolutní cesty na relativní si můžete zkontrolovat v okně
1.1.2.4 Nastavení směru vytváření agregací Pro správné vytváření vztahů agregace (celek-část) a generalizace(zobecnění) a jejich následné generování do kódu je nutné nastavit následující volbu. 1. Z menu vyberte volbu Tools > Options > Objects > Draw Aggregations Reversed
1.1.2.5 Nastavení velkých prvních písmen u jména property U vlastností (property) třídy je potřeba při vytváření „getterů“ a „setterů“ nastavit, aby se první písmena z názvu atributu automaticky zvětšila. Pro atribut „name“ má pak getter název „getName“. 1. Otevřeme Tools > Options 2. Zaškrtneme pole Generation > Capitalized Attribute Name for Properties
1.1.2.6 Další vhodná nastavení pro práci v diagramu tříd Vhodná nastavení pro diagram tříd (Tools>Options): • Objects - Assotiation default = source -> target (true) Nové asociace budou mít vždy daný směr. • Objects - Generalization link style Default = Tree (false) Nové vztahy generalizace se nebudou automaticky formátovat do stromečku • Generation - Object Lifetimes - Generate Destructor (false) Při generování se nebude automaticky vytvářet destruktor tříd ()
1.1.3 Vytvoření nového diagramu Základní šablona projektu obsahuje již sadu prázdných diagramů, které lze použít. Nový diagram ale lze vytvořit v kterémkoliv balíku struktury projektu (v okně Project View). 1. V okně Project View vyberte balík ve kterém chcete diagram založit 2. Z menu vyberte volbu Diagram > New Diagram 3. Vyberte typ nového diagramu (pozor – podle volby typu se bude automaticky otevírat i příslušná záložka nástrojů v okně Toolbox). 4. Nastavte název nového diagramu. Význam tlačítka Auto je vysvětlen v kapitole Nastavení automatických prefixů 5. Klikněte na OK
1.1.4 Přidání elementu a vztahu do diagramu Nový element lze do diagramu přidat několika způsoby. Nejjednodušší je kliknutí myší na příslušný typ elementu v okně Toolbox (čímž se změní ikona myši) a poté i do diagramu (následně se otevře formulář vlastností nového elementu). Pozor – pokud máte malé rozlišení obrazovky, může se stát, že v okně Toolbox nebudou zobrazeny všechny elementy dané skupiny. Potom je potřeba posunout seznam elementů v rámci skupiny pomocí malých šipek (tlačítko se šipkou vedle názvu skupiny posunuje elementy směrem nahoru a tlačítko se šipkou dolů, vedle názvu následující skupiny, posunuje elementy směrem dolů).
5
Nový vztah mezi elementy si přidá podobně. Nejdříve myší vyberte vztah v okně Toolbox. Poté v diagramu klikněte na element, který má ve vztahu figurovat jako tzv. zdrojový (Source), držte zmáčknutou myš a táhněte na cílový element (Target) a pusťte.
1.1.5 Vytvoření nového elementu v balíku projektu (v Project View) Nový element nemusí být přidán přímo do diagramu. Je možné jej vytvořit v rámci některého balíku projektu, bez zobrazení v diagramu. 1. V okně Project View vyberte balík, do kterého chcete vytvořit nový element 2. Zmáčkněte Ctrl + M 3. V poli Type vyberte typ elementu, který chcete vytvořit 4. V poli Name napište název elementu. Tlačítko Auto je vysvětleno v kapitole Nastavení automatických prefixů 5. V poli Stereotype vyberte případný stereotyp (využívá se málokdy) 6. Pokud chcete okamžitě po založení elementu otevřít formulář jeho vlastností, nechte zaškrtnuté pole Open Properties Dialog on Creation 7. Klikněte na OK
1.1.6 Editace obecných vlastností elementu Každý element modelu má určité obecné vlastnosti, které jsou společné pro všechny typy elementů a potom může mít i určité specifické. Vlastnosti elementu lze editovat ve formuláři, který se otevře poklikáním na element v diagramu, nebo přes pravé tlačítko a volbu TypElementu Properties (Alt + Enter). Jednotlivé vlastnosti jsou rozděleny do skupiny, které jsou přístupné přes záložky na horní straně formuláře. Jednotlivé typy elementů mohou mít odlišné záložky i jednotlivé vlastnosti. Nejběžnější jsou tyto (pro popis ostatních použijte nápovědu EA): 1. Záložka General – obecné vlastnosti elementu a. Name – název elementu b. Stereotype – stereotyp, definující zvláštní význam daného elementu c. Author – autor elementu d. Status – aktuální statut elementu (zda je navržen, přijat, implementován atd.) Hodnoty této vlastnosti lze editovat pomocí volby menu Configuration > General Types > Status Types e. Complexity/Difficulty - složitost (komplexnost) elementu f. Language/Database – programovací jazyk / databáze, do které(ho) se element bude generovat g. Version – verze elementu (hodnota se nastavuje ručně) h. Phase – číslo fáze, ve které se element nachází (hodnota se nastavuje ručně) i. Keyword – klíčová slova j. Alias – alternativní název elementu k. a další 2. Záložka Require – umožňuje definovat požadavky, které jsou přímo svázány s tímto elementem (např. požadavky na chování aplikace v konkrétní typové úloze apod.) a. Requirement – název požadavku b. Type – typ požadavku. Hodnoty této vlastnosti lze nastavit pomocí volby Configuration > General Types > Requirements c. Status – aktuální status akceptace požadavku (viz. výše) d. Difficulty – složitost zapracování požadavku e. Priority – priorita požadavku f. Pole pro popis požadavku g. Tlačítkem Save požadavek uložíte
6
3.
4.
5.
6.
7.
h. Tlačítkem New založíte nový požadavek k elementu i. Tlačítkem Move External přesunete požadavek mezi tzv. externí. Tzn. že přestane být součástí specifikace tohoto elementu, ale přesune se na úroveň celého projektu. Potom je možné jej zobrazit v rámci diagramu jako samostatný element. Záložka Contraints umožňuje definovat dodatečná omezení k danému elementu (např. že hodnota určitého atributu musí mít hodnotu v definovaném rozmezí). Tato omezení mohou být popsána volným textem, nebo pomocí speciálního jazyka Object Constraint Language (OCL) – viz. specifikace UML. Záložka Link zobrazuje vztahy elementu na jiné elementy. V této záložce je možné vztahy pouze mazat. Vytvářet se musí na úrovni diagramu, nebo v okně Project View, přes pravé tlačítku na elementu a volbu Create Link ... Záložka Scenario – umožňuje definovat scénáře, tedy popisy chování (průběhu) daného elementu. U každého typu elementu mají scénáře odlišný význam. Např. u typových úloh popisují interakci aktéra se systémem, u třídy popisují životní cyklus objektu dané třídy. V této záložce je možné zakládat scénáře různého typu – dle vlastnosti Type (hodnoty této vlastnosti lze nastavovat pomocí volby menu Configuration > General Types > Scenarios). V poli Scenario lze nastavit název scénáře a ve velkém textovém poli jeho průběh – krok po kroku (doporučuji číslovat řádky, jako jednotlivé kroky scénáře). Jeden element může mít více scénářů – např. jeden hlavní a několik alternativních (výjimečných). Každý nový scénář se musí vytvořit pomocí tlačítka New a uložit pomocí tlačítka Save Záložka Tags – umožňuje definovat dodatečné vlastnosti k elementu. Zde si může každý vytvořit vlastnost, kterou potřebuje (např. Termín realizace). Do pole Tag se zadá název vlastnosti, do pole Value se zadá hodnota (např. konkrétní datum) a do pole Note poznámka k vlastnosti. Po definici nové vlastnosti se musí kliknout na tlačítko Save a případně i na tlačítko New, pokud je potřeba definovat víc vlastností. Záložka Files – umožňuje definovat externí závislosti elementu. Zde je možné vytvořit odkazy ne externí soubory, nebo webové adresy (a následně je i spouštět). Viz. kapitola Hyperlinky – Hyperlinky z elementu na externí soubory.
1.1.7 Editace vlastností vztahu Oproti běžnému elementu diagramu mají vztahy navíc záložky Source Role a Target Role. Tyto záložky popisují detaily vztahu z pohledu zdrojové a cílové třídy (zdrojová je ta, u které jsme začali táhnout vazbu – tj. ta která využívá služeb cílové třídy – tj. ta která bude obsahovat odkaz na cílovou třídu, přes který bude volat jeho metody). Vybrané vlastnosti mají tento význam: 1. Vlastnost Class Role – umožňuje definovat roli třídy ve vztahu. Např. ve vztahu tříd Firma a Osoba, může osoba hrát roli Zaměstnanec, nebo i Zákazník. Název role se při generování přenáší do třídy jako název atributu, ve kterém bude uložen odkaz na provázanou třídu. 2. Multiplicity – četnost vztahu, určuje množství objektů které se mohou vyskytnout ve vztahu v jednom okamžiku - např. jedna firma vůči 200 zaměstnancům. 3. Qualifier(s) – kvalifikátor umožňující jednoznačně identifikovat výskyt objektu ve vztahu. Nejčastěji má podobu jednoznačného klíče (ID), přes který může objekt na začátku vztahu pracovat s konkrétním objektem na konci vztahu (nebo přes tento identifikátor potřebný objekt vyhledat). 4. Member Type – typ, použitý pro generování kolekce, pokud je multiplicita větší než 1. V Javě např. Vector.
7
1.1.8 Přidání (zobrazení) elementu z balíku (v Project View) do diagramu Element definovaný v rámci balíku nemusí být zobrazen v žádném, nebo i ve více diagramech. Pro přidání elementu z hierarchie balíků do diagramu použijte přetáhnutí myší. 1. Myší uchopte element v Project View a přetáhněte jej do otevřeného diagramu. 2. Zobrazí se nabídka, ve které můžete vybrat, zda se má element přidat jako nová instance (nový objekt vytvořený z definice – třídy), nebo jako nový potomek třídy, nebo zda se má pouze vytvořit odkaz – link. a. Pokud pouze chcete přidat prvek do diagramu vyberte „as Simple Link“ b. Pokud chcete vytvořit novou instanci (např. pokud tvoříte Class Diagram a chcete vytvořit v diagramu nový objekt dle třídy v Project View), vyberte „as Instance of Element (Object)“ c. Pokud vytváříte Class Diagram, je možné vytvořit nového potomka třídy (vztah Generalizace) vybráním volby „as New Child (Generalization)“ d. Klikněte na OK
1.1.9 Kopírování elementů (např. tříd) Kopírování elementů je možné pouze na úrovni diagramů. 1. Otevřete diagram s elementem, který chcete zkopírovat a označte jej myší 2. V menu Edit vyberte Copy 3. Otevřete jiný diagram, kam chcete element zkopírovat 4. V menu Edit vyberte Paste Element(s) -> as New
1.1.10
Kopírování vlastností elementů (např. atributů tříd)
Kopírování vlastností je možné pouze přetažením vlastnosti z okna ProjectView na vybraný element v diagramu. 1. Otevřete si diagram, ve kterém je element, do kterého chcete vlastnost kopírovat 2. V okně ProjectView rozbalte kliknutím myší na znaménko + vlastnosti vybraného elementu 3. Myší chytněte v okně ProjectView vybranou vlastnost a přetáhněte do diagramu, na element kam se má vlastnost zkopírovat
1.1.11
Přesouvání elementů, nebo jejich vlastností
Přesouvání elementů mezi balíky projektu, nebo vlastností mezi jednotlivými elementy je možné pouze v okně ProjectView. 1. V okně ProjectView najděte element, nebo jeho vlastnost, kterou chcete přesunout 2. Chytněte element, nebo vlastnost myší a přetáhněte do jiného balíku (resp. jiného elementu)
1.1.12
Vytvoření nového podřízeného (Child) diagramu elementu
Některé typy elementů (např. Use Case, nebo Class) mohou mít vlastní „podřízené“ diagramy, které znázorňují tento „rodičovský“ element z jiného pohledu. Nejčastěji se jedná o popis vnitřního chování, nebo stavů do kterých se rodičovský element může dostat. V každém případě se ale úzce vztahují na ten jediný rodičovský element. 1. Podřízený diagram se vytvoří tak, že se v okně Project View vybere konkrétní element, klikne se na něm pravým tlačítkem a vybere se volba New Child Diagram 2. Z nabídky typů diagramů se vybere ten, který chceme k rodičovskému vytvořit 3. Tím se založil nový diagram, který se v hierarhii Project View zobrazuje zavěšený pod rodičovským elementem.
8
Pozor – tím, že se nový diagram zavěsí přímo pod rodičovský element, tak jej není možné přímo zařadit do některého z balíků typů diagramů (např. do balíku Activity Diagrams). Takovýto diagram se také zobrazí v dokumentaci rodičovského elementu. Aby bylo možné do podřízeného diagramu přejít z rodičovského diagramu pouhým poklikáním na rodičovský element, musí se označit jako tzv. Composite Element: 1. Klikněte pravým tlačítkem na element, který obsahuje podřízený diagramu 2. Z nabídky vyberte Set as Composite Element
1.1.13
Změna zdroje nebo cíle vztahu
V EA je možné změnit zdroj nebo cíl vztahu (jako je např. asociace) dvěma způsoby: a) 1. Zmáčkněte klávesu Shift 2. Klikněte zakončení vztahu, který chcete přesunout na jiný element diagramu 3. Klikněte na nový element v diagramu b) 1. Klikněte pravým tlačítkem myši v diagramu na vztah, u něhož chcete změnit zdrojový, nebo cílový element 2. Z nabídky vyberte Connection Detail > Set Source and Target – otevře se okno pro změnu zdroje a cíle vztahu 3. V nabídce From Element vyberte element diagramu, kde má vztah začínat 4. V nabídce To Element vyberte element diagramu, kde má vztah končit
1.1.14
Mazání elementů
EA pracuje s elementy na úrovni projektu (resp. repository jako úložišti projektu) a na úrovni diagramu. Element v diagramu je pouhým zobrazením elementu z projektu. Jeden element projektu může být zobrazen ve více diagramech, ale také nemusí být zobrazen v žádném (např. typicky požadavky). Smazáním elementu z diagramu pouze smažeme jeho zobrazení. Proto je potřeba rozlišovat mezi mazáním elementu z diagramu a mazáním z projektu. Klávesa Delete v diagramu smaže pouze zobrazení elementu. Kombinace kláves Ctrl+Delete smaže nejen zobrazení elementu z diagramu, ale jeho definici z projektu. Mazání v rámci okna Project View je vždy mazání prvku z projektu – tedy i ze všech diagramů, ve kterých má element zobrazení.
1.1.14.1 Mazání elementů, které nejsou zobrazeny v žádném diagramu (tzv. sirotci) Může se stát, že v repository (ProjectView) vytvoříte element, který následně nepoužijete v žádném diagramu (např. jste jej vytvořili omylem, nebo jste na něj zapomněli). Takový element se označuje jako „sirotek“. Nástroj pro vyhledávání (Ctrl+F) umožňuje takové sirotky vyhledat a hromadně smazat. 1. Zmáčkněte klávesovou zkratku Ctrl+F – otevře se okno pro vyhledávání 2. V pravé části zaškrtněte pole Find Orphans 3. Klikněte na tlačítko Start Search – naleznou se nepoužité elementy 4. Vyberte elementy které chcete smazat a klikněte na tlačítko Delete Selected
1.1.14.2
Hromadné mazání elementů
Elementy je možné hromadně označit v diagramu pomocí klávesy Ctrl a myší, nebo všechny klávesovou zkratkou Ctrl+A a následně smazat klávesovou zkratkou Ctrl + Delete. Tato akce smaže nejen zobrazení elementů v diagramu, ale i jejich definice v repository (ProjectView).
9
Druhou možností je označení elementů v okně ProjectView pomocí klávesy Ctrl (resp. Shift) a myši a následném zmáčknutí klávesové zkratky Ctrl + Delete. Třetí možností hromadného mazání elementů je využití nástroje vyhledávání (Ctrl+F), ve kterém je možné použít tlačítko Delete Selected pro vybrané elementy z nalezených.
1.1.15
Změna typu diagramu nebo elementu
Již jednou vytvořenému diagramu, nebo elementu je možné dodatečně změnit jejich typ. Pro změnu typu diagramu vyberte Diagram > Change Diagram Type Pro změnu typu elementu vyberte Element > Change Type
1.1.16
Defaultní diagram projektu
Jeden diagram projektu může být defaultní (tzv. home). Otevřete vybraný diagram a zmenu vyberte volbu Diagram > Set as Model Default
1.1.17
Automatické uspořádání diagramu
Volbou Diagram > Layout Diagram můžete nechat EA automaticky uspořádat elementy v diagramu.
1.1.18
Vložení detailních informací do diagramu
Každý diagram by měl obsahovat detailní informaci o tvůrci diagramu a datech založení a poslední změny. Vložíte ji pomocí volby Diagram > Insert Property Note.
1.1.19
Zamykání diagramů a jednotlivých elementů
Každý diagram modelu, nebo jednotlivé elementy mohou být zamčeny, čímž se zabrání jejich editaci. Jedná se spíše o ochranu před nechtěnou změnou, než zabezpečení proti neoprávněnému přístupu (pro tyto účely slouží komplexní politika bezpečnosti, která lze nastavit v menu Project > Security). • Pro zamčení diagramu stačí tento diagram otevřít, kliknout někde v ploš pravým tlačítkem a vybrat Lock Diagram. Stejným způsobem se zase odemkne. POZOR – nejedná se o zabezpečení proti editaci vlastností jednotlivých elementů, ale pouze o zamezení změny umístění jednotlivých elementů v diagramu! • Uzamčení elementu proti editaci jeho vlastností provedeme opět v diagramu, pomocí pravého tlačítka na elementu a vybráním volby Lock Element. Odemčení proběhne stejným způsobem.
1.1.20
Hyperlinky
Hyperlinky umožňují rychlí přechod mezi provázanými elementy 1. Hyperlinky mezi diagramy – umožňují provázat dva diagramy pomocí hyperlinku a rychle se mezi nimi přepínat pouhým poklikáním na hyperlink. a. Otevřete diagram, ve kterém chcete mít hyperlink na jiný diagram b. V okně Project View najděte cílový diagram, na který chcete mít hyperlink c. Myší uchopte cílový diagram a přetáhněte jej do okna zdrojového (otevřeného) diagramu d. Z nabídky, který se Vám otevře vyberte volbu Hyperlink. Ve zdrojovém diagramu se vytvořil hyperlink, se kterým můžete volně pohybovat. Poklikáním se přesunete do cílového diagramu. 2. Hyperlinky z diagramu na externí soubory (nebo WWW stránky) – umožňují udělat odkaz z diagramu na externí soubor – mimo EA (např. na externí obráze, nebo dokument).
10
a. b. c. d.
Otevřete diagram a klikněte v ploše pravým tlačítkem Vyberte volbu Insert Element at Cursor Vyberte volbu Hyperlink Otevře se okno, ve kterém zadáváte charakteristiky cílového objektu. i. Do prvního řádku napište cestu k cílovému objektu (může se jednat i o WWW adresu). Můžete využít i tlačítka se třemi tečkami, abyste cílový soubor nalezli na disku. ii. Do druhého řádku Alias napište název, který se má zobrazit v ploše diagramu jako odkaz (můžete ponechat prázdný). iii. Do třetího pole můžete doplnit vlastní popis odkazu Kliknutím na OK se v ploše diagramu vytvoří hyperlink, na který stačí poklikat, abyste se dostali na cílový objekt. 3. Hyperlinky z elementu na externí soubory – umožňují provázat jednotlivé elementy diagramu s externími soubory, nebo WWW adresami. Pro každý element může dokonce existovat více hyperlinků. a. Otevřete vlastnosti elementu poklikáním v diagramu, nebo pravým tlačítkem a volbou Properties. b. V okně vlastností elementu klikněte na poslední záložku (nahoře) Files c. Do pole File Path zadejte cíl odkazu – stejně jako v bodě 2.d.i. d. V nabídce Type vyberte zda se jedná o odkaz na soubor, nebo www stránku e. Do pole Notes můžete doplnit vlastní popis odkazu. f. Klikněte na Save – tím odkaz uložíte g. Nový odkaz založte kliknutím na tlačítko New Odkaz spustíte z okna vlastností elementu, v záložce Files, kliknutím na tlačítko Launch.
1.1.21
Změna barev a fontů
Pro jednotlivé elementy diagramu je možné nastavit rozdílné barvy (jiné než standardní) a fonty textů. 1. Změna barev a. Vyberte element v diagramu a stiskněte klávesu F4 b. Ve formuláři nastavte nové vlastnosti a klikněte na OK 2. Změna fontů a. Klikněte pravým tlačítkem na element v diagramu b. Vyberte volbu Appearance > Set Font c. Nastavte nový font pro element a klikněte na OK
1.1.22
Styly (fonty, barvy,...)
Hromadné nastavení barev, fontů a další grafických charakteristik pro více prvků, lze provést pomocí stylů. 1. Zvolte menu View > Toolbars > Format Tool – na nástrojové liště vám přibude skupina ikon pro práci se styly 2. Označte prvek v diagramu a pomocí těchto nových ikon mu nastavte nový vzhled 3. Vedle ikonky tužky klikněte na malou šipečku - rozbalí se vám nabídka 4. Vyberte Save as New Style 5. Zadejte název vašeho stylu – váš nový styl se přidá do rozbalovacího seznamu pod Default Style 6. Vyberte jiný prvek v diagramu (nebo i více prvků) 7. V rozbalovacím seznamu vyberte váš nový styl 8. Klikněte na tlačítko štětky (Apply Style)
11
1.1.23
Změna pořadí prvků v Project View
Okno Project View (hierarchie všech balíků a elementů projektu) automaticky uspořádává nové elementy podle pořadí jejich vzniku. Někdy může být potřeba uspořádání změnit. Lze to pouze v rámci elementu stejného typu (např. uspořádání balíků, nebo uspořádání tříd apod.). Změna pořadí se provede pomocí tlačítek v nástrojové liště okna Project View, které mají ikony ruky ukazující nahoru / resp. dolů.
1.1.24
Report View
Pohled na aktuální diagram je možné kdykoliv přepnout na „rychlý report“ – čili přehled jednotlivých elementů a jejich základních vlastností. Přepnutí je možné pomocí volby View > Report View, nebo pomocí tlačítka s ikonou žlutého listu papíru na nástrojové liště. Pokud v Report View kliknete pravým tlačítkem a vyberete volbu Save as RTF document, získáte tabulku elementů diagramu, uloženou v souboru formátu RTF (MS Word).
1.1.25
Relationship Matrix
Nástroj pro zobrazení a editaci vztahů mezi elementy modelů. Umožňuje definovat různé typy vztahů mezi elementy z jakýchkoli balíků projektu. 1. Nejprve spusťte nástroj z nabídky View > Relationship Matrix. 2. V nabídce Source vyberte balík modelu, který je vzájemném vztahu brán jako zdrojový (důležité je že jeho elementy se zobrazí v řádcích tabulky, vlastní směr vztahu se při definic dá ještě změnit). 3. V nabídce Target vyberte balík modelu, jehož elementy figurují ve vztahu jako cílové. Zobrazí se ve sloupcích tabulky. 4. V obou nabídkách Type vyberte typ elementů z výše vybraných balíků, které mají být v tabulce zobrazeny. 5. V nabídce Link Type vyberte typ vztahu, který chcete mezi elementy nastavovat. 6. V nabídce Direction vyberte směr vztahu. 7. V buňce tabulky, která je průnikem řádku a sloupce elementů, mezi kterými chcete vytvořit vztah klikněte pravým tlačítkem a zvolte Create new relationship. 8. Pokud chcete vztah smazat, klikněte v průniku řádku a sloupce pravým tlačítkem a vyberte Delete relationship.
1.1.26
Uspořádání oken - layout
Uspořádání oken v nástroji si může každý uživatel EA přizpůsobit svým potřebám. Je možné okna přemisťovat, nechat je automaticky skrývat atd. EA nabízí možnost uložení a pozdějšího načtení uživatelského nastavení rozložení oken (tzv. layout). 1. Vyberte volbu View > Visual Layouts > User Layouts 2. Vyberte volbu 1 .. 5 a klikněte na Save Layout to Selected Tím jste si uložili pod dané číslo aktuální rozložení oken. Pokud jej změníte a chcete se vrátit k uloženému, postupujte stejně jako při ukládání, pouze vyberte Load Selected Layout. Pokud se chcete vrátit ke standardnímu rozložení oken, použijte volbu View > Visual Layouts > Default Layout
1.1.27
Generování dokumentace ve formátu RTF (MS Word)
Dokumentace se generuje vždy pro jeden balík, který obsahuje jednotlivé diagramy, elementy, případně další podřízené balíky. 1. V okně Project View označte balík, pro který chcete vygenerovat dokumentaci (pozor - ne samotný diagram, ale složku ve které se nachází)
12
2. Zmáčkněte klávesu F8, nebo z menu volbu Project > Documentation > Rich Text Format Report - otevře okno generování dokumentace 3. V levém dolním rohu klikněte v rámečku Template na tlačítko Load 4. Z nabídky vyberte šablonu, podle které chcete dokument vygenerovat a klikněte na OK 5. V hlavní okně generování dokumentace upravte obsah pole Output Filename na cestu a název souboru, kam chcete dokumentaci generovat. 6. Upravte obsah pole Heading na nadpis Vámi vytvořeného modelu (např."Use Case Model informačního systému autoškoly") 7. Upravte obsah pole Introduction - doplňte globální popis Vámi vytvořeného modelu. Popište co má model zobrazovat a jaké jsou vztahy na ostatní modely 8. V rámečku Language klikněte na tlačítko Adjust. a. v nabídce Language vyberte "1029 Czech", b. v nabídce Codepage vyberte "1250 Windows 3.1", c. v nabídce Charset vyberte "238 East Europe", d. klikněte na OK 9. V rámečku Option zaškrtněte políčko Embed Diagrams in Document 10. V rámečku Template klikněte na tlačítko Save 11. V rámečku Document klikněte na tlačítko Create Vygeneroval se Vám RTF dokument (MS Word) pojmenovaný tak, jak jste si nastavili v bodě
1.1.28
Export a import dat projektu
Export a import dat projektu lze provádět na úrovni jednotlivých balíků, nebo na úrovni referenčních dat 1. Export import balíků – tato funkcionalita umožňuje vytvořit export jednotlivých prvků balíku (podřízených balíků, diagramů a elementů) do souboru ve standardním formátu XMI (varianta XML). Tento formát je přenositelný do jiných CASE nástrojů (např. Rational Rose) a. Export i. V okně Project View vyberte balík, který chcete exportovat. ii. Zmáčkněte klávesovou zkratku Ctrl + Alt + E, otevře se formulář pro nastavení parametrů exportu iii. V poli Filename nastavte cestu k souboru, do kterého chcete balík exportovat iv. Pokud chcete provést export pro přenos modelu do jiného CASE nástroje, zaškrtněte políčko XMI 1.0 v rámečku For Export to Other Tools v. Klikněte na Export b. Import i. V okně Project View vyberte balík, do kterého chcete provést import ii. Zmáčkněte klávesouvou zkratku Ctrl + Alt + I, otevře se formulář pro import iii. V poli Filename zadejte cestu k importovanému souboru XML – můžete využít tlačítka se třemi tečkami pro jeho nalezení na disku iv. Klikněte na Import 2. Export import referenčních dat (číselníků) – EA obsahuje předdefinované číselníky typů požadavků, stereotypů, apod. ale i uživatelsky definované číselníky jako seznam autorů modelů, problémů a úkolů atd. Všechna tato číselníková data se souhrnně nazývají Referenční data. Pomocí exportu a importu je lze přenášet mezi projekty a. Export
13
i. Spusťte volbu Tools > Export Reference Data ii. Myší a stisknutou klávesou Ctrl vyberte z nabídky typy referenčních dat, která chcete exportovat. iii. Klikněte na export – objeví se dialog, ve kterém musíte zadat název souboru, do kterého bude export proveden iv. Klikněte na uložit b. Import i. Spusťte volbu Tools > Import Reference Data ii. Klikněte na tlačítko Select File iii. Na disku najděte soubor, ze kterého chcete importovat referenční data a klikněte na otevřít iv. Do okna se vypíše seznam typů referenčních dat, která soubor obsahuje v. Myší a klávesou Ctrl vyberte typy referenčních dat, které chcete importovat vi. Klikněte na Import
1.1.29
Kontrola a oprava konzistence projektu
Při práci, zejména s velkými projekty, může občas dojít ke vzniku chyb v datech projektu. V takovém případě je vhodné provést kontrolu konzistence projektu a případně i jeho opravu. Doporučuji použít oba následující způsoby. 1. Spusťte volbu Tools > Data Management > Data Integrity a. Kliknutím na tlačítko OK spustíte kontrolu b. Pokud byly nalezeny problémy v konzistenci, přepněte v levém horní rohu v rámečku Default Action na volbu Recorver/Clean a opět klikněte na OK 2. Spusťte volbu Tools > Manage .EAP File > Repair .EAP File a. V nabídce vyberte soubor projektu, který chcete opravit – pozor není tímto způsobem není možné opravovat aktuálně otevřený projekt. b. Klikněte na Otevřít
1.1.30
Komprimace projektu po mazání velkého množství elementů
Při mazání elementů z projektu zůstává alokovaný jejich prostor v rámci repository (úložiště). Proto je vhodné občas, zejména po velkém mazání, provést komprimaci projektu, která uvolní alokovaný prostor a zmenší soubor projektu. 1. Spusťe volbu Tools > Manage .EAP File > Compact .EAP File 2. Zvolte soubor, který chcete komprimovat – pozor, vybraný projekt nesmí být otevřen v EA 3. Klikněte na Otevřít
1.2 Modelování firemních procesů (BPM) Jazyk UML nemá přímou podporu pro modelování firemních procesů. Žádný speciální diagramu pro tuto problematiku neobsahuje. Enterprise Architect nabízí zjednodušený diagram aktivit (Analysis - Simplified Activity) pro BPM. Tento diagram je nejvolnější ze všech které EA nabízí. Analytikovi nechává plnou volnost ve využití jednotlivých elementů a nesvazuje tvorbu diagramu dodatečnými pravidly.
1.2.1 Hierarchie firemních procesů Vzhledem k tomu, že modely firemních procesů mají popisovat organizaci komplexně, bývají velmi rozsáhlé. Proto doporučuji firemní procesy rozdělit do skupin a pro každou vytvořit samostatný balík s názvem, který logicky zastřešuje obsažené procesy.
14
POZOR: balíky by měly dodržet specifikaci skupin firemních procesů z metodiky Select Perspective – měli by tedy být seskupením služeb (které vytvářejí hodnotu) poskytovaných zákazníkovi, nebo jiné (vnitřní) části organizace. Jednotlivé balíky firemních procesů mohou vytvářet hierarchii (např. Banka – Služby pro drobné klienty – Osobní bankéřství). Diagramy firemních procesů (Simplified Activity) lze vytvářet na jakékoliv úrovni hierarchie a navíc mohou obsahovat procesy z různých balíků.
1.2.2 Vlastnosti vztahu Flow (přechod) mezi procesy • • •
Trigger – specifikuje událost, která vyvolá přechod do následujícího procesu Guard – definuje podmínku, která musí být splněna, aby se přechod uskutečnil. Pokud má v okamžiku výskytu události (Trigger) hodnotu True, potom je proveden přechod do následujícího procesu. Effect – volitelná aktivita, která může být vykonána při přechodu z procesu do procesu.
1.3 Specifikace požadavků 1.3.1 Nastavení typů požadavků Pro projekt mohou být využity přednastavené typy požadavků, ale je možné tuto množinu upravit. V nabídce Configuration > General Types > Requirements je možné pomocí tlačítka New, Save a Delete editovat množinu typů požadavků. Důležité je kromě dalších vlastností nastavit i jejich váhu, která určuje defaultní významnost požadavků daného typu
1.4 Use Case diagram 1.4.1 Body rozšíření (Extension Points) Typové úlohy mohou obsahovat tzv. body rozšíření, což jsou místa ve scénáři, na která lze navázat konkrétní vztahy <<extend>>. Jednoduše řečeno jsou to místa ve scénáři, kam se může vložit scénář jiné typové úlohy. Body rozšíření nejsou přímou součástí scénáře, ale jsou v jakési samostatné, abstraktnější vrstvě nad scénářem. Účelem je dosáhnout maximální nezávislosti základního scénáře na jeho rozšíření (rozšiřovaná typová úloha neví kým a kdy je rozšířena). Definují se samostatně, mimo scénář. V diagramu se zobrazují v rámci symbolu typové úlohy pod jejím názvem, oddělené čárou. 1. V diagramu klikněte pravým tlačítkem na typovou úlohu, u které chcete definovat body rozšíření 2. Z nabídky zvolte Edit Extension Points 3. Ve formuláři můžete přes pravé tlačítko myši přidávat a mazat jednotlivé body rozšíření V rámci scénáře typové úlohy pak mohou být body rozšíření použity, avšak neměly by mít číslo kroku. Měly by být volně vloženy do sledu kroků bez vlastního čísla. Ve scénáři se body rozšíření označují pomocí špičatých závorek (např. <seznam skupin>).
1.4.2 Navázání vztahu <<extend>> na bod rozšíření Pokud mezi dvěma typovými úlohami existuje vztah <<extend>>, měl by být „navázán“ na konkrétní rozšiřující bod(y). Dle specifikace UML se návaznost na rozšiřující body popíše u
15
vazby do kulatých závorek, pod klauzuli <<extend>>. Bohužel nástroj EA nemá přímou podporu pro zadání těchto informací. Proto doporučuji toto náhradní řešení: 1. Otevřete vlastnosti vazby <<extend>> 2. Přepněte se na záložku Target Role 3. Do prvního pole (combobox) zapište název (nebo názvy oddělené čárkou) bodu rozšíření, na které se vazba <<extend>> váže.
1.4.2.1 Podmíněné navázání vztahu <<extend>> Vztah <<extend>> velmi často popisuje rozšíření typové úlohy za konkrétních podmínek. 1. Otevřete vlastnosti vazby <<extend>> 2. Přepněte se na záložku Target Role 3. Do pole Constraint(s) doplňte podmínky (vlastními slovy), za kterých dochází k rozšíření
1.5 Class diagram 1.5.1 Automatické vygenerování metod GET a SET k atributům třídy Nejprve je potřeba nastavit si automatické zvětšování prvních písmen u vlastností (property) – viz. kap. 1.1.2.5 Potom ve formuláři editace vlastností atributu (označte třídu a zmáčkněte F9) označíte atribut jako „Property“ (pomocí zaškrtávacího políčka vpravo), můžete nechat EA automaticky vygenerovat metody getAtribut a setAtribut. Z třídy tak snadno vytvoříte bean. Pozn.: po vám gettery a settery v diagramu snižují čitelnost (přehlednost), můžete je skrýt pomocí nastavení diagramu: v diagramu zmáčkněte F5 a zaškrtněte políčko Hide Property Methods.
1.5.2 Asociativní třída (Association Class) Představuje element modelu, který má zároveň vlastnosti asociace i třídy. Jednoduše řečeno je to vazba mezi třídami, ke které potřebujeme dodatečné vlastnosti (např. atributy). Vytvoří se kliknutím na ikonu asociativní třídy v okně Toolbox a poté na jednu a na druhou třídu v diagramu (mezi kterými se má vytvořit).
1.5.3 Vnořená třída (Inner Class) Vnořenou třídu lze vytvořit pouhým přetažením jedné třídy na druhou pomocí myši v okně ProjectView.
1.5.4 Vztahy agregace Vztahy agregace jsou v současné verzi EA (5.0) podporovány nestandardně. 1. Pro jejich vytvoření je potřeba nejdříve změnit volbu popsanou v kapitole 1.1.2.4. 2. Poté se vazba agregace natahuje od celku k jeho částem 3. Popis kardinality a dalších podrobností je však bohužel ve formuláři vlastností vazby přehozen - source a target jsou obráceně. 4. Proto je potřeba v záložce Source nastavit kardinalitu pro „část“ (takže typicky 0..*) a zároveň typ kolekce v poli Member Type (v Javě např. java.util.List) 5. V záložce Target se pak nastaví kardinalita „celku“ (takže typicky 1) 6. Pole Aggregation se nesmí měnit ani u jedné ze záložek (pozor – není to logické!) Tímto nastavením se vazby agregace generují správně do zdrojového kódu. Pozn.: aby nebylo nutné v každé záložce Source u vazby agregace nastavovat typ kolekce v poli Member Type, je možné využít defaultních typů kolekcí – viz. kap.
16
1.5.5 Collection classes Definují do jakých tříd kolekcí jsou ukládány instance provázaných tříd, pokud je kardinalita větší než 1 Např. Vyučující (1) -----> (0..*) Student Potom atribut v třídě Vyučující, který drží reference na instance třídy Student je kolekce. Kolekce mohou být různého typu. Která kolekce bude konkrétně použita může být definováno na třech úrovních: - Tools > Options > Java Specifications > Collection Classes (defaultní třídy kolekce pro celou repository) - Class properties > Detail > Collection Classes (defaultní třídy kolekce pro aktuální třídu - tj. pokud má být třída v nějaké kolekci, tak v jaké) - Association properties > Target Role > Member Type (třída kolekce, použitá pokud je kardinalita v Target Role *)
1.5.6 Dědičnost z externích tříd (rozhraní) Pokud chceme v modelu zobrazit dědičnost od tříd, resp. rozhraní, které nejsou součástí modelu (jsou externí) musíme využít nástroje Type Hierarchy. 1. Otevře se pomocí volby menu Element > Set Parents and Interfaces (Ctrl + I). 2. V poli Class Name můžeme zadat třídu z modelu (potom je vhodné použít tlačítko Choose), nebo zapsat název třídy která je externí (není součástí modelu) – např. java.io.Serializable. 3. V poli Type nastavte typ vztahu – Generalizes, pokud se jedná o dědičnost, Implements, pokud se jedná o implementaci rozhraní 4. Ponechte zaškrtnuté pole Accept classifier even if not in model 5. Klikněte na tlačítko Add
1.5.7 Import knihoven, hlavičkové soubory a další klauzule V případě využití externí knihoven (viz. kapitola Dědičnost z externích tříd) je nutné do konečného kódu třídy vygenerovat i potřebné importy (např. import java.io.*;) Nastavení těchto importů je možné až při samotném generování (postup viz. kapitola Generování zdrojového kódu aplikace). V okně nastavování parametrů generování je nutné jednotlivé importy zapsat do pole Import(s)/Header(s) – detaily viz. kontextová nápověda.
1.5.8 Generování zdrojového kódu aplikace Generování kódu lze provádět na úrovni jednotlivých tříd z Class diagramu, nebo na úrovni celého balíku tříd. 1. Generování jednotlivé třídy c. Zkontrolujte si nastavení programovacího jazyka do kterého budete kód generovat (poklikejte na třídu v diagramu – vlastnost Language) Pozn.: programovací jazyk lze nastavit (před tvorbou modelu) jako implicitní v nabídce Tools > Option > Generation, ve volbě Default Language for Code Generation. Pozn.2: programovací jazyk lze dodatečně změnit u celého balíku tříd tak, že v okně Project View kliknete pravým tlačítkem na balíku a vyberete volbu Code Engineering > Reset Option for this Package. V otevřeném formuláři nastavíte v prvním volbě All v druhé volbě nový jazyk na který chcete třídy v balíku převést. d. Označte třídu v diagramu a zmáčkněte Ctrl + G
17
e. Pokud třídu generujete poprvé, vyberte pomocí tlačítka se třemi tečkami umístění, kam se bude generovat (lze změnit i název souboru, ale to nedoporučuji) f. Do pole Import(s)/Header(s) doplňte které knihovny se mají pro třídu importovat (formát záleží na jazyku – např. pro javu: „import java.util.*;“) g. Klikněte na Generate 2. Generování kódu celého balíku tříd a. V okně Project View vyberte balík tříd, pro které chcete generovat kód b. Stiskněte Ctrl + Alt + K – otevře se formulář nastavení parametrů generování c. V nabídce Synchronize vyberte, zda chcete model synchronizovat s existujícím kódem aplikace (volba Synchronize model and code – zaznamenají se oboustranné změny), nebo pouze přegenerovat starý kód novým (volba Override code). d. Zaškrtněte Auto Generate Files a v okně které se otevře vyberte cestu (adresář), kam se má zdrojový kód generovat. i. Cestu můžete ještě upravit kliknutím na tlačítka se třemi tečkami e. Zaškrtněte políčko Include all Child Packages f. Ze seznamu vyberte třídy, které chcete generovat, nebo klikněte na tlačítko Select All. g. Klikněte na tlačítko Generate h. Zavřete okno pomocí Close a Cancel.
1.5.9 Prohlížení a změna kódu třídy Změny provedené generování do kódu třídy lze zkontrolovat pomocí okna Source Code. V tomto okně je možné i přímo editovat zdrojový kód třídy (pozor – odřádkování se provede pomocí Ctrl+Enter). 3. Označte třídu v diagramu, nebo v okně Project View 4. Otevřete okno Source Code pomocí volby menu View > Other Views > Source Code Viewer (Alt + 7) Pozn.: klávesovou zkratkou Ctrl+E lze otevřít externí editor kódu, který je asociovaný k souborům třídy (např. k .java, .php, ...). 5. Pokud jste prováděli změny v modelu změny v třídě bez generování do zdrojového kódu (kód tedy neodpovídá třídě v modelu), klikněte na tlačítko Generate and reload current object source – na horní nástrojové liště okna Source Code 6. Editujte kód třídy (Ctrl + Enter pro odřádkování) 7. Synchronizujte změny zpět do modelu pomocí tlačítka Save Source and ReSynchronize Class na nástrojové liště okna Source Code 8. Zavřete okno pomocí kláves Ctrl+F4
1.5.10
Vytvoření modelu z existujících zdrojových kódů
Model je v EA možné vytvořit i načtením existující programové struktury vybraných objektových jazyků. 1. V okně Project View vyberte balík, do kterého chcete vytvořit nový model podle programové struktury 2. Zmáčkněte Ctrl + Shift + U 3. V poli Root directory nastavte cestu k adresáři, ve kterém jsou zdrojové soubory – můžete použít i tlačítko se třemi tečkami pro jeho nalezení na disku 4. Ve volbě Source Type vyberte jazyk, ve kterém jsou zdrojové kódy napsány 5. Klikněte na OK
18
Pozn.: Zároveň je možné zpětně zanést změny provedené v modelu do zdrojových kódů pomocí generování s voblou Synchronize model and code (viz. generování).
1.6 Interactions (Sequence) diagram 1.6.1 Fragmenty Fragmenty umožňují přidat do sekvenčního diagramu dodatečné řídící mechanismy. Jejich přesný význam záleží na typu (tzv. operátoru interakce): • alt – umožňuje vymezit části sekvenčního diagramu (zasílaných zpráv) na základě podmínek a dosáhnout tak alternativních průchodů diagramem. Každá z podmíněných částí fragmentu se nazývá operand. • opt – ohraničuje volitelnou část diagramu • par – ohraničuje interakce, které jsou volány paralelně • loop – ohraničuje interakce opakované na základě definované podmínky • critical – ohraničuje interakce, které nemohou být přerušeny jinými operacemi • neg – označuje, že množinu interakcí, které nemohou být v dané chvíli vykonány • assert – definuje množinu interakcí, které mohou být v dané chvíli provedeny, všechny ostatní nemohou být uskutečněny (opak neg) • strict – indikuje, že vnitřní chování operandů musí být zpracováno ve striktním pořadí • seq – říká, že pořadí operandů není rozhodující (ale vnitřní pořadí interakcí v operandech je důležité) • ignore – definuje které zprávy mohou být ignorovány, nebo se mohou vyskytnout někde jinde v průběhu interakcí • consider – specifikuje, které zprávy mohou být v průběhu zpracování brány v úvahu (opak ignore)
1.7 Datové modelování EA je CASE nástroj orientovaný čistě na UML. Tento jazyk v sobě nemá zabudovanou přímou podporu datového modelování. Nicméně je možné využít principu rozšiřování – Extension Mechanism. Tento mechanismus definuje tzv. Stereotypy, které představují nový význam existujících elementů jazyka UML. Pro datové modelování je vytvořeno UML Extension for Data Modeling, které definuje stereotypy Table, Column atd. (více viz. specifikace UML a nápověda k EA). EA má v okně Toolbox, ve skupině elementů Structure mimo jiné i element Class se stereotypem Table, pomocí kterého lze vytvářet datové modely (jako Class diagram s významem ER diagram).
1.7.1 Import struktury databáze (DLL skript) do datového modelu EA umožňuje importovat existující databázovou strukturu a dle DLL skriptu vytvořit nový model. 1. V okně Project View označte balík, do kterého chcete importovat databázovou strukturu 2. Vyberte volbu Project > Database Engineering > Import DB Schema from ODBC 3. U pole Database Name pomocí tlačítka se třemi tečkami vyberte ODBC zdroj, přes který chcete strukturu databáze načíst. 4. V poli Schema/Owner lze nastavit filtr, který omezí importované tabulky podle schématu, či vlastníka 5. V rámečku Synchronize můžete zaškrtnout, zda se má provést synchronizace importované struktury tabulek s již existující, nebo za má být existující přepsána
19
6. Klikněte na Import
1.7.2 Generování DLL skriptu z datového modelu Z existujícího datového modelu (Class diagram s významem datového modelu – viz nápověda k EA) je možné vygenerovat DLL skript, který může být spuštěn v cílovém databázovém prostředí. 1. V vlastnostech Tabulky (třídy) zkontrolujte cílový databázový systém (vlastnost Database) Pozn.: Cílový databázový systém lze dodatečně změnit u všech tabulek najednou tak, že v okně Project View kliknete pravým tlačítkem na balík ve kterém se tabulky nacházejí a vyberete volbu Code Engineering > Reset DBMS Options. V otevřeném okně zaškrtnete Convert DBMS Type a nastavíte starý a nový typ databáze. Poté kliknete na OK 2. V okně Project View klikněte pravým tlačítkem na balík, ve kterém se nachází tabulky, pro které chcete vygenerovat DLL skript 3. Vyberte volbu Project > Database Engineering > Generate Package DLL – otevře se okno nastavení parametrů generování 4. V seznamu vyberte tabulky, pro které chcete skript generovat, případně klikněte na tlačítko Select All 5. Pokud chcete mít celý DLL skript v jednom souboru přepněte přepínač v rámečku File Generation na volbu Single File a pomocí tlačítka napravo nastavte cestu k souboru. 6. Klikněte na tlačítku Generate
1.8 Vybrané klávesové zkratky • • •
Alt+0(é) – Aktivace okna Project View Ctrl+M – vytvoření nového elementu v aktuálním balíku Klávesové zkratky pro editaci v diagramu o Alt + Enter – otevření formuláře vlastností vybraného elementu o Shift + Enter – vstup do módu procházení vlastnostmi aktuálně vybraného elementu v diagramu. V rámci tohoto módu lze použít klávesu F2 pro editaci aktuálně vybrané vlastnosti, nebo Ctrl+Shift+Delete pro smazání aktuálně vybrané vlastnosti elementu v diagramu. o Ctrl + Shift + F9 – vytvoření nového atributu třídy o F9 – editace atributů vybrané třídy ve formuláři o Ctrl + Shift + F10 – vytvoření nové metody třídy o F10 – editace metody vybrané třídy ve formuláři o Delete – smazání vybraného elementu z diagramu, s ponecháním v projektu (zůstane zobrazen v Project View) o Ctrl+Delete – smazání vybraného elementu z diagramu i z projektu o Ctrl+Space – přidání vybraných elementů diagramu do Clipboardu jako obrázek o Shift + šipka – posun vybraným elementem v rámci diagramu o Ctrl + šipka – zvětšení / zmenšení vybraného elementu o Ctrl + Shift + šipka – vybrání vedlejšího elementu v modelu (ve směru šipky) o Alt + Left / Right – aktivace předcházejícího / následujícího diagramu (z těch které jsou otevřeny) o Alt + Z – automatická změna velikosti vybraného elementu o Alt + G – zobrazení (nalezení) aktuálně vybraného elementu diagramu v okně Projet View o Ctrl + Shif + O – u potomka třídy zobrazí okno, ve kterém je možné zatrhnout, které metody předka má předefinovávat (tzv. override). 20
• • • • • • • •
o Ctrl + I – vytvoření nového hierarchického vztahu (např. dědičnosti) pro aktuální element. Přes toto okno je možné definovat i dědičnost na třídy, které nejsou součástí modelu (např. na importované z knihoven)! o Ctrl + J – zobrazení křížových vazeb elementu (vazby na ostatní prvky projektu). o Ctrl + U – zobrazení ve kterých všech diagramech se element vyskytuje o F4 – změna barev elementu diagramu o Ctrl+E otevření externího editoru kódu třídy – funguje pouze pokud je vybrána třída Home – přechod na defaultní diagram projektu Ctrl + Kolečko myši – zmenšení / zvětšení diagramu Shift + pohyb myši – posun diagramem ve směru pohybu myši Ctrl + Shift + E – nastavení implicitních barev pozadí a elementů Ctrl + T – uložení aktuálního diagramu do souboru jako obrázek Alt + číslo – otevření jednotlivých typů oken Ctrl + F4 – zavření aktuálního okna Ctrl + Shift + F11 – znovunačtení projektu
2 Slovník pojmů • •
repository – úložiště dat projektu. Obsahuje veškeré informace o projektu, od popisu jednotlivých elementů, až po uspořádání diagramů. Je tvořeno souborem s příponou EAP, nebo databázovými tabulkami. balík – složka v rámci struktury projektu, do které lze zakládat nové diagramy, jednotlivé elementy nebo další balíky. Balík na první úrovni hierarchie se nazývá View.
21