Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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; просмотров: 1477; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.109.5 (0.009 с.) |