- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии разработки программных средств и систем
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •НедостаткиV-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классификация проектов по созданию и развитию программных средств и систем
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных
- •Анализ сообщений
- •Связность модуля
- •Сцепление модулей
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Основные конструкции построения структур данных
- •Построение структур данных
- •Создание структур программ
- •Этапы конструирования программы
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Методология структурного анализа и проектирования sadt
- •Введение
- •Общие сведения о методологии структурного анализа и проектирования sadt
- •Достоинства методологии sadt
- •Основные понятия idef0-модели
- •Синтаксис диаграмм
- •Синтаксис моделей
- •Декомпозиция и её стратегии при idef0-моделировании
- •Процесс моделирования в idef0
- •Инструментальные средства проектирования программного обеспечения
- •ЭволюцияCase-средств
- •Case–модель жизненного цикла.
- •Сравнительная оценка трудозатрат по этапам жизненного цикла.
- •Концептуальные основыCase–средств
- •Состав и функциональные особенностиCase–средств
- •КлассификацияCase–средств
Область применения инкрементной модели
Применение инкрементной модели целесообразно в следующих случаях:
при разработке проектов, в которых большинство требований можно сформулировать заранее, но часть из них могут быть сформулированы через определенный период времени;
при необходимости быстро поставить на рынок продукт, имеющий функциональные базовые свойства;
для выполнения проектов с большим периодом разработки (один год и более);
при разработке систем с равномерным распределением важности функциональных свойств;
при разработке проектов с низкой или средней степенью риска;
при выполнении проекта с применением новой технологии;
при разработке проектов, для которых разработка системы за один цикл связана с большой степенью риска;
при разработке проектов, в которых промежуточные версии продуктов должны быть получены через регулярные промежутки времени.
Спиральная модель жизненного цикла разработки программных средств и систем
Спиральная модель объединяет в себе преимущества других видов моделей. Кроме того, в нее включены анализ и управление рисками, процессы поддержки и управления, предусмотрены возможности использования прототипирования и быстрой разработки приложений.
Базовая концепция спиральной модели заключается в следующем. Каждый цикл разработки (итерация) представляет собой набор операций, соответствующий шагам в каскадной модели. При этом учитываются каждый компонент продукта или системы и каждый уровень сложности, начиная с общего анализа требований и заканчивая программированием каждого компонента.
Рисунок 2 .14 изображает вариант классической спиральной модели Боэма, ориентированный на работы процесса разработки, соответствующие СТБ ИСО/МЭК 12207-2003.
Модель поделена на четыре квадранта. В каждый квадрант модели входят основные и вспомогательные действия по разработке продукта или системы. В квадранте 1 – анализ требований, альтернативных вариантов и ограничений – определяются рабочие характеристики, выполняемые функции, стабильность (возможность внесения изменений), аппаратно/программный интерфейс.
Определяются альтернативные способы реализации системы (разработка, повторное использование компонент, покупка, договор подряда и т.п.). Определяются ограничения, налагаемые на применение альтернативных вариантов (затраты, график выполнения, интерфейс, ограничения среды и др.).
Определяются риски, связанные с недостатком опыта в данной предметной области, применением новой технологии, жесткими графиками, недостаточно хорошо организованными процессами.
В квадранте 2 – оценка альтернативных вариантов, идентификация и разрешение рисков - выполняется оценка альтернативных вариантов, рассмотренных в предыдущем квадранте; оценка возможных вариантов разрешения рисков. Выполняется прототипирование как основа для работ следующего квадранта.
В квадрант 3 - разработка продукта текущего уровня - включаются действия по непосредственной разработке системы или программного продукта: проектирование системы и ее программных компонентов, разработка и тестирование исходных текстов программ, интеграция тестирование и квалификационные испытания продукта или системы и т.п.
В квадранте 4 - планирование следующей фазы - выполняются действия, связанные с разработкой планов проекта, управления конфигурацией, тестирования, установки системы.
Работа над проектом в соответствии со спиральной моделью (см. Рисунок 2 .14), начинается с определения заказчиком потребности в разработке системы или программного продукта (центр квадранта 1).
Первая создаваемая версия системы основывается на предварительных требованиях заказчика. Затем начинается планирование следующего цикла, учитывающее требования и пожелания заказчика, сформулированные им по результатам работ соответствующего уровня 3-го квадранта. Каждая последующая версия более точно воплощает требования заказчика. Степень вносимых изменений от одной версии программы к следующей уменьшается
5
Рисунок 2.14 – Спиральная модель жизненного цикла
с каждой новой версией. В результате получается конечная система (программный продукт).
Для каждого цикла модели анализируются требования, альтернативные варианты и ограничения, определяются и разрешаются риски, разрабатывается версия продукта или системы этого цикла спирали и подтверждается ее правильность; планируется следующий цикл и выбираются методы его осуществления.
В конце каждого цикла осуществляется оценка его результатов, по результатам которой выполняется либо переход к следующему циклу, либо в случае необходимости повторное выполнение цикла.
Количество итераций модели выбирается в соответствии со сложностью проекта. Работы каждой итерации должны бать адаптированы под конкретный проект.
Программирование в спиральной модели выполняется значительно позже, чем в других моделях. Это позволяет минимизировать риски посредством последовательных уточнений требований, выдвигаемых пользователем. На каждой итерации рассматривается один или несколько главных факторов риска, начиная с фактора наивысшего риска. Типичные риски включают в себя неправильно истолкованные требования, архитектуру, потенциальные проблемы эксплуатации продукта или системы, проблемы в технологии и т.д.