Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PGTU / 5 семестр / Надежность / Nadezhnost_4-ya_redaktsia.doc
Скачиваний:
424
Добавлен:
29.03.2015
Размер:
12.07 Mб
Скачать

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

В подразд. 1.1.1 при рассмотрении основных понятий, касающихся всех разделов данного учебного пособия, надежность была определена следующим образом.

Надежность – свойство объекта сохранять во времени в установлен­ных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях примене­ния, технического обслуживания, ремонтов, хранения и транспортирова­ния.

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

Кроме того, по своим последствиям эти ошибки далеко не одина­ковы, поэтому надежность должна быть определена как функция не только частоты ошибок, но и их значимости по возможным последствиям. Однако существующие определения, учитывающие этот фактор, в практическом плане мало пригодны для использования, поэтому в данном учебном посо­бии мы ограничиваемся более простой моделью, считая все ошибки оди­наково серьезными.

Иногда в более узком плане надежность ПО понимают как отсутст­вие отказов и сбоев в работе программ, а также простоту исправления де­фектов и ошибок.

3.1.1. Ошибки в по и их типы

Понятие ошибки в ПО сложнее и неоднозначнее, чем понятие отказа в аппаратуре, что связано, как уже говорилось, с гораздо большим числом функций, выполняемых программой, а также сложностью взаимодействия программы с пользователем и окружающим миром [1].

Например, система раннего обнаружения баллистических снарядов Ballistic Missile Early Warning System должна была наблюдать за объек­тами, движущимися по направлению к Соединенным Штатам и, если объ­ект не опознан, начать последовательность защитных мероприятий. Одна из ранних версий системы приняла за снаряд, летящий над северным по­лушарием, восходящую Луну. Ошибка ли это? С точки зрения заказчика (Министерство обороны США) – конечно, да. С точки зрения разработчика системы – возможно, и нет. Разработчик может настаивать на том, что в соответствии с требованиями или спецификациями защитные действия должны быть начаты по отношению к любому движущемуся объекту, поя­вившемуся над горизонтом и не опознанному как мирный летательный ап­парат.

Этот пример еще раз наглядно показывает, как сложно обеспечить полный и правильный перечень функций ПО с точки зрения пользователя. Однако для того, чтобы сформулировать определение ошибки, в данном учебном пособии будем считать, что полный и правильный перечень функций ПО может быть создан. Тогда определение будет выглядеть сле­дующим образом:

В программном обеспечении имеются ошибки, если оно не выпол­няет какой-либо функции из полного и правильного перечня функций, даже если эта функция по какой-либо причине не вошла в перечень, либо вошла в искаженном виде. Отказ программного обеспечения – это проявление ошибки в нем.

Соседние файлы в папке Надежность