- •Разработка сложных программных изделий
- •Раздел 1.Структурные методологии разработки программного обеспечения Глава 1.Структурные методы в программотехнике
- •1.1.Эволюция структурных методов
- •1.2.Основные идеи и принципы структурной методологии
- •1.3.Принципы программотехники
- •1.4.Принципы информационной инженерии
- •1.5.Автоматизация проектирования
- •Глава 2.Структурные методы анализа и проектирования
- •2.1.Структурный системный анализ
- •2.2.Нисходящее проектирование
- •2.3.Структурное проектирование, управляемое потоками данных
- •2.4.Методы проектирования, управляемые структурами данных
- •Глава 3.Структурные методы программирования
- •3.1.Особенности структурных программ
- •3.2.Цели структурного программирования
- •3.3.Программирование с использованием пошаговой детализации
- •3.4.Нисходящее и восходящее программирование
- •Глава 4.Модульное программирование
- •4.1.Основные понятия и определения
- •4.2.Программные модули и схема модуляризации
- •4.3.Оценка качества модульной программы
- •Глава 5.Модели разработки программных изделий
- •5.1.Модель жизненного цикла программного изделия
- •5.2.Модель "возрастающей выдачи"
- •5.3.Модель с использованием прототипа
- •5.4.Спиральная модель
- •Раздел 2.Фазы жизненного цикла программного изделия Глава 6.Определение требований пользователя и требований к программному изделию
- •6.1.Требования пользователя
- •6.2. Требования к программному изделию
- •6.3. Разработка логической модели программного изделия
- •6.4. Классификация требований к программному изделию
- •6.5. Атрибуты требований к программному изделию
- •6.6. Документ Требования к программному изделию
- •6.7 Техническое задание на разработку программного изделия
- •Глава 7.Архитектурное проектирование программного изделия
- •7.1.Общее содержание работ фазы
- •7.2.Виды деятельности
- •7.3.Критерии качества архитектурного проекта
- •Глава 8.Детальное проектирование и изготовление программного изделия
- •8.1.Основные виды деятельности
- •8.2.Кодирование модулей
- •8.3.Тестирование программного изделия
- •8.4.Документирование работ по проектированию программного изделия
- •Глава 9.Отладка программ
- •9.1.Трудности отладки
- •9.2.Средства и методы отладки
- •9.3.Категории ошибок в программном обеспечении
- •9.4.Рекомендации по отладке
- •Глава 10.Эксплуатация и сопровождение программного изделия
- •10.1.Передача программного изделия в эксплуатацию
- •10.2.План испытаний
- •10.3.Работы по эксплуатации и сопровождению программного изделия
- •10.4.Задачи службы сопровождения программного изделия
- •Раздел 3.Управление разработкой программного изделия Глава 11.Управление жизненным циклом программного изделия
- •11.1.Виды деятельности, связанные с управлением жизненным циклом программного изделия
- •11.2.Измерения в программотехнике
- •11.3.Управление проектированием программного изделия
- •11.4.Методы получения оценок для проекта программного изделия
- •11.4.1. Методы функциональной декомпозиции
- •11.4.2. Эмпирические оценочные модели
- •11.5.Управление рисками
- •11.6.Планирование разработки программного изделия
- •Глава 12.Управление качеством программного изделия
- •12.1.Качество программного изделия
- •12.2.Обеспечение качества программного изделия
- •12.3.Измерение качества программного изделия
- •12.4.Управление конфигурацией программного изделия
- •Литература
12.2.Обеспечение качества программного изделия
Проблема обеспечения качества программных изделий в последние годы приобрела особую значимость в связи с тем, что программное обеспечение приобрело статус коммерческого продукта. Показатели качества теперь стали включать в контракты на разработку программных изделий различного назначения. Обеспечение качества программного обеспечения — это планируемая систематическая совокупность действий, требующихся для создания качественной продукции, охватывающая разнообразные задачи, решение которых включает следующие виды деятельности:
1. Применение специальных методов и средств, позволяющих аналитику достичь высококачественных спецификаций, а проектировщику создать высококачественный проект.
2. Проведение формальных технических обзоров, которые служат основным инструментом для оценки качества выполненных работ.
3. Тестирование программного изделия, объединяющее стратегию проведения тестовых испытаний с методами проектирования тестовых наборов данных, позволяющих эффективно обнаруживать ошибки в программном изделии. При этом следует иметь в виду, что тестирование не позволяет одинаково эффективно обнаруживать все типы ошибок.
4. Принудительное внедрение стандартов и формальных процедур, определяющих разработку программного изделия, и контроль за их применением.
5. Контроль всех изменений, вносимых в программный продукт, являющийся объектом конфигурационного управления. Каждое вносимое изменение является потенциальным источником ошибок и побочных эффектов; контроль за изменениями необходим как во время разработки, так и в процессе сопровождения.
6. Измерения характеристик качества, необходимые для постоянного контроля уровня качества, а также для оценки влияния методологических и процедурных изменений на улучшение качества.
7. Регистрация и документирование всех процедур, связанных с обеспечением качества изделий, предназначены для последующего использования и длительного хранения.
Формальные технические обзоры — важнейший вид деятельности по обеспечению качества программного изделия. Основные цели этих обзоров:
• обнаружение ошибок в функциях, логике или способах реализации программного изделия;
• подтверждение того, что программное изделие отвечает поставленным требованиям;
• обеспечение того, что программное изделие представлено в соответствии с установленными стандартами;
• установление единообразия разработки отдельных частей изделия;
• упрощение процесса управления разработкой программного изделия.
Формальные обзоры служат основой для знакомства с программным изделием широкого круга специалистов, средством для изучения разных подходов к анализу, проектированию и реализации изделия. Формальные обзоры должны проводиться во время каждого шага разработки изделия, и в его проведении, как правило, принимают участие несколько человек. Для каждого обзора предварительно составляется список вопросов, подлежащих обсуждению.
Для проверки программного изделия могут использоваться в общем случае три вида обзоров:
• технический обзор;
• сквозной просмотр;
• внимательное изучение представленных материалов. Все обзоры формальны, так как имеют четкие цели и строго определенные процедуры; все предназначены для идентификации дефектов программного обеспечения и отклонений от установленных спецификаций, планов и стандартов.
