'
Бегджанов Б.Г.
ОЦЕНКА НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ *
Аннотация:
рассмотрена проблема оценки надежности программного обеспечения (ПО) информационных систем. Исследованы существующие подходы к оценке надежности программ, основные показатели, характеризующие надежность программ, проведен анализ достоинств и недостатков методов оценки надежности ПО.
Ключевые слова:
программное обеспечение, информационные системы, надежность, показатель, методика, объектно-ориентированная программная система
Надежность программного обеспечения – понятие статистическое, т. е. предполагается наличие большого количества одинаковых образцов, испытаний. Имеется элемент случайности. На пространстве элементарных событий задается некоторая вероятностная мера. Случайная величина, является функцией, заданной на пространстве элементарных событий. В качестве меры надежности используются характеристики случайной величины – математическое ожидание. Вероятностный подход при изучении надежности состоит в анализе исследуемой программы и построении, исходя из соображений о ее природе, пространств элементарных событий, введении на них вероятностной меры и рассмотрении случайных величин.Объектно-ориентированная программа имеет несколько разных форм: внешние спецификации, исходный текст, исполняемый код. Программа представляет собой объект, инвариантный относительно форм его представления. Внешние спецификации, исходные тексты на языках разных уровней, а также исполняемые коды для разных процессоров есть разные формы представления одной и той же программы. Однако время исполнения относится только к исполняемому коду и зависит от типа процессора.Надежность объектно-ориентированной программы является характеристикой ее исполняемого кода. Две функционально подобные программы, написанные на разных языках, с точки зрения надежности являются разными. Число ошибок в программе – величина ненаблюдаемая, наблюдаются не сами ошибки, а результат их проявления. Неверный результат программы может быть следствием не одной, а нескольких ошибок. Ошибки могут компенсировать друг друга, после исправления некоторой ошибки программа окажется менее надежной. Надежность характеризует частоту проявления ошибок, но не их количество.Рассмотрим объектно-ориентированную программу, имеющую один вход и выход. Все возможные результаты выполнения программы разобьем на два класса: правильные и неправильные (ошибочные). Любой результат можно отнести к одному из этих классов. Рассмотрим вероятностную модель последовательности испытаний. Пространство элементарных событий содержит 2n точек, где n – число исполнений программы. Каждый запуск программы имеет два исхода: правильный и неправильный. Обозначим вероятность неправильного исхода р, а вероятность правильного – (1–p). Вероятность того, что из n запусков К приведут к неправильному результату, выражается следующей формулой:B(р, n, k)=C(n, k)?pk ?(1–р)(n-k) , (1)где С(n, k) – число сочетаний. Вероятность р изначально неизвестна, но по результатам исполнения программы известны n и k. Величина В имеет максимум при р=k/n. В качестве меры надежности программы имеет смысл принять величину R=1–k/n=(n–k)/n, значения которой согласуются с понятием надежности.Предположение модели состоит в том, что запуски программы считаются независимыми, результаты предыдущих запусков не дают никакой информации о результатах следующего. Разработчику известна логика программы, так что по результатам запуска с некоторыми исходными данными он может предсказать результаты исполнения с другими исходными данными. Однако для пользователя важно, чтобы объектно-ориентированная программа выполняла требуемые функции.Таким образом, оценка надежности программы растет с увеличением числа ее запусков по гиперболическому закону. Это подтверждает мысль о том, что программа тем надежнее, чем больше опыт ее эксплуатации, который зависит от интенсивности использования программы. Ошибка в программе обходится тем дороже, чем позже она обнаружена. Перед пользователем программы, в которой проявились ошибки, возникает проблема: продолжать ее эксплуатировать или установить модифицированную версию. Если программа подвергалась модификациям, то при оценке надежности следует учитывать только запуски, выполненные с момента последней модификации: в результате модификации получается новая программа, с другим показателем надежности. Этим объясняется тот факт, что пользователи предпочитают обновленным версиям программ старые, проверенные, даже если в них обнаружены погрешности: опыт эксплуатации стоит дорого, и даже если в программе выявлены ошибки, дешевле внести исправления и дополнения в инструкции к программе, чем пожертвовать накопленным опытом.Сравним характеристики надежности аппаратуры и объектно-ориентированной программы. Причина аппаратных отказов – износ или старение, а компонентам ПО они не присущи. Программу нельзя запустить, а их ошибки нельзя выявить без каких-либо исходных данных (кроме синтаксических ошибок, обнаруживаемых трансляторами).Аппаратные отказы – функция времени работы, программный отказ зависит от выполняемой задачи, от возможности выхода программы на участок, содержащий ошибку. Обнаружение и устранение аппаратных отказов не исключает возможности их повторения в дальнейшем, устраненные программные отказы не повторяются, но могут быть источником новых ошибок.Прогнозировать программные отказы труднее технических из-за сложности выбора корректных моделей надежности. Отказы аппаратуры бывают внезапными и постепенными, программные отказы – всегда внезапные, и их природа отлична от внезапных аппаратных отказов. Копирование программ не приводит к их ухудшению, редкие ошибки копирования легко обнаруживаются и устраняются.Коррекция ошибок в программе приводит к изменению ее конфигурации и, как правило, устраняет возможность повторения данной ошибки (хотя может внести новые). Информация, получаемая при исправлении ошибок, не дает возможности предсказать число оставшихся в программе ошибок. Не существует стандартных методов испытания программ, гарантирующих удовлетворение всех поставленных при разработке требований.
Номер журнала Вестник науки №5 (74) том 2
Ссылка для цитирования:
Бегджанов Б.Г. ОЦЕНКА НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ // Вестник науки №5 (74) том 2. С. 649 - 653. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/14426 (дата обращения: 23.05.2025 г.)
Вестник науки © 2024. 16+
*