Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Оценка структурной сложности трех критериев и метрики МаккейбаСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Исходный граф Исходный управляющий граф, построенный по алгоритму программы:
Рис. 2 Управляющий граф разработанной программы
Найдем цикломатическое число: Z = m – n +2 = 28 – 22 + 2 = 8, Где m – количество дуг, а n – количество вершин. Модифицированный граф Как видно, некоторые из вершин можно убрать, так как они образуют линейную последовательность операторов:
Рис. 3 Модифицированный управляющий граф разработанной программы
Цикломатическое число осталось таким же: Z = m – n +2 = 22 – 16 + 2 = 8, Первый критерий Определяем минимальный набор маршрутов, проходящих через каждый оператор ветвления и по каждой дуге: M1: 1- 2 - 3 - 4 - 6 -7- 4 - 6 -9- 10 -13- 4 - 6 -9- 10 - 11 -12-9- 10 - 11 -13- 4 - 2 - 3 - 14 - 16 -20- 14 - 16 -19- 14 - 2 -22; p1=22 Вычислим уровень сложности: S1= p 1 = 22 Второй критерий Определяем число проверок каждого линейно независимого цикла и линейно независимого циклического участка программы: Общее число проверок = Z = 8 Таким образом, общее число циклических и ациклических участков в графе равно 8.
Циклические участки: M1: 2 - 3 - 4; p1=3 M2: 2 - 3 - 14; p2=3 M3: 4 - 6 -7; p3=2 M4: 4 - 6 -9- 10 - 11 -13; p4 =4 M5: 9- 10 - 11 -13; p5 =2 M6: 14 - 16 -20; p6=2 M7: 14 - 16 -19; p7=2 Ациклические маршруты: M8: 1- 2 -22; p8=1 Метрика структурной сложности: S2 = p1+p2+p3+p4+p5+p6+p7+p8 = 3+3+2+4+2+2+2+1 = 19 Третий критерий Так как циклы, идущие от вершин 4 и 14 независимы друг от друга (2 подзадачи в программе), то в третьем критерии можно рассматривать комбинации всех маршрутов внутри этих независимых циклов: M1: 1- 2 -22; p1=2 M2: 1- 2 - 3 - 4 - 6 -9- 10 - 11 -13- 4 - 2 -22; p2=8 M3: 1- 2 - 3 - 4 - 6 -7- 2 -22; p3=5 M4: 1- 2 - 3 - 4 - 6 -9- 10 -13- 4 - 2 -22; p4=7 M5: 1- 2 - 3 - 4 - 6 -9- 10 - 11 -12-9- 10 - 11 -13- 4 - 2 -22; p5=10 M6: 1- 2 - 3 - 4 - 6 -9- 10 - 11 -12-9- 10 -13- 4 - 2 -22; p6=9 M7: 1- 2 - 3 - 14 - 16 -20- 14 - 2 -22; p7=6 M8: 1- 2 - 3 - 14 - 16 -19- 14 - 2 -22; p8=6 M9: 1- 2 - 3 - 14 - 16 -20- 14 - 16 -19- 14 - 2 -22; p9=8 M10: 1- 2 - 3 - 4 - 6 -7-9- 10 - 11 -13- 4 - 2 -22; p10=8 M11: 1- 2 - 3 - 4 - 6 -7- 4 - 6 -9- 10 -13- 4 - 2 -22; p11=9 M12: 1- 2 - 3 - 4 - 6 -7- 4 - 6 -9- 10 - 11 -12-9- 10 - 11 -13- 2 -22; p12=11 M13: 1- 2 - 3 - 4 - 6 -7- 4 - 6 -9- 10 - 11 -12-9- 10 -13- 2 -22; p13=10 M14: 1- 2 - 3 - 4 - 2 -22; p14=4 M15: 1- 2 - 3 - 14 - 2 -22-9-5-9- 11 - 2 - 14; p15=7 M16: 1- 2 - 3 - 4 - 2 - 3 - 14 - 2 -22; p16=7 Посчитаем третий критерий: S3= 2+2+5+7+10+9+6+6+8+8+9+11+10+4+7+7 = 111 Таблица 16 Матрица смежности управляющего графа Таблица 17 Матрица достижимости управляющего графа Алгоритмическая сложность на основе метрики Маккейба На основе цикломатического числа полученного графа (Z = m –n + 2 =8) можно утверждать, что в данном графе управления можно выделить 8 независимых контуров, ведущих из начальной вершины в конечную. Z < 10, следовательно, можно говорить о незначительной сложности алгоритма. А это значит, что исходная программа не обладает излишней сложностью, и нет необходимости разбивать ее более сложные составные части. Вывод Согласно полученным результатам оценки структурной сложности программы по трем критериям выделения маршрутов, можно сделать вывод о том, что программа, описываемая полученным графом управления, имеет среднюю алгоритмическую сложность – в программе используется 8 операторов условий, для их проверки необходимо проверить от 8 до 111 тестовых вариантов исходных данных.
Оценка характеристик программы на основе модели функциональных указателей
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-01-24; просмотров: 1687; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.100 (0.007 с.) |