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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

, (5)

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

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

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

. (6).

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

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

I= V (7)

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

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

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

E= log2η/L (8).

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

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

E'=Nlog2 η/L (9).

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

Преобразуя формулу (8) с учетом выражения V = Nlog2 η (см.формулу 3 лаб.раб.5) и (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

 

 

ЗАДАНИЕ

 

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

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

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

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

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

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Опишите основные метрики оценки стилистики.

2. Основные методики для оценки комментируемости программы. Что считается нормальным уровнем комментируемости программы?

3. Как оценить теоретическую длину программы? Что такое избыточности и несовершенства в программе, как от них избавиться?

4. Как определяется уровень качества программирования? Объясните на примере.

ЛИТЕРАТУРА

1. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. – М.: Мир, 1985.

2. Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ. – М.: Издательство МАИ, 1989.

3. Плешаков Г.Н. К схематизации программирования // Программирование. 1986. № 4.

4. Холстед М. Начала науки программирования. - М.: Финансы и статистика, 1981.

Лабораторная работа № 9

Метрики использования языков программирования
и технологических средств

 

ЦЕЛЬ РАБОТЫ: оценить уровень автоматизации программирования основываясь на оценке количества ошибок, сохраняющихся в программе после окончания ее обработки компилятором или другим программным компонентом автоматизации разработки программ.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 622; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.169.86 (0.008 с.)