Математические модели оценки характеристик качества и надежности ПО и ИО

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

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

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

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