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