Похожие презентации:
Lektsia_3
1.
Метрики, направленияприменения метрик.
Метрики сложности.
Метрики стилистики.
2.
Уровни системы показателейкачества
3.
Метрика– мера количественной оценки качества ПО
по заданному критерию, система или способ
измерений качества программного
обеспечения.
Метрика содержит один или несколько
оценочных элементов.
Оценочный элемент
– измеримая характеристика программного
обеспечения, имеющая численное значение в
избранной измерительной шкале.
4.
Метрика качества программ- система измерений качества программ.
Эти измерения могут проводиться
• на уровне критериев качества программ или
• на уровне отдельных характеристик качества.
5.
Метрика качества программПри измерениях на уровне критериев
качества программ система измерений
позволяет непосредственно сравнивать
программы по качеству.
При этом сами измерения не могут быть
проведены без субъективных оценок
свойств программ.
6.
Метрика качества программПри измерениях на уровне отдельных
характеристик качества измерения
характеристик можно выполнить объективно и
достоверно,
но оценка качества ПО в целом будет
связана с субъективной интерпретацией
получаемых оценок.
7.
Направления исследованияметрик ПО
• поиск метрик, характеризующих наиболее
специфические свойства программ, т.е. метрик
оценки самого ПО;
• использование метрик для оценки
технических характеристик и факторов
разработки программ, т.е. метрик оценки
условий разработки программ.
8.
Основные направленияприменения метрик
• оценки топологической и
информационной сложности программ;
• оценки надежности программных систем,
позволяющие прогнозировать отказовые
ситуации;
• оценки производительности ПО и
повышения его эффективности путем
выявления ошибок проектирования;
9.
Основные направленияприменения метрик
• оценки уровня языковых средств и их
применения;
• оценки трудности восприятия и
понимания программных текстов,
ориентированные на психологические
факторы, существенные для сопровождения
и модификации программ;
• оценки производительности труда
программистов для прогнозирования сроков
разработки программ и планирования работ
по созданию программных комплексов.
10.
Метрики сложности программ11.
Метрики сложности программ• метрики размера программ
• метрики сложности потока управления
программ
• метрики сложности потока данных
программ
12.
Метрики размера программнаиболее просты и широко распространены.
Традиционной характеристикой размера
программ является количество строк
исходного текста.
Под строкой понимается любой оператор
программы, поскольку именно оператор, а не
отдельно взятая строка, является тем
интеллектуальным "квантом" программы,
опираясь на который можно строить метрики
сложности ее создания.
13.
Метрики размера программНепосредственное измерение размера
программы дает хорошие результаты.
Оценка размера программы недостаточна
для принятия решения о ее сложности, но
вполне применима для классификации
программ, существенно различающихся
объемами.
При уменьшении различий в объеме
программ на первый план выдвигаются оценки
других факторов, оказывающих влияние на
сложность.
14.
Метрики размера программТаким образом,
оценка размера программы есть
оценка по номинальной шкале, на
основе которой определяются только
категории программ без уточнения
оценки для каждой категории.
15.
Метрика ХолстедаОснову метрики Холстеда составляют четыре
измеряемых характеристики программы:
n1 - число уникальных операторов
программы, включая символы-разделители,
имена процедур и знаки операций (словарь
операторов);
n2 - число уникальных операндов
программы (словарь операндов);
N1 - общее число операторов в
программе;
N2 - общее число операндов в программе.
16.
Метрика ХолстедаОпираясь на эти характеристики, получаемые
непосредственно при анализе исходных текстов
программ, М. Холстедом введены следующие
оценки:
словарь программы
n=n1+n2,
длина программы
N=N1+N2,
объем программы
V=N*log2(n) (бит).
Под битом подразумевается логическая
единица информации - символ, оператор,
операнд.
17.
Метрика Холстедаn* - теоретический словарь программы,
т.е. словарный запас, необходимый для
написания программы, с учетом того, что
необходимая функция уже реализована в
данном языке и, следовательно, программа
сводится к вызову этой функции.
V* - потенциальный объем программы,
соответствующий максимально компактному
тексту программы, реализующей данный
алгоритм.
V* = n* * log2 n*,
18.
Метрики сложности потокауправления программ
С помощью этих оценок оперируют либо
плотностью управляющих переходов внутри
программ, либо взаимосвязями этих переходов.
Традиционное представление программ в
виде управляющего ориентированного графа
G=(V,E),
где V - вершины, соответствующие
операторам, а E - дуги, соответствующие
переходам.
19.
Метрики сложности потокауправления программ
• Метрика подсчета точек пересечения
Метрика ориентирована на анализ программ,
при создании которых использовалось
неструктурное кодирование.
• Метрика Майерса
• Метрика Маккейба
20.
Метрика МаккейбаВпервые графическое представление программ
было предложено Маккейбом.
Основная метрика сложности - цикломатическая
сложность графа программы или цикломатическое
число Маккейба, характеризующее трудоемкость
тестирования программы.
Z(G)=e-v+2p,
где e - число дуг ориентированного графа G;
v - число вершин;
p - число компонентов связности графа.
21.
Метрики сложности потокауправления программ
Метрика Джилба
логическая сложность программы определяется
как насыщенность программы выражениями типа IFTHEN-ELSE.
При этом вводятся две характеристики:
CL - абсолютная сложность программы,
характеризующаяся количеством операторов условия;
cl - относительная сложность программы,
характеризующаяся насыщенностью программы
операторами условия,
т. е. cl определяется как отношение CL к общему
числу операторов.
Метрика граничных значений
22.
Метрикисложности потока данных
- метрики сложности потока данных, т.е.
использования, конфигурации и размещения
данных в программах.
23.
Метрики сложностипотока данных
Метрика обращения к глобальным
переменным связывает сложность программ с
обращениями к глобальным переменным.
Метрика спена основывается на
локализации обращений к данным внутри
каждой программной секции.
Метрика Чепина - оценка
информационной прочности отдельно взятого
программного модуля с помощью анализа
характера использования переменных из списка
ввода-вывода.
24.
Метрика обращения кглобальным переменным
Пара “модуль – глобальная переменная”
обозначается как (p,r), где p – модуль, имеющий
доступ к глобальной переменной r.
В зависимости от наличия в программе
реального обращения к переменной r формируются
два типа пар “модуль – глобальная переменная” :
фактические и возможные.
Характеристика Aup говорит о том, сколько раз
модули Up действительно получили доступ к
глобальным переменным, а число Pup – сколько
раз они могли бы получить доступ.
Отношение числа фактических обращений к
возможным определяется формулой
Rup=Aup/Pup
25.
Метрика обращения кглобальным переменным
Формула показывает приближенную
вероятность ссылки произвольного модуля на
произвольную глобальную переменную.
Чем выше эта вероятность, тем выше
вероятность “несанкционированного” изменения
какой-либо переменной, что может существенно
осложнить работы, связанные с модификацией
программы.
26.
Метрика обращения кглобальным переменным
Пример расчета метрики “модуль –
глобальная переменная”.
Пусть в программе имеются 3 глобальные
переменные и 3 подпрограммы. Если
предположить, что каждая подпрограмма имеет
доступ к каждой из переменных, то получается
девять возможных пар, то есть Pup=9.
Пусть первая подпрограмма обращается к
одной переменной, вторая – двум, а третья не
обращается ни к одной переменной.
Тогда Aup=3,
Rup=3/9.
27.
Метрика спенаСпен – это число утверждений, содержащих
данный идентификатор, между его первым и
последним появлением в тексте программы.
Идентификатор, появившийся n раз, имеет
спен, равный n-1.
При большом спене усложняется
тестирование и отладка.
28.
Метрики сложности программРассмотренные метрики сложности
программы основаны на анализе исходных
текстов программ, что обеспечивает единый
подход к автоматизации их расчета.
29.
Метрики стилистики ипонятности программ
• Метрика уровня комментированности
программ
• Метрики Холстеда
• Метрика изменения длины программной
документации
30.
Метрика уровнякомментированности программ
Наиболее простой метрикой стилистики и
понятности программ является оценка уровня
комментированности программы F:
F=Nком/Nстр,
где
Nком - количество комментариев в
программе;
Nстр - количество строк или операторов
исходного текста.
Таким образом, метрика F отражает
насыщенность программы комментариями.
31.
Метрика уровнякомментированности программ
Принято считать, что F 0.1, т.е. на каждые
десять строк программы должен приходиться
минимум один комментарий.
Комментарии распределяются по тексту
программы неравномерно.
Приведенная формула недостаточно точно
отражает комментированность функциональной
части текста программы.
32.
Метрики Холстеда1. Для измерения теоретической длины
программы N^ М. Холстед вводит
аппроксимирующую формулу:
N^ = n1*log2(n1) + n2*log2(n2),
где n1 - словарь операторов;
n2 - словарь операндов программы.
33.
Метрики ХолстедаЧастота использования операторов и
операндов в программе пропорциональна
двоичному логарифму количества их типов.
Приведенное выражение справедливо для
потенциально корректных программ,
свободных от избыточности или
несовершенства (стилистических ошибок).
34.
Метрики ХолстедаДля стилистически корректных программ
отклонение в оценке теоретической длины N^ от
реальной N не превышает 10%.
Таким образом, для некоторой программы,
при более чем 10%-ном отклонении можно
говорить о наличии в программе стилистических
ошибок, т. е. несовершенств.
На практике N и N^ часто существенно
различаются
35.
Метрики Холстеда2.Другой характеристикой, принадлежащей
к метрикам корректности программ, по
М.Холстеду, является уровень качества
программирования L (уровень программы).
где V и V* определяются
V= N* log2(n) (бит)
V* = n* * log2 n*,
36.
Метрики ХолстедаПредполагается, что при снижении
стилистического качества программирования
уменьшается содержательная нагрузка и каждый
компонент программы и, как следствие, расширяется
объем реализации исходного алгоритма.
Учитывая это, можно оценить качество
программирования на основании степени расширения
текста относительно потенциального объема V*.
Очевидно,
для идеальной программы L=1,
а для реальной - всегда L<1.
37.
Метрики Холстеда3. Нередко целесообразно определить уровень
программы, не прибегая к оценке ее теоретического
объема, поскольку список параметров программы
часто зависит от реализации и может быть
искусственно расширен.
Это приводит к увеличению метрической
характеристики качества программирования.
Можно аппроксимировать эту оценку выражением,
включающим только фактические параметры, т. е.
параметры реальной программы:
L^ = 2*n2 / (n1*N2).
38.
Метрики Холстеда4. Располагая характеристикой L^, Холстед
вводит характеристику I, которую
рассматривает как интеллектуальное
содержание конкретного алгоритма,
инвариантное по отношению к используемым
языкам реализации:
I = L^ * V.
Эквивалентность I и V* свидетельствует о
том, что мы имеем дело с характеристикой
информативности программы.
39.
Метрика изменения длиныпрограммной документации
Исходным является предположение о том, что
чем меньше изменений и корректировок
вносится в программную документацию, тем
более четко были сформулированы решаемые
задачи на всех этапах работ.
Неточности и неясности при создании ПО
служат причиной увеличения количества
корректировок и изменений в документации.
40.
Метрика изменения длиныпрограммной документации
Переходный процесс с немногочисленными
изменениями длин документов - естественное
следствие хорошо обдуманной идеи, хорошо
проведенного анализа, проектирования и
ясной структуры программ.
Эти взаимосвязи и являются основными
для данного метода оценки.