Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Цикломатическая сложность - Описание22 января 2011Оглавление: 1. Цикломатическая сложность 2. Описание 3. Применение Цикломатическая сложность части программного кода счётное число линейно независимых маршрутов через программный код. Например, если исходный код не содержит никаких точек решений, таких, как указания Математически, цикломатическая сложность структурного программирования определение с помощью ссылок от базового блока программы на ориентированный граф и с помощью рёбер между двумя основными блоками, если управление может переходить с первого на второй граф управления потоком программы. Тогда сложность определяется как::
где:
В другой формулировке используется граф, в котором каждая точка выхода соединена с обратной точкой входа. В этом случае говорят, что граф будет сильносвязанным и цикломатическая сложность программы будет равняться цикломатическому числу этого графа), которое определяется как:
Это может рассматриваться как вычисление числа линейно независимых циклов, которые существуют в графе, то есть тех циклов, которые не содержат в себе других циклов. Надо учитывать, что каждая точка выхода из цикла становится точкой входа в него, то есть по крайней мере одна итерация его для каждой точки выхода. Для простой программы, или подпрограммы, или метода Может быть показано, что цикломатическая сложность любой структурированной программы с только одной точкой входа и одной точкой выхода эквивалентна числу точек решения, содержащихся в этой программе, плюс один. Цикломатическая сложность может быть распространена на программу с многочисленными точками выхода; в этом случае она равна:
где:
Формальное определениеФормально, цикломатическая сложность, может быть, определена, как относительное число Бетти, как размер относительнооднородной группы: Это читается, как «первый однородный граф G, относительно терминального узла t». Этот технический путь произносится, как «число линейно независимых маршрутов через граф от входа к выходу», где:
Это соответствие интуитивно понятно как цикломатическая вложенность, и может быть вычислено как указанно выше. Кроме того, его можно вычислить через абсолютное число Бетти определяющее все терминальные узлы данного компонента, в этом случае получаем: Это соответствие характеризуется цикломатической сложностью как «количество циклов плюс количество компонентов». ЭтимологияНазвание цикломатическая сложность может попервоначалу показаться не являющимся целостным, но это не так, так как эта метрика не только считает циклы в программе. Она должна быть первостепенно заинтересована в подсчёте количества других циклов, тех, которые контролируются по построенному по программе графу, которые заключаются в присутствии веток возврата, которые выявляются при построении графа. Просмотров: 3528
|