39 количественный подход к решению проблемы повторной или многоверсионной разработки. В заключении данного раздела рассмотрим два усовершенствования идеальной каскадной модели, важных для инженерного программирования мультиверсионных компонент ПО, и их влияние на сроки и распределение затрат по фазам разработки этого ПО. Этими усовершенствованиями являются пошаговая разработка и, так называемая, предварительная подготовка. Пошаговая разработка является усовершенствованием метода повторной разработки с созданием прототипа и поуровневой разработкой сверху вниз. Этот метод предполагает пошаговое увеличение функциональных возможностей ПО в процессе разработки. В качестве усовершенствованной каскадной модели пошаговая разработка успешно применялась при создании очень больших программных изделий, таких как система тактической обороны стоимостью в 100 млн. долл, и небольших программных изделий, таких как версия COTS сопровождения ПО объемом 3 К исходных операторов. Можно выделить три последовательных шага разработки COTS сопровождения. На шаге 1 предусматривались только самые необходимые средства для использования модели и накопления опыта работы с ней: массовый ввод в жестком порядке, основные алгоритмы вычисления оценок стоимости и упрощенная распечатка результатов. На шаге 2 добавлены такие важные для функционирования средства, как возможность запоминания и восстановления предыдущих прогонов, а также адресный ввод для избирательного изменения данных модели На шаге 3 были добавлены различные сервисные средства: управляемый запросами ввод, дополнительные вычислительные алгоритмы расчетов сроков и подразделения работ. Главными преимуществами пошаговой разработки перед абсолютно повторной разработкой и поуровневой разработкой сверху вниз являются следующие: использование последовательных расширений программы обеспечивает гораздо менее дорогой способ учета в усовершенствованном изделии опыта пользователей, чем при повторной разработке (возможность мультиверсионного сопровождения); расширение функциональных возможностей намного упрощает цроверку и полезнее, чем промежуточные изделия при поуровневой разработке. Значение пошаговой разработки заключается главным образом в изменении распределения затрат труда на проект. Для предварительной подготовки методика принимает две основные формы: разработка предварительной документации и создание инструментальных программных средств. Разработка предварительной документации производится для решения двух главных задач. |
РЕАЛ [207], когда возможна быстрая разработка прототипа. Указанные зависимости позволяют сформулировать более строгий количественный подход к решению проблемы повторной или многоверсионной разработки. В заключении данного раздела рассмотрим два усовершенствования идеальной каскадной модели, важных для инженерного программирования мультиверсионных компонент по, и их влияние на сроки и распределение затрат ло фазам разработки этого ПО. Этими усовершенствованиями являются пошаговая разработка и, так называемая, предварительная подготовка [22]. Пошаговая разработка является усовершенствованием метода повторной разработки с созданием прототипа и поуровневой разработкой сверху вниз (см. [45]). Этот метод предполагает пошаговое увеличение функциональных возможностей ПО в процессе разработки. В качестве усовершенствованной каскадной модели пошаговая разработка успешно применялась при создании очень больших программных изделий, таких как система тактической обороны стоимостью в 100 млн. долл. [37] и небольших программных изделий, таких как версия COTS сопровождения ПО объемом 3 К исходных операторов [22]. Можно выделить три последовательных шага разработки COTS сопровождения. На шаге 1 предусматривались только самые необходимые средства для использования модели и накопления опыта работы с ней: массовый ввод в жестком порядке, основные алгоритмы вычисления оценок стоимости и упрощенная распечатка результатов. На шаге 2 добавлены такие важные для функционирования средства, как возможность запоминания и восстановления предыдущих прогонов, а также адресный ввод для избирательного изменения данных модели. На шаге 3 были добавлены различные сервисные средства: управляемый запросами ввод, дополнительные вычислительные алгоритмы расчетов сроков и подразделения работ. Главными преимуществами пошаговой разработки перед абсолютно повторной разработкой и поуровневой разработкой сверху вниз являются следующие: использование последовательных расширений программы обеспечивает гораздо менее дорогой способ учета в усовершенствованном изделии опыта пользователей, чем при повторной разработке (возможность мультиверсионного сопровождения); 30 расширение функциональных возможностей намного упрощает проверку и полезнее, чем промежуточные изделия при поуровневой разработке. Значение пошаговой разработки заключается главным образом в изменении распределения затрат труда на проект. В [38-40] приводится вариант каскадной модели для пошаговой разработки (система ПО для обработки данных контрольно-измерительной радиолокационной станции КИС). Для предварительной подготовки методика принимает две основные формы: разработка предварительной документации и создание инструментальных программных средств. Разработка предварительной документации производится для решения двух главных задач. 1. Подробно определить, цели и планы предстоящих работ над ПО (планы разработки, отладки, переноса программ) в рамках целеориентированного подхода. 2. Создать первоначальный вариант документации для пользователей (например, подготовить пользователю для рассмотрения первую редакцию руководства к окончанию фазы проектирования версии программного изделия). Это приносит большую пользу заказчикам и дает возможность им увидеть со своей точки зрения влияние системы на их работу и договориться о необходимых изменениях до существенного удорожания этих изменений. Кроме того, выпуск предварительной документации надежно гарантирует создание документации для пользователей одновременно с программами системы. Создание инструментальных программных средств в качестве дополнительных изделий, применяемых для возможно большего улучшения конечного изделия и повышения эффективности основной программной разработки, а также для верификации и подтверждения, представляет собой еще одно направление. Эти средства могут содержать фиктивные компоненты ПО, или заглушки, небольшие файлы или другие имитируемые части будущего операционного окружения. Кроме того, в состав инструментальных средств могут входить вспомогательные программы (генераторы тестовых данных, постпроцессоры, генераторы перекрестных ссылок, средства переноса, средства контроля стандартов и требований, а также процессоры языков разработки). 31 |