270 likes | 493 Vues
Luk áš Šimon. Feature-Driven Development (FDD). FDD – Feature-Driven Development. Patrí do rodiny agilných metód (proces) vývoja softvéru spolu s metódami ako napríklad XP alebo Scrum. Prečo proces?. a čo je proces?. Čo je vlastne FDD. Súbor „best practices“
E N D
Lukáš Šimon Feature-Driven Development (FDD)
FDD – Feature-Driven Development Patrí do rodiny agilných metód (proces) vývoja softvéru spolu s metódami ako napríklad XP alebo Scrum
Prečo proces? a čo je proces?
Čo je vlastne FDD Súbor „best practices“ Vložených do procesu (sformalizovaných) Filozofia?
Obsah Porovnanie FDD Úvod do FDD SPEM a nástroj EPFC Ako namodelovať metódu vývoja softvéru v EPFC Ukážka modelu FDD v EPFC FDD a Softec
Porovnanie FDD • Metódy vývoja softvéru sa rozdeľujú na: • rozsiahle (heavy-weight): RUP, .. • agilné (agile): FDD, XP, Scrum, .. • Porovnanie FDD: • FDD je agilná metóda a na rozdiel od XP sa dá použiť aj pre veľké projekty do 500 ľudí • FDD nie je taká zložitá a byrokratická ako RUP (RUP sa oplatí implementovať až pri tímoch nad tisíc ľudí) • FDD je navrhnutá pre objektovo orientovanú paradigmu
Vznik FDD Pri vývoji systému pre Singapurskú banku Java Modeling In Color With UML (Peter Coad, Jeff De Luca)
Základná definícia Patrí do rodiny agilných metód V projektoch až do500 ľudí Vyvíjaný systém rozdeľuje na veľa nízkogranulárnych funkcií, ktoré sú pridelené do balíkov funkcií Vývoj v krátkych iteráciach
Základná definícia Definuje 6 kľúčových rolí v projekte Definuje 2 fázy: inicializácia (start-up) a budovanie (construction). Definuje 5 procesov, ku každému procesu definuje aktivity Definuje vývoj softvéru vo veľa iteráciách v malých skupinkách (3 až 6 vývojárov) pod vedením skúseného programátora
Feature - funkcia Nízko-granulárna funkcionalita systému vyjadrená v reči zákazníka napríklad: vypočítaj celkovú cenu tovaru Implementácia každej funkcie má byť kratšia ako dva týždne, väčšinou sa má jednať iba o niekoľko dní.
Stavy a míľniky funkcie Každej funkcii definuje tri stavy: „nezačatá“, „rozpracovaná“, „dokončená“ Definuje 6 míľnikov pre funkciu:
Pohľad na aktuálny stav systému Definuje sumárny report progresu „progress summary report“ - aktuálny stav systému
Role Projektový manažér Hlavný architekt Manažér vývoja Hlavní programátori Vlastník triedy Doménoví experti Tester a dokumentarista
SPEM - Software Process Engineering Metamodel OMG (Object Management Group) štandard určený na modelovanie softvérových metód EPF Composer implementuje špecifikáciu SPEM Open-source a podporovaný veľkými spol. IBM,OMG Alternatívy BPMN, BPEL, XPDL
Proces? Proces určuje každému členovi tímu jeho zodpovednosti a práva
EPFC – Eclipse Process Composer Nástroj na popis metód vývoja softvéru Všetky informácie o procese na jednom mieste Konzistentný a spoločný slovník –štandardizáciu pri zápise procesov Zjednodušuje a urýchľuje schopnosť pochopiť procesy pre všetkých zúčastnených Podporuje verzionovanie procesov Export modelu do HTML Je open-source (podporovaný IBM, OMG, ..)
Postup ako namodelovať metódu vývoja softvéru v EPFC Organizácia metódy Definícia projektových fáz a procesov Detailný popis projektových rolí Detailný popis identifikovaných artefaktov Definícia vlastností pre jednotlivé úlohy
Literatúra A practical Guide to Feature-Driven Development (Stephen R. Palmer, John M. Felsing) www.featuredrivendevelopment.com www.eclipse.org/epf/