- •Требования к критериям качества.
- •При этом на качество влияют следующие группы персонала:
- •Модель качества программ МакКола. Направления оценки.
- •Внутренние и внешние метрики качества программного продукта.
- •Взаимосвязи между различными типами качества
- •Атрибуты надежности программного продукта.
- •Атрибуты практичности программного продукта.
- •Атрибуты эффективности программного продукта.
- •Атрибуты сопровождаемости программного продукта.
- •Атрибуты мобильности программного продукта.
- •Цикломатическое число:
- •Модифицированная метрика Джилба
- •Набор показателей mood (Metrics for Object Oriented Design)
Атрибуты практичности программного продукта.
Практичность (Usability): способность ПО, обусловливающая легкость его понимания, изучения и использования, а также привлекательность для пользователя при использовании в указанных условиях.
Понятность (Understandability): способность ПП, обеспечивающая пользователю понимание, является ли ПО пригодным, и как его можно использовать для конкретных задач и условий использования.
Изучаемость (Learnability): способность ПП, обеспечивающая изучение пользователем его применения.
Легкость использования (Operability): способность ПП, обеспечивающая пользователю возможность его эксплуатировать и управлять им.
Привлекательность (Attractiveness): способность ПП нравиться пользователю.
Согласованность (Compliance): способность ПО придерживаться стандартов, соглашений, руководств по стилю или норм, связанных с практичностью.
Атрибуты эффективности программного продукта.
Эффективность (Efficiency): способность ПО обеспечивать требуемую производительность относительно количества используемых ресурсов в установленных условиях.
Временная эффективность (Time behaviour): способность ПО обеспечивать приемлемые времена отклика и обработки, а также пропускную способность при выполнении его функций в установленных условиях.
Использование ресурсов (Resource utilization): способность ПО использовать приемлемые ресурсы в течение приемлемого времени при выполнении его функций в установленных условиях.
Согласованность (Compliance): способность ПО придерживаться стандартов или соглашений, связанных с эффективностью.
Атрибуты сопровождаемости программного продукта.
Сопровождаемость (Maintainability): способность ПО к модификации. Изменения могут включать исправления, усовершенствования или адаптацию ПО к изменениям в среде, а также в требованиях и функциональных спецификациях.
Анализируемость (Analyzability): способность ПП к диагностике его недостатков или причин отказов в ПО, а также к идентификации его частей для модификации.
Изменяемость (Changeability): способность ПП к обеспечению реализации специфицированных изменений.
Стабильность (Stability): способность ПО минимизировать непредвиденные эффекты от его изменений.
Тестируемость (Testability): способность ПП, обеспечивающая проверку и приемку модифицированного ПО.
Согласованность (Compliance): способность ПО придерживаться стандартов или соглашений, связанных с сопровождаемостью.
Атрибуты мобильности программного продукта.
Мобильность (Portability): способность ПО к переносу из одной среды в другую.
Адаптируемость (Adaptability): способность ПО к модификации для различных указанных сред без применения других действий или средств, чем те, что предназначены для этой цели для рассматриваемого ПО.
Легкость установки (Installability): способность ПО к установке в указанной среде.
Сосуществование (Co-existence): способность ПО сосуществовать с другим независимым ПО в общей среде, разделяя общие ресурсы.
Заменяемость (Replaceability): способность ПО к использованию вместо другого указанного ПО в среде заменяемого ПО.
Согласованность (Compliance): способность ПО придерживаться стандартов или соглашений, связанных с мобильностью.
LOC (lines of code)
Метрики качества программ:
Базовой внутренней характеристикой качества является сложность
Первичные внутренние метрики
Базовой первичной характеристикой сложности является
LOC (lines of code) – количество строк программного кода.
Чаще всего проекты оцениваться в KLOCах (кило LOC)
функциональные указатели;
объектные указатели.
Функциональная единица. Транзакция по Альбрехту. Виды транзакций.
Функциональный указатель по Альбрехту – некоторая единица измерения функциональности ПО.
Основой измерения функциональности является транзакция.
Транзакция по Альбрехту – это осознаваемая пользователем операция перемещения данных между программой и внешней средой.
внешний ввод;
внешний вывод;
внешний запрос.
внешний логический файл;
внутренний логический файл.
В зависимости от сложности функциональных действий их можно измерить различным количеством функциональных указателей.
Статическая и динамическая сложность. Рабочая функция алгоритма.
Характеристики статической сложности:
Метрические характеристики, применяемые к тексту программы, графу программы или его структурной схеме.
Оценка сложности процесса исполнения программы.
Чаще всего динамическая сложность оценивается рабочей функцией (аналитическая зависимость времени выполнения программы от размера обработанных данных):
где k – некоторая постоянная величина, которая оценивает один шаг исполнения программы,
n – количество «шагов»;
Метрика Холстеда.
Все характеристики Холстеда подразделяются на первичные и производные.
Первичные характеристики:
N1 – количество операторов программы;
N2 – количество операндов программы;
h1 – словарь операторов в программе (количество уникальных);
h2 – словарь операндов в программе (количество уникальных);
h1 *– идеальный словарь операторов (меньше которого не может быть).
h2 *– идеальный словарь операндов (меньше которого не может быть).
Пример.
Opt: proc (a,b);
var a, b, c: integer;
var x, y: real;
begin
c:=10;
x:=1;
a:=c+b;
do while a<0
if c=x then
a:=x+a;
else
x:=x+1
y:=x*17-c;
end.
Метрика МакКейба. Метрика Майерса.