Difference between revisions of "Objektově orientovaná analýza a návrh"

From Wikivyuka
Jump to: navigation, search
m (Požadavky)
m (Literatura)
 
(109 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Obsah předmětu==
+
==Cíle předmětu==
  
 
#Prohloubit základní znalosti objektově orientovaných technologií.
 
#Prohloubit základní znalosti objektově orientovaných technologií.
 
#Získat hlubší znalost diagramů UML.
 
#Získat hlubší znalost diagramů UML.
#Seznámit se s postupy při tvorbě OO systému.
+
#Seznámit se s postupy při tvorbě nejen OO systému.
  
 
==Požadavky==
 
==Požadavky==
 +
<!--
 +
====<font color="red">Úkol na příští cvičení</font>====
  
'''Prezenční studium'''
+
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===
 +
 
 +
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.
 
#Vypracovat a odevzdat projekt dle pokynů cvičícího.
#Prezentovat nástroj UML.
+
#Prezentovat vybraný nástroj UML.
#Obhájit projekt prezentací v zápočtovém týdnu.
+
#Obhájit projekt prezentací nejpozději v zápočtovém týdnu.
  
 
Pokyny k prezentaci nástroje UML.
 
Pokyny k prezentaci nástroje UML.
  
 
Výběr:
 
Výběr:
*Nástroje pro řízení požadavků (RequisitePro(www.ibm.com), DOORS(www.telelogic.com)), případně další
+
*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 (SmartDraw, StarUML, ArgoUML, Umbrello, ...)
+
*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:
 
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)?  
 
  Jak nástroje kontrolují vazby mezi prvky jednotlivých modelů (například mezi třídním a sekvenčním diagramem)?  
Line 25: Line 58:
 
  Je možné vytvořit všech 13 typů diagramů UML?
 
  Je možné vytvořit všech 13 typů diagramů UML?
 
  Je nástroj schopen importovat diagramy z jiných nástrojů?
 
  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ů?
+
  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?
 
  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 <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, ...).
 +
<!--*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===
  
'''Pro kombinované studenty'''
+
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)
  
Vypracovat a odevzdat projekt dle pokynů cvičícího.
+
===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ášky==
Line 40: 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ů]]
 +
 +
[[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 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 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 49: Line 159:
 
*Arlow, J., Neustadt I.: UML2 a unifikovaný proces vývoje aplikací, 2007
 
*Arlow, J., Neustadt I.: UML2 a unifikovaný proces vývoje aplikací, 2007
 
*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]]
 +
*[http://en.wikipedia.org/wiki/Software_design_pattern Design Pattern]
 +
* 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

  1. Prohloubit základní znalosti objektově orientovaných technologií.
  2. Získat hlubší znalost diagramů UML.
  3. 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

  1. Vypracovat a odevzdat projekt dle pokynů cvičícího.
  2. Prezentovat vybraný nástroj UML.
  3. 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:

  1. Specifikace projektu včetně taxonomického seznamu požadavků (3-4 body)
  2. Use Case diagram rozpracovaný včetně vazeb mezi UC, scénáře v souvislostech (tj. alternativy, include, extend) (3-4 body)
  3. Tabulka mapování požadavků na případy užití (2 body)
  4. Glosář (2 body)
  5. Realizace případů užití (Sekvenční diagram k vybranému scénáři) (3 body)
  6. Návrhový model tříd (3-4 body)
  7. Aktivitní diagram (pohled na celý systém nebo rozpracování problematické části systému) (3-4 body)
  8. 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)
  9. 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:

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 OO

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