Расчет характеристик качества разработки программ
Оценка сложности программ.
Метрики Холстеда для определения размера программ
ЦЕЛЬ РАБОТЫ: изучение методов оценки метрических характеристик качества программных продуктов. Приобретение практических навыков по оценке сложности программных продуктов.
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Существует множество разных подходов к оценке качества программ. С одной стороны, оценить качество объективно может только пользователь (причем такая оценка трудно формализуется). С другой – обеспечить необходимый уровень качества может только разработчик, добившись определенных характеристик конструкции и технологии создания программ. Эти характеристики также трудно формализуются и практически не соответствуют оценкам пользователей.
Взаимосвязь этих двух процессов возможна лишь при наличии формализованной модели оценки качества ПО и факторов его определяющих.
Качество ПО – это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявленными требованиями.
Оценка качества включает в себя два основных этапа: 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!