Ітеративна та інкрементна розробка — це серцевина циклічного процесу розробки ПЗ, який був розроблений у відповідь на слабкі сторони водоспадної моделі. Процес починається з початкового планування і закінчується впровадженням (готового ПЗ) з циклічними взаємодіями між цими етапами.
Ітеративна та інкрементна розробка є суттєвою частиною Rational Unified Process, Екстремального програмування та різноманітних фреймоворків гнучкої розробки ПЗ.
Головна ідея
Часто помилково вважають, що «ітеративний» це синонім до «інкрементний». Хоча, в розробці ПЗ та програмних систем вони часто йдуть пліч-о-пліч. Основна ідея полягає в тому, щоб розробити систему шляхом циклів, що повторюються (ітеративний) та в менші проміжки часу (інкрементний), даючи змогу розробнику скористатися перевагами того, що було вивчене під час розробки попередніх порцій або версій системи. Навчання приходить як з процесу розробки так і з процесу використання системи, де можливі ключові кроки процесу починаються з простої реалізації підмножини вимог до програмного продукту та ітеративного вдосконалення версій, які еволюціонують доки повна система не буде реалізована. На кожному кроці (ітерації) виконуються зміни дизайну та додаються нові функціональні можливості.
Процедура складається з кроку ініціалізації, ітеративного кроку та контрольного списку проєкту. Крок ініціалізації створює базову версію системи. Метою початкової реалізації є створення продукту на який можуть відгукнутися користувачі. Цей продукт повинен запропонувати набір зразків ключових аспектів проблеми і забезпечити розв'язання, яке буде достатньо простим для того, щоб легко зрозуміти і реалізувати його. Для керування ітеративним процесом створюється контрольний список проєкту, який вміщує записи усіх завдань, які потрібно виконати. Він включає такі елементи: нові можливості програми, які потрібно реалізувати та частини поточного рішення, які потрібно переробити. Контрольний список постійно змінюється, в результаті фази аналізу.
Ітерація включає реконструювання та реалізацію завдань з контрольного списку, а також аналіз поточної версії системи. Рівень деталізації проєктного плану(дизайну) не диктується ітеративним підходом. У невеликих ітеративних проєктах код може представляти джерело документації системи. Проте, у критичних до організації проєктах може використовуватися формальний документ-план програмного продукту. Аналіз ітерації базується на відгуках користувачів та на доступних засобах аналізу програми. Він включає аналіз структури, модульності, зручності у використанні, надійності, продуктивності та досягнення поставлених цілей. Контрольний список проєкту змінюють на основі результатів аналізу.
Ітераційна/Інкрементна розробка
Інкрементна розробка поділяє систему на інкременти(порції). У кожній порції доставляється певна частина функціональності. Уніфікований процес поділяє порції/ітерації на такі фази: початок, створення плану, побудова та перехід.
- Початок визначає масштаб проєкту, ризики і вимоги(функціональні та нефункціональні) на високому рівні, але достатньому для того, щоб оцінити складність.
- Результатом створення плану стає виробнича архітектура, яка пом'якшує найзначніші ризики та заповнює нефункціональні вимоги.
- Побудова поступово(інкрементно) заповнює архітектуру готовим кодом, який створено завдяки аналізу, плануванню, реалізації та тестуванню функціональних вимог.
- Перехід переводить систему у виробниче середовище.
Кожна з фаз може бути розділена на 1 або більше ітерацій, які, зазвичай, обмежені у часі, а не у функціональності. Архітектори та аналітики працюють на одну ітерацію попереду програмістів та тестувальників, для того, щоб тримати їхній перелік завдань повним.
Джерела
Див. також
Посилання
- Going round and round and getting nowhere eXtremely fast? Another look at incremental & iterative development [Архівовано 24 вересня 2010 у Wayback Machine.] from www.methodsandtools.com
- The «Case» for Waterfall Development from www.fromthetrench.com
- Iterative Development and The Leaning Tower of Pisa from www.fromthetrench.com]
Цю статтю треба для відповідності Вікіпедії.(Жовтень 2010) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Iterativna ta inkrementna rozrobka ce sercevina ciklichnogo procesu rozrobki PZ yakij buv rozroblenij u vidpovid na slabki storoni vodospadnoyi modeli Proces pochinayetsya z pochatkovogo planuvannya i zakinchuyetsya vprovadzhennyam gotovogo PZ z ciklichnimi vzayemodiyami mizh cimi etapami Iteracijna model rozrobki Iterativna ta inkrementna rozrobka ye suttyevoyu chastinoyu Rational Unified Process Ekstremalnogo programuvannya ta riznomanitnih frejmovorkiv gnuchkoyi rozrobki PZ Zmist 1 Golovna ideya 2 Iteracijna Inkrementna rozrobka 3 Dzherela 4 Div takozh 5 PosilannyaGolovna ideyared Chasto pomilkovo vvazhayut sho iterativnij ce sinonim do inkrementnij Hocha v rozrobci PZ ta programnih sistem voni chasto jdut plich o plich Osnovna ideya polyagaye v tomu shob rozrobiti sistemu shlyahom cikliv sho povtoryuyutsya iterativnij ta v menshi promizhki chasu inkrementnij dayuchi zmogu rozrobniku skoristatisya perevagami togo sho bulo vivchene pid chas rozrobki poperednih porcij abo versij sistemi Navchannya prihodit yak z procesu rozrobki tak i z procesu vikoristannya sistemi de mozhlivi klyuchovi kroki procesu pochinayutsya z prostoyi realizaciyi pidmnozhini vimog do programnogo produktu ta iterativnogo vdoskonalennya versij yaki evolyucionuyut doki povna sistema ne bude realizovana Na kozhnomu kroci iteraciyi vikonuyutsya zmini dizajnu ta dodayutsya novi funkcionalni mozhlivosti Procedura skladayetsya z kroku inicializaciyi iterativnogo kroku ta kontrolnogo spisku proyektu Krok inicializaciyi stvoryuye bazovu versiyu sistemi Metoyu pochatkovoyi realizaciyi ye stvorennya produktu na yakij mozhut vidguknutisya koristuvachi Cej produkt povinen zaproponuvati nabir zrazkiv klyuchovih aspektiv problemi i zabezpechiti rozv yazannya yake bude dostatno prostim dlya togo shob legko zrozumiti i realizuvati jogo Dlya keruvannya iterativnim procesom stvoryuyetsya kontrolnij spisok proyektu yakij vmishuye zapisi usih zavdan yaki potribno vikonati Vin vklyuchaye taki elementi novi mozhlivosti programi yaki potribno realizuvati ta chastini potochnogo rishennya yaki potribno pererobiti Kontrolnij spisok postijno zminyuyetsya v rezultati fazi analizu Iteraciya vklyuchaye rekonstruyuvannya ta realizaciyu zavdan z kontrolnogo spisku a takozh analiz potochnoyi versiyi sistemi Riven detalizaciyi proyektnogo planu dizajnu ne diktuyetsya iterativnim pidhodom U nevelikih iterativnih proyektah kod mozhe predstavlyati dzherelo dokumentaciyi sistemi Prote u kritichnih do organizaciyi proyektah mozhe vikoristovuvatisya formalnij dokument plan programnogo produktu Analiz iteraciyi bazuyetsya na vidgukah koristuvachiv ta na dostupnih zasobah analizu programi Vin vklyuchaye analiz strukturi modulnosti zruchnosti u vikoristanni nadijnosti produktivnosti ta dosyagnennya postavlenih cilej Kontrolnij spisok proyektu zminyuyut na osnovi rezultativ analizu nbsp Iterativna rozrobka za metodologiyeyu RUP Iteracijna Inkrementna rozrobkared Inkrementna rozrobka podilyaye sistemu na inkrementi porciyi U kozhnij porciyi dostavlyayetsya pevna chastina funkcionalnosti Unifikovanij proces podilyaye porciyi iteraciyi na taki fazi pochatok stvorennya planu pobudova ta perehid Pochatok viznachaye masshtab proyektu riziki i vimogi funkcionalni ta nefunkcionalni na visokomu rivni ale dostatnomu dlya togo shob ociniti skladnist Rezultatom stvorennya planu staye virobnicha arhitektura yaka pom yakshuye najznachnishi riziki ta zapovnyuye nefunkcionalni vimogi Pobudova postupovo inkrementno zapovnyuye arhitekturu gotovim kodom yakij stvoreno zavdyaki analizu planuvannyu realizaciyi ta testuvannyu funkcionalnih vimog Perehid perevodit sistemu u virobniche seredovishe Kozhna z faz mozhe buti rozdilena na 1 abo bilshe iteracij yaki zazvichaj obmezheni u chasi a ne u funkcionalnosti Arhitektori ta analitiki pracyuyut na odnu iteraciyu poperedu programistiv ta testuvalnikiv dlya togo shob trimati yihnij perelik zavdan povnim Dzherelared Div takozhred Posilannyared Going round and round and getting nowhere eXtremely fast Another look at incremental amp iterative development Arhivovano 24 veresnya 2010 u Wayback Machine from www methodsandtools com The Case for Waterfall Development from www fromthetrench com Iterative Development and The Leaning Tower of Pisa from www fromthetrench com Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Zhovten 2010 Otrimano z https uk wikipedia org wiki Iterativna ta inkrementna rozrobka