Лекции по курсу «Метрология и качество программного обеспечения» Лекция 5. Измерения при разработке и сопровождении программного продукта. Основные метрики эффективности процесса разработки и метрики качества ПС © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Роль и место измерений в производстве ПС Определение и назначение программы измерений Программа измерений компании – комплекс мероприятий, направленных на количественную оценку эффективности работы компании. Программа измерений выполняется как в рамках отдельных проектов, осуществляемых компанией, так и в рамках определённых видов деятельности компании. На крупных предприятиях программа измерений осуществляется специальным отделом по обеспечению качества – SQA (Software Quality Assurance team). © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Роль и место измерений в производстве ПС Цели программы измерений 1. Изучение выполняемых процессов в количественном выражении для обоснованного принятия управленческих решений; 2. Установка количественных целей компании по улучшению выполняемых процессов; 3. Сбор и анализ количественных данных о выполняемых процессах для отслеживания прогресса в достижении установленных целей. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Роль и место измерений в производстве ПС Где необходима программа измерений Планирование проекта или другой деятельности Мониторинг выполнения проекта Формулирование обязательств по контракту или формальных требований заказчика Поддержка потребностей менеджмента Обеспечение стратегических целей компании Сравнение показателей компании с показателями по индустрии или иными внешними показателями Разработка планов улучшения процесса разработки ПО © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Роль и место измерений в производстве ПС Понятие измерения В обсуждаемом контексте под измерением понимается процесс назначения символов (как правило, чисел) для представления атрибутов интересующей нас сущности по некоторому правилу. Элементами понятия измерения в данном случае являются: - измеряемый объект или процесс; - атрибуты объекта или процесса; - символы (обычно числа) и единицы измерения для представления измеряемых атрибутов; - правило назначения символов атрибутам. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Роль и место измерений в производстве ПС Понятие измерения (пример) Измеряемый объект: код. Атрибут объекта: размер. Представление атрибута: в виде числа (единица измерения - Правило вычисления: подсчитываются строки кода, не LOC). являющиеся пустыми или комментариями. Целью измерений всегда является ответ на какие-либо вопросы относительно измеряемого объекта или процесса. Если таковых вопросов нет – измерения являются ненужными. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Виды измерений, связанных с разработкой ПО Два вида измерений и связанные с ними понятия Основными видами измерений при разработке ПО являются - измерения продуктов; - измерения процессов производства. С ними связаны понятия метрики и индикатора. Метрика – функция, получающая на вход некоторые данные и дающая на выходе единственное числовое значение. Индикатор – форма представления набора значений метрики, удобная для анализа. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Виды измерений, связанных с разработкой ПО Три типа индикаторов Индикатор-цель (Success) – должно быть достигнуто некоторое целевое значение метрики (например, успешно пройдено 95% тестов); Индикатор-прогресс (Progress) – отслеживается развитие процесса во времени (например, число найденных ошибок увеличивается или уменьшается); Индикатор-анализ (Analysis) – используется с целью изучения объекта измерений. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Виды измерений, связанных с разработкой ПО Методика GQ(I)M – Goal Question Indicator Metric Методика GQ(I)M предписывает соблюдение следующих этапов формирования программы измерений: Идентификация целей Определить цели Сформулировать вопросы Выбрать и описать метрики и индикаторы Планирование процесса измерений Выполнение измерений Собрать данные Проверить правильность собранных данных Анализ и интерпретация данных © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Виды измерений, связанных с разработкой ПО Методика GQ(I)M – иерархическая схема © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Виды измерений, связанных с разработкой ПО Методика GQ(I)M – пример фрагмента иерархической схемы Стратегическая цель Подцель Вопрос Повысить качество разрабатываемого ПО Повысить эффективность формальных инспекций Какой объём рабочего продукта инспектируется за единицу времени? Индикатор Метрика © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Inspection Rate Примеры метрик эффективности процесса производства Наиболее употребительные метрики, характеризующие эффективность производственного процесса On project % time Productivity Phase Containment Effectiveness Inspection Fault Density © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Inspection Preparation Rate Inspection Rate Problem Resolution Rate Faults Screening Примеры метрик эффективности процесса производства On project % time (OPPT) OPPT = (Рабочее время, затраченное на проект / Общее рабочее время)*100% Стратегическая цель метрики – сокращение сроков выполнения проектов по разработке ПО. Изучаемый объект метрики – рабочее время, измеряемый атрибут – доля рабочего времени, затраченная на работу по проектам. Единица измерения - %. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Productivity Productivity = LOC / Рабочее время, затраченное на проект; Стратегическая цель метрики – повысить производительность труда. Изучаемый объект метрики – проект, измеряемый атрибут – производительность труда на проекте. Единица измерения – LOC / человеко-час. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Phase Containment Effectiveness (PCE) PCE = [D(I, I) / Sum(D(I, J))]*100%, где I, J =1,2,..,5, D(I,J) – число ошибок внесённых на фазе I и обнаруженных на фазе J. 1,…,5 – номера фаз проекта (1 – планирование, 2 – разработка требований, 3 – разработка дизайна, 4 – кодирование, 5 – тестирование). Стратегическая цель метрики – повысить качество разрабатываемого ПО, сократить сроки выполнения проектов по разработке ПО. Изучаемый объект метрики – фаза проекта, измеряемый атрибут – эффективность обнаружения ошибок, внесённых на этой фазе. Единица измерения – %. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Phase Containment Effectiveness (PCE) – визуальное представление PCE Performance 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 90,00% 75,00% 63,2% 75,0% 66,7% 70,00% 66,2% 53,5% Good! PCE % 100,00% 90,00% 40,4% 10,00% 0,00% PCE-Req PCE-Design Mean © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС PCE PCE-Coding Goal Примеры метрик эффективности процесса производства Inspection Fault Density (IFD) IFD = (Количество найденных ошибок / Размер рабочего продукта) Стратегическая цель метрики – повысить качество разрабатываемого ПО. Изучаемый объект метрики – инспекция, измеряемый атрибут – плотность найденных в ходе инспекции ошибок. Единица измерения – ошибка / <страница, требование, LOC, тест>. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Inspection Preparation Rate (IPR) IPR = (Количество инспекторов * Размер продукта) / Общее время подготовки; Стратегическая цель метрики – повысить качество разрабатываемого ПО. Изучаемый объект метрики – подготовка к инспекции, измеряемый атрибут – производительность подготовки к инспекции. Единица измерения – <страница, требование, LOC, тест>/ час. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Inspection Rate (IR) IR = Размер продукта / Общее время инспектирования; Стратегическая цель метрики разрабатываемого ПО. – повысить качество Изучаемый объект метрики – проведение инспекции, измеряемый атрибут – производительность инспектирования. Единица измерения – <страница, требование, LOC, тест>/ час. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Problem Resolution Rate (PRR) PRR = Количество дней на обработку задачи; Стратегическая цель метрики – сократить сроки выполнения проектов по разработке ПО. Изучаемый объект метрики – задача, измеряемый атрибут – время обработки. Единица измерения – день. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС 0,00 MOTrh04571 MOTrh04578 MOTrh04626 LIBbb89398 MOTrh04691 MOTrh04745 LIBbb96615 LIBbb97209 LIBdd00024 LIBdd00037 LIBdd00056 MOTrh04799 LIBdd00691 LIBdd01124 LIBdd01242 LIBdd01850 LIBdd04365 LIBdd06013 LIBdd06056 LIBdd06886 LIBdd07275 MOTrh04900 LIBdd07740 MOTrh04910 LIBdd07935 LIBdd08250 LIBdd08605 LIBdd08817 MOTrh04921 LIBdd09155 LIBdd09684 LIBdd09822 LIBdd10009 MOTrh04949 LIBdd10894 MOTrh04965 LIBdd11188 LIBdd11201 LIBdd11202 LIBdd11519 LIBdd11829 MOTrh04985 MOTrh04996 LIBdd12657 LIBdd13030 LIBdd13045 LIBdd13171 LIBdd13185 MOTrh05019 LIBdd14100 LIBdd14711 LIBdd14925 LIBdd15304 LIBdd15305 LIBdd15336 LIBdd15345 LIBdd15729 MOTrh05046 LIBdd16193 LIBdd16211 MOTrh05064 LIBdd17104 LIBdd17168 LIBdd17723 MOTrh05073 LIBdd18204 LIBdd18642 MOTrh05101 MOTrh05102 LIBdd19963 LIBdd22393 MOTrh05123 LIBdd23407 LIBdd23430 LIBdd27716 LIBdd23965 MOTrh05162 MOTrh05166 LIBdd26239 LIBdd26535 LIBdd27322 LIBdd27737 MOTrh05205 LIBdd28828 LIBdd30572 LIBdd30835 LIBdd30925 LIBdd30977 LIBdd31236 Days 40,00 30,00 Good! Примеры метрик эффективности процесса производства Problem Resolution Rate (PRR) – визуальное представление PCR Resolution Time New To Resolve (DDTS) 60,00 50,00 20,00 10,00 Actual PCR R-N © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Mean UCL LCL Goal Примеры метрик эффективности процесса производства Faults Screening (FS) FS = (Общее количество ошибок – Число не найденных ошибок)/ Общее количество ошибок * 100%; Стратегическая цель метрики – повысить качество разрабатываемого ПО. Изучаемый объект метрики – проект, измеряемый атрибут – эффективность обнаружения дефектов. Единица измерения – %. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик эффективности процесса производства Faults Screening (FS) – визуальное представление 99,00% 98,50% 98,00% PS Goal 97,50% 97,00% 96,50% 96,00% Project1 Project2 Project3 Project4 Project5 Project6 © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик качества продуктов Наиболее употребительные метрики, характеризующие качество производимых программных продуктов In Process Faults Product Fault Density © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик качества продуктов In Process Faults (IPF) IPF = (Число обнаруженных ошибок до выпуска его релиза) / LOC; Стратегическая цель метрики – повысить качество разрабатываемого ПО. Изучаемый объект метрики – продукт, измеряемый атрибут – плотность неполадок. Единица измерения – неполадка / LOC. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик качества продуктов In Process Faults (IPF) – визуальное представление IPF Performance (IPF/Delta KAELOC) 3,00 2,50 Good! IPF/ Delta KAELOC 3,50 2,00 1,50 1,00 0,50 0,00 IPF Total IPF-Req IPF-Design IPF (Faults/KAELOC) © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС IPF-Coding Mean Goal IPF-Test Примеры метрик качества продуктов Product Fault Density (PFD) PFD-Req = Число ошибок, допущенных на этапе разработки требований / Размер требований; PFD-Design = Число ошибок, допущенных на этапе дизайна / Размер документов дизайна; PFD-Coding = Число ошибок, допущенных на этапе кодирования / LOC; PFD-Test = Число ошибок, допущенных на этапе тестирования / Количество тестов; © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик качества продуктов Product Fault Density (PFD) - продолжение Стратегическая цель метрики разрабатываемого ПО. – повысить качество Изучаемый объект метрики – продукт, измеряемый атрибут – плотность неполадок (учитывает все ошибки). Единица измерения – неполадка / единица размера. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Примеры метрик качества продуктов Product Fault Density (PFD) – визуальное представление Fault / Size unit Products Fault Density 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 1,8085 0,6136 0,2861 0,2077 FD-Req (Fault/Req) FD-Design (Fault/Page) FD-Coding (Fault/KAELOC) Products Fault Density © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС FD-Test (Fault/Test)