- •Обучающий курс
- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •Недостатки V-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Анализ сообщений
- •Связность модуля
- •Типы и силы связности модулей.
- •Сцепление модулей
- •Типы и степени сцепления модулей.
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Пример информационной модели
- •Методология структурного анализа и проектирования sadt
- •Синтаксис и применение диаграмм
- •Синтаксис моделей и работа с ними
- •Стратегии декомпозиции при sadt-моделировании
- •Процесс sadt-моделирования
- •Инструментальные средства проектирования программного обеспечения
- •Классификация case средств
Упрощенные варианты спиральной модели
Очевидно, что классическая спиральная модель является достаточно сложной. С учетом этого разработан ряд ее упрощенных версий. Ниже приведены некоторые из них в максимально адаптированной под стандарт СТБ ИСО/МЭК 12207-2003 форме.
На рис.2.11 приведен вариант упрощенной спиральной модели. В данной модели процесс жизненного цикла разработки проекта разделен на четыре квадранта: «Планирование», «Риск», «Разработка», «Заказчик». В пределах квадрантов выделяются только основные действия различного уровня. Таким образом, в данной модели устранена чрезмерная детализация процесса. Необходимая детализация процессов предусматривается при выполнении работ этапов планирования конкретного проекта.
Рис.2.11. Упрощенный вариант спиральной модели
На рис.2.12 приведен другой вариант упрощенной спиральной модели [12].Данная модель разработана в Институте Управления проектами PMI (Project Management Institute, США). В этом варианте модели процесс жизненного цикла разработки проекта разделен на четыре следующих квадранта: «Анализ требований», «Разработка», «Сборка», «Оценка». В квадранте «Анализ требований» выполняются действия, связанные с разработкой требований к результатам очередного цикла модели. В квадранте «Разработка» выполняются концептуальное проектирование, проектирование системы, подсистем, программирование и тестирование программных компонентов. В квадранте «Сборка» выполняется сборка компонентов системы различного уровня. В квадранте «Оценка» осуществляется оценка рисков проекта (в начале жизненного цикла), квалификационные испытания промежуточных версий системы и оценка их результатов заказчиком с целью определения необходимости в переходе к следующему циклу разработки или повторению предыдущего цикла, квалификационные испытания конечной системы.
Оценка
Анализ требований
Рис.2.12. Упрощенный вариант спиральной модели
На рис.2.13 приведен модифицированный вариант спиральной модели под названием «win-win» (взаимный выигрыш), разработанный Боэмом [11].Данная модель уделяет повышенное внимание участникам проекта (пользователям, заказчикам, разработчикам, тестировщикам и т.д.) и, в первую очередь, роли заказчика в жизненном цикле разработки. Модель основана на постоянном согласовании всех работ жизненного цикла разработки.
Каждый цикл в модели разделен на шесть этапов: планирование следующего цикла, обновление всего плана жизненного цикла разработки и определение участников работ планируемого уровня; определение условий, необходимых для успешного выполнения работ участниками уровня; согласование условий успешного выполнения работ; анализ требований, ограничений и альтернативных вариантов уровня; оценка альтернативных вариантов уровня (по отношению как продукта, так и процесса), разрешение рисков; разработки продукта текущего уровня; аттестация продукта и процесса текущего уровня; анализ и утверждение результатов уровня.
Рис.2.13. Спиральная модель «win-win»
К достоинствам спиральной модели "win-win" относится более быстрая разработка продуктов проекта благодаря содействию, оказываемому участникам проекта, уменьшение стоимости продуктов проекта благодаря уменьшению объема переделок и текущего сопровождения, более высокий уровень удовлетворения со стороны участников проекта, и, как результат, более высокое качество ПО [11].
На рис.2.14 представлена структура одного цикла модифицированной формы спиральной модели, созданной Консорциумом по вопросам разработки программного обеспечения (Software Productivity Consortium).
Рис.2.14. Модифицированная форма спиральной модели
В данной модели каждый цикл разделен на пять этапов: «Определение проекта», «Анализ рисков», «Разработка плана проекта», «Разработка продукта уровня», «Управление и планирование». Результат выполнения каждого этапа изображен в прямоугольнике. Содержание работ каждого этапа указано в соответствующем секторе спирали.
На рис.2.15 представлен вариант спиральной модели, называемый компонентно-ориентированной моделью [9].В этой модели основное внимание уделяется процессу разработки. Модель ориентирована на повторное использование существующих программных компонентов.
Рис.2.15. Вариант компонентно-ориентированной спиральной модели
Программные компоненты, созданные в предыдущих проектах или предыдущих циклах текущего проекта, хранятся в специальной библиотеке. В каждом цикле текущего проекта, исходя из требований, идентифицируются и ищутся в библиотеке кандидаты в компоненты. Они используются в проекте повторно. Если таких кандидатов не выявлено, разрабатываются и включаются в библиотеку новые компоненты.
К достоинствам компонентно-ориентированной спиральной модели относятся: сокращение длительности разработки конечного продукта; уменьшение стоимости разработки конечного продукта; увеличение производительности разработки.