
Метрики.ppt
- Количество слайдов: 29
Метрики оценки характеристик качества программных средств
Измерения при разработке ПО необходимы для того, чтобы: ¡ ¡ ¡ определить или показать качество продукции; оценить производительность труда персонала, занятого разработкой; оценить выгоды (прибыль или доход), которые могут быть получены в результате разработки новых программных средств; сформировать основу (базовую линию) для последующих оценок; получить данные для обоснования запросов на дополнительные средства, обучение и т. п.
Группы метрик ¡ ¡ ¡ Метрики производительности фокусируются на выходе процессов разработки ПО. Метрики качества позволяют судить о том, насколько близко соответствие программного изделия явным и подразумеваемым требованиям пользователя, т. е. пригодности изделия к использованию. Технические метрики в большей степени относятся к особенностям программного изделия, а не к процессу его разработки.
Классификация метрик по признаку ориентации ¡ размеро-ориентированные метрики, использующиеся для сбора результатов прямых измерений программного продукта и его качества, а также процесса разработки; ¡ функционально-ориентированные метрики, которые являются косвенными мерами, характеризующими функциональное назначение продукта и особенности его входных и выходных данных; ¡ человеко-ориентированные метрики, которые также являются косвенными мерами, позволяющими судить об отношении персонала (разработчиков и пользователей), об эффективности и качестве работы программного изделия, удобстве взаимодействия с ним, простоте обучения и т. д.
Размерно-ориентированные метрики Прямо измеряют программный продукт и процесс его разработки. Основываются размерноориентированные метрики на LOC – оценках (Lines Of Code). LOC-оценка – это количество строк в программном продукте.
Исходные данные для расчета LOCметрик Проек т Затраты, мес. чел. - Стоимость тыс. $ КLOC, тыс. LOC Страни ц Ошибк и Количество человек
Производительность = Длина / Затраты (тыс. LOC/чел. -мес. ) Качество = Ошибки / Длина (Единиц/тыс. LOC) Удельная стоимость = Стоимость /Длина (тыс. $/LOC) Документированность = Страниц_Документа / Длина (Страниц/тыс. LOC)
Основные показатели SLOC Количество «физических» строк кода (общее число строк исходного кода, включая комментарии и пустые строки) ¡ Количество «логических» строк кода (количество команд и зависит от используемого языка программирования) ¡
Важно! Метрика LOC не отражает трудоемкости по созданию программы
Функционально-ориентированные метрики косвенно измеряют программный продукт и процесс его разработки. Вместо подсчета LОС-оценки при этом рассматривается не размер, а функциональность или полезность продукта.
Информационные характеристики метрики 1. Количество внешних вводов. 2. Количество внешних выводов. 3. Количество внешних запросов. 4. Количество внутренних логических файлов. 5. Количество внешних интерфейсных файлов.
Function Points После сбора всей необходимой информации приступают к расчету метрики – количества функциональных указателей FР (Function Points). Исходные данные для расчета сводятся в таблицу. Область применения функциональных указателей – коммерческие информационные системы.
Примеры элементов данных Информационная характеристика Элементы данных Внешние вводы Поля ввода данных, сообщения об ошибках, вычисляемые значения, кнопки Внешние выводы Поля данных в отчетах, вычисляемые значения, сообщения об ошибках, заголовки столбцов, которые читаются из внутреннего файла Внешние запросы Вводимые элементы: поле, используемое для списка, щелчок мыши. Выводимые элементы: отображаемые на экране поля.
Правила учета элементов данных из ГИП Элемент данных Правило учета Группа радиокнопок Так как в группе пользователь выбирает только одну радиокнопку, все радиокнопки группы считаются одним элементом данных Группа флажков (переключатели) Так как в группе пользователь может выбрать несколько флажков, каждый флажок считают элементом данных Командные кнопки Командная кнопка может определять действия добавления, изменения, запроса. Кнопка ОК может вызвать транзакции (различных типов). Кнопка Next может быть входным элементом запроса или вызвать другую транзакцию. Каждая кнопка считается отдельным элементом данных. Списки Список может быть внешним запросом, но результат запроса может быть элементом данных внешнего вида.
Ранг и оценка сложности внешних вводов Ссылки на файлы Элементы данных 1 -4 5 -15 >15 0 -1 Низкий (3) Средний (4) 2 Низкий (3) Средний (4) Высокий (6) >2 Средний (4) Высокий (6)
Ранг и оценка сложности внешних выводов Ссылки на файлы Элементы данных 1 -4 5 -19 >19 0 -1 Низкий (4) Средний (5) 2 -3 Низкий (4) Средний (5) Высокий (7) >3 Средний (5) Высокий (7)
Ранг и оценка сложности внешних запросов Ссылки на файлы Элементы данных 1 -4 5 -19 >19 0 -1 Низкий (3) Средний (4) 2 -3 Низкий (3) Средний (4) Высокий (6) >3 Средний (4) Высокий (6)
Ранг и оценка сложности внутренних логических файлов Ссылки на файлы Элементы данных 1 -19 20 -50 >50 0 -1 Низкий (7) Средний (10) 2 -5 Низкий (7) Средний (10) Высокий (15) >5 Средний (10) Высокий (15)
Ранг и оценка сложности внешних интерфейсных файлов Ссылки на файлы Элементы данных 1 -19 20 -50 >50 0 -1 Низкий (5) Средний (7) 2 -5 Низкий (5) Средний (7) Высокий (10) >5 Средний (7) Высокий (10)
Исходные данные для расчета FPметрик Имя характеристики Ранг, сложность, количество Низкий Средний Высокий Итого Внешние вводы *3=_ *4=_ *6=_ = Внешние выводы *4=_ *5=_ *7=_ = Внешние запросы *3=_ *4=_ *6=_ = логические *7=_ *10=_ *15=_ = интерфейсные *5=_ *7=_ *10=_ = Внутренние файлы Внешние файлы Общее количество =
FP= Общее количество*(0, 65+0, 01*Fi) где Fi - коэффициент регулировки сложности (I=1. . 14)
Расчет метрик на основе FP Производительность = Функц. Указатель / Затраты (FP/чел. -мес. ) Качество = Ошибки / Функц. Указатель (Единиц/FP) Удельная Стоимость = Стоимость / Функц. Указатель (Тыс. $/FP) Документированность=Страниц. Докумен та/Функц. Указатель (Страниц/FP)
Определение системных параметров приложения № Системный параметр Описание 1 Передачи данных Сколько средств данных требуется для пердачи или обмена информацией с приложением или системой? 2 Распределенная данных обработка Как обрабатываются распределенные данные и функции обработки? 3 Производительность Нуждается ли пользователь в фиксации времени ответа или производительности? 4 Распространенность используемой конфигурации Насколько распространена текущая аппаратная платформа, на которой будет выполняться приложение? 5 Скорость транзакций Как часто выполняются транзакции? (каждый день, каждую неделю, каждый месяц)? 6 Оперативный ввод данных Какой процент информации нужно вводить в режиме онлайн? 7 Эффективность работы конечного пользователя Приложение проектировалось для обеспечения эффективной работы конечного пользователя?
Определение системных параметров приложения 8 Оперативное обновление Как много внутренних файлов обновляется в онлайновой транзакции? 9 Сложность обработки Выполняет ли приложение интенсивную логическую или математическую обработку? 10 Повторная используемость Приложение разрабатывалось для удовлетворения требований одного или многих пользователей? 11 Легкость инсталляции Насколько трудны преобразования и инсталляция приложения? 12 Легкость эксплуатации Насколько эффективны и/или автоматизированы процедуры запуска, резервирования и восстановления? 13 Разнообразные условия размещения Была ли спроектирована, разработана и поддержана возможность инсталляции приложения в разных местах для различных организаций? 14 Простота изменений Была ли спроектирована, разработана и поддержана в приложении простота изменения?
Features Points Для продуктов с высокой алгоритмической сложностью используются метрики свойств (Features Points). Они применимы к системному и инженерному ПО, ПО реального времени и встроенному ПО.
Features Points Для вычисления указателя свойств добавляется одна характеристика количество алгоритмов. Алгоритм определяется как ограниченная программа вычислений, которая включается в общую компьютерную программу.
Исходные данные для расчета указателя свойств № Характеристика 1 Количество Сложность Итого Вводы *4 = 2 Выводы *5 = 3 Запросы *4 = 4 Логические файлы *7 = 5 Интерфейсные файлы *7 = 6 Количество алгоритмов *3 = Общее количество =
Вычисление значение указателя свойств FP= Общее количество*(0, 65+0, 01*Fi) где Fi - коэффициент регулировки сложности (I=1. . 14) Для сложных систем реального времени это значение на 25 -30% больше значения, вычисляемого по таблице для количества функциональных указателей
Пересчет FP-оценок в LOC-оценки Язык программирования Количество операторов на 1 FP Ассемблер 320 С 128 Паскаль 90 С++ 64 Java 53 Visual Basic 32 Visual С++ 34 Delphi Pascal 29 HTML 3 15 LISP 64 Prolog 64