Вопрос 37. Метрики сложности потокауправления программ.



Вторая по популярности метриика. С помощью этих оценок оперируют либо плотностью управляющих переходов внутри программ, либо взаимосвязями этих переходов.

И в том и в другом случае стало традиционным представление программ в виде управляющего ориентированного графа G=(V,E), где V - вершины, соответствующие операторам, а E - дуги, соответствующие переходам.

МЕТРИКА МАККЕЙБА. Основной метрикой сложности он предлагает считать цикломатическую сложность графа программы, иначе цикломатическое число Маккейба, характеризующее трудоемкость тестирования программы.

Программа (алгоритм, спецификация) должна быть представлена в виде управляющего ориентированного графа G = (V, Е)

с V вершинами и E дугами, где вершины соответствуют операторам, а дуги – переходам от одного оператора к другому.

Граф, описывающий программу в виде вершин-операторов и дуг- переходов, называют графом управления или управляющим графом программы.

Соответствующий граф управления программы показан на рисунке:

 

Рис. Граф управления программы ввода данных

 

 

Метрика Маккейба является цикломатическим числом графа управления программы и определяется выражением M=m-n+2, где m – количество ребер графа, n – количество вершин графа. Величину М, называют цикломатическим числом Маккейба.

Теоретической базой определения ц. ч. М/ является теория графов. В теории графов цикломатическое число ориентированного графа определяется выражением: Z=m-n+2*p, где m – количество ребер, n – количество вершин, p – количество компонент связности графа.Число компонент связности pможно рассматривать как минимально необходимое количество ребер, которые нужно добавить к графу, чтобы сделать его полносвязным.Рис. Преобразование графа управления программы ввода данных в полносвязный граф/

Полносвязным считают граф, у которого существует путь из любой вершины графа в любую другую вершину графа. Как показали исследования, для графов управления программ полносвязность обеспечивается добавлением одной фиктивной дуги из конечной вершины в начальную.

Поэтому справедливо считать, что для любого графа управления программы число компонент связности равно единице (р=1). Подстановка p=1 в формулу дает цикломатическое число Маккейба.Путь от одной вершины к другой вершине графа, если он состоит более чем из одной дуги, это последовательностью вершин соответствующих дуг так, что исходная вершина будет первой в перечислении, а конечная – последней.

Контур – это плоскость, ограниченная циклическим путем, в котором начальная и конечная вершина графа совпадают. Каждому контуру соответствует ограничивающий его путь, ведущий из начальной вершины графа в конечную.

Цикломатическое числоопределяет количество независимых контуров в полносвязном графе и, количеством различных путей, ведущих из начальной вершины в конечную.

В практическом аспекте цикломатическое число является мерой сложности программы и определяет количество тестов, достаточных для тестирования по критерию покрытия всех ветвей программы.

При оценке сложности программы с использованием цикломатического числа Маккейба действует следующее правило: если цикломатическое число больше десяти, программа обладает излишней сложностью и ее следует разбить на составные части (независимые модули или подпрограммы) с меньшим значением цикломатического числа.

Цикломатическое число зависит только от количества управляющих операторов, содержащих условные выражения. Если программа содержит только операторы ветвления (без операторов выбора и переключения), цикломатическое число можно определить, используя выражение. M=u+1,где u – количество операторов ветвления.

При необходимости операторы выбора или переключения с n ветвями, можно рассматривать как n операторов ветвления.

Выводы

1.Исследования показывают, что не существует единственной метрики, которая бы дала универсальный подход к количественной оценке качества программного обеспечения.

2. Исторически сначала были выделены ряд универсальных и неполных метрик

3. Были выведены примеры универсальных характеристик программного обеспечения, структурно связанные в иерархию так называемого «дерева качества»

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


Дата добавления: 2018-02-15; просмотров: 705; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!