- •Кризис программирования и способ выхода из него
- •Модель cmm-sei
- •Управление качеством разработки программного продукта с помощью системы стандартов iso 9001
- •Примерная структура процесса и организации, занимающейся разработкой программных продуктов
- •Контрольные вопросы
- •Оценка технических, нетехнических и финансовых ресурсов для выполнения программного проекта
- •Оценка возможных рисков при выполнении программного проекта
- •6.5. Составление временного графика выполнения программного проекта
- •Контрольные вопросы
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Конструирование прототипа
- •Составление спецификаций по требованиям заказчика
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Эволюция разработки программного продукта
- •Структурное программирование
- •Объектно-ориентированное проектирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Тестирование
- •Разработка справочной системы программного продукта. Создание документации пользователя
- •Создание версии и инсталляции программного продукта
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •Виды тестирования
- •Программные ошибки
- •Тестирование документации
- •Разработка и выполнение тестов
- •Требования к хорошему тесту
- •Классы эквивалентности и граничные условия
- •Тестирование переходов между состояниями
- •Условия гонок и другие временные зависимости
- •Нагрузочные испытания
- •Прогнозирование ошибок
- •Тестирование функциональной эквивалентности
- •Регрессионное тестирование
- •Собираемые метрики, используемые методы, стандарты и шаблоны
- •Контрольные вопросы
- •1. Подготовительная работа, предусматривающая:
- •Контрольные вопросы
- •Классификация поставляемых программных продуктов
- •Действия, выполняемые при поставке программного продукта
- •Контрольные вопросы
- •Основные понятия о надежности программных продуктов и методах ее обеспечения
- •Методы обеспечения надежности на различных этапах жизненного цикла разработки программного продукта
- •Прогнозирование ошибок
- •Шаблон для учета итоговых сведений об ошибках
- •Предотвращение ошибок
- •Шаблон для учета действий по предотвращению ошибок на этапах составления требований, проектирования и разработки
- •Устранение ошибок
- •Обеспечение отказоустойчивости
- •Инструменты, обеспечивающие надежность программных продуктов. План обеспечения надежности
- •Контрольные вопросы
Обеспечение отказоустойчивости
Принципы достижения отказоустойчивости ПП в значительной степени отличаются от принципов достижения отказоустойчивости аппаратного обеспечения. В системе, построенной на основе отказоустойчивого аппаратного обеспечения, параллельно функционируют несколько наборов аппаратных средств. При этом происходит дублирование всех устройств с тем, чтобы при выходе из строя одного устройства другое сразу же могло бы продолжить работу.
Попытка реализовать отказоустойчивость ПП таким же образом, т.е. параллельным выполнением одной и той же программы различными процессорами, приводит только к тому, что вторая копия точно такой же программы отстает на доли: секунды от первой копии. Простое выполнение отдельной копии программы никак не отражается на отказоустойчивости- ПП.
Начиная со средних этапов жизненного цикла разработки ПП, усилия по обеспечению надежности фокусируются на достижении отказоустойчивости. В табл. 13.6 (шаблон) должны быть перечислены все предпринимаемые в организации действия по обеспечению отказоустойчивости, выполняемые на основных этапах жизненного цикла разработки.
Процесс обеспечения отказоустойчивости начинается на этапе разработки ПП и распространяется на этапы тестирования, эксплуатации и сопровождения. Завершение этого процесса определяется моментом устаревания ПП. До тех пор пока ПП работает в обычном режиме, отказоустойчивый подход к обеспечению надежности используется достаточно широко.
Обеспечение отказоустойчивости представляет собой логическое продолжение этапа устранения ошибок. В данном случае применяются все действия, используемые при устранении ошибок. Различие заключается в целях, преследуемых после завершения процесса разработки ПП. Потребности персонала, занятого сопровождением ПП, определяются только с учетом информации, касающейся разработки предыдущих версий ПП. Организация должна иметь доступ к базе данных об ошибках, обнаруженных после установки других ПП.
Подобная информационная структура, включающая в себя описание ошибок и действий, предпринятых для их устранения, используется для оценки необходимых трудозатрат на этапе сопровождения ПП. Используя хронологические сведения о результатах оценок ошибок, обнаруженных на этапе разработки, и зная соотношение между объемом нового продукта (в LOC) и объемами других ПП, можно выполнить быструю оценку остальных ошибок и трудозатрат, необходимых для их устранения в новой версии программы.
Чтобы обеспечить набор данных для разрабатываемых ПП, руководитель проекта должен контролировать надежность ПП в ходе эксплуатационных испытаний, учитывая цели создания ПП. Это позволяет отслеживать степень удовлетворенности заказчиков достигнутым уровнем надежности. Конечный пользователь — наилучший источник информации о надежности ПП.
Таблица 13.6
Шаблон для учета действий по обеспечению отказоустойчивости на этапах разработки, тестирования, эксплуатации и сопровождения
Руководитель проекта должен определить время предоставления заказчикам нового свойства ПП. Не стоит предоставлять заказчикам новые свойства продукта, прежде чем будут устранены все связанные с этими свойствами ошибки. Поставка ПП , с набором новых свойств и исправленными ошибками является наиболее подходящей практикой для организаций — разработчиков ПП.
Управление улучшениями продукта и процесса с одновременным измерением достигнутой надежности дополняет процесс повышения надежности на базе информации, собранной на основе практики заказчика. При этом устраняются ошибки ПП и совершенствуется непрерывный процесс разработки. Оценивание надежности является весьма дорогостоящей процедурой. Ее результаты передаются обучающей организации.
