Jiří Mašek BIVŠ Praha 2008
Obecný popis SCA Podporuje modelování aplikací a komponent v rámci celého životního cyklu. Modelování podnikových procesů v notaci BPMN Objektové modelování - standard UML Jednouživatelský i týmový režim práce Objektová repository SOFTLAB Enabler pro ukládání modelovaných informací a pro řízení simultánního přístupu k údajům Metodiky Select Perspective Koncept MDA ( Model Driven Architecture)
Termíny Repository (úložište) - pro projekt (celý systém) Model – pro modul (část systému) Dictionary (slovník) Položka slovníku (třída, vazba, požadavek, proces atd.)
Delete from Diagram versus Delete from Model Delete from Diagram Ruší položku z aktuálního diagramu (Zobrazení) V ostatních diagramech zůstává Delete from Model Ruší položku ze slovníku tedy z modelu a všech jeho diagramů (Existenci)
Založení Modelu v Repository
Příklad SCA
Katalog požaavků Založení Atributy Hierarchie Závislost
Process Hierarchy Diagram (PHD) Úvodní procesní diagram Řeší procesní dekompozici Dává přehled o rozsahu systému
Příklad PHD 1
Příklad PHD 2
Příklad PHD 3
Process Thread Diagram (PTD) Další procesní daigram navazuje na PHD Není standardem UML Dobře pochopitelný pro uživatele Zachycuje události spouštějící procesy Spouštění procesu jiným procesem Plavecké dráhy ukazují aktéry procesu concurrence, iteration
Příklad PTD
BPMN Diagram Business Process Modeling Notation Vznik v roce 2004 – BPMI (Business Process Management Initiative) Není standardem UML Dnes podporováno OMG (Object Management Group) Pravděpodobný obecný standard
Syntaxe BPMN Pool Lane Události Počáteční, Průběžná, Koncová Činnosti Úkol, Vložený subproces, Nezávislý subproces Toky Sekvenční tok, Tok zprávy Brány Neznačené, XOR, OR, AND, komplexní Artefakty Vstupní, Výstupní
Příklad procesu v BPMN
Use Case Diagram (UCD) Aktéři Generalizace Případy užití (Use Cases) Interakce mezi aktérem a případem užití Vztah mezi UC Include - zachycení společného chování ve více UC Základní UC není bez vloženého UC kompletní Extend – rozšíření funkčnosti základního UC(v bodu rozšíření) Základní UC je i bez rozšíření kompletní
Případ užití UC Aktéři Vstupní podmínky Hlavní scénář Alternativní scénáře Výstupní podmínky Odkazy na Požadavky Procesy
Příklad UCD
Třída
Notace modelu tříd Stereotyp jméno třídy atributy operace Seskupení obsahuje třídu Externí třída Násobnost asociace * jakákoliv (včetně 0) 1 právě jedna 0..1 nula až jedna 1* jedna až mnoho 5..8 od pěti do osmi
Dědičnost vztah na úrovni tříd Dědičnost vyjadřuje vztah mezi nadtřídami a podtřídami, kdy podtřídy přebírají z nadtříd všechny jejich atributy, operace a asociace. Dědičnost může být i ve více než jedné úrovni.
Agregace Pro modelování vztahu mezi objekty typu “je částí”. - dekompozice objektů. Objekt nazývaný agregát obsahuje objekty zvané komponenty (ve významu část celku). Agregace funguje na úrovni objektů Vs Dědičnost - funguje na úrovni tříd.
Asociace vztahy mezi jednou či více třídami, které jsou abstrakcí množiny spojení mezi instancemi (objekty) těchto tříd. Lze obecně najít hledáním sloves a slovesných spojení v popisu problémové oblasti. Jsou v podstatě obousměrné pokud nejsou explicitně specifikovány jako jednosměrné Jméno asociace: Role tříd v asociaci Násobnost asociace Kvalifikátor asociace Firma a “os. číslo” zaměstnance jednoznačně identifikují osobu, která je ve firmě zaměstnána
Stereotypy tříd Rozšíření slovníku UML Umožňuje rozlišovat třídy Tvořit nové druhy objektů z existujících podle potřeby Všechny položky slovníku mohou používat stereotypy Třídy mají též předdefinované hodnoty stereotypů, ty nelze měnit
Základní typy stereotypů userModeluje rozhraní mezi uživatelem a podnikovým modelem, slouží k ochraně podnikového modelu před změnami do uživatelského rozhraní businessModeluje požadavky na systém nezávisle na technologii interfacesDefinuje sadu metod které mohou být na oběktu volány exceptionsVýjimky ve scénáři akcí, když akce není provedena úspěšně. external itemsOdkaz na položky mimo aktuální model Objekty jsou tříděny do stereotypů Uživatelsky definovaný stereotyp lze přiřadit jakémukoliv objektu ze slovníku, který podporuje stereitypy
Seskupení tříd (packages) Dekompozice systému na menší části - logicky související celky V objektovém prostředí seskupení tříd (dat i potřebných operací), které mezi sebou komunikují Snaha o minimalizaci závislostí mezi seskupeními Vodítko: vazba typu kompozice by měla být v rámci jednoho seskupení Použití seskupení pro návrh komponent
Příklad seskupení - balíčku
Komponenta Samostatně spustitelná část kódu Poskytuje souhrn služeb Forma černé skříňky Fomunikace s jinými komponentami pomocí rozhraní
Návrh komponenty 1. Zkoumání rozhraní komponent ( poskytované služby) 2. Definice vnitřního obsahu objektových tříd a jejich vztahů
Komponenta má Specifikaci – popis co provádí Implementaci – zdrojový kód – pro konkrétní platformu Spustitelný kód
Vývoj založený na komponentách CBD (Component based development) Výhody : Opakované využití Rychlé skládání nového systému Nevýhody“ Nutný odlišný přístup vývojářů - hůře osvojitelný objektový přístup
Komponentní diagram závislostí
State diagram (STD) Standard UML Model chování Možné stavy objektu systému Možné přechody mezi stavy
Příklad STD
Object Sequence Diagram (OSD) Sekvence zpráv zasílaných mezi objekty Rozkreslením případu užití vazba na třídy Ověření zda třídy obsahují všechny operace
Diagram objektových sekvencí (Charakterizuje zápis třídy)
Object Collaboration Diagram (OCD) Oproti OSD chybí časová přehlednost a pseudokód Použití pro navigační diagramy – spolupráce formulářů Model výměny zpráv mezi objekty
Diagram spolupráce objektů