[자격증]/정보처리기사 실기

결합도 (Coupling)

Ben의 프로그램 2023. 10. 6. 11:10
728x90

핵심 Keyword

1. 결합도 (Coupling)

2. 자료 결합도 Data Coupling, 스탬프(검인) 결합도 Stamp Coupling, 제어 결합도 Control Coupling, 외부 결합도 External Coupling, 공유 경합도 Common Coupling, 내용 결합도 Content Coupling


결합도 Coupling
결합도는 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계를 의미합니다. 다양한 결합으로 모듈을 구성할 수 있으나, 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮습니다. 결합도가 강하면 시스템 구현 및 유지보수 작업이 어렵습니다. 결합도의 종류에는 자료 결합도, 스탬프 결합도, 제어 결합도, 외부 결합도, 공통 결합도, 내용 결합도가 있습니다.

 

자료 결합도 Data Coupling
모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도입니다. 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식입니다. 모듈 간의 내용을 전혀 알 필요가 없는 상태로서 한 모듈의 내용을 변경하더라도 다른 모듈에는 전혀 영향을 미치지 않는 가장 바람직한 결합도 입니다.  

 

스탬프 (검인) 결합도 Stamp Coupling
모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도입니다. 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도이며, 자료 구조의 어떠한 변화, 즉 포맷이나 구조의 변화는 그것을 조회하는 모든 모듈 및 변화되는 필드를 실제로 조회하지 않는 모듈에까지도 영향을 미치게 됩니다. 

 

제어 결합도 Control Coupling
어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소(Function Code, Switch, Tag, Flag)를 전달하는 결합도입니다. 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계된 경우에 발생합니다. 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 하위 모듈이 상위 모듈에게 처리 명령을 내리는 권리 전도현상이 발생하게 됩니다. 

 

외부 결합도 External Coupling
어떤 모듈에서 선언한 데이터, 지역 변수 등을 외부의 다른 모듈에서 참조할 때의 결합도입니다. 참조되는 데이터의 범위를 각 모듈에서 제한할 수 있습니다.

 

공유 (공통) 결합도 Common Coupling
공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도입니다. 모듈 간의 인터페이스로 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용 하는 때의 결합도를 의미합니다. 공통 데이터 영역의 내용을 조금만 변경하더라도 이를 사용하는 모든 모듈에 영향을 미치므로 모듈의 독립성을 약하게 만듭니다. 

 

내용 결합도 Content Coupling
한 모듈이 다른 모듈의 데이터, 지역변수와 같이 내부 기능 및 그 내부 자료를 직접 참조하거나 수정 할 때의 결합도입니다. 한 모듈에서 다른 모듈의 내부로 제어가 이동하는 경우에도 내용 결합도에 해당됩니다.