Tradiční metody vývoje softwaru Řízení projektů Tradiční metody 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í Vychází z tradičních způsobů tvorby produktů ve fázích – životní cyklus projektu Základní je vodopádový model tvorby programů
Vodopádový model
Vodopádový model Vyvinut Dr. Winstonem Roycem v roce 1970 Je modelem životního cyklu vývoje softwaru Vychází z modelu posloupnosti fází Je postaven na přímé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
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: rozčlenění systému na moduly (funkční celky) definice chování modulů, práce s daty použitý programovací jazyk a vývojové nástroje
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: Rozšířenost Jednoduchost Ideální pro řízení (oddělené fáze) Nevýhody: 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