Расчет характеристик качества разработки программ



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

Метрики Холстеда для определения размера программ

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

ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

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

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

 

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

Оценка качества включает в себя два основных этапа: 1) получение информации о фактическом состоянии контролируемого объекта; 2) сопоставление этой информации с предъявленными требованиями, т.е.установление факта соответствия реальных свойств с требуемыми.

Следовательно, необходимо располагать некоторой системой измеряемых показателей качества, которая позволила бы сформулировать требования и контролировать их выполнение в процессе разработки ПО. Как правило, для построения такой оценки применяются иерархические многоуровневые модели. Позволяющие: 1) предоставить максимум информации непосредственным исполнителям, для выявления причин ухудшения той или иной характеристики качества; 2)определять требования к ПО на самых ранних стадиях разработки. Здесь важно отметить простоту формулировок и понятность требований

С иерархическими многоуровневыми моделями связано несколько определений:

Свойство программы - это её объективные особенности, проявляющиеся при её разработке, эксплуатации и (или) сопровождении.

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

Характеристика качества программы – это понятие, отражающее отдельные факторы (свойства), влияющие на качество программы и поддающиеся измерению.

Критерий качества – это численный показатель, характеризующий степень, в которой программе присущи оцениваемые свойства.

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

- Критерий должен численно характеризовать основную целевую функцию программы.

- Критерий должен обеспечивать возможность определения затрат (не только денежных), необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов.

- Критерий должен быть по возможности простым, хорошо измеримым и иметь малую дисперсию.

Примеры критериев: Сложность, корректность, надёжность, трудоёмкость

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

Примеры свойств программ: субъективные свойства (время ввода исходных данных), объективные (количество операторов, количество строк, время работы программы).

Характеристики: субъективная характеристика (удобство интерфейса), объективная характеристика (точность результата).

 

Для измерения характеристик и критериев качества необходим соответствующий математический аппарат.

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

Задание:

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

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

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

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

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

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

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

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

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

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

ЛИТЕРАТУРА

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

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

 

 

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


Дата добавления: 2020-04-08; просмотров: 442; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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