
- •Обучающий курс
- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •Недостатки V-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Анализ сообщений
- •Связность модуля
- •Типы и силы связности модулей.
- •Сцепление модулей
- •Типы и степени сцепления модулей.
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Пример информационной модели
- •Методология структурного анализа и проектирования sadt
- •Синтаксис и применение диаграмм
- •Синтаксис моделей и работа с ними
- •Стратегии декомпозиции при sadt-моделировании
- •Процесс sadt-моделирования
- •Инструментальные средства проектирования программного обеспечения
- •Классификация case средств
Модели жизненного цикла разработки программных средств и систем
Стратегии
На начальном этапе развития вычислительной техники программное обеспечение разрабатывалось по принципу «кодирование – устранение ошибок». Модель такого процесса разработки ПС приведена на рис.2.1.
Рис.2.1. Модель «Делать, пока не будет сделано»
Очевидно, что недостатками такой модели являются:
В настоящее время существуют три стратегииразработки программного обеспечения:
Данные стратегии реализуются различными моделями ЖЦ.
В данном разделе рассматриваются модели жизненного цикла, рекомендованные к использованию Институтом качества программного обеспечения SQI(SoftwareQualityInstitute)[10]и стандартом ГОСТ Р ИСО/МЭК 15271-2002[2].Все описываемые модели по возможности адаптированы к требованиям стандарта СТБ ИСО/МЭК 12207– 2003 - Процессы жизненного цикла программных средств[7].
Каскадная модель жизненного цикла разработки программных средств и систем
Первой моделью жизненного цикла, пришедшей на смену принципу разработки ПС «кодирование – устранение ошибок», явилась классическая каскадная модель, появившаяся в 1970г.
Данная модель впервые формализовала структуру этапов разработки ПО. Она поддерживает стратегию однократного прохода этапов разработки ПО.
Каскадная модель базируется на полном формулировании требований в начале жизненного цикла. К их уточнению или изменению на следующих шагах жизненного цикла возврата не происходит.
Процесс разработки автоматизированных систем (АС) и ПС реализуется с помощью упорядоченной последовательности независимых шагов. Модель предусматривает, что каждая последующий шаг начинается после полного завершения выполнения предыдущего шага.
Существуют различные варианты каскадной модели жизненного цикла.
На рис.2.2 приведен вариант каскадной модели, ориентированный на работы СТБ ИСО/МЭК 12207-2003 [7].Для данного варианта модели понятие шага разработки совпадает с понятием работы вышеназванного стандарта.
На всех шагах модели выполняются вспомогательные и организационные процессы и работы, включающие управление проектом, оценку и управление качеством, верификацию и аттестацию, менеджмент конфигурации, разработку документации.
В результате завершения шагов формируется промежуточные продукты разработки, которые не могут изменяться на последующих шагах.
Реализовать классическую каскадную модель ЖЦ в чистом виде затруднительно ввиду сложности разработки ПС без возвратов к предыдущим шагам и изменения их результатов для устранения возникающих проблем.
В этой связи разработан вариант каскадной модели ЖЦ разработки ПС с обратными связями между ее отдельными шагами (рис.2.3).
Рис.2.2. Классическая каскадная модель
Рис.2.3. Классическая каскадная модель с обратной связью
В ГОСТ Р ИСО/МЭК ТО 15271-2002 [2]приводится вариант каскадной модели, ориентированный на разработку систем (рис.2.4).
Рис.2.4. Вариант каскадной модели по ГОСТ Р ИСО/МЭК ТО 15271-2002
Данный вариант базируется на возможности параллельной разработки программных средств, входящих в состав системы, или их выбора из уже готовых (разработанных ранее) и учитывает необходимость разработки или выбора технических компонентов системы, а также работы по сборке и последующим испытаниям системы.