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


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



ЗНАЕТЕ ЛИ ВЫ?

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



 

Метрика – это мера, определяющая расстояние между элементами множества, которая обладает следующими свойствами:

1. Неотрицательна (>=0)

2. Нулевая при совпадении элементов

3. Симметрична (AB = BA)

4. Подчиняется закону треугольника (AB + BC > AC)

Метрика качества программ – система измерений качества программ. Эти измерения могут поводится на уровне критериев качества программ (сравнение программ по качеству) или на уровне отдельных характеристик качества.

В исследовании метрик выделяют два основных подхода:

1. Метрики оценки самого ПО (поиск метрик, характеризующих наиболее специфические свойства программ)

2. Метрики оценки технологии разработки ПО (оценка технических характеристик и факторов разработки программ)

По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:

1. Метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов (устанавливают полноту заданных технических характеристик исходного кода);

2. Метрики, позволяющие прогнозировать качество разрабатываемого ПО;

3. Метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям.

В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы:

1. Номинальной шкале соответствуют метрики, классифицирующие программы по признаку наличия или отсутствия какой-либо характеристики без учёта градации.

Например: программы можно группировать как "нетрудные для понимания", умеренно трудные для понимания", "трудные для понимания", "очень трудные для понимания".

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

Например: некоторые программы А,В,С, относятся к разряду "умеренно трудных для понимания", но программа В труднее программы А, а программа А труднее программы С.

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

Например: можно сказать: программа В труднее программы А на 10 единиц.

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

Например: можно сказать, программа В в два раза труднее программы А.

3. В настоящее время в мировой практике используется несколько сотен метрик программ. Существующие качественные оценки можно сгруппировать по 6 основным направлениям:

1. Оценка топологической и информационной сложности программ.

2. Оценка надёжности ПС, позволяющая прогнозировать отказы и отказовые ситуации.

3. Оценка производительности ПО и повышения его эффективности путем выявления ошибок проектирования.

4. Оценка уровня языковых средств и их применения.

5. Оценка трудности восприятия и понимания программных текстов, ориентированная на психологические факторы, существенные для сопровождения и модификации программ.

6. Оценка производительности труда программиста для прогнозирования сроков и этапов разработки программ.

Метрики сложности программ

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

При оценке сложности выделяют 3 группы метрик: 1. Метрики размера.2. Метрики сложности потоков управления программы. 3.Метрики сложности потоков данных программы.

 

1. Оценки первой группы наиболее просты и потому получили более широкое применение. Традиционной характеристикой размера программ является количество строк исходного текста. (Под строкой понимается любой оператор программы, поскольку реально при оценке размера программ используется информация именно о количестве операторов).

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

Т.о., оценка размера программы – оценка по номинальной шкале.

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

Основу метрики Холстеда составляют четыре измеряемые характеристики программы:

η1 – число уникальных, различных операторов программы, включая символы-разделители, знаки операций, имена процедур и функций (словарь операций).

η2 – число уникальных, различных операндов программы (словарь операндов).

N1 – общее количество операторов в программе.

N2 – общее количество операндов в программе.

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

словарь программы η = η1 + η2 (1)

длину программы N = N1+N2 (2)

объем программы V = Nlog2 η (3)

 

Далее М.Холстед вводит η* - теоретический словарь программы, т.е.словарный запас, необходимый для написания программы с учетом того, что необходимая функция уже реализована в данном языке и, следовательно, программа сводится к вызову этой функции.

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

 

CALL SIMPLE (X,Y),

где Y- массив численных значений, содержащих искомое число X.

Теоретический словарь в данном случае будет состоять из

 

η*: { CALL, SIMPLE (…)}, η1*=2

η2*: {X,Y}, η2* = 2,

 

а его длина

η* = η1* + η2*, будет равна 4. (4)

 

Используя η*, Холстед вводит характеристику V*:

V* = η*log2 η*, (5)

с помощью которой описывается потенциальный объем программы, соответствующий максимально компактному тексту программы, реализующей данный алгоритм.

Задание:

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

1) Реальную длину программы, (N).

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

3) Реальный объем программы, (V)

4) Потенциальный объем программы(V*).

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

1. Перечислите наиболее известные методы оценки метрических характеристик качества программных продуктов.

2. Перечислите основные требования к критериям качества ПО.

3. Перечислите разновидности метрик, шкал. Поясните принципы двух основных подходов в исследовании метрик.

4. Как с помощью метрик сложности программ определить длину и объём программы?

ЛИТЕРАТУРА

1. Липаев В.В. Качество программного обеспечения. – М.: Финансы и статистика, 1983.

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

 

 

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



Поделиться:


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

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