
- •Кризис программирования и способ выхода из него
- •Модель cmm-sei
- •Управление качеством разработки программного продукта с помощью системы стандартов iso 9001
- •Примерная структура процесса и организации, занимающейся разработкой программных продуктов
- •Контрольные вопросы
- •Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта
- •Оценка возможных рисков при выполнении программного проекта
- •6.5. Составление временного графика выполнения программного проекта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Конструирование прототипа
- •Составление спецификаций по требованиям заказчика
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Эволюция разработки программного продукта
- •Структурное программирование
- •Объектно-ориентированное проектирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Тестирование
- •Разработка справочной системы программного продукта. Создание документации пользователя
- •Создание версии и инсталляции программного продукта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Виды тестирования
- •Программные ошибки
- •Тестирование документации
- •Разработка и выполнение тестов
- •Требования к хорошему тесту
- •Классы эквивалентности и граничные условия
- •Тестирование переходов между состояниями
- •Условия гонок и другие временные зависимости
- •Нагрузочные испытания
- •Прогнозирование ошибок
- •Тестирование функциональной эквивалентности
- •Регрессионное тестирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •1. Подготовительная работа, предусматривающая:
- •Контрольные вопросы
- •Классификация поставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •Контрольные вопросы
- •Основные понятия о надежности программных продуктов и методах ее обеспечения
- •Методы обеспечения надежности на различных этапах жизненного цикла разработки программного продукта
- •Прогнозирование ошибок
- •Шаблон для учета итоговых сведений об ошибках
- •Предотвращение ошибок
- •Шаблон для учета действий по предотвращению ошибок на этапах составления требований, проектирования и разработки
- •Устранение ошибок
- •Обеспечение отказоустойчивости
- •Инструменты, обеспечивающие надежность программных продуктов. План обеспечения надежности
- •Контрольные вопросы
Шаблон для учета итоговых сведений об ошибках
Несмотря на то что все требования должны быть измеримыми и обеспечивать возможность контроля, требованиям, связанным с обеспечением надежности, присваиваются определенные номера. Ниже приведены соответствующие номерам примеры утверждений, касающихся надежности.
1. Надежность системы управления спутниками оценивается как 0,999 от 95 % доверия на период, равный 15 годам с момента разделения полезной нагрузки.
2. Для авиационной системы характерно в среднем 500 летных часов между критическими ошибками.
3. Встроенная система самоконтроля определит, что ракета неисправна, с вероятностью 60 %.
4. Встроенная система самоконтроля посчитает исправную ракету за неисправную с вероятностью менее 1 %.
5. Среднее время исправления функционирующего ПП составляет 30 мин или меньше.
6. Максимальное время завершения работы встроенной системы самоконтроля составляет 20 с.
7. Среднее время загрузки ПП в полном объеме и выполнения полного внутреннего самоконтроля составляет 10 мин.
8. Среднее время обновления одной интерактивной страницы документации составляет 30 мин.
Проведение альтернативных учебных курсов — четвертое действие при прогнозировании ошибок. С помощью клиентского функционального профиля и информации о классификации ошибок, почерпнутых из предыдущих систем, анализируются особые требования для определения того, поддерживают ли цели исторические данные. Производится анализ курсов для определения вероятности достижения целей надежности, сформулированных в требованиях. При отсутствии исторических данных, связанных с аналогичными продуктами и системами, вероятность достижения искусственно установленного уровня надежности чрезвычайно низкая. На этой стадии руководителю проекта необходимо разработать экстенсивные системные модели, применяемые для определения возможных уровней надежности нового ПП. Такие инструменты, как формальные методы, применимы к требованиям надежности для математических доказательств, связанных с наиболее критическими подсистемами. Этот дорогостоящий процесс используется исключительно в случаях отсутствия источника исторических данных о надежности.
Определение целей, связанных с обеспечением надежности, — пятое действие при прогнозировании ошибок, базирующееся на результатах проведения альтернативных учебных курсов. Окончательный набор целей обеспечения надежности передается процессу определения требований, позволяя изменить уже существующие. Благодаря данному действию собранная информация и результаты проведенного анализа передаются для спецификации требований. Цели и требования, касающиеся надежности, будут использованы для подтверждения надежности всей системы и получения одобрения пользователя.
Предотвращение ошибок
Предотвращение ошибок включает в себя интерактивное уточнение системных требований и разработку технических характеристик ПП наравне с моделированием, проверяемыми методиками проекта и оптимальными способами кодирования. Этот метод обеспечения надежности применяется на этапах составления требований, проектирования и разработки ПП. Предотвращение ошибок является активной частью процесса проектирования. Первая стадия предотвращения ошибок заключается в исследовании системы в целом и требований к ПП. Первоначальные шаги необходимы для анализа требований и целей, касающихся надежности ПП, независимо от применяемых подходов, призванных помочь в достижении его надежности.
Второй основной стадией предотвращения ошибок являются проектирование и разработка проекта. При этом функции по обеспечению надежности распределяются между всеми компонентами ПП. Определяется процесс проектирования, в результате которого создаются компоненты. Методики улучшения степени параллельности и увеличения связности модулей обеспечивают повышение надежности компонентов. Целесообразно применять наилучшие наработки, относящиеся к проектированию, причем независимо от того, являются они структурированными или объектно-ориентированными. Благодаря этому обеспечивается возможность разработки ПП, обладающих высокой степенью надежности.
На ранних этапах жизненного цикла разработки ПП целью обеспечения надежности является предотвращение возможных ошибок. В табл. 13.4 (шаблон) должны быть перечислены все действия, предпринимаемые в организации для поддержания работы по предотвращению ошибок.
Цели обеспечения надежности, предварительно определенные и задокументированные, должны быть установлены для всех модулей во время этапа проектирования. Руководителю проекта следует сосредоточить ресурсы на основе функционального профиля, который должен использоваться и проходить аттестацию в ходе этапа проектирования.
Таблица 13.4