Asociace mohou mít nepovinně následující vlastnosti: - název - násobnost na jednom nebo obou koncích (multiplicity) - ani jednu z uváděných možností - řiditelnost (navigability) - názvy rolí na jednom nebo obou koncích Diagram aktivit obsahuje: - procesy probíhající v modelované skutečnosti - může obsahovat více konců v případech, kdy dojde k ukončení větve paralelních aktivit - podmínky přechodu ze stavu do stavu - větvení činnosti na základě podmínek - principiální entity Diagram případů užití: - zachycuje funkční i nefunkční požadavky na systém - s požadavky nemá nic společného, zachycuje komunikaci mezi aktéry - zachycuje pouze nefunkční požadavky na systém - zachycuje pouze funkční požadavky na systém Diagram aktivit obsahuje: - začátek, konec - přechody mezi aktivitami - třídní asociace - vytvářené a konzumované objekty - atributy tříd Analytické třídy - musí mít určen primární klíč - mapují pojmy skutečného světa - musí mít jako jeden atribut nebo vazbu na jinou třídu - popisují způsob uložení dat do DB Co je UML: - vizuální modelovací jazyk - procedurální programovací jazyk - CASE nástroj - metodika pro vývoj softwarových produktů - standard definovaný skupinou OMG Diagram případů užití: - obsahuje (mimo jiné) i jednotlivé případy užití, které mají mít název určen podstatným jménem - zachycuje časovou posloupnost akcí účastníků (aktérů) - popisuje vztahy mezi účastníky a informacemi ukládanými do databáze - může obsahovat popis vztahů mezi aktéry systému typu "zobecnění" Diagram analytických tříd by měl obsahovat: - potřebné datové tabulky - id (identifikátor tříd a tabulek) - principiální entity - vztahy mezi principiálními entitami - stavy entit nebo tříd - kardinalitu a parcialitu vztahů (= násobnosti) UML State Diagram: - nezachycuje události - zachycuje stavy objektů - zobrazuje stavy a operace aktivit - nezobrazuje přechody V navrhovaném systému bude každých 30 minut automaticky spuštěna funkce na zálohu dat. V diagramu případů užití (DPU) to bude zachyceno: - DPU bude obsahovat případ užití "Zálohovat data", který bude užíván aktérem "čas" - DPU bude obsahovat případ užití "Zálohovat data", který bude svázán s jiným případem užití "Systém" pomocí konstruktoru 'include' - DPU bude obsahovat případ užití "Zálohovat data", který nebude užíván žádným aktérem - DPU nebude obsahovat případ užití "Zálohovat data", jelikož jde o nefunkční požadavek Relace <> mezi případy užití A a B (směr od A k B): - A není bez B úplný a vyžaduje jej - B je bez A neúplný a vyžaduje jej - A i B musí být vždy úplné, jinak nelze relaci <> použít - A je úplný a B nevyžaduje (přibližné znění, bráno po paměti) Relace <> mezi případy užití A a B (směr od B k A): - A není bez B úplný a vyžaduje jej - B je bez A neúplný a vyžaduje jej - A i B musí být vždy úplné, jinak nelze relaci <> použít - A je úplný a B nevyžaduje UML je: - metodika unifikované objektové analýzy - metodika unifikovaného objektového návrhu - metodika unifikované analýzy a návrhu - slouží k modelování systému Případy užití modelujeme, abychom: - určili aktéry - vymezili hranice systému - zachytili činnosti, které mohou aktéři se systémem vykonávat - abychom popsali dynamiku systému Pro zachycení statického modelu systému lze použít: - diagram tříd - diagram komponent - diagram aktivit - sekvenční diagram - diagram nasazení Diagram nasazení (deployment diagram): - slouží pro popis dat tekoucích systémem - obsahuje vztahy mezi uzly sítě, vyjadřující požadavky na spojení uzlů - slouží pro popis architektury systému - obsahuje třídy a procesy popisující nasazení systému - obsahuje uzly a komponenty, které se na uzly nasazují Specifikace případu užití (jednoho konkretního) by měla obsahovat - rizika spojené s připadným chybným provedením - vstupní podnínky(omezení, která ovlivňují realizaci případu užití) - následné podmínky - tok událostí (posloupnost časově uspořádaných kroků případů užití) - název Zaměstnanci bankovní pobočky jsou podřízeni vedoucímu této pobočky. Na diagramu případu užití navrhovaného bankovního systému bude: - Aktor zaměstnanec a aktor vedoucí nebudou v žádném vztahu - Aktor vedoucí bude specializací aktora zaměstnanec - Z informace nelze o aktorech nic tvrdit - Aktor zaměstnanec bude specializací aktora vedoucí Balíček (Package) je mechanismem jazyka UML pro uspořádání: - pouze USE-CASE a CLASS digramů do skupin - digramů a elementů do skupin - pouze diagramů do skupin - pouze elementů do skupin - pouze USE-CASE digramů do skupin Komponenta je: - Spustitelný softwarový model bez identity a dobře definovaným rozhraním. - Ani jedna z uvedených možností není správná. - Spustitelný softwarový modul nebo zdrojový kód tohoto modulu. - Spustitelný softwarový modul s identitou a dobře definovaným rozhraním. - Jakákoliv neprimitivní třída Pro zachycení dynamického chování systému lze použít: - diagram aktivit - diagram tříd - diagram nasazení - sekvenční diagram - diagram komponent Vztah "include" v USE CASE diagramech: - umožňuje zahrnout chování jednoho případu užití do scénáře jiného případu užití - vyjadřuje směr toku dat - nelze použít - vyjadřuje vztah mezi účastníky - vyjadřuje vztah mezi případy užití Stavový diagram obsahuje/zachycuje: - Procesy probíhající v modelované skutečnosti. - Akce související s přechodem ze stavu do stavu. - Větvení činností na základě podmínek. - Události a podmínky související s přechodem ze stavu do stavu. - Rozlišitelné stavy. UML Deployment Diagram: - slouží pro popis fyzické architektury systému - nezahrnuje popis použitých komunikačních protokolů - slouží pro zadání práce lidem v týmu - neudává rozmístění komponent K zachycení toku událostí v systému použijeme: - Diagram nasazení - Stavový diagram - Diagram aktivit - Diagram tříd Diagramy případů užití: - Mohou používat předdefinované stereotypy pro podrobnější klasifikaci vztahů. - Může obsahovat popis vztahů typu zobecnění mezi případy užití. - Může obsahovat popis vztahů typu zobecnění mezi aktéry systému. - Mohou podle definice UML popisovat data, která přecházejí hranici systému. - Může obsahovat popis vztahů typu agregace mezi případy užití. O vztahu mezi objektem a třídou lze říci: - třída představuje šablonu pro vznik objektů - žádný vztah mezi objektem a třídou neexistuje - objekt je instancí třídy - třída je zastaralý termín pro objekt - oba dva výrazy znamenají totéž Vztah (asociace) v datovém modelu je: - Sémantický vztah mezi dvěma nebo více entitami popisující souběžnost. - Sémantický vztah mezi dvěma nebo více klasifikátory, který vyznačuje nadřazenost jednoho z nich. - Ani jedna z výše uvedených možností není správná. - Sémantický vztah mezi dvěma nebo více klasifikátory, který nezahrnuje vztahy mezi jejich instancemi. - Sémantický vztah mezi dvěma nebo více klasifikátory, který zahrnuje i vztahy mezi jejich instancemi. Vztah "extend" v USE CASE diagramech: - vyjadřuje vztah mezi účastníky - vyjadřuje vztah mezi účastníkem a případem užití - vyjadřuje vztah mezi případy užití - vyjadřuje směr toku dat - rozšiřuje případ užití o nové chování Při vývoji podle MDA (Model Driven Architecture) je možné část zdrojového kódu aplikace generovat přímo z: - PSM (Platform Specific Model) - CIM (Computation Independent Model) - zdrojový kód lze generovat z libovolného z těchto modelů - PIM (Platform Independent Model) - zdrojový kód nelze automaticky generovat z žádného modelu O modelu PIM (Platform Independent Model) lze říci: - vzniká transformací z modelu CIM (Computation Independent Model) - součástí tohoto modelu je specifikace jazyka ve kterém bude produkt implementován - jedná se o úroveň modelu systému podle MDA (Model Driven Architecture) - vzniká transformací z modelu PSM (Platform Specific Model) - definuje třídy a objekty, se kterými bude systém pracovat Případy užití: - mají mít název určen podstatným jménem - se váží pouze k funkčním požadavkům - zachycují činnosti, které mohou účastníci (aktéři) se systémem vykonávat - mají mít název určen slovesnou vazbou - se váží k funkčním i obecným (nefunkčním) požadavkům Modelování případů užití je vhodné u systému, nichž: - převládají nefunkční požadavky - převládají funkční požadavky - je obsaženo málo rozhraní - se vyskytuje mnoho účastníků - je obsaženo mnoho rozhraní k dalším systémům