Spirálový model

Download Report

Transcript Spirálový model

Řízení projektů
Tradiční metodiky vývoje
softwaru
Softwarové inženýrství



Je zavedení a používání řádných inženýrských
principů tak, abychom dosáhli ekonomické tvorby
softwaru, který je spolehlivý a pracuje účinně na
dostupných výpočetních prostředcích (Fritz Bauer,
1968)
Jako samostatný obor vzniká v 70. letech 20. století
Nejde tedy jenom o samotné programování, ale
především o
–
–
–
–
–
vhodně sestavit vývojový tým
zvolit správné vývojové nástroje
využít efektivně hotové komponenty
vzájemné pochopení se zadavatelem
myslet do budoucna na údržbu a rozšiřování
Tradiční metodiky





Jejich vývoj nastartovala softwarová krize na konci 60. let 20.
století
Důraz kladen na způsob vývoje softwaru - jednotlivé fáze
(analýzy, specifikace, testů atd.)
Zpočátku se jednalo spíše o modely životního cyklu:
– Posloupnost fází (stagewise model)
– Vodopádový model
– Spirálový model
Metodika byla zavedena až firmou Rational Software:
– Rational Unified Process
Metodika popisuje nejen životní cyklus aplikace a vývojové kroky,
ale podrobně předepisuje proč, kdo, kdy a co se to má v daném
okamžiku dělat
Vodopádový model








Vyvinut Dr. Winstonem Roycem v roce 1970
V době vzniku představoval naprostou revoluci
Je modelem životního cyklu vývoje softwaru
Vychází z modelu Posloupnosti fází
Je postaven na přímočarém sledu fází
Ale zavádí zpětnou vazbu umožňující návrat na
předcházející fázi
Fáze údržby umožňuje úpravu systému
I dnes je stále používán a rozvíjen, přestože je již
zastaralý
Vodopádový model
1. Definice problému

Cíl: pochopit záměr zákazníka
–
–
–


k čemu bude systém používán
v čem má systém usnadnit práci
jakou stávající činnost má nahradit
Důraz: nalezení společné řeči
Výstup: dokument úvodní studie shrnující:
–
–
–
informace o zákazníkovi
potřeby a požadavky zákazníka
důvody dodání systému
Vodopádový model
2. Analýza a specifikace požadavků



Cíl: podrobně, konkrétně a přesně
(kvantifikovaně) specifikovat, co by měl
systém dělat
Důraz: pochopení problému
Výstup: dokument specifikace požadavků
shrnující:
–
–
popis aplikace v jazyku zákazníka
měl by být odsouhlasen a podepsán zákazníkem
Vodopádový model
3. Návrh a vytváření architektury





Cíl: navrhnout nejvhodnější architekturu systému a
technologie
Důraz: realizovatelnost systému
Využívání modelovacích nástrojů
Spolu se specifikacemi požadavků dostačující
materiál pro realizaci programátory
Výstup: kompletní architektura systému:
–
–
–
použitý programovací jazyk a vývojové nástroje
rozčlenění systému na moduly (funkční celky)
definice chování modulů, práce s daty
Vodopádový model
4. Implementace




Cíl: naprogramovat architekturu systému
Důraz: neodchýlit se od architektury systému
V případě nutnosti změny opakovat
schvalovací proces návrhu systému
Výstup: naprogramovaný systém
Vodopádový model
5. Integrace a testování



Cíl: odstranění chyb systému
Důraz: komplexnost testování
Využívání metod testování na základě:
–
–


white-box: znalosti vnitřní struktury
black-box: očekávaného chování
Testování analýzou kódu (účinnější)
Výstup: ověřený systém
Vodopádový model
6. Provoz a údržba



Cíl: spokojený zákazník
Důraz: rychlost řešení problémů
Výstup: (bezúdržbový systém)
Vodopádový model
Shrnutí

Výhody:
–
–
–

Nevýhody:
–
–
–

Rozšířenost
Jednoduchost
Ideální pro řízení (oddělené fáze)
Nepružnost (návrat na začátek)
Dodání formou „velkého třesku“
Riziko nepochopení zákazníka
Vhodnost:
–
–
–
Malé projekty
Jednoduché (jednoúčelové) projekty
Malé organizace
Spirálový model





Vyvinut Barrym Boehmem v roce 1985
Další mezník ve vývoji metodik (ale je také
pouze modelem)
Vychází z Vodopádového modelu
Je postaven na opakovaných cyklech
Zavádí iterativní přístup a analýzu rizik
–
–
bývá velmi těžké na začátku podrobně
specifikovat všechny požadavky
snadnější je stanovit obecný rámec a ten
postupně v cyklech (iteracích) zpřesňovat
Spirálový model
Klíčové pojmy

Rizika
–
–

Prototyp
–

funkční systém (nebo jeho část) jako základ pro další
cyklus
Plánování
–
–

základní pojem, na kterém je model založen
vše, co může vést k nesplnění cílů
má velkou důležitost
je prováděno pro každý cyklus
Iterativní vývoj
–
–
–
opakování cyklů
zpřesňování požadavků
nová rizika
Spirálový model
Analýza rizik


Spirálový model patří do skupiny tzv. riziky
řízených přístupů
Cíle:
–
–

předem odhadnout možná ohrožení projektu
připravit reakce na tyto události
Druhy rizik:
–
–
–
–
lidský faktor
projektová rizika
technická rizika
obchodní rizika
Spirálový model
Posloupnost kroků (kvadranty)

1. Stanovení cílů:
–
–
–

cíle (výkonové, funkční požadavky atd.)
alternativy řešení
omezující podmínky (cena atd.)
2. Analýza rizik:
–
–
–
vyhodnocení alternativ vzhledem k omezujícím podmínkám
hledání problematických oblastí jako zdrojů rizik
je ovlivněna množstvím a druhem rizik
–
–

3. Realizace:
–

vnější rizika (uživatelské rozhraní, výkon)
vnitřní rizika (vnitřní vazby)
konkrétní realizace příslušného cyklu
4. Plánování:
–
–
zhodnocení realizovaného cyklu
přidělení zdrojů pro další cyklus
Spirálový model
Posloupnost cyklů

1. cyklus:
–
–

2. cyklus:
–

specifikace požadavků
3. cyklus:
–

definice problému (konceptu)
hledání globálních rizik
návrh a vytvoření architektury
4. cyklus:
–
implementace, testování a integrace
Vodopádový model
Shrnutí

Výhody:
–
Přizpůsobitelnost
–
–
–
–

Včasné vyloučení nevhodných řešení
Komplexnost modelu
Nevýhody:
–
–
–

zavedení metodiky
místo riziky řízeného vývoje: specifikací, prototypy, simulací apod.
Komplikovanost
Nelze zasahovat do cyklu
Absence metodiky
Vhodnost:
–
–
–
–
Rozsáhlé projekty
Interní projekty (zadavatel = dodavatel)
Zákazníci vyžadující iteraci s dodavatelem
Rizikové projekty a projekty s často se měnícími požadavky