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