Pokročilé diagramy prípadov užitia, Textová špecifikácia PB007 Softwarové inženýrství I Stanislav Chren 3. 10. 2012 Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 1 / 11 Vzťahy v diagramoch prípadov užitia Okrem bežnej asociácie medzi aktérom a prípadom užitia sa ďalej používajú vzťahy: generalizácia aktérov generalizácia prípadov užitia include extend Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 2 / 11 Generalizácia aktérov Generalizácia (dedičnosť) aktérov je vzťah medzi medzi všeobecným a špecializovaným aktérom Všeobecný aktér je často abstraktný, t.j. nepredstavuje skutočnú rolu v systéme. Potomkovia predstavujú konkrétne role. Špecializovaný aktér zdedí všetky role a väzby rodiča Všade, kde sa očakáva výskyt rodičovského aktéra, môžme dosadiť jeho potomkov Vhodný v prípade, keď viacero aktérov má spoločných viacero prípadov užitia Zjednodušuje sémantiku diagramu Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 3 / 11 Generalizácia prípadov užitia Generalizácia (dedičnosť) prípadov užitia je vzťah medzi medzi všeobecným a špecializovaným prípadom užitia. Špecializovaný prípad užitia môže zdediť vlastnosti jeho rodiča, pridať nové vlastnosti prípadne preťažiť(zmeniť) zdedené vlastnosti. Pozn.: Nemôže ale preťažiť rodičove väzby a body rozšírenia V textovej špecifikácii potomkov by mali byť vyznačené zmeny oproti rodičovskému prípadu užitia. Rodičovský prípad užitia môže byť abstraktný (doporučuje sa), t.j. neobsahovať žiadnu alebo len neúplnú špecifikáciu toku udalostí. Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 4 / 11 include Vzťah include umožňuje vyčleniť opakujúce sa kroky vo viacerých prípadoch užitia do samostatného prípadu užitia. Základný prípad užitia je neúplný bez všetkých vložených prípadov užitia. Vložený prípad užitia môže, ale nemusí byť úplný. Nezneužívať na funkčnú dekompozíciu! Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 5 / 11 include Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 6 / 11 extend Vzťah extend predstavuje spôsob ako vložiť nové chovanie do existujúceho prípadu užitia. Základný prípad užitia obsahuje medzi jednotlivými krokmi v toku udalostí tzv. body rozšírenia (extension points). Rozširujúci prípad užitia špecifikuje, ku ktorým bodom rozšírenia sa pripája. Základný prípad užitia nevie, ktorý prípad užitia ho rozširuje. Rozširujúce prípady užitia sú typicky neúplné. Môžu obsahovať niekoľko segmentov a u každého je určené, ktorý bod rozšírenia vyžaduje. Viac rozširujúcich prípadov môže zdielať rovnaké body rozšírenia. V takom prípade je vhodné stanoviť podmienky, ktoré určia, ktorý z nich sa má v danej situácii použiť. Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 7 / 11 Použitie pokročilých vzťahov Stakeholderi väčšinou bez problémov rozumejú základným use case diagramom. Generalizácia aktérov je už pre nich ťažšia na pochopenie. Mala by sa použiť iba v prípade, keď zjednoduší model. Nadmerné používanie include sťažuje pochopenie prípadu užitia, pretože je nutné sledovať viac prípadov užitia na získanie celkového pohľadu. Stakeholderi majú veľké problémy s extend (A často aj analytici, ktorí UC diagramy vytvárajú). Generalizácii prípadov užitia by sa malo vyhnúť, pokiaľ je to možné. V prípade, že sa použije, doporučuje sa využívať abstraktné rodičovské prípady užitia. Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 8 / 11 Textová špecifikácia prípadov užitia Textová špecifikácia prípadov užitia by mala obsahovať: Názov (ID) Stručný popis Primárni aktéri Sekundárni aktéri Vstupné podmienky Hlavný tok udalostí Výstupné podmienky Alternatívny tok udalostí Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 9 / 11 Toky udalostí Hlavný tok (Main Flow, Primary Scenario) udalostí predstavuje postupnosť krokov interakcie aktérov so systémom v ideálnom prípade (t.j. bez výskytu chýb, prerušení a pod.) Vždy začína nejakou akciou primárneho aktéra. Doporučuje sa používať tvar: 1. Prípad užitia začína, keď . Jednotlivé kroky by mali byť krátke, presné a zrozumiteľné. Používajte tvar: Môžete používať vetvenie toku pomocou kľúčových slov IF, FOR, WHILE Alternatívny tok (Alternative flow) predstavuje odchýlky od hlavného toku v dôsledku chýb alebo prerušení. Dá sa tiež použiť na zachytenie zložitejších vetvení, o ktorých sa presne nevie či a kedy nastanú. Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 10 / 11 Úlohy Rozpracujte prvotný diagram príapdov užitia z minulého cvičenia. Opravte prípadné chyby a zvážte využitie pokročilých vzťahov (include, extend, generalizácia). Krátko zdokumentujte všetky prípady užitia. Pomôže vám to k dôkladnejšiemu pochopeniu modelu. Vyberte 3 prípady užitia (najlepšie nejaké zložitejšie a spolu súvisiace). Vytvorte k nim podrobnú textovú špecifikáciu. Výber vám odsúhlasí cvičiaci. Zvolené prípady užitia farebne odlíšte od ostatných. Odovzdajte pdf report do odovzdávarne(Týden 03). Deadline: 13.10. 23:59 (Skupina 14) 8.10. 23:59 (Skupiny 15, 16) Softwarové inženýrství I (PB007) Pokročilé UC diagramy, Textová špecifikácia 3. 10. 2012 11 / 11