- •Жизненный цикл по
- •Основные
- •Организационные
- •Модели жизненного цикла
- •Классические процессы жизненного цикла
- •Проектирование
- •Стадии разработки, регламентированные гост 19.102 «Стадии разработки»
- •4. Управление идеей
- •5. Формирование требований к программному продукту.
- •4. Определение требований к пс.
- •Проектирование (разработка архитектуры пс)
- •Основные классы архитектур.
- •Методы разработки структуры программы
- •I. Метод восходящей разработки:
- •II. Метод нисходящей разработки:
- •III. Конструктивный подход
- •IV. Архитектурный подход
- •Объектный подход.
- •Компонентный подход и развитие case-технологий.
- •Методологии программирования
- •Методология императивного программирования.
- •Методология функционального программирования.
- •Методология структурного императивного программирования.
- •Каскадный подход с перекрывающимися процессами.
- •Генетические технологические подходы.
- •Конкретизирующее программирование.
- •Подходы на основе формальных преобразований.
- •Подходы быстрой разработки (прототипирование).
- •Подходы исследовательского программирования.
- •Языки программирования
- •Основные характеристики языков программирования
- •Классификация языков программирования (19.09.2006)
- •Инструментальные средства
- •12.Способы описания алгоритмов
- •13. Стиль программирования
- •14.Архитектурная платформа
- •Стековая
- •Структура ос
- •16.Тестирование и отладка.
- •Отладка.
- •Виды ошибок.
- •Методы и виды тестирования.
- •Комплексное тестирование.
- •17.Стандартные технологические процессы
- •18. Документирование
- •19. Спецификация качества пс
- •24. Коллективная разработка
- •2.2. Группы разработки
Модели жизненного цикла
На основе модели жизненного цикла определяются технологические подходы к разработке ПО, планируются необходимые виды работ и этапы их выполнения.
ГОСТ Р ИСО|МЭК 12207-99.
Каскадная;
Эволюционная;
Формирующая;
Модель заранее планируемого улучшения продукта;
Спиральная модель;
Каскадная – предполагает, что переход на следующую стадию осуществляется только после того, как полностью завершены проектные операции предыдущих стадий и получены все исходные данные для следующей стадии.
Анализ ->проектирование->программирование->проектирование ->сопровождение
Недостаток модели – она применима только к системам, для которых возможно в самом начале точно и полно сформулировать все требования. Модификация программы – проблема.
Спиральная модель базируется на каскадной модели и макетировании (прототипировании – для уточнения требований задачи), к которой добавляется анализ риска. Модель включает 4 действия, представленными квадрантами спирали, которые на первом витке выполняется в соответствии с начальными требованиями, а на последующих – на основе требований заказчика, которые возникают при оценивании. Действия следующие:
Планирование – определение целей, вариантов, ограничений.
Анализ риска – анализ вариантов и распознавание риска.
Конструирование – разработка ПП очередного уровня (может быть реализована классической моделью).
Оценивание – оценка заказчиком текущих результатов проектирования.
Основная идея – в конце каждого витка имеется работоспособный продукт (версия прототипа). Прототип – действующий ПП, реализующий отдельные функции и внешний интерфейс разрабатываемого ПО. Особенность спиральной модели – разработка итерациями, причем каждый следующий итерационный прототип будет обладать большей функциональностью.
Достоинства – сокращение времени до появления первых версий ПП, что обеспечивает заинтересованность большего количества пользователей и продвижение ПП на рынке, уточнение спецификации за счет практики использования продукта, уточнение вероятности морального устаревания ПП за время разработки.
Недостаток – сложность определения моментов перехода на следующую стадию. Решается за счет ограничения сроков на анализ экспертных оценок.
Инкрементная модель - в отличие от спиральной не содержит анализа риска.
Компонентно-ориентированная модель – в ней конкретизируется содержание квадранта конструирования, чтобы показать необходимость использования уже существующих программных компонентов в новой разработке. В программном проекте, исходя из требований заказчика, выявляются кандидаты в компоненты, и проверяется их наличие в библиотеке. В случае отсутствия компоненты она создается и включается в библиотеку для последующего использования.
Классические процессы жизненного цикла
Возникновение и исследование идеи
Планирование
Формирование требований и анализ задачи
Проектирование
Программирование
Тестирование и отладка
Ввод в действие
Эксплуатация и сопровождение
Завершение эксплуатации
График
Стадия – это часть действий по созданию ПО, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта с заданными требованиями.
Иногда стадии объединяют в более крупные временные рамки – фазы.
Существует несколько подходов к образованию фаз. Один из них:
Или:
Начальная фаза -> середина -> кризис -> окончание.