Основные определения и понятия теории надежности
Основные определения и понятия теории надежности
Под системой в теории надежности принято понимать совокупность подсистем, функционально объединенных в соответствии с некоторым алгоритмом взаимодействия в процессе применения по назначению.
Программная ошибка имеет место тогда, когда программа работает не так, как предполагает пользователь, т.е. программная ошибка не является неотъемлемым свойством программного обеспечения. Наличие ошибки в программе – это функция от самой программы и от того, чего ждет от нее пользователь.
Применительно к сложным системам, надежность ПО определяется как свойство системы выполнять заданные функции, сохраняя во времени значения установленных эксплуатационных показателей в заданных пределах в соответствующих режимах и условиях обслуживания, ремонта, хранения. Свойства надежности проявляются в то, что система выполняет поставленные перед ней задачи.
Рекомендуем посмотреть лекцию "8. Справочные правовые системы".
Надежность ПО – это вероятность того, что программа какой-то период времени будет работать без сбоев, с учетом степени их влияния на выходные характеристики. Надежность ПО есть функция от ущерба, наносимого ошибкой пользователя.
Ошибки ПО являются функцией от входной информации и состояния системы. Ошибки несут систематический характер.
Надежность ПО базируется на понятиях корректности и устойчивости.
Программа считается корректной, если она выполняет запланированные действия и не имеет побочных эффектов. Корректность – узкое понятие, т.к. ее полная проверка для большинства программных систем практически невыполнима. Корректность базируется на тщательной спецификации требований пользователя. Возможна ситуация, когда программа корректна с точки зрения разработчика, но не корректна с точки зрения пользователя. Если ПО удовлетворяет своей спецификации, то оно корректно. Систему можно считать надежной если велика вероятность того, что при обращении к ней можно получить требуемую услугу. Программа рассматривается как ненадежная, если она допускает сбои в особых ситуациях, даже если эти ситуации имеют небольшой процент от времени пользования системой.
Под устойчивостью программы понимается ее способность правильно выполнять правильное действие при наличии отказов в работе аппаратуры и ошибках в исходных данных. При оценке устойчивости должны быть заданы параметры окружающей среды , по отношению к которым программа должна быть устойчивой. Обычно разработчик ПО не располагает средствами эффективного контроля за окружающей средой и его задача сводится к локализации нарушений или изменения характеристик окружающей среды и описанию способов их устранения.
Под надежностью ПО понимается свойство ПО выполнять предписанные функции в соответствии с требованиями заказчика при определенных условиях функционирования в течении заданного времени и обусловленное корректностью и устойчивостью.