Далее конкретные метрики выводятся в соответствии с особенностями проекта из критериев качества: accuracy (точность), completeness (полнота), consistency (согласованность), module size (размер модулей), data coupling (связь модулей по данным), cohesion (связность), modularity (модульность), span of control (норма управляемости).
Измерение качества на основе сопровождения продукта
Одной из главных путей способов повышения качества является путь анализа практического опыта использования данного продукта или процесса и использования полученных данных для его совершенствования. Речь идет о так называемой парадигме QIP – Quality Improvement Paradigm [35].
Парадигма совершенствования качества дает систематический подход к организации процессов сбора практического опыта, систематизации накопленной информации и подготовке результирующих выводов для улучшения качества. Одним из главных процессов в дисциплине разработки программ, где этот опыт должен накапливаться, является процесс сопровождения. Потеря значимой информации на этапе сопровождения или несистематический недостаточно формальный процесс сбора информации неизбежно дает недостаточно объективную или искаженную основу для принятия технических решений о путях развития и совершенствования программной системы
Парадигма улучшения качества представляет собой схему для применения научного подхода в контексте дисциплины инженерии программного обеспечения для совершенствования процесса разработки и связанных с ним результирующих программных продуктов.
Наиболее применимым способом реализации парадигмы улучшения качества является иерархический подход формирования информации: от целей к вытекающим из них вопросам, от вопросов - к метрикам. ( [35]).
Другой частью метода является стандартный научный подход к выработке решений: формулирование проблемы, сбор данных и планирование, формирование гипотез, подготовка к проверке, исполнение проверки, анализ результатов, формулировка решения (рис. 8 [35]). Важно подчеркнуть, что данный процесс должен идти строго на метрической основе. В противном случае полезность получаемых результатов значительно снижается.
Рис. 8. Вывод решений (научный подход)
Итогом процесса является накопление знаний о качестве. Для больших систем, находящихся длительное время в эксплуатации, в особенности для распределенных систем необходимым условием здесь является регулярность структур базы данных о качестве. Одним из наиболее эффективных решений является организация информации в виде так называемых фреймов качества: (рис. 9 [35]).
Рис. 9. Фрейм качества
База знаний о качестве находящегося на сопровождении программного продукта является очень точным и достаточным источником для формирования требований к новой версии продукта и принятия решений, основанных на количественном анализе, о развитии существующих подсистем, создании новых версий, снятии с эксплуатации и т.п.
Интегральная оценка качества
Интегральная оценка качества производится на основе анализа взаимовлияния различных параметров характеризующих качество продукта (рис. 10 [23]).
Рис.10. Диаграмма влияния для подмножества метрик качества
Методология метрического анализа качества
В настоящее время разработано множество метрик качества программного обеспечения общего назначения, таких как сложность, модульность, тестируемость и т.п. Использование данных метрик, безусловно, очень полезно, вместе с тем следует учитывать, что универсальные метрики в совокупности не дают полного численного описания уровня качества. В частности, вследствие универсальности им присущи следующие недостатки: они базируются в большей степени на лексических и синтаксических характеристиках и не учитывают семантическую составляющую продукта; они сконструированы без учета особенностей требуемой предметной области, операционного окружения и методологии разработки. Традиционные метрики не учитывают качество обрабатываемых данных и взаимодействие данных с потоком вычислений.