Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Метрики сложности потока данных




 

ЦЕЛЬ РАБОТЫ: оценить сложность программных продуктов, используя метрики сложности потока данных.

 

Следующая группа метрик сложности программ - метрики сложности потока данных, т.е. использования, конфигурации и размещения данных в программах.

 

1. Метрика "модуль – глобальная переменная"

Метрика "модуль – глобальная переменная". Обозначается как (p, r), где p - модуль, имеющий доступ к глобальной переменной r.

В зависимости от наличия в программе реального обращения к переменной r формируются два типа пар "модуль – глобальная переменная": фактические и возможные. Возможное обращение к r с помощью p показывает, что область существования r включает в себя p.

Характеристика Aup – количество переменных, показывает, сколько раз модули Up действительно получали доступ к глобальным переменным, а число PUp сколько раз они могли бы получить доступ, т.е. Pup – количество глобальных переменных, к которым мог бы получить доступ модуль.

Отношение числа фактических обращений к возможным определяется

. (1)

Эта формула показывает приближенную вероятность ссылки произвольного модуля на произвольную глобальную переменную.

Очевидно, чем выше эта вероятность, тем выше вероятность "несанкционированного" изменения какой-либо характеристики, что может существенно осложнить работы, связанные с модификацией программы.

Пример: пусть в программе имеются 3 глобальные переменные (x, y, z) и 3 подпрограммы. Если предположить, что каждая подпрограмма имеет доступ к каждой из переменных, то получим девять возможных пар

Pup = 3перем · 3подпрог = 9.

Далее пусть первая подпрограмма обращается к одной переменной ( x), вторая – к двум (y, z), а третья – не обращается ни к одной переменной, тогда.

Aup = 1 + 2 + 0 = 3,

следовательно, .

 

2. "спен"

Следующей метрикой сложности потока данных является "спен".

Определение спена основывается на локализации обращений к данным внутри каждой программной секции.

«Спен» - это число утверждений, содержащих данный идентификатор между его первым и последним появлением в тексте.

Идентификатор, появившийся n раз, имеет спен равный n-1.

Усреднённый по всем идентификаторам, «Спен» даёт сложность программы.

Пример: Пусть у нас имеется 7 идентификаторов.

2 - «Спен» 12, 2 - «Спен» 41 и 3 - «Спен» 80.

(2)

Следовательно, при построении трассы программы необходимо будет ввести в тело программы, по крайней мере, 50 контролирующих утверждений, что усложнит тестирование и отладку.

 







Дата добавления: 2014-11-10; просмотров: 1422. Нарушение авторских прав; Мы поможем в написании вашей работы!


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2021 год . (0.002 сек.) русская версия | украинская версия