Ітеративна та інкрементна розробка

Ітеративна та інкрементна розробка — це серцевина циклічного процесу розробки ПЗ, який був розроблений у відповідь на слабкі сторони водоспадної моделі. Процес починається з початкового планування і закінчується впровадженням (готового ПЗ) з циклічними взаємодіями між цими етапами.

Ітераційна модель розробки

Ітеративна та інкрементна розробка є суттєвою частиною Rational Unified Process, Екстремального програмування та різноманітних фреймоворків гнучкої розробки ПЗ.

Головна ідея

Часто помилково вважають, що «ітеративний» це синонім до «інкрементний». Хоча, в розробці ПЗ та програмних систем вони часто йдуть пліч-о-пліч. Основна ідея полягає в тому, щоб розробити систему шляхом циклів, що повторюються (ітеративний) та в менші проміжки часу (інкрементний), даючи змогу розробнику скористатися перевагами того, що було вивчене під час розробки попередніх порцій або версій системи. Навчання приходить як з процесу розробки так і з процесу використання системи, де можливі ключові кроки процесу починаються з простої реалізації підмножини вимог до програмного продукту та ітеративного вдосконалення версій, які еволюціонують доки повна система не буде реалізована. На кожному кроці (ітерації) виконуються зміни дизайну та додаються нові функціональні можливості.

Процедура складається з кроку ініціалізації, ітеративного кроку та контрольного списку проєкту. Крок ініціалізації створює базову версію системи. Метою початкової реалізації є створення продукту на який можуть відгукнутися користувачі. Цей продукт повинен запропонувати набір зразків ключових аспектів проблеми і забезпечити розв'язання, яке буде достатньо простим для того, щоб легко зрозуміти і реалізувати його. Для керування ітеративним процесом створюється контрольний список проєкту, який вміщує записи усіх завдань, які потрібно виконати. Він включає такі елементи: нові можливості програми, які потрібно реалізувати та частини поточного рішення, які потрібно переробити. Контрольний список постійно змінюється, в результаті фази аналізу.

Ітерація включає реконструювання та реалізацію завдань з контрольного списку, а також аналіз поточної версії системи. Рівень деталізації проєктного плану(дизайну) не диктується ітеративним підходом. У невеликих ітеративних проєктах код може представляти джерело документації системи. Проте, у критичних до організації проєктах може використовуватися формальний документ-план програмного продукту. Аналіз ітерації базується на відгуках користувачів та на доступних засобах аналізу програми. Він включає аналіз структури, модульності, зручності у використанні, надійності, продуктивності та досягнення поставлених цілей. Контрольний список проєкту змінюють на основі результатів аналізу.

Ітеративна розробка за методологією RUP.

Ітераційна/Інкрементна розробка

Інкрементна розробка поділяє систему на інкременти(порції). У кожній порції доставляється певна частина функціональності. Уніфікований процес поділяє порції/ітерації на такі фази: початок, створення плану, побудова та перехід.

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

Кожна з фаз може бути розділена на 1 або більше ітерацій, які, зазвичай, обмежені у часі, а не у функціональності. Архітектори та аналітики працюють на одну ітерацію попереду програмістів та тестувальників, для того, щоб тримати їхній перелік завдань повним.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.