КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Свойства модульной организации
Анализ сложности программных средств с модульной организацией Модульность – свойство программной системы, обусловленное ее декомпозиций на ряд внутренне связанных и слабо зависящих друг от друга компонент, называемых модулями. Свойство, позволяющее реализовать сколь угодно сложные системы. Сложность программы Время разработки В этом соотношении не учитывается интерфейс между модулями. Модульная организация должна удовлетворять принципу информационной закрытости – все модули независимы, обмен осуществляется только той информацией, которая необходима для их работы; доступ к внутренним данным модуля запрещен или ограничен. 1) Связность модуля – мера зависимости внутренних частей модуля друг от друга. Чем выше связность, тем более модуль независим и лучше спроектирован. Связность элементов модуля делится на несколько уровней, характеризуемых силой связности (СС): 1) СС=0. Связность по совпадению – в модуле отсутствуют какие-либо связи и его элементы объединены случайно 2) СС=1. Логическая связность – модуль составлен из функционально подобных элементов, выполнение которых никак не упорядочено 3) СС=3. Временная связность – в состав модуля включены элементы, которые одновременно должны использоваться в некоторый отрезок времени выполнения программы. Недостаток: такие модули сильно чувствительны к внесению изменений и достаточно сложна их связь с другими модулями 4) СС=5. Процедурная связность – элементы модуля независимы по данным, но зависимы по порядку выполнения 5) СС=7. Коммутативная связность – части модуля работают с одной структурой данных, но обращаются к ней в произвольном порядке 6) СС=9. Информационная связность – выходные данные одной части модуля являются входными данными другой части, выполняемой следующей по порядку 7) СС=10. Функциональная связность – все элементы модуля используются для реализации одной функции Модули, спроектированные по 5-7 – «черные ящики», по 1-4 – «белые ящики», 4 – граница. 2) Сцепление модулей друг с другом – мера взаимозависимости модулей по данным или управлению. Внешняя характеристика. В хорошо спроектированной программе сцепление должно быть как можно меньше. 1) СЦ=1. По данным – модули обмениваются скалярными параметрами 2) СЦ=3. По образцу – параметрами, которыми обмениваются модули являются структурами данных 3) СЦ=4. По управлению – один модуль управляет работой другого модуля с помощью специальных данных: флагов и переключателей 4) СЦ=5. По внешним ссылкам – модули ссылаются на некоторые глобальные скалярные элементы данных 5) СЦ=7. По общей области – модули ссылаются на глобальную структуру данных 6) СЦ=9. По содержанию – в одном модуле имеется ссылка на код другого модуля не через точку входа
Оценка сложности - составляющая размерной сложности модуля 1 – число входов модуля 2 – число структур данных, которое использует модуль 3 – количество вызовов других модулей из данного 4 – количество структур данных, обновляемых данным модулем
Дата добавления: 2015-05-31; Просмотров: 697; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |