2 Životní cyklus programového díla

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

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)

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

Návrh softwarových systémů - úvod, motivace

01 Teoretické disciplíny systémové vědy

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

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

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

Návrh softwarových systém. Návrh softwarových systémů

7 Jazyk UML (Unified Modeling Language)

5 Požadavky a jejich specifikace

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

Testování a verifikace softwaru

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

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

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

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

5 Požadavky a jejich specifikace

CASE. Jaroslav Žáček

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

7 Jazyk UML (Unified Modeling Language)

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

SOFTWAROVÉ INŽENÝRSTVÍ 1

5. Formalizace návrhu databáze

CASE nástroje. Jaroslav Žáček

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

Software generické produkty - smluvní, zakázkové produkty - - udržovatelnost spolehlivost efektivita použitelnost specifikace

10 Metody a metodologie strukturované analýzy

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

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

Agile. nejžádanější způsob vývoje software. Tomáš Tureček. Business consultant, Lean&Agile coach Tieto

Řízení SW projektů. Lekce 3. Projektové procesy a znalostní oblasti. přednáška pro studenty FJFI ČVUT. zimní semestr 2012

7.5 Diagram tříd pokročilé techniky

METODIKY VÝVOJE SOFTWARE STUDIJNÍ OPORA PRO KOMBINOVANÉ

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

POČÍTAČOVÁ SIMULACE PODNIKOVÝCH PROCESŮ. Ing. V. Glombíková, PhD.

Analytická specifikace a její zpracování

Obsah Charakteristiky software Programování ve velkém... 3

7.6 Další diagramy UML

11 Návrh programového vybavení

Vývoj informačních systémů. Jak vyvíjet v týmu

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

7.6 Další diagramy UML

12 Zajištění kvality programového vybavení

MANAŽERSKÉ INFORMAČNÍ SYSTÉMY

12 Zajištění kvality programového vybavení

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

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

5. Formalizace návrhu databáze

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce

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

Softwarový proces. Bohumír Zoubek, Tomáš Krátký

Simulace a návrh vyvíjejících Nadpis se 1. Nadpis 3. Božetěchova 2, Brno

XINF1. Jaroslav Žáček

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

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

Návrh softwarových systémů - architektura softwarových systémů

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Architektura v organizaci

Architektura softwarových systémů

Vývoj IS. Vladimíra Zádová, KIN, EF TUL- ISN3

01. Životní cyklus programového díla, analýza, návrh, implementace, provoz a metodiky vývoje SW. (A7B36SIN)

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Analýza a Návrh. Analýza

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

RDF DSPS ROZVOJ PORTÁLU

3.5.2 Členění a klasifikace kontrolních procesů Kritéria hodnocení používaná v kontrolní činnosti Specifika strategické kontroly 3.

Program a životní cyklus programu

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

7.5 Diagram tříd pokročilé techniky

Informační systémy. Jaroslav Žáček

Konstrukční a procesní inženýrství

MANAŽERSKÉ INFORMAČNÍ SYSTÉMY

Obsah. Zpracoval:

Common Object Request Broker Architecture

zswi/p2xp.d 27. února

Manažerská informatika - projektové řízení

7.4 Diagramy interakce (základy)

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

SOFTWAROVÉ INŽENÝRSTVÍ Řízení IT projektů

Agile Software Development

7.4 Diagramy interakce (základy)

RUP - Motivace, principy. Jaroslav Žáček

RUP - MOTIVACE, PRINCIPY JAROSLAV ŽÁČEK

Informační systémy. Jaroslav Žáček

Datová věda (Data Science) akademický navazující magisterský program

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

B Organizace databáze na fyzické úrovni u serveru Oracle

PowerOPTI Řízení účinnosti tepelného cyklu

Nepravidlové a hybridní znalostní systémy

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

Česká letecká servisní a. s.

A7B36SI2 Tematický okruh SI11 Revidoval: Martin Kvetko

EXTRAKT z mezinárodní normy

Úvodem... 9 O Metodikách O Metodách

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

7.3 Diagramy tříd - základy

Transkript:

2 Životní cyklus programového díla Typické etapy: 1. Specifikace požadavků - specifikace problému - analýza požadavků 2. Vývoj programu - návrh - kódování (programování) 3. Verifikace a validace 4. Provoz a údržba + další činnosti (posuzování, dokumentace,...) Model životního cyklu - ukazuje etapy (především specifikace a vývoje) a jejich návaznosti základní klasický (vodopád) evoluční vývoj - specifikační prototypování - evoluční prototypování - inkrementální vývoj formální transformace sestavování z komponent kombinované J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 1

2.1 Klasický životní cyklus ( vodopád ) Definice požadavků Systémový návrh a návrh programu Implementace a testování jednotek Integrace a systémové testování Provoz a údržba Výhody: - pokrok projektu je viditelný (výhodné pro manažery). Nevýhody: - etapy se překrývají (problémy s požadavky odhaleny při návrhu) iterace zhoršující podmínky řízení projektu zpravidla odložení dalších změn nesplnění požadavků nebo zhoršení strukturovanosti programu. Použití: jasnost požadavků na začátku řešení. J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 2

2.2 Evoluční vývoj - vhodný při nejasnostech v požadavcích, resp. nutnosti vyvíjet systém postupně Hrubý popis Specifikace Počáteční verze Vývoj Přechodné verze Validace Konečná verze J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 3

Specifikační prototypování (throw-away) Vytvoř specifikaci Realizuj prototyp Vyhodnoť prototyp Specifikuj systém Znovupoužitelné komponenty Vytvoř program Validuj systém? Předej systém Výhody: - postupné zpřesnění požadavků Nevýhody: - některé funkce může být obtížné prototypovat - nefunkční požadavky (spolehlivost, robustnost) nelze testovat na prototypu - nebezpečí dopracování prototypu J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 4

Evoluční prototypování (exploratory programming) Vytvoř specifikaci Realizuj prototyp systému Předej systém Ano Ne Vyhovuje systém? Použij prototyp Výhody: - není nutná přesná specifikace požadavků Nevýhody: - jen validace na základě posouzení zákazníka - produkt bývá špatně dokumentovaný - produkt bývá špatně strukturovaný obtížná údržba - není jasná požadovaná specializace vývojářů zpravidla malé týmy univerzálních, zkušených Techniky prototypování (RAD - rapid application development) - generátory aplikací a jazyky čtvrté generace, - skládání z opakovaně použitelných komponent, - jazyky pro rychlé prototypování (Smalltalk, CASE nástroje) J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 5

Inkrementální vývoj Zahájení, stanovení cílů, počáteční analýza požadavků Návrh architektury systému Specifikace inkrementu N Vývoj inkrementu Validace inkrementu Doruč finální verzi A Je systém kompletní? Validace systému Integrace inkrementu - odstraňuje nevýhody evolučního prototypování (neustálé změny, problémy s řízením projektu) a zachovává výhodu zpětné vazby zákazníka Př) Rational Unified Process (viz později) J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 6

2.3 Přístup k vývoji programových systémů 2 základní přístupy: a) klasický (strukturovaný) - analýza a návrh prováděny na základě funkční dekompozice a analýzy a návrhu datových struktur, datové struktury a funkce odděleny. b) objektově-orientovaný - analýza a návrh prováděny na základě identifikace objektů a jejich vzájemných vztahů, datové struktury a funkce pohromadě Podstata klasického přístupu vlastník vytvořúčet Funkce Klient Účet Data č_klienta jméno adresa č_účtu stav vlastník K10 Jan Novák Praha 100 50000 K10 J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 7

Podstata objektově orientovaného přístupu 1: najdi() O1: Klienti klienti: {O5,O8,...} najdi() vlož() zruš() <<extent>> 2: [*]dejjméno() 3: [neexistuje] new() 4: vytvořúčet() O5: Klient čísloklienta: K10 jméno: Jan Novák adresa: Praha dejčíslo() nastavčíslo() dejjméno() nastavjméno() dejadresu() nastavadresu() vytvořúčet() 5: new() O27: Účet číslo: 120 stav: 0 vlastník: O5 dejčíslo() nastavčíslo() dejstav() nastavstav() dejvlastníka() nastavvlastníka() J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 8

Strukturovaná analýza Objektověorientovaná analýza Strukturovaný návrh Objektověorientovaný návrh Strukturované programování Technologie relačních databází Technologie objektověrelačních databází Objektově-orientované programování Technologie objektověorientovaných databází J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 9

2. 4 Úloha modelování při vývoji systému Model - abstrakce něčeho (systému, jeho části) pro účely pochopení, experimentování apod. před vlastním vytvořením. použití modelu: náhrada fyzického zařízení pro experimentování (simulace), komunikace se zákazníkem, vizualizace, redukce složitosti (abstrakce) dokumentace. zpravidla několik typů modelů pro různý pohled na systém (statický/dynamický, logický/fyzický, vnější/vnitřní, ) J. Zendulka: Projektování programových systémů - 2 Životní cyklus programového díla 10