Vývoj podle funkcí - Feature-driven development
Vývoj softwaru |
---|
Hlavní činnosti |
Paradigmata a modely |
Metodiky a rámce |
Podpůrné disciplíny |
Praxe |
Nástroje |
Standardy a subjekty znalostí |
Glosáře |
Obrysy |
Vývoj podle funkcí (FDD) je iterativní a přírůstkové proces vývoje softwaru. Je to lehká váha nebo Agilní metoda pro vývoj software. FDD kombinuje řadu průmyslově uznávaných osvědčené postupy do soudržného celku. Tyto postupy vycházejí z funkčnosti oceněné klientem (Vlastnosti ) perspektiva. Jeho hlavním účelem je dodávat hmatatelný, funkční software opakovaně a včas v souladu se zásadami, které jsou za ním Agilní manifest.[1]
Dějiny
FDD původně navrhl Jeff De Luca ke splnění konkrétních potřeb 15měsíčního projektu vývoje softwaru pro 50 osob Singapur Výsledkem byla sada pěti procesů, které zahrnovaly vývoj celkového modelu a výpis, plánování, design a vytváření funkcí. První proces je silně ovlivněn Peter Coad přístup k modelování objektů. Druhý proces zahrnuje myšlenky společnosti Coad používat seznam funkcí ke správě funkčních požadavků a vývojových úkolů. Ostatní procesy jsou výsledkem zkušeností Jeffa De Lucy. Od jeho úspěšného použití v singapurském projektu došlo k několika implementacím FDD.
Popis FDD byl světu poprvé představen v 6. kapitole knihy Java modelování v barvě s UML[1] Peter Coad, Eric Lefebvre a Jeff De Luca v roce 1999. Později ve Stephen Palmer a Mac Felsing kniha Praktický průvodce vývojem zaměřeným na funkce[2] (publikováno v roce 2002) byl uveden obecnější popis FDD oddělen od modelování Java.
Přehled
FDD je model řízený proces krátké iterace, který se skládá z pěti základních aktivit. Pro přesné hlášení stavu a sledování projektu vývoje softwaru milníky , které označují pokrok dosažený u každé funkce. Tato část poskytuje přehled aktivit na vysoké úrovni. Na obrázku vpravo je metaprocesní model pro tyto aktivity se zobrazí. Během prvních dvou po sobě jdoucích aktivit, an celkový model tvar je stanoven. Poslední tři aktivity jsou iterováno pro každou funkci.

Vypracovat celkový model
Projekt FDD začíná na vysoké úrovni návod rozsahu systému a jeho kontextu. Dále jsou pro každou oblast modelování vytvořeny podrobné modely domény malými skupinami a prezentovány pro peer review. Je vybrán jeden nebo více navrhovaných modelů, které se stanou modelem pro každou oblast domény. Modely doménových oblastí jsou postupně sloučeny do celkového modelu.
Sestavte seznam funkcí
Znalosti shromážděné během počátečního modelování se používají k identifikaci seznamu funkcí funkčním rozkladem domény na předmětné oblasti. Každá oblast předmětu obsahuje obchodní aktivity a kroky v rámci každé obchodní aktivity tvoří základ pro kategorizovaný seznam funkcí. Funkce v tomto ohledu jsou malé části funkcí oceněných klientem vyjádřených ve formě „
Plánujte podle funkce
Po dokončení seznamu funkcí je dalším krokem vytvoření plánu rozvoje a přiřazení vlastnictví prvků (nebo sad funkcí) jako třídy na programátoři.
Návrh podle funkce
Pro každou funkci je vytvořen designový balíček. Hlavní programátor vybere malou skupinu funkcí, které mají být vyvinuty do dvou týdnů. Spolu s příslušnými vlastníky tříd hlavní programátor pracuje na podrobnostech sekvenční diagramy pro každou funkci a vylepšuje celkový model. Dále jsou napsány prology třídy a metody a nakonec a inspekce designu se koná.
Stavět podle funkce
Poté, co je naplánována úspěšná kontrola návrhu pro každou aktivitu k vytvoření prvku, vypracují vlastníci tříd kód pro své třídy. Po testování jednotky a úspěšný kontrola kódu, je dokončená funkce povýšena na hlavní sestavení.
Milníky
Protože funkce jsou malé, dokončení funkce je relativně malý úkol. Pro přesné hlášení stavu a sledování projektu vývoje softwaru je důležité označit pokrok dosažený u každé funkce. FDD proto definuje šest milníků na funkci, které mají být dokončeny postupně. První tři milníky jsou dokončeny během Design by Feature aktivita a poslední tři jsou dokončeny během Sestavit podle funkce aktivita. Ke sledování pokroku je každému milníku přiřazeno procento dokončení. V následující tabulce jsou uvedeny milníky a jejich procentní podíl dokončení. V okamžiku, kdy začíná kódování, je funkce již 44% hotová (Návod na doménu 1%, Design 40% a Design Inspection 3% = 44%).
Návod na doménu | Design | Inspekce designu | Kód | Kontrola kódu | Propagujte stavět |
---|---|---|---|---|---|
1% | 40% | 3% | 45% | 10% | 1% |
Osvědčené postupy
Vývoj zaměřený na funkce je postaven na základní sadě softwarové inženýrství osvědčené postupy zaměřené na perspektivu funkcí oceňovaných klientem.
- Modelování doménových objektů. Modelování doménových objektů spočívá v prozkoumání a vysvětlení domény problému, který má být vyřešen. Výsledný model objektu domény poskytuje celkový rámec, do kterého lze přidávat funkce.
- Vývoj podle funkce. Jakákoli funkce, která je příliš složitá na to, aby mohla být implementována do dvou týdnů, se dále rozloží na menší funkce, dokud nebude každý dílčí problém dostatečně malý na to, aby se dal nazvat funkcí. To usnadňuje poskytování správných funkcí a rozšiřování nebo úpravy systému.
- Vlastnictví individuální třídy (kódu). Vlastnictví individuální třídy znamená, že jednomu vlastníkovi jsou přiřazeny odlišné části nebo seskupení kódu. Vlastník je zodpovědný za konzistenci, výkon a koncepční integritu třídy.
- Hlavní týmy. Tým funkcí je malý, dynamicky formovaný tým, který vyvíjí malou aktivitu. Na každé rozhodnutí o návrhu se vždy použije více myslí a před výběrem jednoho se vyhodnotí několik možností návrhu.
- Inspekce. Inspekce jsou prováděny s cílem zajistit kvalitní design a kód především detekcí vad.
- Správa konfigurace. Správa konfigurace pomáhá s identifikací zdrojového kódu pro všechny funkce, které byly doposud dokončeny, a udržováním historie změn tříd, jak je vylepšují týmy funkcí.
- Pravidelné sestavení. Pravidelné sestavení zajišťuje, že vždy existuje aktuální systém, který lze klientovi předvést, a pomáhá včas upozornit na chyby integrace zdrojového kódu pro funkce.
- Viditelnost pokroku a výsledků. Manažeři řídí projekt pomocí častých, vhodných a přesných zpráv o pokroku ze všech úrovní uvnitř i vně projektu na základě dokončené práce.
Metamodel (metamodel)

Metamodelování pomáhá vizualizovat procesy i data a metoda. To umožňuje porovnání metod a fragmentů metod v metodické inženýrství proces lze snadno znovu použít. Použití této techniky je v souladu s UML standardy.
Levá strana modelu metadat zobrazuje pět základních aktivit zapojených do projektu vývoje softwaru pomocí FDD. Všechny aktivity obsahují dílčí aktivity, které odpovídají dílčím aktivitám v popisu procesu FDD. Pravá strana modelu ukazuje použité koncepty. Tyto koncepty pocházejí z aktivit znázorněných na levé straně diagramu.
Použité nástroje
- CASE Spec. CASE Spec je komerční podnikový nástroj pro vývoj zaměřený na funkce.
- TechExcel DevSuite. TechExcel DevSuite je komerční sada aplikací, která umožňuje vývoj založený na funkcích.
- Nástroje FDD. Projekt FDD Tools si klade za cíl vytvořit open source, multiplatformní sadu nástrojů podporující metodiku Feature Driven Development.
- Prohlížeč FDD. FDD Viewer je nástroj pro zobrazení a tisk parkovišť.
Viz také
- Agilní vývoj softwaru
- Vývoj založený na chování
- Životní cyklus projektu
- Softwarová architektura
- Proces vývoje softwaru
- Softwarové inženýrství
Reference
- ^ „Zásady agilního manifestu“. 2019-06-11.
- 1. ^ Coad, P., Lefebvre, E. & De Luca, J. (1999). Java modelování v barvě s UML: Enterprise Components and Process. Prentice Hall International. (ISBN 0-13-011510-X)
- 2. ^ Palmer, S.R., & Felsing, J.M. (2002). Praktický průvodce vývojem zaměřeným na funkce. Prentice Hall. (ISBN 0-13-067615-2)
externí odkazy
- Feature Driven Development Community
- Vývoj podle funkcí v Curlie
- Stránka Nebulon FDD - Nebulon je poradenská praxe Jeffa De Lucy
- Úspěšné metodiky vývoje webu - Využití FDD pro projekty vývoje webových aplikací
- Poskytování skutečné obchodní hodnoty pomocí vývoje řízeného funkcemi - Článek poskytuje základní přehled FDD
- FDD a agilní modelování
- Lepší software rychleji - Další kniha ze série Coad odkazující na vývoj řízený funkcemi. Autoři Andy Carmichael a Dan Haywood ISBN 0-13-008752-1
- Rozhovor s tvůrcem FDD Jeffem DeLucou (Podcast)