Модулна свързаност (кохезия)
Кохезията на модула (кохезия) е вътрешна характеристика на модул, която характеризира мярка за силата на връзката на функционални и информационни обекти в рамките на един модул. Свързаността на модула характеризира степента на неговата "плътност", степента на зависимост на неговите части и насоченост към решаване на конкретен проблем. Колкото по-висока е свързаността на модула, толкова по-малко "контролни копчета" на модула и толкова по-прости са те. Когато проектирате модули, трябва да се стремите към висока свързаност, защото колкото по-висока е свързаността, толкова по-добре е проектиран модулът.
Има 7 вида свързване:
- функционална свързаност
- серийна свързаност
- Информационна свързаност
- процедурна свързаност
- Времева свързаност
- Логическа свързаност
- Свързаност по случайност
Функционално свързан модул съдържа обекти, предназначени за решаване на една единствена задача. Примери за функционално свързани модули са модули за проверка на правописа, изчисляване на заплатите на служителите, изчисляване на логаритъм на функция.
Всерийно свързан модул неговите обекти покриват подзадачи, за които изходът на една от подзадачите е вход към друга (отваряне на файл - четене на запис - затваряне на файл).
Процедурно свързан модул е модул, чиито обекти са включени в различни (вероятно несвързани) подзадачи, в които контролът преминава от една подзадача към следващата (упражнение, вземане на душ, закуска, обличане, отиване на работа). За разлика от последователно свързан модул, в който се прехвърлят данни, в процедурно свързан модул се прехвърля управление.
Модул с времева връзка е модул, в който обектите на модула са обвързани със специфиченвремеви интервал. Пример за това е модул, който инициализира системата. Елементите на този модул почти не са свързани помежду си, освен че трябва да се изпълняват в определено време.
Модул с логическа връзка е модул, чиито обекти допринасят за решаването на една обща подзадача, за която тези обекти са избрани във външния за модула свят. Така например алтернативите: да отидете с кола, с метро, с автобус - са средство за постигане на цел: да стигнете до определено място, от което трябва да изберете едно.
Модул със случайна свързаност съдържа обекти, които са слабо свързани помежду си (отидете на кино, вечеряйте, гледайте телевизия, проверявайте имейл).
Софтуерните системи трябва да съдържат модули, които имат следните три мерки за свързаност: функционална, последователна и информационна, тъй като други видове свързаност са силно нежелателни и усложняват разбирането и поддръжката на системата.
добре | добре | добре | добре |
добре | добре | близо до добро | добре |
средно аритметично | средно аритметично | средно аритметично | средно аритметично |
приемливо | приемливо | приемливо | лошо |
лошо | лошо | средно аритметично | лошо |
лошо | лошо | лошо | лошо |
лошо | лошо | лошо | лошо |
Тясно свързана с концепцията за свързаност е концепцията за свързаност или връзка на модулите.