Mgr. Petr Tučník Konzultace po domluvě e-mailem: petr.tucnik@uhk.cz ÒModelování objektových interakcí dovoluje zachytit realizaci (scénářů) případů užití. ÒSekvenční diagram ukazuje průběh/vykonání případu užití ÉV čase ÉJako interakci objektů ÒK zachycení se používá sekvenční diagram a diagram objektové spolupráce 2 3 ÒDiagram tříd zachycuje statickou vnitřní strukturu systému – třídy a jejich vzájemné relace ÒDynamika systému je zachycena v sekvenčním diagramu – prostřednictvím operací (zasílání zpráv) ÒCílem sekvenčního diagramu je realizace jednotlivých typových úloh 4 ÒČasová osa probíhá shora dolů. Co je zakresleno výše, stalo se dříve ÒPřerušovaná čára je tzv. čára života objektu ÒObdélník na čáře života objektu představuje tzv. aktivaci objektu ÒInstance elementů, které mohou vytvářet instance jsou v diagramu situovány nahoře a zleva doprava Ò Sequence_General.bmp 5 ÒSekvenční diagram je vždy přiřazen (mapován) k jednomu případu užití ÒScénář by měl zachycovat interakci aktéra a systému. Odpovídajícím způsobem bude zachycovat interakci i sekvenční diagram ÒMezi aktéry a objekty a objekty mezi sebou navzájem vznikají různé typy stimulů, na které objekty reagují 6 ÒStimuly – akce probíhající mezi třídami nebo jejich instancemi – objekty ÒDělení: ÉPodle typu stimulu ÉPodle typu volání ÉPodle druhu synchronizace ÉPodle úrovně vnoření 7 ÒTypy stimulů: ÉVytvoření nové instance třídy (viz obr.) ÉUkončení existence instance třídy (viz obr.) ÉVyvolání metody instance třídy 8 Object-new_delete.bmp ÒVolání metody (call) – pomocí zaslání zprávy, vrací návratovou hodnotu ÒVyvolání události (signal) – vyvolání reakce objektu, nezajímá nás návratová hodnota ÒNávrat z volání metody – explicitně popisuje návrat z volané metody zpět do volajícího elementu (objektu) Object-call_signal.bmp 9 ÒSynchronní volání – volající element čeká na dokončení vyvolané metody, případně i návratovou hodnotu ÒAsynchronní volání – volající element nečeká a pokračuje v další činnosti Object-syn_asyn.bmp 10 ÒProsté volání metody – vyvolání metody navazující na předchozí kroky ÒVnořené volání metody – provádí se v rámci předchozího volání ÒRekurzivní volání metody – vnořené volání metody, která volá sebe sama. Object-volani_metody.bmp 11 ÒOhraničují část interakce a přiřazují jí speciální význam ÒFragment může mít více částí ÒDůležité typy fragmentů: ÉAlt (alternativa) ÉOpt (podmíněný fragment) ÉPar (paralelní fragmenty) ÉLoop (opakování) ÉRef (reference, odkaz) 12 ÒAlt (alternativa) – fragment má více částí opatřených podmínkami. Provádí se ta alternativa, která má splněnou podmínku ÒOpt (podmíněný) – je vykonání tehdy, je-li splněna uvedená podmínka. Je to v podstatě Alt s jedinou alternativou ÒPar (paralelní) – jednotlivé části fragmentu jsou vykonány souběžně (paralelně) 13 ÒLoop (opakování) – obsah fragmentu se může opakovat vícekrát, detaily iterace specifikuje uvedená podmínka ÒRef (reference, odkaz) – odkazuje na interakci v jiném diagramu. Rámec je nakreslen tak, že překrývá část týkající se požadované interakce. Mohou zde být uvedeny parametry a návratové hodnoty Ò 14 ÒDiagram Gate – typ ukončení zprávy reprezentující spojovací bod mezi zprávou existující uvnitř fragmentu a zprávou mimo tento fragment (zajišťuje konzistenci zasílání zpráv mezi fragmenty) ÒEndpoint – typ ukončení (počátku) zprávy, který umožňuje modelovat situaci, kdy je neznámý cíl zaslání zprávy, nebo zdroj vzniku zprávy ÒKomentáře – pomocí komentářů přidaných podél levého okraje diagramu je možné rozšířit popis volání metod a souvisejících podmínek, případně zapsat průběh scénáře krok po kroku. 15 ÒRelace INCLUDE se v sekvenčním diagramu kreslí pomocí referenčního fragmentu. Kreslí se potažením šipky do prázdného prostoru a volbou „Interaction Occurence“. ÒRelace EXTEND se kreslí pomocí volitelného volání (fragment typu Opt a referenčního fragmentu). 16 Sequence_Example.bmp 17 Volně převzato od: K. Svoboda