Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Метрики сложности потока данныхСодержание книги
Поиск на нашем сайте
ЦЕЛЬ РАБОТЫ: оценить сложность программных продуктов, используя метрики сложности потока данных.
Следующая группа метрик сложности программ - метрики сложности потока данных, т.е. использования, конфигурации и размещения данных в программах.
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 контролирующих утверждений, что усложнит тестирование и отладку.
Метрика Чепина.
Другой метрикой сложности потока данных является метрика Чепина. Суть метода состоит в оценке информационной прочности отдельно взятого программного модуля с помощью анализа характера использования переменных из списка ввода-вывода. Все множество переменных, составляющих список ввода-вывода разбивается на 4 группы: 1. множество Р – это переменные вводимые для расчётов и обеспечения вывода. (Примером может служить используемая в программах лексического анализатора переменная, содержащая строку исходного текста программы, т.е. сама переменная не модифицируется, а только содержит исходную информацию). 2. множество М – модифицируемые или создаваемые внутри программы переменные. 3. множество С – переменные, участвующие в управлении работой программного модуля (управляющие переменные). 4. множество Т – переменные, не используемые в данной программе (паразитные переменные). Поскольку каждая переменная может выполнять одновременно несколько функций, необходимо учитывать ее в каждой соответствующей функциональной группе. Далее вводится значение метрики Чепина: Q = а1 P + а2 М + а3 С + а4 Т, (3) где α1, α2, α3, α4 – весовые коэффициенты, используемые для отражения различного влияния на сложность программы каждой функциональной группы. По мнению автора метрики: α1 = 1, α2 = 2, α3 = 3, α4 = 0,5. Таким образом наибольший вес, равный трем, имеет функциональная группа С, т.к. она влияет на поток управления. Весовой коэффициент группы Т не равен нулю, поскольку "паразитные" переменные не увеличивают сложность программы, но затрудняют ее понимание. С учетом весовых коэффициентов выражение (3) примет вид Q = P + 2М + 3С + 0,5Т (4) Следует отметить, что рассмотренные метрики сложности программ основаны на анализе исходных текстов программ и графов, что обеспечивает единый подход к автоматизации их расчета
ЗАДАНИЕ
Для одной из своих программ рассчитать: 1) Отношение числа фактических переменных к возможным RUp; 2) Метрики Чепина, (T,P,С, M, Q); 3) Спен (Scp).
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что называется метриками сложности? Что такое "Спен"? 2. Что показывает метрика "Модуль – глобальная переменная", опишите принцип нахождения этой метрики. 3. Как построить поцесс тестирования и отладки на основе метода "Спена"? 4. Как оценить информационную прочность отдельного программного модуля? Метрика Чепина. ЛИТЕРАТУРА 1. Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ. – М.: Издательство МАИ, 1989.
Лабораторная работа № 8
|
||||
Последнее изменение этой страницы: 2016-12-28; просмотров: 894; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.170.68 (0.009 с.) |