반응형
1. 공통모듈
1. 모듈 개념
- 모듈은 크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어
- 모듈화를 통해 분리된 시스템의 각 기능들을 서브프로그램, 서브 루틴, 소프트웨어 내의 단위 프로그램, 작업 단위 등과 같은 의미로 사용
2. 모듈의 특징
- 각 모듈은 상대적으로 독립성을 가지고 있습니다.
- 모듈 내부에는 그 모듈을 하나로 통합하는 수많은 조합이 존재할 수 있습니다.
- 모듈은 단독으로 컴파일할 수 있으며 재사용할 수 있습니다.
- 독립성이 높은 모듈일수록 수정 시 다른 모듈에 영향을 거의 미치지 않고 오류가 발생 시에도 쉽게 해결할 수 있습니다.
2. 결합도
- 외부의 모듈과의 연관도
- 상호의존성
- 모듈 간의 관련성을 측정하는 척도
유형 | 설명 | 결합도 | 품질 |
내용 결합도 |
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우 | 높음 | 나쁨 |
공통 결합도 |
파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우 | | | | |
외부 결합도 |
두개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유할 경우 | | | | |
제어 결합도 |
단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야한다는 제어 요소가 전달되는 경우 | | | | |
스탬프 결합도 |
모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우 | ↓ | ↓ |
자료 결합도 |
모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우 | 낮음 | 좋음 |
3. 응집도
- 모듈의 독립성
- 모듈 내부 구성요소 간 연관 정도
유형 | 설명 | 응집도 | 품질 |
기능적 응집도 |
모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 | 높음 | 좋음 |
순차적 응집도 |
모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우 | | | | |
통신적 응집도 |
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우 | | | | |
절차적 응집도 |
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 때 | | | | |
시간적 응집도 |
연관된 기능이라기보다 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우 | | | | |
논리적 응집도 |
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우 | ↓ | ↓ |
우연적 응집도 |
모듈 내부의 각 구성요소가 연관이 없을 경우 | 낮음 | 나쁨 |
4. 모듈의 독립성
결국 모듈의 독립성은 결합도와 응집도에 의해 측정됩니다.
독립성이 높은 모듈일 수록 모듈의 결합도는 낮게, 응집도는 높게 만들어야합니다.
모듈의 독립성이 높을 수록 개발할 때 집중력이 좋습니다.
하나의 함수에서 하나의 행위만 하도록 코딩하는 습관이 필요합니다.
반응형
'개발 > 개념' 카테고리의 다른 글
Web Server, WAS (2) | 2022.10.07 |
---|---|
[가상화, 클라우드] 가상화와 클라우드 (0) | 2021.02.23 |
[테스트] 애플리케이션 테스트 (0) | 2021.02.03 |
[UI] UI 설계 (0) | 2021.02.02 |
[UI] UI (0) | 2021.02.02 |
댓글