Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы Госы_3.doc
Скачиваний:
84
Добавлен:
27.10.2018
Размер:
1.55 Mб
Скачать

56. Модульность. Информационная закрытость. Связность модуля.

Модуль - фрагмент программного текста, самостоятельная единица, которая образует физическую структуру системы.

Модульность - свойство, что позволяет представить систему (ПЗ) как совокупность модулей. Процесс детализации системы на модуле может быть длительным, это ведет к увеличению числа модулей и осложнения межмодульных интерфейсу. Сложный модуль требует больших часовых расходов на разработку и приводит к увеличению стоимости модуля. Уменьшение модуля приводит к снижению стоимости модуля, но к увеличению стоимости межмодульных интерфейсу.

Существует оптимальное количество модулей, которое приводит к минимальной стоимости разработки. Стоимость разработки определяется сложностью программной системы.

При создании модулей необходимо придерживаться следующих принципов:

Принцип информационной закрытости требует, чтобы содержание модуля было скрыто от других модулей. Информационная закрытость значит:

все модули независимы и обмениваются только той информацией, которая необходима для работы;

доступ к операциям и структурам данных модуля ограничен.

Кроме того, информационная закрытость позволяет:

разрабатывать модули независимо и разными разработчиками;

обеспечивает легкую модификацию системы.

Идеальный модуль - "черный ящик", который задается входными и исходными параметрами, а содержимое невидимо.

Связность - внутренняя характеристика модуля, определяется зависимостью составных частей модуля. Чем выше связность, тем более "черная" сундук. Существует 6 типов связности :

функциональная связность;

информационная связность;

коммуникативная связность;

процедурная связность;

временная связность;

логическая связность.

Для измерения связности используют понятие силы связности (СС).

Связность за совпадением (СС = 0). В модули отсутствующие явно выражены внутренние связки.

Логическая связность (СС = 1). За некоторому условию выбирается конкретная часть модуля.

Временная связность (СС = 3). Части модуля работают в одно и то же время.

Процедурная связность (СС = 5). Части модуля выполняются по некоторому сценарием.

Коммуникативная связность (СС = 7). Части модуля работают из одной той же структурой данных, связанные с данными.

Информационная связность (СС = 9). Выходные данные одной части модуля используются в качестве входные данные другой части модуля.

Функциональная связность (СС = 10). Части модуля реализуют одну функцию.

Типы связности 1,2,3 - трактуются как "белый ящик", 4 - "просвечивает" сундук, 5 - "серый" сундук, 6 - почти "черный" ящик (не совсем "черный"), 7 - "черный".

57. Сложность программной системы.

Оценка сложности программной системы имеет большое значение в реализации проекта этой системы. От сложности системы зависит производительность труда разработчиков, а, следовательно, трудоемкость, сроки разработки и стоимость проекта. Между сложностью и надежностью программной системы также существует тесная связь. Очевидно, что чем высшая сложность программной системы, тем тяжелее обеспечить ее надежность.

Одно из основных правил программирования - соблюдение простоты. Более простой считается та программа, которая легче для понимания налаживания, сопровождения и модификации. Однако не существует общепринятой мысли, которая делает программу простой. Проще и программа, которая использует привычную систему обозначений. Программа с небольшим числом уровней вложенности проще, чем программа, в которой таких уровней много.Существует еще ряд правил достижения простоты программ, вероятно, проще вся программная система, которая тщательным образом спроектирована.

Однако в каждом случае желательно уметь определять меру сложности программной системы.

В самом простом случае сложность системы определяется как сумма мероприятий сложности ее модулей. Сложность модуля может вычисляться разными способами.

При комплексной оценке сложности ПАРСЕК необходимо рассматривать меру сложности модулей, меру сложности внешних связей (между модулями) и меру сложности внутренних связей (внутри модулей). Традиционно с внешними связками сопоставляют характеристику "сцепления", а с внутренними связками - характеристику "связность".

Одна из возможных моделей сложности модульной программной системы основывается на основных характеристиках ее модулей - связности каждого модуля и сцеплении каждой пары модулей.Выше была дана числовая оценка (от 0 до 10) связности и сцепления модулей. Кстати заметим, что разные авторы дают в этом диапазоне несколько иные значения для каждого типа характеристики модуля. Для оценки сложности S программной системы выберем числовой диапазон от 0 до 1.

При этом будем считать, что высокая связность и слабое сцепление характеризуется числом, близким к нулю. Таким образом, чем более близкое значение S к единице, тем сложнее ПАРСЕК. При таком подходе к значению числовой оценки нужно изменить значение коэффициентов СС (сила связности) и СЦ (сила сцепления).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]