8 Přehled OO metodik (metod, metodologií)

Podobné dokumenty
8 Přehled OO metodik (metod, metodologií)

6 Objektově-orientovaný vývoj programového vybavení

7 Jazyk UML (Unified Modeling Language)

7 Jazyk UML (Unified Modeling Language)

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

7.6 Další diagramy UML

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

7.6 Další diagramy UML

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

TÉMATICKÝ OKRUH Softwarové inženýrství

Ročníkový projekt. Jaroslav Žáček

10 Metody a metodologie strukturované analýzy

2 Životní cyklus programového díla

7.5 Diagram tříd pokročilé techniky

Principy UML. Clear View Training 2005 v2.2 1

11 Návrh programového vybavení

PŘÍLOHA C Požadavky na Dokumentaci

7.3 Diagramy tříd - základy

Modelování procesů s využitím MS Visio.

Analýza a Návrh. Analýza

TÉMATICKÝ OKRUH Softwarové inženýrství

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů

7.5 Diagram tříd pokročilé techniky

UML. Unified Modeling Language. Součásti UML

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

14 Úvod do plánování projektu Řízení projektu

ZEMĚMĚŘICKÝ ÚŘAD. Výzkum a vývoj programového aparátu pro generalizaci státního mapového díla. Ing. Přemysl JINDRÁK

Ročníkový projekt. Jaroslav Žáček

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

14 Úvod do plánování projektu Řízení projektu

Modelování řízené případy užití

Pokročilé typové úlohy a scénáře 2006 UOMO 71

5 Požadavky a jejich specifikace

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Obsah. Zpracoval:

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Informační systémy ve strojírenství

CASE. Jaroslav Žáček

7.2 Model použití (jednání) (Use Case)

Novinky v UML 2.5 a agilní modelování

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

UML - Unified Modeling Language

5 Požadavky a jejich specifikace

Unifikovaný modelovací jazyk UML

Metodika analýzy. Příloha č. 1

Architektury Informačních systémů. Jaroslav Žáček

Unifikovaný proces vývoje

7.3 Diagramy tříd - základy

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz

Životní cyklus vývoje SW. Jaroslav Žáček

Programovací techniky

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

CASE nástroje. Jaroslav Žáček

UML: Unified Modeling Language

Diagramy tříd - základy

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Úvod do softwarového inženýrství a týmového vývoje

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

3 Inženýrství systémů založených na počítačích (Computer-based System Engineering)

XINF1. Jaroslav Žáček

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Architektury Informačních systémů. Jaroslav Žáček

1. Integrační koncept

Modelování IS Strukturovaný a objektově orientovaný přístup (UML)

2. Začlenění HCI do životního cyklu software

Testování a verifikace softwaru

Profilová část maturitní zkoušky 2017/2018

Analýza. Roman Danel 1. Metody analýzy

TÉMATICKÝ OKRUH Softwarové inženýrství

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

7.2 Model použití (jednání) (Use Case)

IS pro podporu BOZP na FIT ČVUT

7.4 Diagramy interakce (základy)

7.4 Diagramy interakce (základy)

Architektura softwarových systémů

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Objektově orientované technologie. Daniela Szturcová

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Modelování požadavků

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

Management informačních systémů. Název Information systems management Způsob ukončení * přednášek týdně

Modelování podnikových procesů

POPIS STANDARDU CEN TC278/WG 02

Profilová část maturitní zkoušky 2013/2014

Metody popisu systému, základy UML

Vývoj informačních systémů. Obecně o IS

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

Přednáška. Sběr požadavků na SW s použitím metody C.C a nástroje Craft.CASE. e-fractal, s.r.o.

SOFTWAROVÉ INŽENÝRSTVÍ 1

Agile Software Development

Transkript:

8 Přehled OO metodik (metod, metodologií) 8.1 OO metodiky konce 80. a začátku 90.let - všechny populární OO metodiky předpokládají, že: a) zadavatel jasný názor na svoje požadavky, b) zadavatel a vývojáři se dohodli na potřebě zdokumentovat požadavky ve formě nějakého dokumentu - všechny populární OO metodiky předpokládají existenci počátečního zadání - metodiky poskytují modelovací techniky a postup (+doporučení) pro vytvoření dobrých modelů reprezentujících požadavky Rumbaugh OMT (Object Modeling Technique) 3 modely: - objektový diagram tříd, diagram objektů - dynamický diagram scénáře, stavový diagram - funkční diagram datových toků (DFD) Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 1 Fáze OMT: 1. Analýza - pochopení a modelování požadavků na vytvářenou aplikaci v kontextu aplikační domény. Vstup: zadání problému Výstup: forlní model (specifikační dokument) 2. Systémový návrh - vymezení podsystémů, souběžných úloh 3. Objektový návrh - zpracování, zpřesnění, doplnění, optimalizace modelů analýzy, zahrnutí pojmů implementace - algoritmy, - optimalizace objektového modelu, - datové struktury (atributy, asociace), - uživatelské rozhraní, - moduly 4. Implementace - použití programovacích jazyků a relačních databází 5. Testování 6. Údržba Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 2

ad 1) Objektové modelování (diagram tříd aplikační domény): } A) identifikuj třídy B) identifikuj asociace využití slovního rozboru zadání C) přidej atributy D) využij dědičnosti E) přidej operace Dynamické modelování A) připrav scénáře typických posloupností interakcí B) identifikuj události mezi objekty C) připrav diagram scénáře pro každý scénář D) vytvoř stavový diagram Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 3 Konsorcium sestává -Kód karty Banka -jmeno účtu vede zaměstnává vydává Účet -limit úvěru -typ -zůstatek Zákazník -adresa Centrální počítač Počítač Pokladník vkládá týká se Pracovní stanice pokladnika vkládaná na Transakce pokladníka týká se zpřístupňuje Vzdálená vkládané na transakce -hotovost vydaná autorizovaná Karta -heslo Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 4

Vstupní stanice vkládaná na Transakce -datum-čas -druh transakce -částka týká se Typ stanice Typy transakcí -hotovost vydaná Centrální počítač Pracovní stanice pokladníka Počítač zaměstnává Transakce pokladníka vkládá Pokladník autorizovaná Dálková transakce Konsorcium sestává vede účtu Banka karty vydává Učet -limit úvěru -typ -zůstatek Zákazník -adresa Karta -heslo zpřístupňuje Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 5 Další metodiky Booch OOD - diagramy tříd - diagramy objektů - diagramy modulů (rozčlenění na moduly) - diagramy procesů (alokace procesů procesorům) - stavové diagramy - diagramy scénářů - síla v propracovaném návrhu Jacobson OOSE - hlavním přínosem model použití (Use case), Návrh řízený zodpovědností (Wirfs-Brock) - zodpovědnost tříd a spolupráce na základě metody CRC štítků Coad/Yourdon, Martin/Odell OOIE, Shlaer-Mellor, FUSION (HP), Mainstream Objects (Software AG), Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 6

8.2 Metodika Rational Unified Process (RUP) Cíl: Produkce kvalitních programů, které splňují potřeby koncových uživatelů v rámci projektů s predikovatelným plánem a rozpočtem. Vlastnosti: - ativní proces, - důraz na tvorbu a údržbu modelů (přednost před papírovou dokumentací), - důraz na architekturu systému (architecture-centric), - řízený případy použití, - objektově orientované techniky (UML), - podporuje řízení kvality a správu rizik. Fáze interval mezi dvěma hlavními milníky procesu, kdy jsou splněny definované cíle, dokončeny produkty (artefakty) a učiněna rozhodnutí, zda přejít do další fáze. 1. Zahájení (inception) podnikatelské zdůvodnění projektu. 2. Rozpracování (elaboration) sestavení plánu a stanovení architektury. 3. Konstrukce (construction) tvorba systému. 4. Přechod (transition) dodání koncovým uživatelům. Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 7 Zahájení Rozpracování Konstrukce Přechod Modelování organizace Požadavky Analýza a návrh Implementace Testování Nasazení Správa konfigurace Prostředí Řízení projektu 1 2 n n+1 n+2 m m+1 - každá fáze může zahrnovat řadu ací. - průchod všemi fázemi tvoří vývojový cyklus, výsledkem je jedna generace programového systému Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 8

Př) proces používající kostry RUP (viz Fowler) ad 1) Zahájení - různá podoba (interview.. několikaměsíční studie uskutečnitelnosti) - vypracování podnikatelského záměru pro projekt - nutná počáteční analýza pro představu o rozsahu ad 2) Rozpracování - cílem je lepší pochopení problému řízení riziky a) rizika požadavků uděláme něco jiného, než chce zákazník - největší prostor pro použití UML - nalezení všech, resp. nejrizikovějších případů použití - vytvoření konceptuálního modelu domény (souběžně se sběrem případů použití): diagram tříd pro konceptuální pohled při výrazném toku aktivit diagram aktivit (paralelní procesy) - používat minilní notaci, kreslení několika dílčích diagramů - vytvoření jednoho konzistentního modelu domény s expertem na danou doménu, u velkých modelů rozčlenění na seskupení (moduly - package) Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 9 - je-li třeba, vytvoření stavových diagramů pro třídy se zajímavým životním cyklem - vytvořený model je nutné chápat jako kostru pro zbytek modelu (je detailní, ale jen část) co tvořit kostru? - malý tým pro tvorbu modelu domény (2-4 lidé: vývojáři+experti na doménu), problém doménové odbornosti - využití prototypování pro rizikové případy použití b) technologická rizika vybíráme vhodné technologie? - využití prototypování pro ověření technologií - problémy při skloubení technologií a komponent návrhu - zaměřit se na důležitá rozhodnutí návrhu architektury a oblasti, které se asi později dají těžko změnit - techniky UML které lze použít: diagramy tříd a interakce, diagramy seskupení, diagramy rozmístění c) dovednostní rizika me (můžeme získat) vývojáře s dostatečnou zkušeností? - častý problém řady projektů - často se vyplatí investovat do školení, začlenění konzultanta, resp. poradce do týmu (jinak plánovat průběžné oponování) d) politická rizika existují politické síly s vlivem na projekt? Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 10

- kdy je fáze ukončena? - trvání asi 1/5 doby projektu - indikátory: - vývojáři jsou schopni odhadnout pracnost každého případu použití - nejdůležitější rizika identifikována a pochopena plánování fáze konstrukce A) Kategorizace případů použití (UC) zákazníkem z hlediska podnikatelské hodnoty (vysoká, střední, nízká) B) Kategorizace UC vývojáři z hlediska rizik C) Odhad pracnosti jednotlivých UC [člověkotýden (čt)] EUC i D) Podívej se na nejrizikovější UC, je-li na ně třeba příliš času,je třeba jejich další rozpracování E) Určení doby ace (několik UC, pro C++ např. 6-8 týdnů) TI F) Určení využitelné kapacity ace a počtu ací Př) ace 6 týdnů, 8 vývojářů, korekce 2: EI = (6*8)/2 = 24 čt Počet ací: NI = EUC i /EI + 1 G) Přiřazení UC acím nejprve UC s vysokou hodnotou a rizikem H) Pro fázi přechodu plánuj10-35% času konstrukce a ještě přidej 10-20% času konstrukce jako faktor nahodilosti I ) Výsledkem je plán předávání (release plan) Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 11 ad 3) Konstrukce - každá ace je miniprojektem (analýza, návrh, kódování, testování, integrace), výsledkem ukázka zákazníkovi a systémový test - redukce rizik prioritním řešením rizikových UC - při acích se přepisuje část kódu (zabránění zhoršování) využití UML při konstrukci: UC rozsah (konceptuální diagram tříd) návrh - jak budou třídy spolupracovat (CRC štítky, diagramy interakce) kódování (s návratem v případě potřeby) zdokumentování vytvořeného software (UML diagramy diagram seskupení, rozmístění, diagram tříd specifikačního pohledu pro každé seskupení (nemusí být detailní), diagramy interakce, případně stavové diagramy, pro složité algoritmy popis strukturovaným jazykem, případně diagram aktivit + detailní dokumentace generovaná z kódu (např. JavaDoc)) ad 4) Přechod - postupné předávání zákazníkovi (např. mezi beta-verzí a konečnou verzí) - některé činnosti nedělat brzy (optimalizace) - neměl by probíhat vývoj s cílem přidat funkčnost (jen malé úpravy, resp. nezbytná funkčnost), jen pro opravu chyb Jaroslav Zendulka: Projektování programových systémů - 8 Přehled OO metodik (metod, metodologií) 12