- •Обучающий курс
- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •Недостатки V-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Анализ сообщений
- •Связность модуля
- •Типы и силы связности модулей.
- •Сцепление модулей
- •Типы и степени сцепления модулей.
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Пример информационной модели
- •Методология структурного анализа и проектирования sadt
- •Синтаксис и применение диаграмм
- •Синтаксис моделей и работа с ними
- •Стратегии декомпозиции при sadt-моделировании
- •Процесс sadt-моделирования
- •Инструментальные средства проектирования программного обеспечения
- •Классификация case средств
Инкрементная модель жизненного цикла разработки программных средств и систем
Инкрементная стратегия разработки представляет собой запланированное улучшение продукта в процессе его жизненного цикла [9].
При использовании инкрементной модели жизненного цикла осуществляется процесс единовременной частичной реализации всей системы и следующего за ним медленного наращивания ее функциональных возможностей или характеристик качества в реализуемых последовательно прототипах (инкрементах). Применение модели ускоряет процесс создания системы за счет применяемого принципа компоновки из стандартных блоков, что позволяет в целом уменьшить затраты на разработку системы и контролировать изменение требований.
Инкрементная модель представляет собой процесс объединения элементов каскадной модели и прототипирования. При этом в первую очередь реализуются базовые алгоритмы и выходные данные.
Существуют различные варианты реализации инкрементной модели.
В классическом варианте модель основана на использовании полного заранее сформированного набора требований, реализуемых последовательно в виде небольших проектов.
Существует вариант модели, начинающийся с формулирования общих целей, постепенно уточняемых в процессе разработки прототипов.
При использовании инкрементной модели первостепенное внимание уделяется системным требованиям, а затем уже их реализации в группах разработчиков. Постепенно различия между последовательными прототипами уменьшаются. Каждая последующая версия системы добавляет к предыдущей определенные функциональные возможности, до тех пор, пока не будут реализованы все требования к системе. При этом каждая версия системы сдается в эксплуатацию.
Вариант инкрементной модели жизненного цикла, основанный на использовании полного заранее сформированного набора требований и работах процесса разработки, определенного в СТБ ИСО/МЭК 12207-2003, приведен на рис.2.8.
На ранних этапах жизненного цикла (анализ требований к системе, проектирование системной архитектуры, анализ требований к программным средствам) выполняется проектирование системы в целом. На этих этапах определяются инкременты и реализуемые ими функции.
Каждый инкремент затем проходит через остальные этапы жизненного цикла (проектирование программных средств, программирование и тестирование программных средств, сборка и квалификационные испытания, ввод в действие и обеспечение приемки системы, эксплуатация и сопровождение). Выполнение данных этапов соответствует каскадной модели жизненного цикла и может быть распределено согласно календарному графику.
В первую очередь реализуется набор функций или требований, формирующих основу продукта. Последующие итерации улучшают функциональные возможности или характеристики. Каждая дополнительная функция аттестуется в соответствии с полным набором требований.
На рис.2.8 треугольником обозначен процесс верификации результатов ранних этапов жизненного цикла и отдельных прототипов.
В стандарте ГОСТ Р ИСО/МЭК ТО 15271-2002 приводится другой вариант реализации инкрементной модели. Данный вариант изображен на рис.2.9. Он также основан на использовании полного заранее сформированного набора требований и их постепенной реализации в отдельных инкрементах.
Инкрементную модель можно комбинировать с другими моделями. Зачастую его объединяют со спиральной или V-образной моделью, что позволяет снизить затраты и риски при разработке системы.