Краткие теоретические сведения и методические указания к выполнению работы. Метрическую теорию программ представляют различные математические модели определения численных значений характеристик программного обеспечения
Метрическую теорию программ представляют различные математические модели определения численных значений характеристик программного обеспечения, в том числе характеристик качества.
Рис.1. Область применения метрической теории программ
Каждая модель представляет ту или иную метрику программы (программную метрику) (рис. 1). По типу получаемой информации о метриках программ эти модели можно разбить на следующие группы: оценивающие отклонение от нормы, прогнозирующие значения характеристик, формирующие принятие решений о соответствии программного обеспечения заданным требованиям. По типу используемой информации о программах в моделях различают метрики, основанные на лексическом анализе программ; основанные на анализе потока управления; основанные на анализе внутримодульных и межмодульных связей и метрики, основанные на анализе потока данных.
Метрики всех четырех групп используют, главным образом, для прогнозирования и оценки сложности и корректности программ. К ним относят метрики Холстеда, Джилба, Маккейба, Майерса, Чепина и некоторые другие. Метрики внутримодульных и межмодульных связей являются основными характеристиками сложности программных комплексов в фазе проектирования. Аккумулируя поток управления и потока данных, метрики внутримодульных и межмодульных связей образуют шкалы функциональной прочности (связности) и сцепления модулей. Рассматривая сложность как антипод надежности, возможна косвенная оценка надежности по принципу: "чем меньше сложность, тем больше надежность". При этом задача проектирования надежного программного обеспечения сводится к достижению максимальной прочности и минимального сцепления модулей. Исторически первыми появились математические модели, представляющие метрики программ, основанных на анализе лексики и потока управления программ, реализующих заданный алгоритм. Типичными представителями таких метрик являются метрики Холстеда и Маккейба. Типичными представителями метрик, основанными на лексическом анализе, являются метрики Холстеда и Маккейба.
Метрика програ́ммного обеспе́чения (англ.software metric) – это мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций.
Качество ПО – это совокупность свойств, определяющих полезность изделия (программы) для пользователей в соответствии с функциональным назначением и предъявлёнными требованиями.
Характеристика качества программы – понятие, отражающее отдельные факторы, влияющие на качество программ и поддающиеся измерению.
Критерий качества – численный показатель, характеризующий степень, в которой программе присуще оцениваемое свойство.
Критерии качества включают следующие характеристики: экономичность, документированность, гибкость, модульность, надёжность, обоснованность, тестируемость, ясность, точность, модифицируемость, эффективность, легкость сопровождения и т.д.
Критерий должен:
1) численно характеризовать основную целевую функцию программы;
2) обеспечивать возможность определения затрат, необходимых для достижения требуемого уровня качества, а также степени влияния на показатель качества различных внешних факторов;
3) быть по возможности простым, хорошо измеримым и иметь малую дисперсию.
Для измерения характеристик и критериев качества используют метрики. Метрика качества программ – система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
В исследовании метрик ПО различают два основных направления:
1) поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;
2) использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.
По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:
1) метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода;
2) метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализации и определяют качество ПО, которое будет достигнуто в итоге;
3) метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.