1 분 소요

공통 모듈 구현

소프트웨어 개발에 있어 기능을 분할하고, 추상화하여 성능을 향상시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법 모듈 간의 결합도는 줄이고 응집도는 높은 공통 모듈 구현을 권장한다.

결합도

모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호 의존성

유형 설명
내용 결합도
(Content Coupling)
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
공통 결합도
(Common Coupling)
파라미터가 아닌 모듈 밖에 선언되어있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우
외부 결합도
(External Coupling)
두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우
제어 결합도
(Control Coupling)
단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
스탬프 결합도
(Stamp Coupling)
모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
자료 결합도
(Data Coupling)
모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나느 경우

내용 결합도 –> 자료 결합도 순으로 결합도 낮음(좋은 품질)

응집도

모듈의 독립서을 나타내는 개념, 모듈 내부 구성요소 간 연관 정도

유형 설명
우연적 응집도
(Coincidental Cohension)
모듈 내부의 각 구성요소가 연관이 없을 경우
논리적 응집도
(Logical Cohension)
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
시간적 응집도
(Temporal Cohension)
연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
절차적 응집도
(Procedural Cohension)
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
통신적 응집도
(Communication Cohension)
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
순차적 응집도
(Sequential Cohension)
모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우
기능적 응집도
(Functional Cohension)
모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

우연적 응집도 –> 기능적 응집도 순으로 응집도 높음(좋은 품질)

태그:

카테고리:

업데이트: