Tradiční metodiky vývoje softwaru Ří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
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: 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