Для продуктов с высокой алгоритмической сложностью используются метрики указателей свойств (Features Points). Они применимы к системному и инженерному ПО, ПО реального времени и встроенному ПО. Для вычисления указателя свойств добавляется одна характеристика — количество алгоритмов. Алгоритм здесь определяется как ограниченная подпрограмма вычислений, которая включается в общую компьютерную программу. Примеры алгоритмов: обработка прерываний, инвертирование матрицы, расшифровка битовой строки. Для формирования указателя свойств составляется табл. 7.11.
Таблица 7.10 - Определение системных параметров приложения
№ | Системный параметр | Описание |
Передачи данных | Сколько средств связи требуется для передачи или обмена информацией с приложением или системой? | |
Распределенная обработка данных | Как обрабатываются распределенные данные и функции обработки? | |
Производительность | Нуждается ли пользователь в фиксации времени ответа или производительности? | |
Распространенность используемой конфигурации | Насколько распространена текущая аппаратная платформа, на которой будет выполняться приложение? | |
Скорость транзакций | Как часто выполняются транзакции? (каждый день, каждую неделю, каждый месяц) | |
Оперативный ввод данных | Какой процент информации надо вводить в режиме онлайн? | |
Эффективность работы конечного пользователя | Приложение проектировалось для обеспечения эффективной работы конечного пользователя? | |
Оперативное обновление | Как много внутренних файлов обновляется в онлайновой транзакции? | |
Сложность обработки | Выполняет ли приложение интенсивную логическую или математическую обработку? | |
Повторная используемость | Приложение разрабатывалось для удовлетворения требований одного или многих пользователей? | |
Легкость инсталляции | Насколько трудны преобразование и инсталляция приложения? | |
Легкость эксплуатации | Насколько эффективны и/или автоматизированы процедуры запуска, резервирования и восстановления? | |
Разнообразные условия размещения | Была ли спроектирована, разработана и поддержана возможность инсталляции приложения в разных местах для различных организаций? | |
Простота изменений | Была ли спроектирована, разработана и поддержана в приложении простота изменений? |
Таблица 7.11 - Исходные данные для расчета указателя свойств
|
|
№ | Характеристика | Количество | Сложность | Итого |
Вводы | x 4 | = | ||
Выводы | х 5 | = | ||
Запросы | x 4 | = | ||
Логические файлы | x 7 | = | ||
Интерфейсные файлы | x 7 | = | ||
Количество алгоритмов | x З | = | ||
Общее количество | = |
После заполнения таблицы по формуле (7.1) вычисляется значение указателя свойств. Для сложных систем реального времени это значение на 25-30% больше значения, вычисляемого по таблице для количества функциональных указателей.
|
|
Достоинства функционально-ориентированных метрик:
1) Не зависят от языка программирования.
2) Легко вычисляются на любой стадии проекта.
Недостаток функционально-ориентированных метрик: результаты основаны на субъективных данных, используются не прямые, а косвенные измерения. FP-оценки легко пересчитать в LOC-оценки. Результаты пересчета зависят от языка программирования, используемого для реализации ПО.
Сравнительные параметры двух видов моделей, основанных на функциональных точках приведены в таблицах 7.12 и 7.13
Таблица 7.12 – Основные параметры качества для анализируемых
моделей
Параметр | FPA IFPUG | MK II FPA |
Тип модели | Открытая | Открытая |
Доступность репозиториев | Да, множество репозиториев | Нет |
Время применения | На протяжении всего жизненного цикла после определения требований | На протяжении всего жизненного цикла после определения требований |
Учет факторов размера системы | На основе репозитория | На основе репозитория |
Непрерывная зависимость от сложности проекта | Да | Да |
Таблица 7.13 – Учет требований к системе в моделях
Параметр | FPA IFPUG | MK II FPA |
Учет функциональной сложности | Да, на основе cкорректированного количества функциональных точек IFPUG | Да, на основе cкорректированного количества функциональных точек MK II |
Учет нефункциональных требований к системе | Распределенная обработка, Производительность, Загруженность конфигурации, Частота транзакций, повторная используемость, Множество инсталляций, Упрощение внесения изменений | Распределенная обработка, Производительность, Загруженность конфигурации, Частота транзакций, повторная используемость, Множество инсталляций, Упрощение внесения изменений, защита информации, требования к документированию |