커플링이란 무엇인가요?
소프트웨어 설계에서는 일반적으로 모듈 독립성 정도를 측정하는 기준으로 결합도와 응집도를 사용합니다. 모듈을 나누는 기준 중 하나는 높은 응집력과 낮은 결합도입니다. 결합은 모듈 간의 결합 정도를 측정하는 것입니다. 결합 강도는 모듈 간 인터페이스의 복잡성, 모듈 호출 방식, 인터페이스를 통해 전송되는 데이터 양에 따라 달라집니다. 모듈 간의 결합 정도는 제어 관계, 호출 관계 및 데이터 전송 관계를 포함하여 모듈 간의 종속 관계를 나타냅니다. 모듈 간의 연결이 많을수록 결합도가 강해지고 독립성이 저하됩니다. 모듈 간의 결합 정도를 줄이면 모듈 간의 영향을 줄일 수 있고, 특정 모듈의 수정으로 인해 발생하는 "전신에 영향을 미치는" 물결 효과를 방지하며 시스템 설계의 원활한 진행을 보장할 수 있습니다. 응집력과 결합력은 서로 밀접하게 연관되어 있습니다. 다른 모듈과 결합 관계가 강한 모듈은 응집력이 약한 경우가 많으며, 응집력이 강하면 결합력이 약한 경우가 많습니다. 분류: 결합 정도는 7가지 수준으로 나눌 수 있습니다. a) 비직접 결합: 두 모듈 사이에는 직접적인 관계가 없습니다. b) 데이터 결합: 한 모듈이 다른 모듈에 액세스하고 다음을 통해 서로 입력을 교환합니다. 간단한 데이터 매개변수, 출력 정보. 여기서 간단한 데이터 매개변수는 제어 매개변수, 공개 데이터 구조 또는 외부 변수와 다릅니다. c) 태그 결합: 모듈 그룹이 매개변수 테이블을 통해 기록 정보를 전송하는 경우를 태그 결합이라고 합니다. 이 레코드는 단순한 변수가 아닌 특정 데이터 구조의 하위 구조입니다. d) 제어 결합: 하나의 모듈은 스위치, 플래그, 이름 등과 같은 제어 정보를 전달하여 다른 모듈의 기능을 명확하게 제어합니다. e) 외부 결합: 모듈 그룹은 모두 동일한 전역 데이터가 아닌 동일한 전역 단순 변수에 액세스합니다. f) 공개 결합: 모듈 그룹은 모두 동일한 공개 데이터 환경에 액세스합니다. 공공 데이터 환경은 글로벌 데이터 구조, 공유 통신 영역, 메모리의 공개 적용 영역 등이 될 수 있습니다. g) 콘텐츠 결합(Content Coupling): 하나의 모듈이 다른 모듈의 데이터를 직접 수정하거나 다른 모듈에 직접 전달하는 것 응집력(Cohesion)은 내부 요소 간의 연결의 긴밀성을 의미하며, 모듈의 응집력 유형은 일반적으로 7가지 유형으로 나눌 수 있습니다. 응집력의 순서는 우발적 응집력, 논리적 응집력, 순간적 응집력, 프로세스 응집력, 통신 응집력, 순차적 응집력, 기능적 응집력 순이다.