Как было отмечено выше, по отношению к ПО произошло изменение понятий отказов и сбоев. Классификацию отказов ПС можно представить следующим образом:
· программные – из-за не выявленных ошибок в программе, которые возникают при определенном сочетании данных и команд, соответствующем спецификации;
· информационные – результаты работы искажаются из-за ошибок входных данных;
· аппаратные – возникают в результате перемежающихся отказов технических средств и/или возникновения ошибок в операционных средах (сбоев);
· эргатические – возникают из-за некорректных действий пользователей.
При определении надежности программных средств рассматривают, как правило, только программные отказы, Все отказы ПО происходят из-задефектов или ошибок в программе, так как ПО не изнашивается и не подвержено физическим отказам.
обусловленные наличием не выявленных ошибок в программе.
Сбой (неполадка) – нарушение нормального функционирования отдельной программы, устройства или компьютера в целом. Внешне это может выглядеть появление различных сообщений (звуковых, диалоговых, зависание, резкое замедление работы компьютера и т.п.)
|
|
Также сбоем можно назвать отказ АО или ПО, который устраняется повторным выполнением действия, либо перезагрузкой компьютера.
Свойства программ:
1. Корректность – статическое свойство программы, определяемое как отсутствие ошибок в программе. Корректность программ о беспечивается отладкой (проверкой) на множестве исходных данных, регламентированных документацией.
2. Устойчивость – динамическое свойство программы, которое характеризует способность программы давать правильные результаты при аппаратных, информационных и эргатических воздействиях. При этом выделяют два вида устойчивости:
- толерантность – способность программы продолжать свою работу и выдавать правильные результаты при наличии перечисленных воздействий.
- консервативность – способность программы при наличии возмущений, не позволяющих правильно решить задачу, перевести вычислительную систему в состояние отказа, из которого с минимальными потерями можно выполнить процедуру рестарта.
Устойчивость программ обеспечивают структурной, информационной, временной и алгоритмической избыточностью.
Пример: предположим, что входное воздействие выходит за допустимые пределы. Программа может определить такое недопустимое значение, заменить его допустимым предельным, продолжить выполнение с этим исправленным значением (толерантность – дополнительные проверки, информационная и программная избыточность).
Программа может завершиться с указанием кода ошибки (консервативность).
|
|
Приведем определение ряда терминов, которые встречаются в характеристиках качества ПО.
· Точность (accuracy) - мера, характеризующая приемлемость величины погрешности в выдаваемых программами ПО результатах с точки зрения предполагаемого их использования.
· Автономность (self-containedness) - свойство, характеризующее способность ПО самостоятельно выполнять предписанные функции без помощи других ПО.
· Устойчивость (robustness) - свойство, характеризующее способность ПО продолжать корректное функционирование, несмотря на неправильные входные данные.
· Защищенность (defensiveness) - свойство, характеризующее способность ПО противостоять преднамеренным или нечаянным деструктивным (разрушающим) действиям пользователя.
· Информативность (accountability) - свойство, характеризующее наличие в составе ПО информации, необходимой и достаточной для понимания назначения ПО, принятых предположений, существующих ограничений, входных данных и результатов работы отдельных компонент.
· Коммуникабельность (communicativeness) - свойство, характеризующее степень, в которой ПО облегчает задание входных данных, и способность выдавать полезные сведения в достаточно простой форме и с простым для понимания содержанием.
· Понятность (understandability) - свойство, характеризующее степень, в которой ПО позволяет изучающему его лицу понять его назначение, допущения и ограничения, входные данные и результаты работы его программ, тексты этих программ.
· Структурированность (structuredness) - свойство, характеризующее программы ПО с точки зрения организации взаимосвязанных их частей в единое целое определенным образом (например, в соответствии с принципами структурного программирования).
· Удобочитаемость (readability) - свойство, характеризующее легкость восприятия текста программ ПО (отступы, фрагментация, форматированность).
· Расширяемость (augmentability) - свойство, характеризующее способность ПО к использованию большего объема памяти для хранения данных или расширению функциональных возможностей отдельных компонент.
· Модульность (modularity) - свойство, характеризующее ПО с точки зрения организации его программ из таких дискретных компонент, что изменение одной из них оказывает минимальное воздействие на другие компоненты.
· Независимость от устройств (deviceindependence) - свойство, характеризующее способность ПО работать на разнообразном аппаратном обеспечении (различных типах, марках, моделях ЭВМ).