Технологии разработки программного обеспечения


Функционально-ориентированные метрики - часть 7


/p>

После вычисления FP на его основе формируются метрики производительности, качества и т. д.:

;

;

;

.

Область применения метода функциональных указателей — коммерческие информационные системы. Для продуктов с высокой алгоритмической сложностью используются метрики указателей свойств (Features Points). Они применимы к системному и инженерному ПО, ПО реального времени и встроенному ПО.

Для вычисления указателя свойств добавляется одна характеристика — количество алгоритмов. Алгоритм здесь определяется как ограниченная подпрограмма вычислений, которая включается в общую компьютерную программу. Примеры алгоритмов: обработка прерываний, инвертирование матрицы, расшифровка битовой строки. Для формирования указателя свойств составляется табл. 2.12.

 

Таблица 2.12. Исходные данные для расчета указателя свойств

Характеристика

Количество

Сложность

Итого

1

Вводы

0

х4

= 0

2

Выводы

0

х5

= 0

3

Запросы

0

х4

= 0

4

Логические файлы

0

х7

= 0

5

Интерфейсные файлы

0

х7

= 0

6

Количество алгоритмов

0

х3

= 0

Общее количество

= 0

После заполнения таблицы по формуле (2.1) вычисляется значение указателя свойств. Для сложных систем реального времени это значение на 25-30% больше значения, вычисляемого по таблице для количества функциональных указателей.

Достоинства функционально-ориентированных метрик:

1. Не зависят от языка программирования.

2. Легко вычисляются на любой стадии проекта.

Недостаток функционально-ориентированных метрик: результаты основаны на субъективных данных, используются не прямые, а косвенные измерения. FP-оценки легко пересчитать в LOC-оценки. Как показано в табл. 2.13, результаты пересчета зависят от языка программирования, используемого для реализации ПО.

 

Таблица 2.13. Пересчет FP-оценок в LOC-оценки

Язык программирования

Количество операторов на один FP

Ассемблер

С

320

128

Кобол

106

Фортран

106

Паскаль

90

C++

64

Java

53

Ada 95

49

Visual Basic

32

Visual C++

34

Delphi Pascal

29

Smalltalk

22

Perl

21

HTML3

15

LISP

64

Prolog

64

Miranda

40

Haskell

38

 




- Начало -  - Назад -  - Вперед -