- •Модели качества программного обеспечения и методы его оценивания
- •Содержание
- •Основные понятия и определения
- •Методологические основы комплексного моделирования
- •Методологические основы комплексного моделирования
- •Методологические основы комплексного моделирования
- •Возможный перечень свойств моделей
- •Основные понятия и определения
- •Первоочередные задачи исследований на этапе формирования основных положений
- •Санкт-Петербургский институт информатики и автоматизации РАН
- •Основные понятия и определения.
- •Структура, используемая для моделей качества
- •Модель качества программной продукции
- •Модель качества при использовании
- •Цели построения моделей качества
- •Модели качества программного обеспечения
- •Руководящие документы
- •Структура, используемая для моделей качества
- •Эталонная модель измерения качества программного продукта
- •Качество программного продукта на различных этапах
- •Модель жизненного цикла качества системы/программного обеспечения
- •Модель качества программного обеспечения МакКола
- •Модель качества программного продукта Боэма
- •Модель качества программного обеспечения
- •Модель качества программного обеспечения Гецци
- •Некоторые другие модели качества программного
- •Основные аспекты качества программного обеспечения
- •Факторы и атрибуты внешнего и внутреннего качества
- •Факторы и атрибуты внешнего и внутреннего качества
- •Сравнительный анализ моделей качества программного
- •Метрики для оценивания качества программного обеспечения
- •Деятельность руководства программного проекта базируется на те или иные метрики, которые регулярно собираются
- •Требования, предъявляемые к метрикам, используемым при оценивании качества ПО
- •Метрики самого процесса разработки (Process Metrics), используемые для улучшения разработки и сопровождения:
- •Метрики разрабатываемого продукта (Product Metrics)
- •Метрики конкретного проекта (Project Metrics), используемые для его улучшения:
- •точность следования графику (Schedule Accuracy) в процентах отклонений фактических дат запланированных событий проекта
- •Модели качества программного обеспечения
- •Программный код и его метрики
- •Программный код и его метрики
- •Программный код и его метрики
- •Программный код и его метрики
- •Программный код и его метрики
- •Программный код и его метрики
- •Общие показатели качества программных средств
- •Частные показатели качества программных средств
- •Методы оценивания качества программного обеспечения
- •Методы оценивания качества программного обеспечения
- •Характерные особенности задач многокритериального выбора
- •Характерные особенности задач многокритериального выбора
- •Характерные особенности задач многокритериального выбора
- •4.1.1. Характерные особенности задач многокритериального выбора
- •Характерные особенности задач многокритериального выбора
- •Характерные особенности задач многокритериального выбора
- •Уточненное описание структуры выбора с многими отношениями предпочтения. Общая постановка задач векторной
- •Уточненное описание структуры выбора с многими отношениями предпочтения. Общая постановка задач векторной
- •Уточненное описание структуры выбора с многими отношениями предпочтения. Общая постановка задач
- •Частные показатели качества программных средств
- •Список основной рекомендуемой литературы
- •Список дополнительной рекомендуемой литературы
- •Список дополнительной рекомендуемой литературы
- •Контактная18. Conclusionинформация
Метрики для оценивания качества программного обеспечения
СПИИ РАН |
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 |