Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція #11 Прогнозовані моделі життєвого циклу.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
453.12 Кб
Скачать
  1. Аналіз переваг та недоліків інкрементної моделі

Основні переваги в використанні інкрементної моделі:

  • в результаті виконання кожного інкременту випускається готовий функціональний продукт;

  • адаптація до умов ринку. Так в результаті використання інкрементної моделі пришвидшується графік поставки продукту на ринок, це допомагає відповідати потребам ринку.

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

  • проектні ризики розподілені по декількох інкрементах, а не на великому проекті, як це було в каскадній моделі. Після закінчення кожного інкременту існує можливість переглянути ризики, пов'язані з витратами та дотриманням встановленого графіку;

Основні недоліки при використанні інкрементної моделі життєвого циклу наступні:

  • в даній моделі не передбачені ітерації і рамках інкреметів. Інкременти мають лінійну структури схожу на каскадну модель;

  • визначення повного списку вимог має відбуватися на початку проекту, що забезпечити можливість формування інкрементів; В некласичній інкрементній моделі можливе додання певних вимог протягом розробки програмного продукту, це можливо за допомогою нарощування кількості ітерацій;

  • дана модель вимагає створення чітко визначених інтерфейсів. Так розробка деяких модулів програмної системи може відбуватися на більш ранніх інкрементах розробки системи. Це вимагає створення чітких інтерфейсів взаємодії між різними частинами програмного забезпечення

Отже, дана модель представляє собою більш гнучких підхід розробки програмного забезпечення. Явною перевагою цього життєвого циклу є розбиття всього списку вимог на декілька інкремнтів, що забезпечує бульш швидку доставку продукту замовнику; можливість врахування зауважень кінцевих користувачів; можливість адаптування плану та графіку розробки після результатів кожного інкременту.

Все це робить цю модель більш привабливішою та зручнішою для використання в порівнянні з каскадною моделлю.

  1. Спіральна модель життєвого циклу програмного продукту

Спіральна модель була вперше сформульована Барі Боемом в 1988 році. Відмінною особливістю цієї моделі є підвищена увага до ризиків, що впливають на організацію життєвого циклу. Найбільш поширені ризики при розробці програмного продукту:

  • Дефіцит спеціалістів

  • Нереалістичні терміни та бюджети

  • Реалізація невідповідної функціональності

  • Розробка неправильного інтерфейсу користувача

  • Непотрібна оптимізація

  • Безперервний потік змін

  • Нестача інформації про зовнішні компоненти, що визначають оточення, втягнене в інтеграцію

  • Недоліки в роботі, що виконується зовнішніми (по відношенню до проекту) працівниками

  • Недоліки в продуктивності отриманої системи

  • "Розрив" в кваліфікації спеціалістів різних областей знань

Спіральна модель включає в себе переваги каскадної моделі. Крім того в неї включені аналіз ризиків, управління ризиками, а також процеси підтримки та менеджменту. Тут також передбачена розробка програмного продукту при використанні методу прототипування чи швидкої розробки програм.

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

На рис. 5.1 схематично зображена спіральна модель.

Розглянемо квадранти спіральної моделі:

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

Рис. 5.1 – Спіральна модель життєвого циклу

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

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

  • планування наступної фази. Типові дії в цьому квадранті можуть включати в себе розробку плану проекту, розробку плану менеджменту конфігурацій, розробку плану тестування та розробку плану установки програмного продукту.

Для кожної ітерації потрібно виділити цілі, альтернативні варіанти та обмеження, встановити та вирішити ризики; дати оцінку альтернативним варіантам; розробити дані для даної ітерації та підтвердити їх правильність; спланувати наступну ітерацію. Потім необхідно вибрати метод здійснення наступної ітерації у випадку її необхідності.

В квадрантах відсутня задана кількість циклів. їх кількість треба вибирати по необхідності, а самі ітерації можна адаптувати під конкретний проект.

Також необхідно відмітити, що кодування відбувається значно пізніше, ніж в інших моделях. Сенс полягає в тому, щоб мінімізувати ризик за допомогою послідовних уточнювань вимог користувачем.