Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сложность программной системы.Содержание книги Поиск на нашем сайте
По Холстеду сложность программной системы оценивается мерой длины модуля. N=n1*log N – Длина модуля n1 – Число различных операторов n2 – Число различных операндов Вторая характеристика – объём модуля. V – Количество символов для записи операторов и операндов текста модуля. V=N*log Том Мак Кейб в качестве характеристики сложности программы предложил использовать топологию внутренних связей.Для этого была разработана метрика циклологической сложности. V(G)=E-N+2 E – Количество дуг N – Количество вершин в управляющем графе программной системы Таким образом при комплексной оценке сложности программной системы необходимо рассматривать: 1) Меру сложности модулей; 2) Меру сложности внешних связей; 3) Меру сложности внутренних связей. На основе полных коэффициентов функциональных модулей вычисляется метрика общей сложности структуры.
S= length(i) – Оценка размера i-ого модуля Fan_in(i) – Коэффициент объединения по входу(Количество управляющих i-ым модулем модулей) Fan_out(i) – Коэффициент разветвления по выходу(Количество модулей,ко-торыми прямо управляет i-ый модуль) Характеристики йерархической структуры программной системы.
Высота Depth
Fan_in(n)=2 Ширина Fan_out(m)=3 Width Рассмотрим основные характеристики йерархической структуры,представ- ленной на рисунке. Первыми характеристиками являются количество вершин (модулей) и коли-чество рёбер (связей между модулями).К ним добавляются две глобальные харак-теристики – высота и ширина: q Высота – количество уровней управления; q Ширина – максимальное из количеств модулей,размещённых на уров-нях управления. В нашем примере высота = 3,ширина = 3. Локальными характеристиками модулей структуры являются коэффициент объединения по входу и коэффициент разветвления по выходу (Fan_in(i) и Fan_out(i)). В примере для модуля n: Fan_in(n)=2;для модуля m: Fan_out(m)=3. Возникает вопрос:как оценить качество структуры? Из практики проекти-рования известно,что лучшее решение обеспечивается йерархической структурой в виде дерева. Степень отличия реальной проектной структуры от дерева характеризуется невязкой структуры(Nev). Значение невязки лежит в диапазоне от 0 до 1.Если Nev = 0,то проектная структура является деревом,если Nev = 1,то проектная структура – полный граф. Ясно,что невязка даёт грубую оценку структуры.Для увеличения точности оценки следует применить характеристики связности и сцепления.
Хорошая структура должна иметь низкое сцепление и высокую связность. Л.Констентайн и Э.Йордан (1979) предложили оценивать структуру с помо-щью коэффициентов Fan_in(i) и Fan_out(i) модулей. Большое значение Fan_in(i) – свидетельство высокого сцепления,так как является мерой зависимости модуля.Большое значение Fan_out(i) говорит о высо-кой сложности вызывающего модуля.Причиной является то,что для координации подчинённых модулей требуется сложная логика управления. Основной недостаток коэффициентов Fan_in(i) и Fan_out(i) состоит в игно-рировании веса связи.Здесь рассматриваются только управляющие потоки (вызо-вы модулей).В то же время информационные потоки,нагружающие рёбра структу-ры,могут существенно изменяться,поэтому нужна мера,которая учитывает не только количество рёбер,но и количество информации,проходящей через них. С.Генри и Д.Кафура (1981) ввели информационные коэффициенты ifan_in(i) и ifan_out(j).Они учитывают количество элементов и структур данных,из которых i-й модуль берёт информацию и которые обновляются j-м модулем соответствен-но. Информационные коэффициенты суммируются со структурными коэффи-циентами sfan_in(i) и sfan_out(j),которые учитывают только вызовы модулей. В результате формируются полные значения коэффициентов: Fan_in(i)= sfan_in(i)+ifan_in(i), Fan_out(j)=sfan_out(j)+ifan_out(j). На основе полных коэффициентов модулей вычисляется метрика общей сложности структуры: Формула (*).
Программная документация. Она должна быть организована так, чтобы легко была доступна информация по отдельным модулям. Список модулей, описание программы и иерархической схемы используется как справочник. Модули должны быть пронумерованы (обычно в соответствии с их иерархической упорядоченностью).
Схема модульной структуры программы должна быть дополнена описанием внешних характеристик модулей. Оно называется внешней спецификацией и содержит все сведения, необходимые для обращения к модулю.
На основе внешней спецификации модулей осуществляется разработка логической структуры этих модулей. Логическая структура модуля прорабатывается на стадии технического проекта программы. Внешняя спецификация модуля должна включать: 1. Имя модуля, используемое при обращении к нему. 2. Описание функции, здесь приводится назначение модуля, но оно не должно содержать сведений о логической структуре и о контекстах, в которых используется модуль. 3. Список параметров: число и порядок задания параметров. 4. Входные параметры: подробное описание и их атрибуты (структура, размер, единица измерения, допустимый диапазон назначений, типы и т.д.). 5. Выходные параметры (аналогично п.4). 6. Внешние эффекты. Например: печать сообщений, чтение запроса с монитора, вывод сообщений об ошибке. Внешние эффекты модуля включают все внешние эффекты подчинённых ему модулей.
|
|||||||||||||
|
Последнее изменение этой страницы: 2016-07-16; просмотров: 396; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.008 с.) |