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: Porovnání verzí

Řádek 34: Řádek 34:
 
* „horda“
 
* „horda“
 
* „demokratická skupina“, atd.
 
* „demokratická skupina“, atd.
<ref />  
+
</ref>  
  
 
==== Manažer projektu ====
 
==== Manažer projektu ====

Verze z 22. 11. 2020, 13:54

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.

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

Na projektu vývoje SW pracuje celý tým specialistů. V týmu je důležité aby měl každý jasně dané své kompetence, pracovní náplň a věděl co co má jak a kdy přesně dělat. Nepostradatelná jen tedy koordinace všech činností a jednotlivců jako celku. Složení týmu nemusí být vždy stejné, záleží na použité metodice vývoje, fázi nebo etapě ve které se projekt zrovna nachází.
[1]

Manažer projektu

Vedoucí týmu

Analytik

SW architekt

Návrhář (GUI, API...)

Vývojář

Tester =

Manažer jakosti

Dokumentarista

Správce (sítě, databáze)

Redaktor obsahu

vodopádový X spirálovitý styl 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 - jednoduchý na pochopení, práci i jeho řízení.
  • přehlednost - je snadno zjistitelné v jaké fázi se projekt právě nachází, co už je splněno a kde nastala chyba, pokud se tak stane.

Zápory

  • stáří - změna postoje společnosti na vývoj SW od jeho zavedení.
  • není flexibilní - pokud se během vývoje objeví 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.
Novější metodika, než watterfall. Je výsledkem snahy napravit nedostatky předchozího modelu. Vznikl v roce 1958 z iniciativy Barryho Boehma. Tento model se dá označit spíše za model životního cyklu SW než metodiky vývoje jelikož je v něm vyobrazeno cyklické opakování jednotlivých kroků vývoje (tzv. iterace).

Vychází z předchozího modelu, ale přináší novinky:

  • interaktivní přístup
  • podrobná analýza rizik

Klady

  • vhodné i pro velké projekty - nezávislost na metodice, která se při samotném vývoji použije.

Zápory

  • komplikovaný
  • zákazník vidí až konečný výsledek



Ani jeden z modelů se dnes už nepoužívá ve velkých projektech. Dnes jsou využívané agilní metodiky.

Reference

<reference />

  1. Martinů Jiří, Čermák, Petr. Metodiky vývoje software, Každý tým při vývoji SW podléhá určité organizaci a určitému dělení. Jednou z takových organizací může být např. rozdělení:
    řízení projektů vývoje IS:
    • zabývá se organizační a ekonomickou stránkou vývoje IS
    • odpovědný projektový manažer (PM)
    • PM má k dispozici řídicí a realizační tým pracovníků – odborníků

    projektování IS:
    • vývojáři IS - součástí projektového týmu,
    • odpovědný hlavní řešitel (hlavní analytik),
    • specifikace zadání, analýza, návrh, implementace, testování, zavádění do provozu.

    Týmy je možné rozdělit rovněž podle druhu přístupu. Nejčastějším rozdělením podle přístupu je dělení na týmy:
    • strukturované – práce je dělena podle profese
    • „chirurgický tým“
    • „tým hlavního programátora“
    • „agilní skupina“, atd.
    • nestrukturované – práce je dělena podle objemu
    • samostatní pracovníci („osaměli vlci“)
    • „horda“
    • „demokratická skupina“, atd.