Prototypování softwaru

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 5. února 2016; kontroly vyžadují 13 úprav .

Prototypování softwaru (z anglického prototyping) je etapa vývoje softwaru (softwaru), proces vytváření prototypu programu  - layout (návrh, zkušební verze) programu, obvykle za účelem ověření vhodnosti konceptů, architektonických a / nebo technologická řešení navržená pro aplikaci a také představit program zákazníkovi v raných fázích procesu vývoje.

Prototyp také umožňuje získat zpětnou vazbu od budoucích uživatelů a navíc přesně ve chvíli, kdy je to nejvíce potřeba: na začátku projektu je stále možnost opravit chyby návrhu téměř beze ztrát.

Přehled

Proces prototypování se obvykle skládá z následujících kroků:

  1. Definice počátečních požadavků
  2. Vývoj první verze prototypu, která obsahuje pouze uživatelské rozhraní systému
  3. Prozkoumání prototypu zákazníkem a koncovými uživateli, získání zpětné vazby na potřebné změny a doplňky
  4. Přepracování a vylepšení prototypu: s přihlédnutím k obdrženým připomínkám a návrhům se změní specifikace i prototyp, poté lze kroky 3 a 4 opakovat.

Typy prototypování

Prototypování má mnoho různých možností. Všechny metody jsou však do určité míry založeny na dvou hlavních typech.

Rychlé prototypování

U rychlého prototypování ( anglicky  rapid prototyping nebo throwaway prototyping ) se předpokládá, že vzniká layout, který bude v určité fázi ponechán („vyhozen“) a nestane se součástí hotového systému.

Hlavní výhodou tohoto přístupu je rychlost: v reakci na své požadavky zákazník téměř okamžitě obdrží prototyp rozhraní a může si okamžitě ujasnit požadavky před napsáním pracovního kódu systému. Náklady na změnu požadavků v této fázi jsou velmi nízké, protože není třeba přepisovat žádný kód.

Je velmi důležité, aby takové prototypování bylo dokončeno co nejdříve, protože v tomto případě se plýtvá časem a prostředky na kód, který nebude dále využíván.

Rychlé prototypování nemusí být nutně prováděno na stejné platformě a stejných technologiích jako vyvíjený systém. Prototypy grafického uživatelského rozhraní (GUI) mohou být použity jako standardní HTML stránky nebo mohou být prototypy připraveny v programu speciálně navrženém pro vytváření layoutů (například: Axure RP , Microsoft Expression Blend atd.).

Evoluční prototypování

Evoluční prototypování si klade za cíl důsledně vytvářet rozvržení systému, která se budou stále více blížit skutečnému produktu . 

Tento přístup má tu výhodu, že na každém kroku máme funkční systém, i když ne se všemi potřebnými funkcemi, ale zlepšující se s každou iterací. Zároveň nedochází k plýtvání prostředky na kód, který bude „vyhozen“.

Evoluční přístup k prototypování lze zvolit na základě předpokladu, že všechny nezbytné požadavky jsou v době zahájení vývoje neznámé a budou určeny při vytváření programu; pak v každé fázi implementujeme pouze ty požadavky, které jsou známé a jasné. Zároveň se vývojáři někdy soustředí na práci pouze na těch systémových modulech, pro které již byly stanoveny požadavky.

V některých případech, pokud jde o produkt pro určitou neobsazenou niku, uživatelé začnou systém používat ještě před jeho úplným dokončením a čekají na hotový systém, protože „nedokončený systém je lepší než jeho úplná absence“.

Výhody a rizika

Hlavními výhodami prototypování je zkrácení doby vývoje a snížení nákladů díky tomu, že hodnocení prototypu umožňuje odhalit nedostatky nebo nesrovnalosti v požadavcích již v dřívější fázi. Čím později jsou změny ve specifikaci provedeny, tím jsou dražší, takže vyjasnění „co uživatelé/zákazníci skutečně chtějí “ na začátku vývoje snižuje celkové náklady.

Psychologicky důležitou roli hraje i zapojení zákazníka do procesu vývoje. Práce s prototypem umožňuje budoucím uživatelům vidět, jak bude budoucí program vypadat, a ovlivnit jeho chování, což snižuje nesrovnalosti v představě programu mezi vývojáři a uživateli. Sníží se také efekt téměř nevyhnutelného odmítnutí nového systému během implementace, zvláště když je zaveden místo dříve používaného systému.

Použití prototypování však vytváří řadu dalších rizik.

Použitelnost

Otázka, do jaké míry je opodstatněné použití prototypování v té či oné podobě u konkrétního projektu, nemá jednoznačnou odpověď. Prototypování dává dobré výsledky při navrhování systémů, ve kterých je značná část mzdových nákladů spojena s implementací rozhraní člověk-počítač a posouzení shody systému s požadavky zákazníků je do značné míry subjektivní. V takových systémech je vytvoření podrobné specifikace velmi obtížné, protože zákazník nemůže vzít v úvahu všechny nuance a programátoři organizují blíže nespecifikované části podle vlastního uvážení; ve výsledku je typická reakce na předvedení hotového systému: „Ano, vše formálně odpovídá zadání, ale my jsme to vůbec nepotřebovali!“. Vytvoření a vyhodnocení prototypu v takových případech umožňuje v raných fázích vývoje oddělit detaily důležité pro zákazníka, které nespadaly do specifikace, od těch nedůležitých, jejichž realizace může být libovolná. .

Při vývoji systémů, jejichž primární úlohou je výpočet, jako jsou programy a nástroje příkazového řádku, nabízí prototypování jen malou skutečnou výhodu.

Viz také

Odkazy