Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по МПО.doc
Скачиваний:
23
Добавлен:
14.08.2019
Размер:
1.02 Mб
Скачать

4.4.2. Методы оценки числа оставшихся в по ошибок, основанные на метриках Холстеда

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

МЕТРИКИ ХОЛСТЕДА

Суть метода Холстеда состоит в следующем. Для любой программы можно определить:

Число различных операций (таких, как IF, =, DO, PRINT и т.д.);

Число различных операндов (таких, как переменные и константы);

Общее число всех операций ;

Общее число всех операндов ;

Словарь программы ;

Длину реализации .

Тогда теоретическая длина программы составит

соответственно объем программы (в битах)

далее рассматривается такая метрика, как потенциальный объем программы (в битах),

где - минимальное число различных операндов, в роли которого обычно выступает число независимых входных и выходных параметров.

Величина может быть выявлена еще на стадии согласования технического задания на разработку ПО. Технология этого процесса будет подробно рассмотрена далее.

Таким образом, - потенциально минимально возможный объем ПО с заданным интерфейсом, который может быть реализован программистом высокой квалификации на языке высокого уровня.

Следующей важной метрикой является уровень программы определяемый как отношение потенциального объема к объему:

Далее вводится работа по программированию E, как суммарное число элементарных мысленных различений, необходимых для генерации программы ее создателем:

Следующая метрика – уровень языка - позволяет количественно оценивать преимущества языка программирования более высокого уровня по сравнению со своими предшественниками и определяется как

Следовательно: ;

В табл. 5 приведены численные значения для языков разных уровней.

Таблица 5

Язык

Ассемблер

0.88

Фортран

1,14

Паскаль

2,16

Еще одна из метрик, предложенных Холстедом, позволяет оценивать время затрачиваемое на разработку ПО:

где S – параметр Страуда.

Параметр Страуда – психофизиологическая константа, характеризующая время, необходимое человеческому мозгу для выполнения элементарной мыслительной операции («различия» по Холстеду). Считается, что S лежит в пределах от 5 до 20 различений в секунду. Холстед использует значение S=18, характеризующее процесс программирования как довольно напряженную умственную работу.

Можно оценить относительное уменьшение времени программирования при переходе от языка низкого уровня к языку высокого уровня , т.е. оценить выигрыш во времени за счет выбора языка:

ОЦЕНКА ЧИСЛА ОСТАВШИХСЯ В ПО ОШИБОК

Согласно основной гипотезе Холстеда общее число ожидаемых (переданных пользователю) Ошибок B в программе определяется сложностью ее создания, которую можно характеризовать работой по программированию E или объемом программы V:

С определением коэффициента пропорциональности C модель надежности ПО приобретает законченный вид. Приведем ход рассуждений М.Холстеда по определению этой константы.

Холстед предлагает, что C должна определяться (быть обратно пропорциональной) некоторой минимальной работе по программированию , производимой при создании программы, содержащей максимум одну ошибку. Другими словами, C выступает в роли нормировочного коэффициента. Теперь необходимо определить тот минимальный объем работы , превышение которого приведет к появлению ошибки. Для этой цели привлечем на помощь гипотезу утверждающую, что мозг человека может обрабатывать в своей памяти одновременно и безошибочно лишь 5-9 объектов. Взяв нижнюю границу в пять объектов и добавив результирующий объект, мы получим минимальное число различных входных и выходных параметров для потенциально безошибочной программы. Соответствующий потенциальный объем составит: (логических бит)

Итак, гипотеза ошибок Холстеда утверждает, что в среднем после обработки 24 битов абстрактной информации на языке высокого уровня человек совершает ошибку. Холстед использует выражение =2,16 и получает: =3000. Следовательно

В=V/300

Это означает, что на каждые 3000 бит объема V возможна одна потенциальная ошибка. Здесь необходимо иметь в виду, что речь идет не о «физических» битах памяти, отведенной для размещения ПО в машине, а о «логических» битах. Следует отметить, что значение константы C дает достаточно правдоподобные оценки только в том случае, если ПО разрабатывалось с использованием языков высокого уровня.