- •Лекции по «Надежности по»
- •Виды ошибок программного обеспечения
- •2.2.2. Методы испытаний на надежность технических средств
- •2.2.3. Статистическое моделирование надежности
- •2.3. Методыобеспечения надежности
- •2.3.1. Задачи обеспечения надежности
- •3.1.2. Надежность программного обеспечения
- •3.3. Модели и метрики оценки качества программного обеспечения
- •Глава 4
- •4 1 Проблемы оценки качества пользовательского интерфейса
- •4.2 Стандарты в области качества пользовательского интерфейс
- •4.3. Показатели и критерии качества пользовательского интерфейса
- •4.4. Методы оценки качества пользовательского интерфейса. Методы оценки качества пи подразделяются на четыре основные группы:
- •4.4.1. Аналитические методы
- •4.4.2. Экспериментальные методы, или юзабилити-тестирование
- •4.4.3. Анкетирование
- •4.4.3. Анкетирование
- •4.5. Обеспечение качества пользовательского интерфейса
- •4.5.1. Процедура проектирования интерфейса
- •4.5.2. Функциональное проектирование интерфейса
- •4.5.3. Визуальное проектирование интерфейса
- •4.5.4. Проектирование взаимодействия
- •4.5.5. Современные тенденции в проектировании интерфейсов
2.3. Методыобеспечения надежности
2.3.1. Задачи обеспечения надежности
Особенности ИС, влияющие на обеспечение надежности. Обеспечение необходимого уровня качества и надежности ИС требует решения специального комплекса задач на этапах разработки системы, изготовления комплекса ТС, профессионального отбора, подготовки персонала и эксплуатации системы. При решении задач, связанных с обеспечением заданного уровня надежности ИС, необходимо учитывать следующие особенности:
1) каждая ИС является многофункциональной; функции имеют различную значимость и соответственно характеризуются разным уровнем требований к надежности их выполнения;
2) во многих ИС возможно возникновение исключительных (аварийных), критических ситуаций, представляющих собой сочетание отказов и ошибок функционирования системы и способных привести к значительным нарушениям функционирования объекта управления или авариям;
3) в функционировании ИС принимают участие различные виды ее обеспечения и персонал, которые также влияют на ее надежность;
4) в состав каждой ИС входит большое число разнородных элементов: технических, программных, информационных, эргатических (человекомашинных) и других; при этом выполнении одной функции обычно участвуют несколько различных элементов, а один и тот же элемент может участвовать в выполнении нескольких функций.
Факторы, влияющие на уровень надежности системы. Уровень надежности ИС зависит от надежности и других свойств комплекса ТС, ПО и персонала системы. Основным факторами, влияющими на уровень надежности системы, являются:
Состав и уровень надежности комплекса ТС, взаимосвязи между элементами комплекса;
Состав и уровень надежности используемого ПО, его содержание (возможности) и взаимосвязи;
Уровень квалификации персонала, организация его трудовой деятельности и качество (безошибочность, быстродействие, ритмичность) выполнения единиц деятельности;
3.1.2. Надежность программного обеспечения
Под ошибкой(отказом) программы понимают полное или частичное невыполнение программой тех функций, которые были заданы в техническом задании на ее разработку, или вытекают непосредственно из инструкции пользователю. Программа при фиксированных исходных данных и абсолютно надежном комплексе технических средств должна давать однозначный результат при многократных выполнениях , хотя из-за комбинативного характера исходных данных, данных множества переходов, зависящих от промежуточных результатов. Создается множество путей выполнения программы.
Ошибки в ПОдолжны выявляться на этапе разработки в процессе тестирования. Однако возможности тестирования весьма ограничены, в том числе сроками разработки ПО и имеющимися ресурсами.
Пример. Тестирование и его ограниченность. Пусть входные данные для некоего ПО включают в себя 20 переменных, каждая из которых может принимать 15 различных значений. В этом случае число возможных комбинаций исходных данных – 1520, что составляет примерно 3,3*1023. Если предположить, что за 1 с можно протестировать 1 млн комбинаций входных данных т.е тестирование программы на одну комбинацию занимает 1мкс), то за год можно провести 3* 10 13 проверок. Тогда на проверку всех 3,3*1023 входных комбинаций потребуется 1,1* 1010лет(время существования Солнечной системы – 8 * 109 лет).
Следовательно, после нескольких лет эксплуатации ПО могут встречаться непроверенные варианты входных данных, в которых могут быть не выявленные ошибки.
Надежность ПО – свойство составляющих его программ выполнять заданные функции в заданных условиях. Существуют две основные причины возникновения отказов ПО:
Разработчики ПО нарушили технические требования к программам(нарушены сертификации);
Спецификации – описание того, что должна делать программа, без указания, как она должна это делать, является неточными или неполными.
Отличия надежности ПО от надежности технических средств:
Элементы ПО не стареют от износа;
Способов контроля ПО значительно больше, чем способов контроля ТС;
В ПО гораздо больше объектов для контроля, чем в аппаратуре;
В ПО гораздо проще вносить изменения, чем в аппаратуру, но это трудно делать корректно и безошибочно.
Опыт разработки ПО показывает, что выявленные ошибки и ее исправление связаны с определенными затратами, которые могут выражаться в стоимостном отношении и образуют своеобразную цену ошибки. По мере перехода к более поздним этапам разработки цена ошибки возрастает; при этом каждая компания сама решает, сколько долларов стоит одна единица отсчета.
Изменение стоимости ошибок в ПП на разных стадиях обнаружения
Графическая зависимость стоимости исправления ошибок в ПП от стадии разработки ПО приведена на рис 3.1. Ошибка, которую не удалось обнаружить при разработке ПО для современных сложных ИС, проявившись в процессе эксплуатации, может иметь значительные, а в некоторых ситуациях и катастрофические последствия.
Рассмотрим основные показатели надежности программного обеспечения. Рассмотрение ПО как ПП приводит к понятию жизненного цикла (ЖЦ) ПО, в котором можно выделить шесть основных этапов:
Анализ требований к системе;
Определение спецификаций;
Проектирование алгоритмов;
Собственно программирование (кодирование);
Тестирование (автономное и комплекстное);
Эксплуатация и сопровождение
На всех этапах ЖЦ ПО могут возникать ошибки, снижающие надежность ПО.
Основными показателями надежности ПО являются:
1) программная ошибка, которая идентифицируется пользователем, если:
При программировании появляется ошибочный операнд или операция;
Возникает несоответствие выполняемых функций требованиям спецификации;
Имеет место ошибка в спецификации, требующая исправления ПО;
Возникает ошибка при вычислениях;
Нарушается взаимодействие пользователя с ПО.
Приведенный перечень является открытым, т.е. разработчики ПО по мере накопления опыта, могут его пополнять;
2) число оставшихся(переданных) ошибок – потенциальное число ошибок в ПО, которое может быть обнаружено на последующих этапах жизненного цикла после исправлений, внесенных на данном этапе В;
3) интенсивность обнаружения ошибок в ПО. Пусть R(t) – вероятность того, что ни одна ошибка не появится на интервале времени от 0 до t, а Q(t) –вероятность возникновения хотя бы одной ошибки. Вводится функция риска как условная плотность вероятности ошибки ПО в некоторой момент времени t, при условии, что до этого момента ошибка не появилась:
Которая является интенсивностью обнаружения ошибок в ПО (число ошибок в единицу времени);
4) наработка ПО до ошибки (отказа):
5) прогон программы – совокупность действий включающая в себя:
Ввод возможных комбинаций Еiвходных данных
Выполнение программы, которая заканчивается получением результата или ошибкой.
Для некоторых наборов входных данных Еiмерой правильности выполнения программы может являться отклонение получаемого результата от его заданного значения , т.е. выражение .
Если выполняется соотношение
То значение результата находится в допустимых пределах; в противном случае выполнение программы не обеспечивает приемлемого результата, т.е. условие (3.2.) не выполняется, а выполняется соотношение
Тогда статистическая оценка вероятности ошибки при реализации программы за W независимых прогонов составляет:
Обозначим через допустимую относительную погрешность оценки при определенной - заданной вероятности ошибки. Необходимое число прогонов пропорционально величине