내용

결합도 (Coupling)

  • 결합도는 모듈 내부가 아니라, 외부의 모듈과의 연관도 또는 모듈 간의 상호 의존성을 나타내는 정도입니다.
  • 자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공유 결합도 < 내용 결합도
  • Data < Stamp < Control < External < Common < Content
  • 결합도는 약할수록 좋습니다.
  • 자스제외공내
종류내용
자료 결합도
(Data Coupling)
- 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우의 결합도
- 한 모듈의 내용을 변경하더라도 다른 모듈에는 영향을 미치지 않는 상태로 가장 바람직한 결합도
스탬프 결합도
(Stamp Coupling)
- 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
- 두 모듈이 동일한 자료구조를 조회하는 경우의 결합도
- 자료 구조의 어떠한 변화는 모든 모듈에 영향을 미치게 됩니다.
제어 결합도
(Control Coupling)
- 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하며 통신하는 경우의 결합도
- 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생하는 결합도
외부 결합도
(External Coupling)
- 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유하는 경우의 결합도
- 외부 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
공유 / 공통 결합도
(Common Coupling)
- 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하여 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
- 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
내용 결합도
(Content Coupling)
- 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
- 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때, 두 모듈은 내용적으로 결합되어 있는 경우의 결합도를 가집니다.

응집도

  • 모듈의 독립성을 나타내는 개념입니다.
  • 모듈 내부 구성요소 간의 연관 정도를 말합니다.
  • 응집도는 정보 은닉 개념의 확장 개념으로 하나의 모듈은 하나의 기능을 수행해야 함을 나타냅니다.
  • 우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 통신적 응집도 < 순차적 응집도 < 기능적 응집도
  • 응집도는 강할수록 좋습니다.
  • 우논시절통순기
종류내용
우연적 응집도
(Coincidental Cohesion)
- 서로간에 어떠한 의미 있는 연관 관계도 없는 기능 요소로 구성될 경우의 응집도
- 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행할 경우의 응집도
- → “결국 왜 이렇게 설계했냐”라는 말이 나올 정도 같습니다.
논리적 응집도
(Logical Cohesion)
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도
시간적 응집도
(Temporal Cohesion)
연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들이 한 모듈에서 처리할 경우의 응집도
절차적 응집도
(Procedural Cohesion)
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도
통신적 응집도
(Communication Cohesion)
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우의 응집도
순차적 응집도
(Sequential Cohesion)
모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우의 응집도
기능적 응집도
(Functional Cohesion)
모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

연관 페이지

참고 문헌 / 사이트