Feature Driven Development

Feature driven development (FDD, розробка, керована функціональністю) — ітеративна методологія розробки програмного забезпечення, одна з гнучких методологій розробки (agile). FDD являє собою спробу об'єднати найбільш визнані в індустрії розробки програмного забезпечення методики, які беруть за основу важливу для замовника функціональність (властивості) розроблюваного програмного забезпечення. Основною метою даної методології є розробка реального, працюючого програмного забезпечення систематично, в поставлені терміни.

Історія

FDD була запропонована Джеффом Де Люка для проєкту (розрахованого на 15 місяців і 50 осіб) з розробки програмного забезпечення для одного великого Сінгапурського банку в 1997 році. Де Люка виділив набір з п'яти процесів, що охоплює як розробку загальної моделі, так і ведення списку, планування, проєктування і реалізацію елементів функціональності (англ. feature).

Перший опис FDD з'явився в 1996 році в главі 6 книги Java Modeling in Color with UML [1]. У книзі A Practical Guide to Feature-Driven Development [2] (2002 рік) опис FDD було узагальнено, і зокрема позбавлено від прив'язок до конкретної мови програмування.

Огляд

FDD включає в себе п'ять базових видів діяльності:

  1. Розробка загальної моделі;
  2. Складання списку необхідних функцій системи;
  3. Планування роботи над кожною функцією;
  4. Проєктування функції;
  5. Реалізація функції.

Перші два процеси відносяться до початку проєкту. Останні три здійснюються для кожної функції. Розробники в FDD діляться на «господарів класів» і «головних програмістів». Головні програмісти залучають господарів задіяних класів до роботи над черговою властивістю. Робота над проєктом передбачає часті збірки і ділиться на ітерації, кожна з яких передбачає реалізацію певного набору функцій.

Розробка загальної моделі

Розробка починається з високорівневого наскрізного аналізу обсягу кола вирішуваних завдань і контексту системи. Далі для кожної модельованої області робиться більш детальний наскрізний аналіз. Наскрізні опису складаються в невеликих групах і виносяться на подальше обговорення та експертну оцінку. Одна з пропонованих моделей або їх об'єднання стає моделлю для конкретної області. Моделі кожній області завдань об'єднуються в загальну підсумкову модель, яка змінюється в ході роботи.

Складання списку можливостей (функцій)

Інформація, зібрана при побудові загальної моделі, використовується для складання списку функцій. Це здійснюється розбиттям областей (англ. domain) на підобласті (предметні області, англ. subject areas) з точки зору функціональності. Кожна окрема підобласть відповідає якомусь бізнес-процесу, кроки якого стають списком функцій (властивостей). У даному випадку функції - це маленькі частини розуміються користувачем функцій, представлених у вигляді «<дія> <результат> <об'єкт>», наприклад, «перевірка пароля користувача». Розробка кожної функції повинна займати не більше 2 тижнів, інакше задачу необхідно розбити на кілька підзадач, кожна з яких зможе бути завершена за встановлений двотижневий термін.

План за властивостями (функціями)

Після складання списку основних функцій, настає черга складання плану розробки програмного забезпечення. Володіння класами розподіляється серед провідних програмістів шляхом упорядкування та організації властивостей (або наборів властивостей) в класи.

Проєктування функцій

Для кожної властивості створюється проєктувальний пакет. Провідний программіст виділяє невелику групу властивостей для розробки протягом двох тижнів. Разом з розробниками відповідного класу провідний програміст складає докладні діаграми послідовності для кожної властивості, уточнюючи загальну модель. Далі пишуться «болванки» класів і методів, і відбувається критичний розгляд дизайну.

Реалізація функції

Після успішного розгляду дизайну, дана видима клієнту функціональність реалізується до стану готовності. Для кожного класу пишеться програмний код. Після модульного тестування кожного блоку і перевірки коду, завершена функція включається в основний проєкт (англ. build).

Етапи

Так як функції малі, то їх розробка - відносно легке завдання. Для моніторингу проєкту з розробки ПЗ і надання точних даних про розвиток проєкту необхідно протоколювати розробку кожної властивості (функції). FDD виділяє шість послідовних етапів для кожної функції (властивості). Перші три повністю завершуються в процесі проєктування, останні три - в процесі реалізації. Для зручності контролю за виконанням робіт на кожному етапі показується відсоток його готовності (виконання). У таблиці нижче наведені основні етапи. Функція, яка все ще знаходиться в розробці, завершена на 44% (Аналіз області 1% + Дизайн 40% + Перевірка дизайну 3% = 44%)

Таблиця 1. Основні етапи
Аналіз області Дизайн Перевірка дизайну Код Перевірка коду Включення до збірки
1 % 40 % 3 % 45 % 10 % 1 %

Передовий досвід

FDD побудований на основі набору передового досвіду (набору найкращих практик), визнаного в галузі і отриманого з інженерії програмного забезпечення. Ці практичні методи будуються з точки зору важливого для клієнта функціоналу. Нижче подано короткий опис кожного методу:

  • Об'єктне моделювання області. Об'єктне моделювання складається з дослідження і з'ясування рамок предметної області розв'язуваної задачі. Результатом є загальний каркас, який можна надалі доповнювати функціями.
  • Розробка по функції. Будь-яка функція, яка занадто складна для розробки протягом двох тижнів, розбивається на менші підфункції до тих пір, поки кожна підзадача не може бути названа властивістю (тобто, бути реалізована за 2 тижні). Це полегшує створення коректно працюючих функцій, розширення і модифікацію системи.
  • Індивідуальне володіння класом (кодом). Означає, що кожен блок коду закріплений за конкретним власником-розробником. Власник відповідальний за узгодженість, продуктивність і концептуальну цілісність своїх класів.
  • Команда з розробки функцій (властивостей). Команда з розробки функцій (властивостей) - маленька команда розробників, яка формується динамічно і займається невеликою підзадачею. Дозволяє декільком розробникам брати участь у дизайні властивості, а також оцінювати дизайнерські рішення перед вибором найкращого.
  • Перевірка коду (англ. code review) Перевірки забезпечують хорошу якість коду, в першу чергу шляхом виявлення помилок.
  • Конфігураційне управління. Допомагає з ідентифікацією вихідного коду для всіх функцій (властивостей), розробка яких завершена на поточний момент, і з протоколюванням змін, зроблених розробниками класів.
  • Регулярна збірка. Регулярна збірка гарантує, що завжди є продукт (система), яка може бути представлена ​​замовнику, і допомагає знаходити помилки при об'єднанні частин вихідного коду на ранніх етапах.
  • Осяжність ходу робіт і результатів. Часті і точні звіти про хід виконання робіт на всіх рівнях всередині і за межами проєкту допомагають менеджерам правильно керувати проєктом.

Див. Також

Гнучка розробка програмного забезпечення

Примітки

Література

  •  Coad, P., Lefebvre, E. & De Luca, J. (1999). Java Modeling In Color With UML: Enterprise Components and Process. Prentice Hall International. (ISBN 0-13-011510-X)
  •  Palmer, S.R., & Felsing, J.M. (2002). A Practical Guide to Feature-Driven Development. Prentice Hall. (ISBN 0-13-067615-2)
  • Alan S. Koch. Agile Software Development: Evaluating the Methods for Your Organization. — Artech House, 2004. — 280 с. — ISBN 978-1580538428. (Appendix F)

Посилання

Read other articles:

Straßlach-Dingharting. Straßlach-Dingharting adalah kota yang terletak di distrik München di Bayern, Jerman. Kota Straßlach-Dingharting memiliki luas sebesar 28.34 km². Straßlach-Dingharting pada tahun 2006, memiliki penduduk sebanyak 2.858 jiwa. lbsKota dan kotamadya di distrik München Aschheim Aying Baierbrunn Brunnthal Feldkirchen Garching bei München Gräfelfing Grasbrunn Grünwald Haar Hohenbrunn Höhenkirchen-Siegertsbrunn Ismaning Kirchheim bei München Neubiberg Neuried O...

 

Den här artikeln behöver fler eller bättre källhänvisningar för att kunna verifieras. (2023-04) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. Dagslåneräntan är räntan på bankers och andra finansinstituts dagslån i Sveriges riksbank.[1] Räntan används då en bank, under en dag, har ett överskott i likviditet. De har då möjligheten ...

 

Disambiguazione – Berlusconi rimanda qui. Se stai cercando altri significati, vedi Berlusconi (disambigua). Silvio BerlusconiSilvio Berlusconi nel 2010 Presidente del Consiglio dei ministri della Repubblica ItalianaDurata mandato11 maggio 1994 –17 gennaio 1995 Capo di StatoOscar Luigi Scalfaro Vice presidenteRoberto MaroniGiuseppe Tatarella PredecessoreCarlo Azeglio Ciampi SuccessoreLamberto Dini Durata mandato11 giugno 2001 –17 maggio 2006 Capo...

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Asosiasi Pengamat Bintang Variabel Amerika – berita · surat kabar · buku · cendekiawan · JSTOR Asosiasi Pengamat Bintang Variabel Amerika (dalam bahasa Inggris: American Association of Variable Star Obse...

 

Bodo Illgner Illgner pada tahun 2012Informasi pribadiNama lengkap Bodo IllgnerTanggal lahir 7 April 1967 (umur 57)Tempat lahir Koblenz, Jerman BaratTinggi 1,91 m (6 ft 3 in)Posisi bermain Penjaga gawangKarier junior1973–1983 1. FC Hardtberg1983–1986 1. FC KölnKarier senior*Tahun Tim Tampil (Gol)1986–1996 1. FC Köln 326 (0)1996–2001 Real Madrid 91 (0)Total 417 (0)Tim nasional1985–1987 Jerman Barat U-21 7 (0)1987–1994 Jerman 54 (0) * Penampilan dan gol di klub...

 

Guinn Big Boy WilliamsWilliams dalam The Law of the 45's (1935)LahirGuinn Terrell Williams Jr.(1899-04-26)26 April 1899Decatur, Texas, Amerika SerikatMeninggal6 Juni 1962(1962-06-06) (umur 63)Hollywood, California, Amerika SerikatNama lainBig BoyPekerjaanPemeranTahun aktif1919–1961Suami/istriBarbara Weeks(m. 19??; bercerai pada 19??) Kathleen Collins(m. 19??; bercerai pada 19??) Dorothy Peterson ​ ​(m. 1943)​Orang tuaGuinn Williams (bapak) ...

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

 

Google experimental services Google Labs may also refer to Google X Lab, an innovation lab of Google. Google Labs' icon Google Labs is an incubator created by Google to test and publicly demonstrate new projects. LabsProject typeExperimentFunding agencyGoogleDuration2006; 18 years ago (2006) –Websitelabs.google The original version was online from early 2002 to mid-2011. Google described Labs as a playground where our more adventurous users can play around with prototypes ...

 

Тайна семи циферблатовангл. The Seven Dials Mystery Жанр Роман Автор Агата Кристи Язык оригинала английский Дата написания 1929 г. Дата первой публикации 24 января 1929 Издательство William Collins Sons & Co Ltd[d] Предыдущее Тайна «Голубого поезда» Следующее Партнёры по преступлению Та́йна се...

Test facility in Dawsonville, Georgia This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Georgia Nuclear Aircraft Laboratory – news · newspapers · books · scholar · JSTOR (January 2016) (Learn how and when to remove this message) Abandoned hot cell building The Georgia Nuclear Aircraft Laboratory, also known as...

 

For cars referred to as ricers, see Rice burner. A ricercar (/ˌriːtʃərˈkɑːr/ REE-chər-KAR, Italian: [ritʃerˈkar]) or ricercare (/ˌriːtʃərˈkɑːreɪ/ REE-chər-KAR-ay, Italian: [ritʃerˈkaːre]) is a type of late Renaissance and mostly early Baroque instrumental composition. The term ricercar derives from the Italian verb ricercare, which means to search out; to seek; many ricercars serve a preludial function to search out the key or mode of a following piece. A...

 

Численность населения республики по данным Росстата составляет 4 003 016[1] чел. (2024). Татарстан занимает 8-е место по численности населения среди субъектов Российской Федерации[2]. Плотность населения — 59,00 чел./км² (2024). Городское население — 76,72[3] % (20...

2018 South Korean television series It's My LifePromotional posterHangul비켜라 운명아Revised RomanizationBikyeora Unmyeong-a GenreFamilyMelodramaWritten byPark Gye-hyungDirected byKwak Gi-wonStarringPark Yoon-jaeSeo Hyo-rimJin Ye-solKang Tae-sungCountry of originSouth KoreaOriginal languageKoreanNo. of episodes124[a]ProductionRunning time35 minutesProduction companyKBS Drama ProductionOriginal releaseNetworkKBS1ReleaseNovember 5, 2018 (2018-11-05) –April 26, 2019...

 

Mountain peak in Jasper NP, Alberta, Canada North Twin PeakThe Twins massif - South Twin (left) and North Twin (right)Highest pointElevation3,730 m (12,240 ft)[1][2][Notes 1]Prominence1,011 m (3,317 ft)[Notes 2]Parent peakMount Columbia (3747 m)[1]ListingCanada highest major peaks 31stMountains of AlbertaCoordinates52°13′25″N 117°26′04″W / 52.2237°N 117.4344°W / 52.2237; -117.4344[1&#...

 

  لمعانٍ أخرى، طالع المواجهة (توضيح). المواجهة الصنف درما - جريمة الموضوع يرحل محمود عن بلدته بعد انتهاء مشكلة ثأر كان مطلوبًا فيها، إلا أنه يواجه، مع أسرته في بلدة أخرى، ظلم وطغيان شيخها تاريخ الصدور 9 مارس 1987 مدة العرض 104 دقيقة البلد مصر اللغة الأصلية العربية (العامية ا...

This article is about Japanese term Satori (悟り). For Chinese term Wu (悟), see Wu (awareness). Japanese Buddhist term for awakening For other uses, see Satori (disambiguation). Part of a series onZen Buddhism Main articles Zen Chinese Chan Japanese Zen Korean Seon Vietnamese Thiền Zen in the United States TeachingsThe essence No-mind Original enlightenment Buddha-nature Turning the light around Kenshō Satori Sudden awakening The way Ten Ox-Herding Pictures Five ranks of Tozan Hakuin's...

 

Parque O'HigginsJenisUrban ParkLokasi Santiago de Chile, ChiliKoordinat33°27′59″S 70°39′40″W / 33.46639°S 70.66111°W / -33.46639; -70.66111Area75 hektarDibuat1873Dioperasikan olehSantiagoStatusTerbuka Taman O'Higgins (bahasa Spanyol: Parque O'Higgins, dulu dikenal sebagai Parque Cousiño) adalah taman umum kedua terbesar di Santiago de Chile, Chili. Taman ini berlokasi di pusat ibu kota, Santiago Commune. Luas taman ini sekitar 185 hektar (750.000 ...

 

Irish-born Presbyterian minister (1715–1766) The ReverendSamuel Finley5th President of Princeton UniversityIn office1761–1766Preceded bySamuel DaviesSucceeded byJohn Blair (acting) Personal detailsBorn(1715-07-02)July 2, 1715County Armagh, IrelandDiedJuly 17, 1766(1766-07-17) (aged 51)Philadelphia, Province of PennsylvaniaParent(s)Michael Lauder FinleyAnna O'NeillRelativesMartha FinleySignature Samuel Finley (July 2, 1715 – July 17, 1766) was an Irish-born Presbyterian mini...

Piala ThomasMusim atau kompetisi terkini: Piala Thomas dan Uber 2024OlahragaBulu tangkisDidirikan1949Jumlah tim16NegaraAnggota BWFJuaraterkini Tiongkok (gelar ke-11)Juara terbanyak Indonesia (14 gelar)Situs web resmiThomas & Uber Cup Piala Thomas (bahasa Inggris: Thomas Cup) adalah kejuaraan bulu tangkis internasional untuk nomor beregu putra yang diadakan setiap dua tahun sekali. Awalnya kejuaraan ini diadakan setiap tiga tahun sekali. Namun semenjak tahun 1982 hingga kini, kej...

 

Country in the Caribbean Not to be confused with Dominica. Dominicana redirects here. For the airline, see Dominicana de Aviación. For the novel, see Dominicana (novel). Dominican RepublicRepública Dominicana (Spanish) Flag Coat of arms Motto: Dios, Patria, Libertad (Spanish)God, Homeland, FreedomAnthem: Quisqueyanos valientesValiant Quisqueyans Capitaland largest citySanto Domingo19°00′N 70°40′W / 19.000°N 70.667°W / 19.000; -70.667O...