Difference between revisions of "Objektově orientovaná analýza a návrh"
m (→Cvičení) |
m (→Literatura) |
||
(66 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
==Požadavky== | ==Požadavky== | ||
+ | <!-- | ||
+ | ====<font color="red">Úkol na příští cvičení</font>==== | ||
+ | |||
+ | Kontrola 3. listopadu | ||
+ | |||
+ | #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. <font color="red">Bude předvedeno na cvičení 3. listopadu! </font> | ||
+ | #Vytvořit třídní diagram pro vlastní semestrální projekt. | ||
+ | <hr/> | ||
+ | |||
+ | --> | ||
===Zápočet=== | ===Zápočet=== | ||
− | Minimální počet bodů nutný | + | 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=== | ||
Line 28: | Line 40: | ||
'''Vybrané nástroje:''' | '''Vybrané nástroje:''' | ||
− | *Microsoft Visio 2013 - | + | *Microsoft Visio 2013 - |
− | * | + | *SmartDraw - Zlý, 6.10. 4 body |
− | *StarUML - | + | *StarUML - Bernát, 10.11. 3 body |
− | *VioletUML - | + | *VioletUML - Šajer, 3. 11. 5 bodu |
− | * | + | *ArgoUML - Pražák, 20.10. 5 bodu |
− | * | + | *EnterpriseArchitect - |
− | * | + | *BOUML |
+ | *Software Ideas Modeller - Stejskal, 27.10. 5 bodu | ||
+ | *Dia - Fröhlich, 13. 10. 5 bodu | ||
+ | *Pro sběr požadavků: VisualStudio, JIRA, Bugzilla, ClearQuest - Schreier, 29. 9. | ||
+ | *Porovnani parametru predvedenych nastroju - Sugar | ||
V prezentaci se zaměřte se na následující vlastnosti: | V prezentaci se zaměřte se na následující vlastnosti: | ||
Line 46: | Line 62: | ||
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ů. | 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ů. | ||
− | * | + | *28 bodů - Projekt (povinný) - termín odevzdání je <font color="red">10. 12. 2015</font>. 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, ...). | *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". | 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. | + | 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-4 body) | ||
+ | #Use Case diagram rozpracovaný včetně vazeb mezi UC, scénáře v souvislostech (tj. alternativy, include, extend) (3-4 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-4 body) | ||
+ | #Aktivitní diagram (pohled na celý systém nebo rozpracování problematické části systému) (3-4 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=== | ===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). | + | 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 | + | 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ášky== | ||
Line 78: | Line 94: | ||
==Cvičení== | ==Cvičení== | ||
+ | |||
+ | ===Oblast Specifikace požadavků, hledání aktérů a případů užití=== | ||
[[Specifikace a správa požadavků]] | [[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 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 [[Media:GlosarTaxis.pdf | Glosář]]e | ||
+ | |||
+ | Pomůcky: | ||
+ | *Kapitola [[Media:Kapitola8UzivatelskePozadavky.pdf | Hledání UC a požadavků]] z knihy Wiegers, K.: Požadavky na software | ||
+ | *Článek Tavassoli, D.: [[Media:EccamDeset.pdf | Deset kroků k lepší správě požadavků]] | ||
+ | |||
+ | ===Oblast tvorby hledání tříd=== | ||
[[Tvorba Class diagram - CRC, textová analýza]] | [[Tvorba Class diagram - CRC, textová analýza]] | ||
− | Realizace UC - | + | ===Tvorba sekvenčního diagramu=== |
+ | |||
+ | Realizace UC - je chápána jako tvorba sekvenčního diagramu, tj. zachycení zasílání zpráv mezi objekty systému, které tímto realizují scénář daného UC. | ||
+ | |||
+ | ''Postup při tvorbě sekvenčního diagramu'' | ||
+ | *Vybrat si scénář, který bude detailněji rozebrán. | ||
+ | *Objekty schopné realizovat odezvy systému zaznamenat do sekvenčního diagramu. | ||
+ | *Definovat zprávy mezi objekty. | ||
+ | *Podle scénáře doplňovat zprávy podle logické a časové posloupnosti. | ||
+ | *Kontrolovat konzistenci s třídním diagramem. V případě nesrovnalostí upravit. | ||
+ | *Upravit zprávy podle typu. | ||
+ | |||
+ | ===Tvorba stavového diagramu=== | ||
[[Tvorba stavového diagramu]] Ukazka diagramu - [[Media:BankovniUcet.pdf]] | [[Tvorba stavového diagramu]] Ukazka diagramu - [[Media:BankovniUcet.pdf]] | ||
− | Tvorba aktivitního diagramu - | + | ===Tvorba aktivitního diagramu=== |
+ | |||
+ | [[Tvorba aktivitního diagramu]] - ve formě celkového pohledu na systém, nebo zachycení algoritmu metody | ||
Kontrola konzistence diagramů | Kontrola konzistence diagramů | ||
− | + | Background ve VP - vybrat záložku Diagrams/Formats/v okně Formats Background :-) | |
[[Pomůcky OO]] | [[Pomůcky OO]] | ||
+ | |||
+ | ==Pomůcky== | ||
+ | |||
+ | Pro rychlé připomenutí - [[Media:UMLQuickCard.pdf | UML Quick Reference Card]]. Verze z roku 2001(pozor UML 1.0), ale přehledná :-). | ||
+ | |||
+ | UML Quick Reference z roku 2011 - [http://www.holub.com/goodies/uml/ Allen Holub's UML Quick Reference] | ||
+ | |||
+ | Specifikace UML, na stránkách OMG - [http://www.uml.org/ UML® Resource Page] | ||
+ | |||
+ | [http://www.visual-paradigm.com/product/vp http://images.visual-paradigm.com/images/media/product/vp_logo.gif] | ||
+ | |||
+ | [http://www.visual-paradigm.com/ Visual Paradigm] offers VSB - Technical Univeristy [http://www.visual-paradigm.com/product/vp VP] for educational use through the [http://www.visual-paradigm.com/partner/academic/ VP Academic Partner Program]. | ||
+ | |||
+ | UPOZORNĚNÍ! | ||
+ | |||
+ | Pro akademický rok 2015/2016 je nutno si stáhnout verzi 12.1. Zpřístupnění plné akademické verze produktu obdržíte mailem, pokud patříte mezi studenty s výukou zaměřenou na objektově-orientované oblasti. | ||
==Literatura== | ==Literatura== | ||
Line 104: | Line 160: | ||
*Schmuller, J.: Myslíme v jazyku UML, 2001 | *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í [[Media:4and1View.pdf | 4+1 View]] | *Kruchten, P.: Architectural Blueprints—The “4+1” View, Model of Software Architecture, in IEEE Software 12 (6), 1996, ke stažení [[Media:4and1View.pdf | 4+1 View]] | ||
− | + | *[http://en.wikipedia.org/wiki/Software_design_pattern Design Pattern] | |
* Vondrák, I.: [[Media: mbm.pdf | Metody byznys modelování]], 2004 | * Vondrák, I.: [[Media: mbm.pdf | Metody byznys modelování]], 2004 |
Latest revision as of 10:37, 18 January 2016
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
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. 3 body
- VioletUML - Šajer, 3. 11. 5 bodu
- ArgoUML - Pražák, 20.10. 5 bodu
- EnterpriseArchitect -
- BOUML
- Software Ideas Modeller - Stejskal, 27.10. 5 bodu
- Dia - Fröhlich, 13. 10. 5 bodu
- Pro sběr požadavků: VisualStudio, JIRA, Bugzilla, ClearQuest - Schreier, 29. 9.
- Porovnani parametru predvedenych nastroju - Sugar
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ů.
- 28 bodů - 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, ...).
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-4 body)
- Use Case diagram rozpracovaný včetně vazeb mezi UC, scénáře v souvislostech (tj. alternativy, include, extend) (3-4 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-4 body)
- Aktivitní diagram (pohled na celý systém nebo rozpracování problematické části systému) (3-4 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
Tvorba sekvenčního diagramu
Realizace UC - je chápána jako tvorba sekvenčního diagramu, tj. zachycení zasílání zpráv mezi objekty systému, které tímto realizují scénář daného UC.
Postup při tvorbě sekvenčního diagramu
- Vybrat si scénář, který bude detailněji rozebrán.
- Objekty schopné realizovat odezvy systému zaznamenat do sekvenčního diagramu.
- Definovat zprávy mezi objekty.
- Podle scénáře doplňovat zprávy podle logické a časové posloupnosti.
- Kontrolovat konzistenci s třídním diagramem. V případě nesrovnalostí upravit.
- Upravit zprávy podle typu.
Tvorba stavového diagramu
Tvorba stavového diagramu Ukazka diagramu - Media:BankovniUcet.pdf
Tvorba aktivitního diagramu
Tvorba aktivitního diagramu - ve formě celkového pohledu na systém, nebo zachycení algoritmu metody
Kontrola konzistence diagramů
Background ve VP - vybrat záložku Diagrams/Formats/v okně Formats Background :-)
Pomůcky
Pro rychlé připomenutí - UML Quick Reference Card. Verze z roku 2001(pozor UML 1.0), ale přehledná :-).
UML Quick Reference z roku 2011 - Allen Holub's UML Quick Reference
Specifikace UML, na stránkách OMG - UML® Resource Page
http://images.visual-paradigm.com/images/media/product/vp_logo.gif
Visual Paradigm offers VSB - Technical Univeristy VP for educational use through the VP Academic Partner Program.
UPOZORNĚNÍ!
Pro akademický rok 2015/2016 je nutno si stáhnout verzi 12.1. Zpřístupnění plné akademické verze produktu obdržíte mailem, pokud patříte mezi studenty s výukou zaměřenou na objektově-orientované oblasti.
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