- •Основные понятия и определения
- •Модели жизненного цикла разработки программных средств и систем
- •Стратегии разработки программных средств и систем
- •Каскадная модель жизненного цикла разработки программных средств и систем
- •Преимущества каскадной модели жизненного цикла
- •Недостатки каскадной модели жизненного цикла
- •Область применения каскадной модели
- •V-образная модель жизненного цикла разработки программных средств и систем
- •Преимущества V-образной модели жизненного цикла
- •НедостаткиV-образной модели жизненного цикла
- •Область применения V-образной модели
- •Структурная эволюционная модель быстрого прототипирования жизненного цикла разработки программных средств и систем
- •Преимущества структурной эволюционной модели быстрого прототипирования
- •Недостатки структурной эволюционной модели быстрого прототипирования
- •Область применения структурной эволюционной модели быстрого прототипирования
- •Модель быстрой разработки приложений rad
- •Преимущества модели быстрой разработки
- •Недостатки модели быстрой разработки
- •Область применения модели быстрой разработки rad
- •Инкрементная модель жизненного цикла разработки программных средств и систем
- •Преимущества инкрементной модели жизненного цикла
- •Недостатки инкрементной модели жизненного цикла
- •Область применения инкрементной модели
- •Спиральная модель жизненного цикла разработки программных средств и систем
- •Преимущества спиральной модели жизненного цикла
- •Недостатки спиральной модели жизненного цикла
- •Область применения спиральной модели
- •Упрощенные варианты спиральной модели
- •Классификация проектов по созданию и развитию программных средств и систем
- •Классические технологии проектирования программ
- •Модульное проектирование программ
- •Метод нисходящего проектирования
- •Пошаговое уточнение
- •Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •Использование комментариев для описания обработки данных
- •Анализ сообщений
- •Связность модуля
- •Сцепление модулей
- •Метод восходящего проектирования
- •Методы расширения ядра
- •Метод иерархического проектирования модулей (метод Джексона)
- •Основные конструкции построения структур данных
- •Построение структур данных
- •Создание структур программ
- •Этапы конструирования программы
- •Case-технологии проектирования программного обеспечения
- •Общие сведения о case-технологиях
- •Информационное моделирование
- •Сущности
- •Атрибуты
- •Способы представления сущностей с атрибутами
- •5. Студент (с)
- •Классификация атрибутов
- •Правила атрибутов
- •Безусловные связи
- •Условные формы связи
- •Формализация связи
- •Подтипы и супертипы
- •Рабочие продукты информационного моделирования
- •Методология структурного анализа и проектирования sadt
- •Введение
- •Общие сведения о методологии структурного анализа и проектирования sadt
- •Достоинства методологии sadt
- •Основные понятия idef0-модели
- •Синтаксис диаграмм
- •Синтаксис моделей
- •Декомпозиция и её стратегии при idef0-моделировании
- •Процесс моделирования в idef0
- •Инструментальные средства проектирования программного обеспечения
- •ЭволюцияCase-средств
- •Case–модель жизненного цикла.
- •Сравнительная оценка трудозатрат по этапам жизненного цикла.
- •Концептуальные основыCase–средств
- •Состав и функциональные особенностиCase–средств
- •КлассификацияCase–средств
Упрощенные варианты спиральной модели
Очевидно, что классическая спиральная модель является достаточно сложной. С учетом этого разработан ряд ее упрощенных версий. Ниже приведены некоторые из них в максимально адаптированной под стандарт СТБ ИСО/МЭК 12207-2003 форме.
Рисунок 2 .15 представляет вариант упрощенной спиральной модели. В данной модели процесс жизненного цикла разработки проекта разделен на четыре квадранта: «Планирование», «Риск», «Разработка», «Заказчик». В пределах квадрантов выделяются только основные действия различного уровня. Таким образом, в данной модели устранена чрезмерная детализация процесса. Необходимая детализация процессов предусматривается при выполнении работ этапов планирования конкретного проекта.
Рисунок 2.15 – Упрощенный вариант спиральной модели
Рисунок 2 .16 отражает другой вариант упрощенной спиральной модели. Данная модель разработана в Институте Управления проектами PMI (Project Management Institute, США). В этом варианте модели процесс жизненного цикла разработки проекта разделен на четыре следующих квадранта: «Анализ требований», «Разработка», «Сборка», «Оценка». В квадранте «Анализ требований» выполняются действия, связанные с разработкой требований к результатам очередного цикла модели. В квадранте «Разработка» выполняются концептуальное проектирование, проектирование системы, подсистем, программирование и тестирование программных компонентов. В квадранте «Сборка» выполняется сборка компонентов системы различного уровня. В квадранте «Оценка» осуществляется оценка рисков проекта (в начале жизненного цикла), квалификационные испытания промежуточных версий системы и оценка их результатов заказчиком с целью определения необходимости в переходе к следующему циклу разработки или повторению предыдущего цикла, квалификационные испытания конечной системы.
Рисунок 2.16 – Упрощенный вариант спиральной модели
К достоинствам описанных упрощенных спиральных моделей можно отнести:
Упрощена по сравнению с базовой моделью Боэма, что делает ее более понятной как разработчику так и заказчику.
В отличии от других моделей, внимание уделяется действиям непосредственно не связанных с разработкой.
Это обеспечивает более высокое качество процесса разработки продукта, и упрощает прогнозирование сроков и стоимости разработки, повышает удовлетворенность заказчика результатами продукта.
Рисунок 2 .17 представляет модифицированный вариант спиральной модели под названием «win-win» (взаимный выигрыш), разработанный Боэмом. Данная модель уделяет повышенное внимание участникам проекта (пользователям, заказчикам, разработчикам, тестировщикам и т.д.) и, в первую очередь, роли заказчика в жизненном цикле разработки. Модель основана на постоянном согласовании всех работ жизненного цикла разработки.
Каждый цикл в модели разделен на шесть этапов: планирование следующего цикла, обновление всего плана жизненного цикла разработки и определение участников работ планируемого уровня; определение условий, необходимых для успешного выполнения работ участниками уровня; согласование условий успешного выполнения работ; анализ требований, ограничений и альтернативных вариантов уровня; оценка альтернативных вариантов уровня (по отношению как продукта, так и процесса), разрешение рисков; разработки продукта текущего уровня; аттестация продукта и процесса текущего уровня; анализ и утверждение результатов уровня.
Рисунок 2.17 – Спиральная модель «win-win»
К достоинствам спиральной модели "win-win"относится более быстрая разработка продуктов проекта благодаря содействию, оказываемому участникам проекта, уменьшение стоимости продуктов проекта благодаря уменьшению объема переделок и текущего сопровождения, более высокий уровень удовлетворения со стороны участников проекта, и, как результат, более высокое качество ПО.
Рисунок 2 .18 отражает структуру одного цикла модифицированной формы спиральной модели, созданной Консорциумом по вопросам разработки программного обеспечения (Software Productivity Consortium).
Рисунок 2.18 – Модифицированная форма спиральной модели
В данной модели каждый цикл разделен на пять этапов: «Определение проекта», «Анализ рисков», «Разработка плана проекта», «Разработка продукта уровня», «Управление и планирование». Результат выполнения каждого этапа изображен в прямоугольнике. Содержание работ каждого этапа указано в соответствующем секторе спирали.
Рисунок 2 .19 представляет вариант спиральной модели, называемой компонентно-ориентированной моделью. В этой модели основное внимание уделяется процессу разработки. Модель ориентирована на повторное использование существующих программных компонентов.
Рисунок 2.19 – Вариант компонентно-ориентированной спиральной модели
Программные компоненты, созданные в предыдущих проектах или предыдущих циклах текущего проекта, хранятся в специальной библиотеке. В каждом цикле текущего проекта, исходя из требований, идентифицируются и ищутся в библиотеке кандидаты в компоненты. Они используются в проекте повторно. Если таких кандидатов не выявлено, разрабатываются и включаются в библиотеку новые компоненты.
К достоинствам компонентно-ориентированной спиральной моделиотносятся: сокращение длительности разработки конечного продукта; уменьшение стоимости разработки конечного продукта; увеличение производительности разработки.