Повышение надежности программного обеспечения

Повышение надежности программ

Программное обеспечение состоит из большого числа программ, подпрограмм и модулей, находящихся под управлением операционной системы или программы-диспетчера. Выполнение этих программ осуществляется последовательно во времени на одном и том же процессоре ЭВМ. Если выполняемые программы предназначены для получения одного результата y (или выполнения одной функции АСУ), то в надежностном отношении программный комплекс представляет собой простую систему без избыточности и вероятность его безотказной работы равна произведению вероятностей безотказного функционирования каждой программы Пi

Повышение надежности программного обеспечения - student2.ru ,

где m – число программ в ПО (рис. 4.10)

Повышение надежности программного обеспечения - student2.ru

Рис. 4.10 – Схема решения задачи Повышение надежности программного обеспечения - student2.ru с помощью ПО на однопроцессорной ЭВМ

Надежность такого ПО определяется интенсивностью отказов самой ненадежной программы с наименьшей функцией Рi(t) или с наибольшим значением Повышение надежности программного обеспечения - student2.ru , Повышение надежности программного обеспечения - student2.ru . Отсюда следует последовательность действий по повышению надежности ПО:

- определяются самые «ненадежные» программы ПО, имеющие наименьшие оценки Повышение надежности программного обеспечения - student2.ru , где Повышение надежности программного обеспечения - student2.ru Повышение надежности программного обеспечения - student2.ru - наработки до отказа i- й программы на этапе динамического тестирования, Повышение надежности программного обеспечения - student2.ru

- «ненадежные» программы подвергаются дополнительному, более жесткому тестированию (реже – статическому, чаще - динамическому), где используются другие тесты и, в том числе, те задачи, для решения которых создается ПО;

- если при дополнительном тестировании выявлено и удалено достаточно много ошибок и значения Повышение надежности программного обеспечения - student2.ru стали близки к аналогичным величинам для более «надежных» программ, то все m программ стали почти равнонадежными и надежность всего ПО возможно стала удовлетворять предъявляемым к нему требованиям;

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

Наши рекомендации