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

From Wikivyuka
Jump to: navigation, search
m (Informace k projektu)
m (Literatura)
 
(46 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===
Line 28: Line 40:
  
 
'''Vybrané nástroje:'''
 
'''Vybrané nástroje:'''
*Microsoft Visio 2013  
+
*Microsoft Visio 2013 -
*SmartDraw  
+
*SmartDraw - Zlý, 6.10. 4 body
*StarUML  
+
*StarUML - Bernát, 10.11. 3 body
*VioletUML  
+
*VioletUML - Šajer, 3. 11. 5 bodu
*ArgoUML
+
*ArgoUML - Pražák, 20.10. 5 bodu
*EnterpriseArchitect
+
*EnterpriseArchitect -
 
*BOUML  
 
*BOUML  
*Software Ideas Modeller  
+
*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 47: 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ů.
*24 body - Projekt (povinný) - termín odevzdání je 6. 5. 2015. Za pozdní odevzdání budou automaticky strženy 2 body za každý započatý den.
+
*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.
+
<!--*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".
Line 58: Line 73:
  
 
Projekt by měl obsahovat tyto části:
 
Projekt by měl obsahovat tyto části:
#Specifikace projektu včetně taxonomického seznamu požadavků (3 body)
+
#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 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)
 
#Tabulka mapování požadavků na případy užití (2 body)
 
#Glosář (2 body)
 
#Glosář (2 body)
 
#Realizace případů užití (Sekvenční diagram k vybranému scénáři) (3 body)
 
#Realizace případů užití (Sekvenční diagram k vybranému scénáři) (3 body)
#Návrhový model tříd (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 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)
 
#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)
 
#Diagram balíčků (2 body)
Line 73: Line 88:
  
 
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.
 
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 80: 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ů]]
Line 86: Line 102:
  
 
Tvorba glosáře - půběžně během celého vývoje. Ukázka první fáze [[Media:GlosarTaxis.pdf | Glosář]]e
 
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 - sekvenční diagram
+
===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 - celkový pohled na systém, algoritmus metody
+
===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 106: 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

  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