Vývoj softwaru je proces: popisu, specifikace, návrhu, programování, dokumentace, testování a oprav chyb používaný při vytváření a údržbě aplikací. Jádrem vývoje softwaru je „programování“ – proces vytváření a údržby zdrojových kódů
- zahrnuje vše, co se používá od návrhu koncepce požadovaného softwaru až po jeho konečné nasazení, obvykle v plánovaném a strukturovaném procesu. Vývoj softwaru tak může zahrnovat výzkum, nový vývoj, úpravy, znovupoužití, údržbu a všechny další činnosti, které přispívají k vytvoření softwarového produktu. Proces vývoje softwaru (metodika) je rámec používaný pro strukturování, plánování a řízení procesu vývoje informačních systémů. V průběhu let bylo vyvinuto množství metodik, z nichž každá má své silné a slabé stránky. Většina metodologií sdílí nějaké kombinace následujících fází vývoje softwaru:
1. Analýza -požadavků, rizik, splnitelnosti
- řízení: trojimperativ (cena, čas, kvalita)
- Průzkum trhu
- Získávání požadavků pro navrhované obchodní řešení
2. Návrh -vychází z analýzy -respektuje zvolené technologické prostředí
3. Implementace (kódování) softwaru -převedení návrhu do formy zdrojového kodu za účelem spustitelné aplikace
4. Testování
- Ověření správnosti
- V každém bodě vývoje
- Ze specifikace: • Validace • Verifikace
- Z implementace
- Ladění-odstraňování chyb (eliminační, předcházející, ignoruijící)
5. Nasazení -uvedení vyvinutého softwaru do provozu v prostředí ve kterém požaduje klient
6. Údržba softwaru a oprava chyb Tyto fáze se často souhrnně označují jako životní cyklus vývoje softwaru. Různé přístupy k vývoji softwaru mohou provádět tyto fáze v různém pořadí a věnovat různým fázím více nebo méně času. Také podrobnost dokumentace vytvářené v každé fázi vývoje softwaru se mění. Tyto fáze mohou být také prováděny postupně, nebo mohou být opakovány v různých cyklech nebo iteracích.