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

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

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

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

Процедурно связанный модуль состоит из элементов, для которых задан порядок работы. Зависимости по данным между элементами нет.

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

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

Модуль с логической связностью. Элементы логического связанного модуля принадлежат к действиям одной категории и из этой категории клиент выбирает выполняемое действие. Логический модуль можно рассматривать как совокупность доступных действий, вынужденных использовать один и тот же интерфейс модуля. Недостатки логической связности:

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

· Запутанная внутренняя структура с множеством переходов.

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

Причины, приводящие к возникновению модулей со связностью «по совпадению»:

1. Бездумный перевод монолитного кода в модули.

2. Необоснованное изменению модулей с плохой связностью.

3. Группировка в отдельный модуль одинаковых последовательностей операторов, обнаруженных в нескольких модулях.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: