Popište proces vývoje softwaru, jeho jednotlivé fáze a charakterizujte profese, které se na něm podílejí. Odlište vodopádový a spirálový styl vývoje. Vysvětlete, jak se typicky označují jednotlivé verze

Software (dále jen SW), neboli programové vybavení počítače, které provádí nějakou činnost. Jedná se o nehmotnou část počítače, tedy opak hardwaru.

Historie

Vývoj software

Metodika vývoje

Metodika vývoje softwaru je souhrn různých postupů, plánování a řízení vývoje a zároveň také samostatný obor zabývající se vytvářením, prováděním a ovlivňováním jednotlivých metodik vývoje SW. Metodikou se také může chápat využití určitého frameworku a dalších postupů. Dříve se používaly tradiční metodiky vývoje, které se ale nakonec neujaly, kvůli velké byrokratické zátěži a přešlo se k agilním metodám.

Fáze vývoje

Profese podílející se na vývoji

Styly vývoje

Vodopádový (Watterfall)

Vodopádový model.png

Framework - lineární nebo také tzv. sekvenční typ
Vodopádový styl vývoje SW je považován za první kompletní metodiku vývoje SW. Vývoj je v tomto modelu vyobrazen jako neustále se svažující tok činností. Postup je přesně daný, jde od první fáze k další přísně sekvenčním způsobem. Fáze jdou za sebou bez iterací a po každé fázi následuje schvalovací proces, kterým musí projit také veškerá dokumentace. Bez tohoto procesu schválení není možné pokračovat a začít další fázi vývoje. Pokud se i přes schválení najde v další fázi chyba, je nutné se vrátit zpět do fáze předchozí.

Klady

  • jednoduchost - je jednoduchý na pochopení, práci s ním i na řízení.
  • přehlednost - je snadno zjistitelné v jaké fázi se projekt nachází, co je splněno a kde nastala chyba, pokud se tak stane.

Zápory

  • stáří - změna postoje společnosti k vývoji SW od jeho zavedení.
  • není flexibilní - pokud se objeví během vývoje nový požadavek na SW, musí se celý proces začít znovu od začátku.
  • zákazník vidí až konečný výsledek - není možné během vývoje prezentovat zákazníkovi jak bude vypadat výsledek, jelikož jsou hotové jen určité fáze vývoje. Konečný výsledek, tedy nemusí být pro zákazníka uspokojivý.

Spirálovitý

Spirálovitý model.png

Framework - kombinace sekvenčního a iterativního typu.