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

Рисунок 2.10 – Модель быстрой разработки приложений RAD
На этапе анализа требований к системе совместно с заказчиком (пользователем) выполняется разработка требований. При этом в качестве базового обычно используется метод структурного анализа.
На этапе проектирования системы выполняется совместное проектирование системной архитектуры и анализ требований к программным средствам. При этом, как правило, используются автоматические инструментальные средства, обеспечивающие сбор пользовательской информации.
На этапе проектирования программных средств, программирования и квалификационных испытаний осуществляется проектирование программной архитектуры, техническое проектирование программных средств, их программирование и тестирование, сборка и квалификационные испытания системы. При этом используются соответствующие инструментальные средства.
На этапе ввода в действие и обеспечения приемки системы выполняются установка системы, приемочные испытания и обучение пользователей.
В RAD-модели обычно используются моделирование предметной области, моделирование данных, моделирование процесса, автоматическая кодогенерация. С учетом этого разработан другой вариант модели RAD (Рисунок 2 .11). В данной модели выделяется пять этапов.
Основу этапа моделирования предметной области составляет определение и анализ ее информационных потоков и функций.
На этапе моделирования данных на базе информационных потоков, определенных на предыдущем этапе, разрабатывается информационная модель предметной области.
На этапе моделирования обработки выполняется функциональное моделирование предметной области.
На этапе автоматической кодогенерации на основе информационной и функциональной моделей выполняется кодогенерация текстов программных компонентов. При этом используются языки программирования 4-го поколения (4GL) и CASE-средства. Широко применяются повторно используемые программные компоненты.
На этапе сборки и квалификационных испытаний выполняется сборка программных компонентов и испытания результирующей системы или подсистемы.
Зачастую используется вариант модели, которую изображает Рисунок 2 .11, в котором реализуется параллельная разработка базовых функций различными группами разработчиков и их последующая интеграция в единую систему.
