RAD (programování)
RAD (z anglického rapid application development - rapid application development) - koncepce organizace technologického procesu vývoje softwarových produktů , zaměřená na co nejrychlejší výsledky při velkých časových a rozpočtových omezeních a nejasně definovaných požadavcích na produkty. Efektu zrychlení vývoje je dosahováno použitím vhodných technických prostředků a průběžným, souběžně s postupem vývoje, upřesňováním požadavků a vyhodnocováním aktuálních výsledků se zapojením zákazníka. RAD byl vytvořen na konci 80. let jako alternativa k dřívějším vodopádovým a iterativním modelům. Od konce 20. století se RAD rozšířil.
Stejný termín se používá pro softwarové nástroje pro rychlé prototypování a vývoj softwaru. Typickými vlastnostmi těchto nástrojů je maximální automatizace rutinních operací a široké využití vizuálního programování .
Historie
Vznik konceptu RAD byl výsledkem kombinace řady faktorů.
- Nespokojenost s metodami vývoje softwaru ze 70. a počátku 80. let , jako je model vodopádu . Jsou vyvinuty analogicky s metodami navrhování "železných" technických systémů a zajišťují fázovou tvorbu požadavků, dokumentaci, návrh a realizaci. Jejich důsledná aplikace vede k tak pomalému procesu tvorby programu, že se často i základní požadavky na program stihnou před dokončením vývoje změnit.
- Uvědomění si skutečnosti, že vývoj softwarových produktů se liší od tradičních typů inženýrské činnosti, která spočívá v mnohem větší dostupnosti vývojového subjektu pro složité opakované úpravy.
- Vznik hardwarových kapacit a nástrojů pro vývoj softwaru, které umožňují rychle vytvářet funkční prototypy softwarových systémů a jejich částí a automatizovat jejich dokumentaci. S těmito nástroji je alternativou k detailnímu návrhu a pečlivé předdokumentaci systému rychlé vytvoření nebo úprava prototypu a jeho přímé vyhodnocení zákazníkem.
- Úspěšné zkušenosti s vývojem systémů založené na práci malého soudržného týmu vývojářů, kteří přímo komunikují mezi sebou a se zástupcem zákazníka.
Zakladatelem RAD je zaměstnanec IBM James Martin, který v 80. letech formuloval základní principy RAD na základě myšlenek Barryho Boyma a Scotta Schultze. A v roce 1991 vydal Martin slavnou knihu, ve které podrobně popsal koncept RAD a možnosti jeho aplikace. RAD se nyní stává uznávaným rámcem pro vytváření nástrojů pro vývoj softwaru .
Schůzka
RAD předpokládá, že vývoj softwaru provádí malý tým vývojářů po dobu asi tří až čtyř měsíců pomocí inkrementálního prototypování pomocí vizuálního modelování a vývojových nástrojů. Technologie RAD zajišťuje aktivní zapojení zákazníka v raných fázích - průzkum organizace, vývoj požadavků na systém. Poslední z těchto vlastností implikuje plné splnění požadavků zákazníka, funkčních i nefunkčních, s přihlédnutím k jejich případným změnám v průběhu vývoje systému, jakož i pořízení kvalitní dokumentace, která zajistí snadnou obsluhu a údržbu systému. systém. To znamená, že dodatečné náklady na podporu ihned po dodání budou výrazně nižší. Celková doba od začátku vývoje do získání přijatelného produktu se tedy při použití této metody výrazně zkrátí.
Aplikace
Technologie RAD není univerzální, je vhodné ji použít pouze v případě, že projekt splňuje všechny nebo některé z podmínek:
- Krátká doba. Je potřeba co nejrychleji vytvořit systém splňující požadavky dnešní doby. Navýšení termínů vytváří vysokou pravděpodobnost tak výrazné změny základních ustanovení upravujících automatizované činnosti, že systém morálně zastará ještě před dokončením návrhu.
- Nejasně definované a/nebo měnící se požadavky během vývoje. Zákazník má velmi hrubou představu o práci budoucího softwarového produktu a nemůže jasně formulovat všechny požadavky na software. Požadavky nemusí být definovány na začátku projektu nebo se mohou v průběhu projektu měnit.
- Omezený rozpočet s ochotou zákazníka podílet se na vývoji. Zákazník nemá prostředky na to, aby dlouhodobě zaplatil práci velkého týmu designérů a vývojářů, ale je ochota vyčlenit specialisty pro neustálou přímou účast na vývoji a posuzování jeho aktuálního stavu.
- Malé objemy nebo možnost rozdělit projekt na funkční komponenty. Pokud je zamýšlený systém velký, musí být možné jej rozdělit na menší části, z nichž každý má jasnou funkčnost a minimální závislost na ostatních. Mohou být vydávány postupně nebo paralelně (v druhém případě je zapojeno několik skupin RAD).
- Grafické uživatelské rozhraní je nejdůležitější nebo jedna z nejdůležitějších součástí systému. Právě při tvorbě rozhraní poskytuje technologie RAD největší výhody, protože rozhraní je předvedeno přímo na prototypu a to poměrně brzy po zahájení projektu. Dokonce je možné přímo zapojit zástupce zákazníka do návrhu rozhraní ve vizuálním editoru. Tento přístup se vyhýbá typické situaci, kdy se rozhraní popsané uživatelem v požadavcích (zpravidla bez zohlednění technologických omezení) chová v praxi zcela jinak, než uživatel očekával, ačkoli systém formálně plně vyhovuje dokumentovaným požadavkům.
- Nízká výpočetní náročnost. Zpracování dat v projektu spočívá v kombinaci typických operací, z nichž všechny nebo většina je již implementována ve formě dostupných knihoven. Původní algoritmy zpracování dat nejsou buď vůbec potřeba, nebo jsou poměrně jednoduché a lze je implementovat rychle a bez větších potíží.
Pokud jsou požadavky na systém jasně definovány a nelze je měnit, není nutné zapojení zákazníka do procesu vývoje a může být efektivnější tradiční hierarchický vývoj ( kaskádová metoda ). RAD také neposkytuje prakticky žádné výhody v projektech, jejichž hlavní složitost je dána nutností implementovat složité, nestandardní algoritmy zpracování dat a uživatelské rozhraní buď jako takové chybí, nebo je velmi jednoduché a zcela standardní.
Základní principy
Principy technologie RAD jsou zaměřeny na poskytování jejích tří hlavních výhod - vysoká rychlost vývoje, nízká cena a vysoká kvalita. Dosažení vysoce kvalitního softwarového produktu je velmi obtížné a jedním z hlavních důvodů vzniklých potíží je to, že vývojář a zákazník vidí předmět vývoje (software) různými způsoby.
- Sada nástrojů by se měla zaměřit na minimalizaci doby vývoje.
- Vytvoření prototypu pro upřesnění požadavků zákazníka.
- Cyklus vývoje: každá nová verze produktu je založena na posouzení výsledku práce předchozí verze zákazníkem.
- Minimalizace doby vývoje verze přenesením hotových modulů a přidáním funkcí do nové verze.
- Vývojový tým musí úzce spolupracovat, každý člen musí být ochoten převzít více povinností.
- Řízení projektu by mělo minimalizovat dobu trvání vývojového cyklu.
Principy RAD platí nejen pro implementaci, ale také pro všechny fáze životního cyklu, zejména pro fázi průzkumu organizace, budování požadavků, analýzu a návrh.
Vývojové fáze
- Plánování je soubor požadavků získaných z plánování systému a analýzy postupu vývoje životního cyklu (SDLC). V této fázi uživatelé, manažeři a IT specialisté diskutují o cílech projektu, jeho rozsahu, systémových požadavcích a také o potížích, které mohou nastat během vývoje. Fáze končí tím, že se skupina RAD dohodne na klíčových bodech a získá povolení od vedoucích projektu pokračovat.
- Uživatelský návrh – Během této fáze uživatelé komunikují se systémovými analytiky za účelem vývoje modelů a prototypů, které zahrnují všechny požadované systémové funkce. K převodu uživatelských prototypů do pracovních modelů tým RAD obvykle používá techniky společného vývoje aplikací (JAD) a nástroje CASE . Uživatelský design se ukazuje jako dlouhý interaktivní proces, který umožňuje uživatelům pochopit, upravit a nakonec vybrat pracovní model, který splňuje jejich požadavky.
- Design je fáze, ve které je hlavním úkolem vývoj programů a aplikací. Podobně jako ve fázi „implementace“ v SDLC. V RAD se však uživatelé nadále účastní a stále mohou navrhovat změny nebo vylepšení ve formě sestav, které vytvořili. Mezi jejich úkoly patří programování a vývoj aplikací, kódování, integrace modulů a testování systému.
- Přepínání – zahrnuje operace konverze dat, testování, přechod na nový systém a školení uživatelů. Ve svých úkolech se podobá konečné fázi SDLC. Ve srovnání s tradičními metodami vývoje softwaru je celý proces časově komprimován. Díky tomu je nový systém rychleji postaven, doručen zákazníkovi a instalován na pracovišti.
Výhody
Technologie Rapid Application Development (RAD)
vám umožňuje poskytovat:
- rychlost propagace softwarového produktu na trh;
- rozhraní, které vyhovuje uživateli;
- snadná přizpůsobivost projektu měnícím se požadavkům;
- snadnost vývoje funkčnosti systému.
Viz také