надежность ПО, интенсивность отказов, график
ГОРОДА. ГДЕ Я БЫВАЛ::: ГОНОЛУ́ЛУ (АНГЛ. И ГАВ. HONOLULU)

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

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

В качестве иллюстрации этой идеи в работе [1] приведен рисунок с такой подрисуночной подписью – «Вид функции интенсивности отказов для ПО и аппаратной части» (рисунок 1). Этот рисунок повторен и в работе [2].

 

Рисунок 1 Интенсивность отказов (по [1])

 

        Если существование такой характеристики как «интенсивность отказов» для аппаратной части, являющейся материальным объектом, не вызвала у меня сомнений [3], то наличие такой-же характеристики у ПО, представляющего собой нематериальный объект, вызвала ряд вопросов и побудило разобраться в том, что же написано в нормативных документах о надежности программного обеспечения.

        Для начала следует сказать, что для программных средств не существует стандарта, подобному стандарту [4].

В стандарте [5] понятие, обозначенное термином «надежность программного средства» (для программного обеспечения термин надежность в этом стандарте не применяют) отнесен к общим характеристикам качества программного средства регламентирован в следующей редакции:

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

К определению этого термина в стандарте [5] даны два пояснения. Приведем здесь первое из них полностью:

        «Программное средство не подвержено износу или старению. Ограничения его уровня пригодности являются следствием дефектов, внесенных в содержание программного средства в процессе постановки и решения задачи его создания или модификации.

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

        После ознакомления с определениями понятия, обозначаемого термином «надежность программного средства» из стандарта [5] и пояснений к нему, следует сделать по крайней мере два вывода:

1. Надежность программного средства не изменяется во времени.

2. Приведенный на рисунке 1 график не соответствует принятой в этой области технике системе понятий.

        Процитируем второе пояснение из этого же стандарта:

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

        Вывод, который следует из этого пояснения, таков – надежность ПО следует рассматривать совместно с аппаратной надежностью.

Просмотр de visu терминологических стандартов в других отраслях техники позволил найти определение понятия, обозначаемого термином «надежность программного обеспечения»:

        «…составляющая надежности системы, которая зависит от отказов программного обеспечения» [6].

        Подробно такой подход описан в курсе лекций [7], а попытка его применения для устройств релейной защиты реализован в работе [2].

Кстати, в [7] описаны способы обеспечения и повышения надежности программного обеспечения, в число которых не входит устранение ошибок.

Практическую точку в моих поисках позволил поставить материал лекции №2 [8] две фразы из которого привожу ниже:

- надежность программы со временем не меняется;

- для ПО отсутствует фаза приработки и износа.

Но самое важное содержится в следующем утверждении:

«Коррекция программы аналогична внесению изменений в конструкцию аппаратного устройства – получается

новое ПО (выделено мною - огз), с другими показателями надежности»

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


Следует также отметить, что если число ошибок рассматривать как меру надежности, то в терминологии теории вероятностей это число есть случайная величина, однако самый главный вопрос - на каком пространстве элементарных событий она задана - нигде не затрагивался. Наконец, важно подчеркнуть, что, с точки зрения надежности, в результате исправления ошибки или любой другой коррекции получается новая программа с другим, чем до коррекции, показателем надежности. Таким образом, число ошибок в программе характеризует скорее не программу, а ее изготовителей и используемый инструментарий.

 

Литература

1. Типикина А.П., Певцова Л.С. Оценка программной надежности микропроцессорных релейных защит // [Электронный ресурс], режим доступа: http://naukovedenie.ru/PDF/74TVN215.pdf (Интернет-журнал «Науковедение» ISSN 2223-5167 http://naukovedenie.ru/)

2. Трофимов А.С. Метод оценки надежности цифровой релейной защиты энергосистем. // Релейщик, №3, 2016, С. 29

3. Захаров О.Г. Надежность цифровых устройств релейной защиты. Показатели. Требования. Оценки. М.: Инфра-Инженерия, 2014, 128 с.

4. ГОСТ 27.002 – 2009. Надежность в технике. Термины и определения. // [Электронный ресурс], режим доступа: http://guap.ru/guap/standart/kach/gost_r_27_002-2009.pdf

5. ГОСТ 28806-90. Качество программных средств. Термины и определения. // [Электронный ресурс], режим доступа: http://www.gosthelp.ru/gost/gost10605.html

6. ГОСТ Р МЭК-61513-2011. Атомные станции. Системы контроля и управления, важные для безопасности. Общие требования. // [Электронный ресурс], режим доступа: http://www.gostrf.com/normadata/1/4293796/4293796176.pdf

7. Основные понятия надежности ПО // [Электронный ресурс], режим доступа: http://baumanki.net/lectures/10-informatika-i-programmirovanie/350-nadezhnost-informacionnyh-sistem/4741-13-nadezhnost-programmnogo-obespecheniya.html

8. Михаил Моисеев. Формальные методы обеспечения качества ПО. Методы оценки надежности ПО. Лекция №2. // [Электронный ресурс], режим доступа: http://kspt.icc.spbstu.ru/media/files/2010/course/softwarequality/lec2.pdf

9. Дроботун Е. Б. Надежность программного обеспечения. Виды и критичность ошибок // [Электронный ресурс], режим доступа: http://www.ivtn.ru/2009/pdf/d09_04.pdf

10. Надежность программного обеспечения // [Электронный ресурс], режим доступа: http://www.tehprog.ru/index.php_page=lecture13.html

11. Захаров О.Г. Библиография работ по надежности цифровых устройств релейной защиты // [Электронный ресурс], режим доступа: http://rza.org.ua/blog/a-64.html

12. Оцениваем надежность ЦРЗА? // [Электронный ресурс], режим доступа: http://rza.org.ua/blog/a-320.html

13. ГОСТ Р ИСО/МЭК 9126-93 Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению // [Электронный ресурс], режим доступа: http://docs.cntd.ru/document/1200009076

14. ГОСТ 19871-90. Обеспечение систем обработки информации программное. Термины и определения. // [Электронный ресурс], режим доступа: http://docs.cntd.ru/document/gost-19781-90

15. Захаров О.Г. Ложное срабатывание // [Электронный ресурс], режим доступа: http://www.energoboard.ru/articles/3040-lognoe-srabativanie.html

16. Захаров О.Г. Ложное или излишнее срабатывание? // [Электронный ресурс], режим доступа: http://rza.org.ua/blog/a-66.html

17. Захаров О.Г. Формулы надежности // [Электронный ресурс], режим доступа: http://rza.org.ua/article/read/Formuly-nadezhnosti.html

 


Яндекс.Метрика счетчик посещений


© ЗАХАРОВ О.Г. 2010-2016::: 2017




МОИ САЙТЫ
2010 2011 2012 2013 2014 2015 2016 2017
2003 2004 2005 2007 2008 2009
1970-1992 1992-1996


Мои сайты:::Правка:::2017