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

8.1.3.Уровень качества программирования

Другой характеристикой, принадлежащей к метрикам корректности программ, по М.Холстеду, является уровень качества программирования L (уровень программы):

, (8.5)

где V и V* соответственно реальный и потенциальный объемы программы.

Очевидно, для идеальной программы L=1, а для реальной – L<1.

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

. (8.6)

Коэффициент корреляции между L и составляет 90 %. Однако, если для исследования выбираются модули, впоследствии объединенные в сложную программу, расхождения в значениях этих оценок могут достигать целого порядка. Считается более корректным использовать характеристику L.

Располагая характеристикой , Холстед выводит характеристику I, которую рассматривает как интеллектуальное содержание конкретного алгоритма, инвариантное по отношению к используемым языкам реализации.

I= V (8.7)

Преобразуя выражение (8.7) с использованием выражения (8.5) получаем I= V≈LV=V*V/V=V*.

Введение характеристики I позволяет определить умственные затраты на создание программы.

Поскольку 1/L имеет смысл рассматривать как средний коэффициент сложности, оценка необходимых усилий по написанию программы может быть изменена как

E= log2η/L (8.8)

Таким образом, Е характеризует число требуемых элементарных решений при написании программы.

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

E'=Nlog2 η/L. (8.9)

Суть характеристики состоит в оценке затрат не на разработку программы, а затрат на восприятие готового продукта.

Преобразуя формулу (8.8) с учетом выражения V = Nlog2 η, (см. формулу 5.3 лаб.раб.5) и (8.5) получим

E= V2/V*.

Такое представление E', Е иллюстрирует целесообразность разбиения программы на отдельные модули, т.к. интеллектуальные затраты пропорциональны квадрату объема программы, который всегда больше суммы квадратов отдельных модулей.

Пример:

ADD : PROCEDURE (A + B) RETURN (FLOAT);

RETURN(A + B);

END ADD;

η1 = 2 – количество операторов

η2 = 2 – количество операндов

η = η1 + η2 = 5

N = 2log22 + 3log23 ≈ 6,5

V = 6,5log25 ≈ 13,2

Сложность модуля E = V/L = 13,5; λ = L2V = 1*13,5 = 13,5

8.2. порядок выполнения работы

Для одной из своих программ рассчитать:

1) уровень комментированности программы (F);

2) теоретическую длину программы ( );

3) уровень программы, (L, );

4) интеллектуальное содержание (I);

5) усилие (Е).

8.3. Содержание отчета

Отчет должен иметь следующую структуру:

Цель работы.