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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

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

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

Головна ідея[ред.ред. код]

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

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

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

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

Ітераційна/Інкрементна розробка[ред.ред. код]

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

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

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

Джерела[ред.ред. код]

Див. також[ред.ред. код]

Посилання[ред.ред. код]