Похожие презентации:
Метрика Мак-Кейба (1976 г.)
1.
Метрика Мак-Кейба (1976 г.), относится к группепоказателей оценки сложности потока управления программой и
вычисляется на основе графа управляющей логики программы
(control flow graph). Данный граф строится в виде
ориентированного графа, в котором вычислительные операторы
или выражения представляются в виде узлов, а передача
управления между узлами - в виде дуг.
Показатель цикломатической сложности позволяет не
только произвести оценку трудоемкости реализации отдельных
элементов программного проекта и скорректировать общие
показатели оценки длительности и стоимости проекта, но и
оценить связанные риски и принять необходимые
управленческие решения.
2.
3.
4.
В процессе автоматизированного вычисления показателяцикломатической сложности, как правило, применяется упрощенный подход, в
соответствии с которым построение графа не осуществляется, а вычисление
показателя производится на основании подсчета числа операторов управляющей
логики (if, switch и т.д.) и возможного количества путей исполнения программы.
Цикломатическое число Мак-Кейба показывает требуемое количество
проходов для покрытия всех контуров сильносвязанного графа или количества
тестовых прогонов программы, необходимых для исчерпывающего тестирования
по принципу «работает каждая ветвь».
Показатель цикломатической сложности может быть рассчитан для
модуля, метода и других структурных единиц программы.
Существует значительное количество модификаций показателя
цикломатической сложности.
«Модифицированная» цикломатическая сложность – рассматривает не
каждое ветвление оператора множественного выбора (switch), а весь оператор
как единое целое.
«Строгая» цикломатическая сложность – включает логические
операторы.
«Упрощенное» вычисление цикломатической сложности –
предусматривает вычисление не на основе графа, а на основе подсчета
управляющих операторов.
5.
Пусть имеется программа, котораясчитывает из входного потока символы
до тех пор, пока не будет обнаружен
символ «#».
Обычно учитывают только исполнимые
операторы, исключая операторы
описания данных. Желательно подобрать
такие синтаксические формы операторов,
которые в наибольшей степени подходят
для отображения узлом графа. Линейные
участки программы можно заменить
одним узлом графа. В этом отношении
использование схем алгоритмов или
описание программ на псевдокоде
может оказаться даже более
предпочтительной формой описания
программы, чем текст на языке
программирования. В любом случае
желательно преобразовать операторы
цикла в эквивалентную
последовательность операторов
ветвления, добавив, при необходимости,
операторы суммирования (счетчики)
числа повторений цикла с «верхним» или
«нижним» окончанием.
6.
Число Маккейба для графа управления программы:Количество ребер графа равно пяти, количество вершин тоже равно пяти,
поэтому цикломатическое число равно:
(G)=5-5+2=2
Программа организации ввода данных, имеющая граф управления с
цикломатическим числом, равным 2, не обладает излишней сложностью и для ее
тестирования достаточно подобрать два теста, покрывающие ветви (а, b, с) и (а, u).
Цикломатическое число зависит только от количества управляющих
операторов, содержащих условные выражения (предикаты). При этом сложность
предиката не учитывается.
Программное обеспечение