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