Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Надежность программного обеспечения






 

Надежность программного обеспечения— это веро я тность безотказно г о функционирования компьютерной про г ра м мы в течение заданно г о времени в заданной среде. Видеале эта веро я тность приближаетс я к 100%. Если разработчики хотят создать систему, которая будет отличатьс я безотказной работой, ее ПО должно разрабатыватьс я c использова н ие м м етодов отказоустойчиво г о про г ра мм ирования. Отказоустойчивая система — это систе м а, которая сохраняет работоспособность в результате устранения последствий ошибок ПО. Под ошибкой (fault) понимается программный дефект, который может привести к отказу в работе некоторой части ПО. В понятие «сбоя в системе программного обеспечения» (failure) мы вкладываем выполнение некоторого компонента ПО, который отклоняется от системных спецификаций. Мы согласны страктовкой ошибок и сбоев, которую предложили Муса (Musa), Ианино (Iannino) и Оку м ото (Okumoto) в своей кни г е Software Reliability.

 

Ошибка — это дефект в программе, который при некоторых условиях приводит к ее отказу. К отказу могут привести различные совокупности условий, причем эти условия могут повторяться. Следовательно, ошибка может быть источником не одного, а нескольких отказов. Ошибка (дефект) — это свойство программы, а не результат (свойство) ее выполнения или поведения. Именно этот смысл мы вкладываем в понятие термина «bug». Ошибка ПО — это следствие оплошности, или недоработки (error), программиста.

 

Ошибки, которые допускает программист или разработчик ПО, могут возникнуть из-за неверной интерпретации требований к ПО или некачественного, некорректного или недостаточно полного перевода этих требований в код. Если программист совершает оплошности такого рода, он вносит в программу ошибки, или дефекты. При выполнении дефектного кода может произойти сбой программы. Ошибки ПО можно обнаружить только при выполнении кода. Очистить программу от ошибок, а следовательно, и не допустить возможность отказа, позволяет процесс тестирования и отладки ПО. Обратите внимание на то, что мы используем термины «дефект» и «ошибка» взаимозаменяемо. Термин «оплошность» мы относим к допускаемым программистом промахам, которые являются причиной дефектов ПО. Отказоустойчивость—это свойство, которое позволяет некоторой части ПО оставаться в исправном состоянии или восстанавливать работоспособность после программных сбоев, вызванных ошибками, внесенными в ПО в результате недоработки программистов.

Одни отказы ПО являются результатом наличия дефектов в программах, другие же— результатом исключительных условий (необязательно созданными оплошностью программиста), которые могут создаться в оборудовании или используемых программных пролуктах. Например, сетевая карта, поврежденная в результате всплеска напряжения, может привести соответствующую часть ПО к сбою. Вирус может нарушить процесс передачи данных, в результате чего может отказать программа, которая зависит от этого процесса. Пользователь может нечаянно удалить критические компоненты из системы, что неминуемо приведет к ее отказу. Перечисленные выше неприятности вызываются не из-за дефектов в программе, а создаются в результате условий, которые мы называем исключительными сигуациями. Исключительная ситуация, или исключение, — это ненор м альные условия, или исключительные обстоятельства, или экстраординарные явления (события), с которы м и сталкивается ПО, в результате че г о оно (или некоторая е г о часть) отказывает. И хотя какдефекты. так и и сключения приводят к отказа м ПО, важно пони м ать различие между ни м и, поскольку для «борьбы» с ни м и при м еняются, как правило, рааличные м етоды. Несмотря на то что конечным результатом при м енения этих методов является на д ежное и отказоусто й чивое ПО, для обработки исключени й и обработки ошибок (дефектов) используются различные способы проектирования и про г раммные конструкции.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.