Скачиваний:
38
Добавлен:
29.01.2021
Размер:
2.97 Mб
Скачать

Метрики для оценивания качества программного обеспечения

СПИИ РАН

32

Деятельность руководства программного проекта базируется на те или иные метрики, которые регулярно собираются и анализируются для определения текущего состояния проекта и его соответствия утвержденному плану разработки.

Эти метрики хранятся в БД проекта и накапливаются в организации-разработчике для сравнительного анализа и планирования. Всего известно свыше 500 различных метрик, которые могут собираться в программном проекте; из них в каждом конкретном проекте используется только небольшая часть, выбор которой определяется исполнителем и заказчиком, исходя из целей и задач проекта.

СПИИ РАН

33

Требования, предъявляемые к метрикам, используемым при оценивании качества ПО

простота для понимания и точная определенность – для упрощения их вычисления и анализа;

дешевизна – для минимизации связанных с ними расходов на их сбор, анализ и дальнейшее применение;

устойчивость – чтобы изменения в их значениях в ходе проекта имели осмысленную интерпретацию;

согласованность между собой и с длительной историей использования – чтобы максимизировать свою ценность для исполнителей и заказчика;

ненавязчивость – чтобы обеспечивать наибольшие возможности для их собирания, желательно с минимальным

участием исполнителей.

СПИИ РАН

34

Метрики самого процесса разработки (Process Metrics), используемые для улучшения разработки и сопровождения:

эффективность сдерживания дефектов (Defect Containment Effectiveness) в процентах числа дефектов, выявленных до сдачи продукта, от общего числа дефектов (выявленных до сдачи плюс выявленных уже после сдачи);

себестоимость программной разработки (Cost of Software Development) в суммарных затратах на одного участника разработки в денежном выражении в месяц, включая оборудование и накладные расходы;

производительность труда (Productivity) в KAELOC на 1 человеко-месяц;

СПИИ РАН

35

Метрики разрабатываемого продукта (Product Metrics)

– используемые для улучшения его качества:

размер исходного кода (Source Code Size) в KLOC или KAELOC;

сложность программного кода (Code Complexity) в единицах, определяемых выбранной моделью оценки сложности;

объем разработанной документации (Documentation Size) в числе страниц или строк текста;

стоимость разработки (Development Cost) в денежном выражении на KLOC или KAELOC продукта;

пост-релизные дефекты (Post-Release Defects) в количестве дефектов, выявленных уже после сдачи продукта, как на стороне заказчика, так и исполнителя в течение определенного срока (обычно 1 год или 6 месяцев), на 1 KLOC или KAELOC;

СПИИ РАН

36

Метрики конкретного проекта (Project Metrics), используемые для его улучшения:

количество разработчиков и тестировщиков (Staffing) в количестве ставок и фактическом количестве людей при использовании неполных ставок;

количество различных методов и инструментов, используемых в разработке (Methods and Tools), включая лицензии на ПО;

уже понесенные трудозатраты (Effort) в человеко-днях или человеко-месяцах;

суммарная текущая стоимость проекта (Project Cost) в денежном выражении;

достигнутый процент прохождения тестов из запланированного тестового набора (Tests Passed);

достигнутый процент покрытия тестами (Test Coverage) требований из спецификации и(или) кода по различным критериям покрытия;

обнаруженная плотность ошибок/дефектов (Defect Density) в количестве обнаруженных дефектов (ошибок) на 1 KLOC или 1 KAELOC продукта;

достигнутое качество кода (Product Quality) в оценке количества еще не выявленных дефектов плюс число уже известных, но еще не устраненных дефектов, на 1 KLOC или 1 KAELOC продукта;

достигнутая степень завершенности проекта (Project Completion)

в процентах по объему готового кода или по количеству готовых модулей;

37

СПИИ РАН

точность следования графику (Schedule Accuracy) в процентах отклонений фактических дат запланированных событий проекта от плановых дат;

точность поставок (On Time Delivery) в проценте поставок, сделанных точно в срок, от всех совершенный поставок в данном проекте;

затраты на обеспечение качества (Cost of Quality) в процентах от всех трудозатрат в данном проекте;

затраты на переделки (Cost of Poor Quality) в процентах от всех трудозатрат в данном проекте; включают в себя затраты на поиск найденных ошибок, их исправление и повторение разработки до верификации сделанных исправлений включительно; входят как часть в затраты на обеспечение качества;

текущая удовлетворенность заказчика ходом проекта (Customer Satisfaction) в баллах (обычно от 1 – самая низкая до 10 – самая высокая).

СПИИ РАН

38

Модели качества программного обеспечения

Табл. Эталонные данные по промышленности США

Метрика

Среднее

Лучшее в

классе

Производительность (число KAELOC на 1 человеко-месяц)

 

3,23

7,14

Стоимость (стоимость разработки 1 KAELOC)

$4 334

$1 962

Плотность дефектов (число дефектов на 1 KAELOC)

15,6

8,1

Эффективность устранения дефектов (% от общего числа)

95%

99,50%

Пост-релизные дефекты (число дефектов на 1 KAELOC)

0,78

0,041

Источник: Capers Jones (2000) Software Assessments, Benchmarks, and Best Practice

СПИИ РАН

39

Программный код и его метрики

СПИИ РАН

40

Программный код и его метрики

Одной из тем в программировании, к которым интерес периодически то появляется, то пропадает, является вопрос метрик кода программного обеспечения. В крупных программных средах время от времени появляются механизмы подсчета различных метрик. Волнообразный интерес к теме так выглядит потому, что до сих пор в метриках не придумано главного — что с ними делать. То есть даже если какой-то инструмент позволяет хорошо подсчитать некоторые метрики, то что с этим делать дальше зачастую непонятно. Конечно, метрики — это и контроль качества кода (не пишем большие и сложные функции), и «производительность» (в кавычках) программистов, и скорость развития проекта.

СПИИ РАН

41

Соседние файлы в папке Лекции