Objektově orientovaná analýza a návrh
Contents
Cíle předmětu
- Prohloubit základní znalosti objektově orientovaných technologií.
- Získat hlubší znalost diagramů UML.
- Seznámit se s postupy při tvorbě nejen OO systému.
Požadavky
Úkol na příští cvičení
20. října je rektorské volno!
- Specifikovat téma semestrálního projektu a zaslat do pondělí 19. 10., nejpozději do 9:00 na mail daniela.szturcova@vsb.cz. Mail bude označen Specifikace OOAN.
- Vytvořit scénář k UC ZmenitJizdu pro systém TaxiS.
- Vytvořit seznam požadavků a UC diagram pro systém, který byl schválen jako téma semestrálního projektu. Bude předvedeno na cvičení 27. října!
Zápočet
Minimální počet bodů nutný k získání zápočtu je 17 bodů. Možnosti jsou vypsány pro prezenční a kombinované studenty zvlášť.
Zkouška
Zkouška bude probíhat písemnou a ústní formou. V písemné části bude ověřeno, zda je student schopen na základě stručného popisu oblati vytvořit prvotní model systému a namodelovat jej některým z diagramů. Minimum z písemné části je stanoveno takto: dosažené body z písemky + body za zápočet musí dohromady dosáhnout alespoň 51 bodů.
Prezenční studium
- Vypracovat a odevzdat projekt dle pokynů cvičícího.
- Prezentovat vybraný nástroj UML.
- Obhájit projekt prezentací nejpozději v zápočtovém týdnu.
Pokyny k prezentaci nástroje UML.
Výběr:
- Nástroje pro řízení požadavků (Modul Requirements ve VP, RequisitePro(www.ibm.com), DOORS(www.telelogic.com)), případně další
- Vyzkoušení jednotlivých nástrojů - dle domluvy (VioletUML, Umbrello, ArgoUML, SmartDraw, StarUML, ...)
Vybrané nástroje:
- Microsoft Visio 2013 -
- SmartDraw - Zlý, 6.10. 4 body
- StarUML - Bernát, 10.11.
- VioletUML - Šajer, 3. 11.
- ArgoUML - Pražák, 20.10. přesunuto na 27. října z důvodu rektorského volna
- EnterpriseArchitect -
- BOUML
- Software Ideas Modeller - Stejskal, 27.10.
- Dia - Fröhlich, 13. 10. 5 bodu
- Pro sběr požadavků: VisualStudio, JIRA, Bugzilla, ClearQuest - Schreier, 29. 9.
V prezentaci se zaměřte se na následující vlastnosti:
Jak nástroje kontrolují vazby mezi prvky jednotlivých modelů (například mezi třídním a sekvenčním diagramem)? Podporuje nástroj znovupoužitelnost jednotlivých grafických prvků? Umožňuje nástroj pracovat v obou rovinách, které nás zajímají - analytické i návrhové? Jak jsou provázány? Je možné vytvořit všech 13 typů diagramů UML? Je nástroj schopen importovat diagramy z jiných nástrojů? V jakých formátech je možné exportovat výstup? Pouze jako obrázky, nebo je lze použít pro přenos mezi nástroji různých výrobců? Vyzkoušejte a prezentujte! Funguje nástroj jako CASE, tj. je možné generovat kódy? V jakých programovacích jazycích?
Za cvičení je možné získat maximálně 33 bodů. Minimální počet nutný ke získání zápočtu je 17 bodů.
- 24 body - Projekt (povinný) - termín odevzdání je 10. 12. 2015. Za pozdní odevzdání budou automaticky strženy 2 body za každý započatý den.
- 5 bodů - Prezentace na zvolené téma, související se zaměřením předmětu (10 minut - odp, pdf, ppt, ...).
- 4 body - Prezentace výsledku projektu (povinná) - proběhne v zápočtovém týdnu.
Požadavky na projekt jsou uvedeny níže pod označením "Informace k projektu".
Body je možné získat jednak za kvalitně vypracovaný zápočtový projekt, jeho prezentaci a referát (viz výše - 33 bodů). Dále za aktivitu na cvičení (maximálně 5 bodů). Body za aktivitu na cvičení jsou "navíc" a mohou sloužit ke zlepšení bodového hodnocení zápočtu (případně zkoušky).
Informace k projektu
Projekt by měl obsahovat tyto části:
- Specifikace projektu včetně taxonomického seznamu požadavků (3 body)
- Use Case diagram rozpracovaný včetně vazeb mezi UC, scénáře v souvislostech (tj. alternativy, include, extend) (3 body)
- Tabulka mapování požadavků na případy užití (2 body)
- Glosář (2 body)
- Realizace případů užití (Sekvenční diagram k vybranému scénáři) (3 body)
- Návrhový model tříd (3 body)
- Aktivitní diagram (pohled na celý systém nebo rozpracování problematické části systému) (3 body)
- Stavový diagram (vyberte objekt, u kterého jsou změny stavů zajímavé - včetně událostí a podmínek, případně rozpis akcí během stavu) (3 body)
- Diagram balíčků (2 body)
Pro kombinované studenty
Vypracovat a odevzdat projekt dle pokynů cvičícího. Pro dálkaře platí: 33 bodů za projekt (dálkaři mají pouze projekt s termínem odevzdání v zápočtovém týdnu, v každé podúloze o 1 bod navíc).
Projekt bude odevzdán pod označením login_OOAN.zip a bude obsahovat tyto soubory: zdrojový soubor z prostředí VP pojmenovaný login.vpp a dokumentační soubor login.pdf, kde budou vloženy požadované diagramy a popsány vůči specifikaci systému. Dle pokynů cvičícího odevzdat mailem na adresu daniela.szturcova@vsb.cz. Pozdní odevzdání je sankcionováno strhnutím 1 bodu za každý započatý den po termínu.
Přednášky
Přednáškové materiály předmětu OOAN.
Cvičení
Oblast Specifikace požadavků, hledání aktérů a případů užití
Specifikace a správa požadavků
Tvorba Use Case modelu Po nalezení požadavků i UC provedeme kontrolu mapování požadavků na UC.
Tvorba glosáře - půběžně během celého vývoje. Ukázka první fáze Glosáře
Pomůcky:
- Kapitola Hledání UC a požadavků z knihy Wiegers, K.: Požadavky na software
- Článek Tavassoli, D.: Deset kroků k lepší správě požadavků
Oblast tvorby hledání tříd
Tvorba Class diagram - CRC, textová analýza
Realizace UC - sekvenční diagram
Tvorba stavového diagramu Ukazka diagramu - Media:BankovniUcet.pdf
Tvorba aktivitního diagramu - ve formě celkového pohledu na systém, nebo zachycení algoritmu metody
Kontrola konzistence diagramů
Literatura
- Fowler, M.: Destilované UML, 2009
- Pender, T.: UML Bible
- Arlow, J., Neustadt I.: UML2 a unifikovaný proces vývoje aplikací, 2007
- Schmuller, J.: Myslíme v jazyku UML, 2001
- Kruchten, P.: Architectural Blueprints—The “4+1” View, Model of Software Architecture, in IEEE Software 12 (6), 1996, ke stažení 4+1 View
- Design Pattern
- Vondrák, I.: Metody byznys modelování, 2004