Цель: изучение порядка оценки программных средств с помощью метрик.
Задание 1 - Выполните расчеты LOC-метрик по исходным данным предложенного проекта (табл. 1).
Технология выполнения:
Вычислите размерно-ориентированные метрики производительности и качества по формулам:
Таблица 1 – Исходные данные
№ вариан-та
| Проект
| Затраты,
чел.-мес
| Стоимость, тыс. $
| KLOC, тыс. LOC
| Программные документы, страниц
| Ошибки
| Люди
| 5
| C1
| 61
| 614
| 32,8
| 1312
| 78
| 6
|
Производительность = 32,8/61=0,5377
Качество = 78/32,8=2,378
Удельная стоимость = 614/32800=0,01872
Документированность=1312/32,8=40
C - проект по разработке сайта
Задание 2 - Выполните расчеты FP-метрик по исходным данным предложенного проекта.
5 вариант - 3 формы 1 типа
Таблица 3 - Ранг и оценка сложности внешних вводов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (3)
| Низкий (3)
| Средний (4)
| 2
| Низкий (3)
| Средний (4)
| Высокий (6)
| >2
| Средний (4)
| Высокий (6)
| Высокий (6)
|
Таблица 4 - Ранг и оценка сложности внешних выводов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (4)
| Низкий (4)
| Средний (5)
| 2-3
| Низкий (4)
| Средний (5)
| Высокий (7)
| >3
| Средний (5)
| Высокий (7)
| Высокий (7)
|
Таблица 5- Ранг и оценка сложности внешних запросов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (3)
| Низкий (3)
| Средний (4)
| 2-3
| Низкий (3)
| Средний (4)
| Высокий (6)
| >3
| Средний (4)
| Высокий (6)
| Высокий (6)
|
Таблица 6 - Ранг и оценка сложности внутренних логических файлов
Типы элементов-записей
| Элементы данных
| 1-19
| 20-50
| >50
| 1
| Низкий (7)
| Низкий (7)
| Средний (10)
| 2-5
| Низкий (7)
| Средний (10)
| Высокий (15)
| >5
| Средний (10)
| Высокий (15)
| Высокий (15)
|
Таблица 7 - Ранг и оценка сложности внешних интерфейсных файлов
Типы элементов-записей
| Элементы данных
| 1-19
| 20-50
| >50
| 1
| Низкий (5)
| Низкий (5)
| Средний (7)
| 2-5
| Низкий (5)
| Средний (7)
| Высокий (10)
| >5
| Средний (7)
| Высокий (10)
| Высокий (10)
|
Таблица 8 - Исходные данные для расчета FP-метрик
Имя характеристики
| Ранг, сложность, количество
| Низкий
| Средний
| Высокий
| Итого
| Внешние вводы
| 3×3=___
| []×4=___
| []×6=___
| =9
| Внешние выводы
| 4×4=___
| []×5=___
| []×7=___
| =16
| Внешние запросы
| 0×3=___
| []×4=___
| []×6=___
| =0
| Внутренние логические файлы
| 0×7=___
| []×10=___
| []×15=___
| =0
| Внутренние интерфейсные файлы
| 0×5=___
| []×7=___
| []×10=___
| =0
| Общее количество
| =25
|
5 вариант – 2 формы 2 типа
Таблица 9 - Ранг и оценка сложности внешних вводов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (3)
| Низкий (3)
| Средний (4)
| 2
| Низкий (3)
| Средний (4)
| Высокий (6)
| >2
| Средний (4)
| Высокий (6)
| Высокий (6)
|
Таблица 10 - Ранг и оценка сложности внешних выводов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (4)
| Низкий (4)
| Средний (5)
| 2-3
| Низкий (4)
| Средний (5)
| Высокий (7)
| >3
| Средний (5)
| Высокий (7)
| Высокий (7)
|
Таблица 11- Ранг и оценка сложности внешних запросов
Ссылки на файлы
| Элементы данных
| 1-4
| 5-19
| >19
| 0-1
| Низкий (3)
| Низкий (3)
| Средний (4)
| 2-3
| Низкий (3)
| Средний (4)
| Высокий (6)
| >3
| Средний (4)
| Высокий (6)
| Высокий (6)
|
Таблица 12 - Ранг и оценка сложности внутренних логических файлов
Типы элементов-записей
| Элементы данных
| 1-19
| 20-50
| >50
| 1
| Низкий (7)
| Низкий (7)
| Средний (10)
| 2-5
| Низкий (7)
| Средний (10)
| Высокий (15)
| >5
| Средний (10)
| Высокий (15)
| Высокий (15)
|
Таблица 13 - Ранг и оценка сложности внешних интерфейсных файлов
Типы элементов-записей
| Элементы данных
| 1-19
| 20-50
| >50
| 1
| Низкий (5)
| Низкий (5)
| Средний (7)
| 2-5
| Низкий (5)
| Средний (7)
| Высокий (10)
| >5
| Средний (7)
| Высокий (10)
| Высокий (10)
|
Таблица 14 - Исходные данные для расчета FP-метрик
Имя характеристики
| Ранг, сложность, количество
| Низкий
| Средний
| Высокий
| Итого
| Внешние вводы
| 3×3=___
| []×4=___
| []×6=___
| =9
| Внешние выводы
| 4×4=___
| []×5=___
| []×7=___
| =16
| Внешние запросы
| 3×3=___
| []×4=___
| []×6=___
| =9
| Внутренние логические файлы
| 0×7=___
| []×10=___
| []×15=___
| =0
| Внутренние интерфейсные файлы
| 0×5=___
| []×7=___
| []×10=___
| =0
| Общее количество
| =34
|
FP = 25*3+34*2 = 143
Вычислите метрики производительности, качества, удельной стоимости и документированности по формулам:
Производительность = 143/61= 2,34
Качество = 78/143 = 0,55
Удельная стоимость = 614/143 = 4,30
Документированность = 1312/143 = 9,18
Таблица 15 - Определение системных параметров приложения
№
| Системный параметр
| Описание
| Коэф.
| 1
| Передача данных
| Сколько средств связи требуется для передачи или обмена информацией с приложением или системой?
| 2
| 2
| Распределенная обработка данных
| Как обрабатываются распределенные данные и функции обработки?
| 3
| 3
| Производительность
| Нуждается ли пользователь в фиксации времени ответа или производительности?
| 3
| 4
| Распространенность используемой конфигурации
| Насколько распространена текущая аппаратная платформа, на которой будет выполняться приложение?
| 0
| 5
| Скорость транзакций
| Как часто выполняются транзакции? (каждый день, каждую неделю, каждый месяц)
| 0
| 6
| Оперативный ввод данных
| Какой процент информации надо вводить в режиме онлайн?
| 3
| 7
| Эффективность работы конечного пользователя
| Приложение проектировалось для обеспечения эффективной работы конечного пользователя?
| 5
| 8
| Оперативное обновление
| Как много внутренних файлов обновляется в онлайновой транзакции?
| 4
| 9
| Сложность обработки
| Выполняет ли приложение интенсивную логическую или математическую обработку?
| 1
| 10
| Повторная используемость
| Приложение разрабатывалось для удовлетворения требований одного или многих пользователей?
| 3
| 11
| Легкость инсталляции
| Насколько трудны преобразование и инсталляция приложения?
| 0
| 12
| Легкость эксплуатации
| Насколько эффективны и/или автоматизированы процедуры запуска, резервирования и восстановления?
| 3
| 13
| Разнообразные условия размещения
| Была ли спроектирована, разработана и поддержана возможность инсталляции приложения в разных местах для различных организаций?
| 3
| 14
| Простота изменений
| Была ли спроектирована, разработана и поддержана в приложении простота изменений?
| 3
|
|
|
| 33
|
FP = 143 * (0.65 + 0.01*33) = 140
Используя таблицу перевода, а также учитывая, что реализация ИС предполагается с использованием языка C++, получим LOC-оценку проекта:
140 * 64 = 8960 (строк кода).
Таблица 16 - Справочник
-
Язык программирования
| Количество операторов на
один F
| Паскаль
| 90
| C++
| 64
| Visual Basic
| 32
| Java
| 53
| Visual C++
| 34
| Prolog
| 64
| Delphi Pascal
| 29
|
Контрольные вопросы:
1. Что такое метрика качества кода?
Метрика качества кода - численная мера, позволяющая оценить определенные свойства конкретного участка программного кода.
2. Как определить качество кода, используя метрики?
В первую очередь надо выяснить по каким метрикам надо определять качество кода и для чего это нам вообще нужно. В программировании нам повезло и, в большинстве случаев, для определении метрики нам достаточно определить важную для нас характеристику:
Соответствие правилам; Сложность кода; Дубликаты; Комментирование; Покрытие листами.
3. Приведите порядок действия для оценки качества кода
Для оценки и контроля качества менеджмента предприятий применяется ISO 9000, для продуктов — ГОСТ и тот же ISO, а вот для оценки качества кода ГОСТа нет. Точного определения и стандарта для качества кода тоже нет. ... Представления джунов и тедов различаются, и это приводит к разногласиям Вывод: изучили порядок оценки программных средств с помощью метрик.
|