
- •Кризис программирования и способ выхода из него
- •Модель cmm-sei
- •Управление качеством разработки программного продукта с помощью системы стандартов iso 9001
- •Примерная структура процесса и организации, занимающейся разработкой программных продуктов
- •Контрольные вопросы
- •Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта
- •Оценка возможных рисков при выполнении программного проекта
- •6.5. Составление временного графика выполнения программного проекта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Конструирование прототипа
- •Составление спецификаций по требованиям заказчика
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Эволюция разработки программного продукта
- •Структурное программирование
- •Объектно-ориентированное проектирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Тестирование
- •Разработка справочной системы программного продукта. Создание документации пользователя
- •Создание версии и инсталляции программного продукта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Виды тестирования
- •Программные ошибки
- •Тестирование документации
- •Разработка и выполнение тестов
- •Требования к хорошему тесту
- •Классы эквивалентности и граничные условия
- •Тестирование переходов между состояниями
- •Условия гонок и другие временные зависимости
- •Нагрузочные испытания
- •Прогнозирование ошибок
- •Тестирование функциональной эквивалентности
- •Регрессионное тестирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •1. Подготовительная работа, предусматривающая:
- •Контрольные вопросы
- •Классификация поставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •Контрольные вопросы
- •Основные понятия о надежности программных продуктов и методах ее обеспечения
- •Методы обеспечения надежности на различных этапах жизненного цикла разработки программного продукта
- •Прогнозирование ошибок
- •Шаблон для учета итоговых сведений об ошибках
- •Предотвращение ошибок
- •Шаблон для учета действий по предотвращению ошибок на этапах составления требований, проектирования и разработки
- •Устранение ошибок
- •Обеспечение отказоустойчивости
- •Инструменты, обеспечивающие надежность программных продуктов. План обеспечения надежности
- •Контрольные вопросы
Шаблон для учета действий по предотвращению ошибок на этапах составления требований, проектирования и разработки
Единственный способ активного предотвращения ошибок заключается в управлении вводом и распространением ошибок.
Экспертные оценки и инспекционные проверки — традиционный способ активного сокращения ошибок, появляющихся на одном этапе, и предотвращения их перехода на другой этап. Еще одно важное действие — измерение надежности приобретенного ПП. При расширенном использовании инструментальных средств, связанных с сетью Internet, и при более доступных совместно используемых библиотеках программное обеспечение неизвестного происхождения (SOUP — Software Of Uncertain Pedigree) становится частью продукта. Команда разработчиков проекта нуждается в процессе верификации, аттестации, принятия и оценки надежности SOUP-компонентов. Это должен быть формальный процесс с тем же уровнем отслеживания и .конфигурации, что и в случае с компонентами ПП, созданным!? «с нуля». Повторное использование программ обеспечивает огромное повышение продуктивности разработчика. Однако при этом могут проявляться скрытые проблемы и дефекты.
Устранение ошибок
Старая поговорка о том, что день, потраченный на предотвращение, стоит года, потраченного на исправление последствий, остается весьма актуальной. Устранение возникающей в системе ошибки обходится в 10—100 раз дороже, чем ее предотвращение на начальном этапе.
Процесс устранения ошибок начинается на этапе проектирования ПП и распространяется на этапы разработки и тестирования. После завершения работы по функциональному профилированию осуществляется следующий шаг — тестирование степени увеличения надежности ПП, называемое также испытанием под нагрузкой. Цель такого тестирования — определить совокупность нагрузок, при которых система выходит из строя. Это формальный процесс, при котором отслеживание хода выполнения тестирования имеет определенное значение. Результаты тестов анализируются с целью их применения для повторной калибровки моделей, Применяемых для прогнозирования надежности на начальных стадиях проекта. Одной из задач руководителя проекта является поддержание постоянного совершенствования процесса разработки. Благодаря использованию данных, полученных при выполнении предыдущих проектов, в текущем проекте поддерживается способность организации к обучению и совершенствованию.
Таблица 13.5
Шаблон для учета действий по устранению ошибок на этапах проектирования, разработки и тестирования
На средних этапах жизненного цикла разработки ПП усилия по обеспечению надежности сосредоточиваются на устранении дефектов. В табл. 13.5 (шаблон) должны быть перечислены все предпринимаемые в организации действия по устранению ошибок, выполняемые на основных этапах жизненного цикла разработки.
Проектирование модуля, выполняющего необходимое тестирование, является результатом анализа тестируемых данных. Результаты тестирования дополнительной нагрузкой могут быть неадекватны, вследствие чего сложно подтверждать реализацию всех целей обеспечения надежности. Некоторые модули, возможно, должны будут пройти повторное тестирование методом «черного» или «белого» ящика. При этом должно быть расширено и увеличено в объеме регрессионное тестирование. К моменту завершения устранения ошибок руководитель проекта должен быть удовлетворен результатами, свидетельствующими о достижении целей обеспечения надежности.