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