- •Інструменти. Загальне положення.
- •Методології побудови інструментів
- •Методи розробки. Загальні положення
- •Емпіричні методи
- •Домени, методи, моделі розробки пз
- •Рівні абстракції, покрокове уточнення
- •Функціональна декомпозиція, модулярізація
- •Структурне проектування.
- •Зведення, зв’язування, закриття інформації, модулярізація
- •Структурне програмування. Абстрактні типи даних.
- •Структурний аналіз. Обєктно-орієнтоване програмування
- •Доменний та обєктно-орієнтований аналізи
- •Персонал. Загальні положення
- •Структура організацій
- •Типи інженерії програмного забезпечення
- •Зворотна інженерія
- •Взаємозвязок інженерій
- •Методи та інструменти зворотної інженерії
- •Повторне використання. Загальні положення
- •Шляхи створення повторно використовуваних компонентів
- •Моделі життєвого циклу. Моделі «Керуй та виправляй» та шагова
- •Моделі життєвого циклу. Каскадна модель
- •Моделі життєвого циклу. Спіральна модель
- •Моделі життєвого циклу. Інкрементна та ітераційна моделі
- •Моделі життєвого циклу. Еволюційна та стадійна моделі
- •Моделі життєвого циклу. Модель прототипування
- •Моделі життєвого циклу. V, w – моделі
- •Моделі життєвого циклу. Моделі з повторним використанням
- •Моделі життєвого циклу. Синтезуюча модель
- •Моделі життєвого циклу. Моделі гнучкої розробки(Agile)
- •Вимірювання у пз. Загальні положення
Моделі життєвого циклу. Моделі «Керуй та виправляй» та шагова
Стандарт ISO/IEC 12207:1995 определяет модель жизненного цикла как схему отражающую процессы, действия и задачи вовлекаемые в разработку, эксплуатацию и сопровождение программного продукта, начиная с определения требований и заканчивая снятием с эксплуатации
Содержала две фазы:
написание кода;
установление ошибок в коде.
Недостатки – после множества изменений код становился плохо структурированный; даже хорошо спроектированное программное обеспечение не соответствовало требованиям; сопровождения кода было дорогим так как код плохо приспособлен для тестирования и модификации;
Шаговая модель была разработана на основе модели “кодируй и исправляй” путем устранения недостатков малой детализации шагов разработки программного продукта. Шаги выполнялись строго последовательно
Моделі життєвого циклу. Каскадна модель
Каскадная (водопадная) модель
Обеспечивает следующее:
обратные связи между стадиями, тем самым уменьшая переработку программных продуктов отдельных стадий;
прототипирование как способ разработки программного обеспечения дважды;
фазы проектирования;
продукт каждой фазы проходит верифицикацию, валидацию или тестирование.
Главный недостаток каскадной модели - обязательное завершение фаз специфицирования требований и проектирование прежде чем может быть продолжено выполнение других фаз жизненного цикла.
Моделі життєвого циклу. Спіральна модель
Спиральная модель
Процесс разработки представлен в виде спирали. Каждый виток спирали - фаза. Спираль расположена в четырех квадратах. В каждом квадрате выполняются свои действия:
квадрат 1 – определяются цели альтернативы и ограничения – определение требований и спецификация для критических частей системы с точки зрения производительности, функциональных свойств, способности к аккомодации изменений, программного/аппаратного интерфейса, критических факторов успеха;
квадрат 2 – разрабатывается прототип, идентифицируются и разрешаются риски – определение требований и спецификаций для потенциально наиболее опасных частей воображаемой системы с целью выполнения оценивания и определения степени риска; разделение на отдельные части в соответствии со степенями риска;
квадрат 3 - разрабатывается продукт;
квадрат 4 –планируется следующая фаза – применение информации, относящейся к фазе разработки продукта на следующем уровне, к планированию на следующем шаге фазы проекта;
Моделі життєвого циклу. Інкрементна та ітераційна моделі
Інкрементна модель. Обеспечивает процессы построения версии разрабатываемого программного обеспечения. Модель объединяет каскадную модель с итерационным подходом к разработке программного обеспечения. Инкрементная модель может комбинироваться с другими моделями.
Ітераційна модель. Предполагает анализ наследуемого программного обеспечения и построение нового продукта путем последовательных изменений рабочих продуктов наследуемого программного продукта.