В системном проектировании, надежность - это мера доступности, надежности системы и ее ремонтопригодности и производительности поддержки при техническом обслуживании. и, в некоторых случаях, другие характеристики, такие как долговечность, безопасность и безопасность . В программной инженерии, надежность - это способность предоставлять услуги, которым можно обоснованно доверять в течение определенного периода времени. Это также может включать механизмы, разработанные для повышения и поддержания надежности системы или программного обеспечения.
Международная электротехническая комиссия (IEC) через свой Технический комитет TC 56 разрабатывает и поддерживает международные стандарты, которые предоставляют систематизированные методы и инструменты для оценки надежности и управления оборудованием, услугами и системами на протяжении их жизненного цикла.
Надежность можно разбить на три элемента:
Некоторые источники утверждают, что это слово было придумано в девятнадцатилетнем возрасте в автомобильной печатной рекламе Dodge Brothers. Но это слово появилось еще до того периода: Оксфордский словарь английского языка впервые был использован в 1901 году.
По мере роста интереса к отказоустойчивости и надежности системы в 1960-х и 1970-х годах надежность стала мера [x] как меры надежности стала включать дополнительные меры, такие как безопасность и целостность. Таким образом, в начале 1980-х Жан-Клод Лапри выбрал термин «надежность» для охвата исследований отказоустойчивости и надежности системы без расширения смысла, присущего надежности.
С этого момента область надежности развивалась как международно-активная область исследований, чему способствовали многие известные международные конференции, в частности Международная конференция по надежным системам и сетям, Международный симпозиум по надежным распределенным системам и Международный Симпозиум по проектированию надежности программного обеспечения.
Традиционно надежность системы включает в себя доступность, надежность, ремонтопригодность, но с 1980-х годов безопасность и безопасность были добавлены к мерам надежности.
Атрибуты - это качества системы. Их можно оценить для определения его общей надежности с помощью качественных или количественных показателей. Avizienis et al. определить следующие атрибуты надежности:
Согласно этим определениям, только доступность и надежность можно измерить прямым измерением, в то время как другие субъективно. Например, безопасность нельзя измерить напрямую с помощью показателей, но это субъективная оценка, которая требует применения оценочной информации для определения уровня уверенности, в то время как надежность может измеряться как отказы с течением времени.
Конфиденциальность, то есть отсутствие несанкционированного раскрытия информации также используется при решении вопросов безопасности. Безопасность - это сочетание конфиденциальности, целостности и доступности. Безопасность иногда классифицируют как атрибут, но текущее представление состоит в том, чтобы объединить его вместе с надежностью и рассматривать надежность как составной термин, называемый надежностью и безопасностью.
На практике применение мер безопасности к устройствам системы обычно улучшает надежность за счет ограничения количества ошибок внешнего происхождения.
Угрозы - это вещи, которые могут повлиять на систему и вызвать снижение надежности. Необходимо четко понимать три основных термина:
Важно обратите внимание, что отказы регистрируются на границе системы. По сути, это Ошибки, которые распространились до границы системы и стали наблюдаемыми. Неисправности, ошибки и отказы действуют по механизму. Этот механизм иногда называют цепочкой сбоев-ошибок-сбоев. Как правило, сбой при активации может привести к ошибке (которая является недопустимым состоянием), а недопустимое состояние, созданное ошибкой, может привести к другой ошибке или отказу (что является наблюдаемым отклонением от заданного поведения в границы системы).
После активации неисправности создается ошибка. Ошибка может действовать так же, как и сбой, в том смысле, что она может создавать дополнительные условия ошибки, поэтому ошибка может многократно распространяться в пределах границы системы, не вызывая наблюдаемого сбоя. Если ошибка распространяется за пределы системы, считается, что произошел сбой. Сбой - это в основном момент, когда можно сказать, что служба не соответствует своей спецификации. Поскольку выходные данные из одной службы могут быть переданы в другую, сбой в одной службе может распространиться на другую службу как сбой, поэтому цепочка может быть сформирована в форме: сбой, ведущий к ошибке, ведущий к сбою, ведущему к ошибке, и т. Д.
Поскольку механизм цепочки сбоев-ошибок понятен, можно сконструировать средства для разрыва этих цепочек и, таким образом, повышения надежности системы. На данный момент определены четыре средства:
Предотвращение отказов имеет дело с предотвращением ошибок, встраиваемых в систему. Этого можно добиться, используя методологии разработки и хорошие методы реализации.
Устранение неисправностей можно подразделить на две подкатегории: удаление во время разработки и удаление во время использования.. Удаление во время разработки требует проверки, чтобы можно было обнаружить и устранить неисправности до запуска системы в производство.. После запуска системы в производство требуется система для регистрации отказов и их устранения с помощью цикла обслуживания.
Прогнозирование неисправностей предсказывает вероятные неисправности, чтобы их можно было устранить или обойти их последствия.
Отказоустойчивость касается внедрения механизмов, которые позволят системе по-прежнему предоставлять требуемые услуги в наличие неисправностей, хотя эта услуга может быть на ухудшенном уровне.
Средства обеспечения надежности предназначены для уменьшения количества отказов, представленных пользователю системы. Сбои традиционно регистрируются с течением времени, и полезно понимать, как измеряется их частота, чтобы можно было оценить эффективность средств.11
Некоторые работы по надежности использовать структурированные информационные системы , например с SOA, чтобы ввести атрибут survivability, таким образом принимая во внимание ухудшенные услуги, которые информационная система поддерживает или возобновляет после немаскированного сбоя.
Гибкость текущих структур побуждает системных архитекторов использовать механизмы реконфигурации, которые переориентируют доступные безопасные ресурсы на поддержку наиболее важных сервисов, а не на избыточное выделение ресурсов для построения отказоустойчивой системы.
С распространением сетевых информационных систем была введена доступность, чтобы придать большее значение опыту пользователей.
Чтобы принять во внимание уровень производительности, измерение определяется как «количественная оценка того, насколько хорошо объектная система работает при наличии сбоев в течение определенного периода времени».