Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Качество ПО.docx
Скачиваний:
10
Добавлен:
05.12.2018
Размер:
12.56 Кб
Скачать

Модели жизненного цикла пс

Модель жизненного цикла – это структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.

Каскадные модели

Чистая каскадная модель:

Анализ  Проектирование  Программирование  Тестирование Сопровождение

Каскадно-возвратная модель:

Анализ  Проектирование  Программирование  Тестирование  Сопровождение

Замечание: можно вернуться на ЛЮБОЙ этап проектирования.

Каскадно-итерационная модель:

Анализ  Проектирование  Программирование  Тестирование Сопровождение

Замечание: каждый этап повторяется столько раз, сколько нужно для достижения результата

Каскадная модель с перекрывающими процессами:

Каждая составляющая по времени накладывается на предыдущий этап

Каскадная модель с подпроцессами:

Каждый этап можно разделить на подпроцессы. Проект разбивается на подпроекты.

Анализ  Проектирование архитектуры [[[Проектирование подсистем [подсистемы] Программирование подсистем [подсистемы]Тестирование подсистем]]] Тестирование системы Сопровождение

Спиральная модель:

[Анализ риска, измененные требования, верификация]

[Анализ риска, анализ, верификация]  [Анализ риска, проектирование, верификация]  [Анализ риска, программирование, верификация]  [Анализ риска, тестирование, верификация]

Генетические и технологические модели.

Синтезирующее программирование - предполагает синтез программы по ее спецификации. В отличие от программы, которая написана на алгоритмическом языке и предназначена для исполнения на ЭВМ после трансляции в исполняемый код, документ на языке спецификации является лишь базисом для последующей реализации. Для получения этой реализации необходимо решить следующие основные задачи:

  1. Выбрать язык реализации и аппаратно-программную платформу для реализации

  2. Осуществить трансформацию из спецификации в исполняемую программу на языке реализации

  3. Отладить и протестировать исполняемую программу

Автоматическая генерация программ по спецификациям возможна для многих языков спецификации:

SDL, LOTUS, UML,…

Сборочное (расширяемое) программирование

Библиотека компонентов

[Определение требований, Анализ и проектирования , Сборка компонентов, Тестирование и отладка ]

Эксплуатация

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

Конкретизирующее программирование

Оно предполагает что частные, специальные программы, извлекаются из универсальной. Наиболее известная технология конкретизирующего программирования - это модель с применением шаблонов проектирования. Шаблоны проектирования упрощают повторное использование удачных проектных решений.

Эволюционное прототипирование.

[Анализ и проектирование пользовательского интерфейса, программирование пользовательского интерфейса, тестирование и отладка, передача прототипа пользователю]

[Анализ и проектирование новой функциональности ПИ, программирование, тестирование и отладка, эксплуатация с частичной функциональностью]

 *итерации*

[Общая эксплуатация]

Этот подход объединяет следующие основные черты:

  1. Итерационная разработка прототипа

  2. Тесное взаимодействие с заказчиком

Первый прототип обычно включает создание развитого пользовательского интерфейса. Он может быть сразу же продемонстрирован заказчику для получения отзывов и возможных корректив. Т.е. основное начальное внимание уделяется стороне системы, обращенной к пользователю.