- •Этапы решения задачи на эвм
- •2.1.1 Постановка задачи
- •Составление проекта
- •2.1.3 Алгоритмизация
- •Программирование
- •Компиляция
- •Отладка
- •Отчет о работе
- •Модернизация
- •Тестирование
- •Оформление программы
- •Тестирование
- •Необходимость тестирования программных продуктов
- •Отладка и общие принципы тестирования
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •Типы тестов
- •Вырожденный тест
- •Тест граничных значений
- •Аварийный тест
- •Стыковочные тесты
- •Комплексные тесты
- •2.2.4 Модульное тестирование
- •2.3 Надежность
- •2.3.1 Критерии надежности
- •Анализ надежности программного обеспечения
- •Основные факторы, влияющие на надежность
2.3 Надежность
2.3.1 Критерии надежности
Определяемый ГОСТом показатель качества [8] включает наряду с фактором надёжности факторы сопровождаемости, удобства применения, эффективности, универсальности (гибкости) и корректности. Результатом оценки фактора надёжности является число от нуля до единицы, близость к единице которого показывает степень надёжности данного программного средства. На практике хорошим считается результат оценки от 0,5 до 0,9, поскольку 1 – это идеальная надежность (недостижима), ниже 0,5 –недостаточная.
Надёжность – способность программных средств в конкретных областях применения выполнять заданные функции в соответствии с программными документами в условиях возникновения отклонения в среде функционирования, вызванных сбоями технических средств, ошибками во входных данных, ошибками обслуживания и другими дестабилизирующими воздействиями.
Сам фактор надёжности включает в себя два критерия:
устойчивость функционирования – способность обеспечивать продолжение работы программы после возникновения отклонений, вызванных сбоями технических средств, ошибками во входных данных и ошибками обслуживания;
работоспособность – способность программы функционировать в заданных режимах и объёмах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.
Оценка каждого из критериев включает в себя оценки так называемых метрик:
|
|
для критерия устойчивости функционирования |
|
|
для критерия работоспособности. |
В своей оценке каждая из метрик содержит оценки так называемых оценочных элементов. Каждый оценочный элемент обозначается кодом, составленным из 5 символов (см. рис. **).
|
Рис.** Код оценочного элемента |
В зависимости от фазы проектирования фактор надёжности включает в себя различное количество показателей. На этапе анализа рассчитывается только критерий устойчивости функционирования, включающий в себя только две метрики: средства восстановления при ошибках при входе и средства восстановления при сбоях оборудования. На этапе проектирования добавляется ещё метрика реализации управления средствами восстановления. На фазах реализации, тестирования, изготовления, обслуживания (сопровождения) начинает учитываться критерий работоспособности и все его метрики.
Анализ надежности программного обеспечения
К задачам анализа надежности программного обеспечения можно отнести следующее:
формулирование основных понятий, используемых при исследовании параметров и показателей надежности программ;
выявление и исследование основных факторов, определяющих характеристики надежности сложных программных комплексов;
выбор и обоснование критериев надежности комплексов программ различного типа и назначения;
исследование характеристик искажений исходных данных от различных типов источников и их влияния на надежность функционирования комплексов программ;
исследование ошибок в программах, динамики их изменения при отладке и модернизации и их влияния на надежность;
разработка и исследование методов структурного синтеза сложных программ, повышающих их надежность;
исследование методов и средств контроля и защиты от искажений вычислительного процесса и данных в памяти путем ввода различных видов избыточности и помехозащиты, обеспечивающих автоматизацию и сокращение времени восстановления;
разработка методов прогнозирования характеристик надежности комплексов программ с учетом их сложности, структурного построения и технологии проектировани;
разработка методов создания комплексов программ с заданной надежностью функционирования и средств защиты от сбоев и отказов с учетом важности решаемых системой задач.
Результаты решения этих задач являются основой создания современной высокоэффективной технологии проектирования программного обеспечения с заданными показателями надежности. Для их решения используются результаты экспериментального исследования факторов и характеристик, разработанных и разрабатываемых комплексов программ.

Средства
восстановления при ошибках при входе