Реферат: Жизненный цикл программного обеспечения
Основные недостатки:
- Большие сроки от анализа до завершения;
- Требования к ПО «заморожены» в виде ТЗ до конца разработки.
1.3.2 Экономическое обоснование каскадной модели
Не углубляясь в экономический анализ, которому Б.У. Боэм уделяет большое внимание в книге «Инженерное проектирование программного обеспечения», скажем лишь, что экономическое обоснование каскадной модели, ориентированной на последовательное достижение целей, базируется на двух главных предпосылках:
Для получения качественного программного изделия (т.е. такого, которое в полной мере удовлетворяет всем целям требуемого программного изделия) необходимо в любом случае осуществить все подцели на каждом этапе.
Любое другое упорядочение подцелей приводит к созданию менее качественного программного изделия.
1.3.3 Усовершенствование каскадной модели
Рассмотрим одно из усовершенствований идеальной каскадной модели – пошаговую разработку.
Пошаговая разработка является усовершенствованием метода повторной разработки с созданием прототипа и поуровневой разработкой сверху – вниз. Этот метод предполагает пошаговое увеличение функциональных возможностей ПО в процессе разработки.
В качестве усовершенствованной каскадной модели пошаговая разработка успешно применялась при создании как очень больших, так и небольших программных изделий.
Главными преимуществами пошаговой разработки перед абсолютно повторной разработкой и поуровневой разработкой сверху – вниз являются следующие:
использование последовательных расширений программы обеспечивает гораздо менее дорогой способ учета в усовершенствованном изделии опыта пользователей, чем при повторной разработке;
расширение функциональных возможностей намного упрощает проверку и полезнее, чем промежуточные изделия при поуровневой разработке.
Значение пошаговой разработки заключается главным образом в изменении распределения затрат труда на проект. Вариант каскадной модели при пошаговой разработке показан на рисунке 3.
1.3.4 Определение фаз жизненного цикла
Ниже будут даны формулировки конечных целей каждой фазы для перехода к следующей фазе. Для пошаговой разработки приводимые формулировки относятся к границам фаз каждого шага расширения.
Начать фазу планирования и анализа требований. (Завершение концептуального обзора ЖЦПО.)
Получение одобренной и подтвержденной архитектуры системы с включением основных соглашений о распределении функций между аппаратурой и программами. Получение одобренного и подтвержденного общего представления об функционировании ПО с включением основных соглашений о распределении функций между человеком и системой.
Формирование общего плана ЖЦПО с определением основных этапов, ресурсов, обязанностей, сроков и главных работ.
Завершить фазу планирования и анализа требований. Начать фазу проектирования изделия. (Завершение обзора требований к ПО).
Формирование детального плана разработки: детальных показателей завершения этапов разработки, планов распределения ресурсов, схем организационной структуры, обязанностей, сроков, работ, методов и изделий.
Формирование детального плана использования: пунктов плана разработки, содержание которых ориентировано на обучение, перенос программ, внедрение, эксплуатацию и поддержание.
Формирование детального плана отладки изделия – план управления конфигурацией технического обеспечения, план контроля качества, общий план верификации и подтверждения.
Одобренная и подтвержденная спецификация требований к ПО: функциональные, технические и интерфейсные спецификации, для которых подтверждены их полнота, непротиворечивость, проверяемость и осуществимость.
Одобренный (формально или неформально) договор на разработку, основанный на приведенных выше пунктах.
Закончить фазу проектирования изделия. Начать фазу детального проектирования. (Завершение анализа результатов проектирования изделия.)
Разработка верифицированной спецификации проекта программного изделия:
формирование иерархии программных компонентов, межблочных интерфейсов по данным и управлению;
формирование физической и логической структур данных до уровня отдельных полей;
разработка плана распределения вычислительных ресурсов (времени, памяти, точности);