728x90

응집도와 결합도는 모듈의 독립성을 높이기 위해 응집도는 높이고, 결합도는 낮춰야함

 

결합도란 ? 서로 다른 모듈 간 상호 의존 하는 정도 또는 두 모듈 사이의 연관된 관계

 

* 암기법 : 자스제외공내( 갈수록 높아짐)

 

자료 결합도
(Data Coupling) 

 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우
 순수한 자료형 요소

 

스탬프 결합도

(Stamp Coupling) 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
자료 구조의 형태 변경 시 참조하고 있는 모든 모듈에 영향 미침
변경되는 필드를 실제로 참조하지 않는 모듈에도 영향 미침

 

제어 결합도
(Control Coupling)

단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는
제어 요소가 전달되는 경우
ex) 파라미터로 전달되는 값에 따라 모듈 내부 로직이 처리가 달라지는
     Flag 값 등으로 결합

 

외부 결합도
(External Coupling) 

모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성들이 그 기능을순차적으로 수행할 경우
특수한 외부환경에 종속 또는 연관되어있는 경우
  ex) 외부의 데이터, 통신 프로토콜 등을 공유할 때
참조되는 데이터의 범위가 각 모듈에서 제한


공통 결합도
(Common Coupling) 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 갱신하는
식으로 상호작용하는 경우

 

내용 결합도
(Content Coupling) 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우

 

응집도란 ? 모듈 내부에서 구성 요소 간에 밀접한 관계를 맺고 있는 정도

** 암기법 : 우논시절통순기  (갈수록 높아짐 ->>)

 

우연적 응집도
(Coincidental Cohesion) - 서로 간에 어떠한 의미 있는 연관 관계도 없는 기능 요소로 구성될 경우의 응집도
- 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행할 경우의 응집도

 

논리적 응집도
(Logical Cohesion) - 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도

 

시간적 응집도
(Temporal Cohesion) - 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도

 

절차적 응집도
(Procedural Cohesion) - 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도

 

통신적 응집도
(Communication Cohesion) - 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우의 응집도

 

순차적 응집도
(Sequential Cohesion) - 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우의 응집도

 

기능적 응집도
(Functional Cohesion) - 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

728x90

+ Recent posts