반응형
1. 모듈화의 개요
가. 모듈화의 정의
- 시스템을 분해하고 추상화하여 소프트웨어의 성능을 향상하거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법
나. 모듈화의 장점
- 프로그램의 효율적인 관리 및 성능 향상
- 전체적인 소프트웨어 이해의 용이성 증대 및 감소
- 소프트웨어 시험, 통합, 수정 시 용이성 제공
- 기능의 분리가 가능하고 인터페이스가 단순
- 오류의 파급효과를 최소화
- 모듈의 재사용 가능으로 개발과 유지보수가 용이
다. 모듈화의 목표
- 모듈 간 결합도의 최소화
- 모듈 내 요소들 간의 응집도 최대화
2. 결합도와 응집도
가. 결합도
- 소프트웨어 구조 내에서 모듈 간의 관련성을 측정하는 척도
- 모듈 상호 간 낮은 결합도를 추구하며 에러 발생 시 전파되어 다른 에러의 원인이 되는 파급효과의 최소화 등을 목표로 함
결합도 종류 | 내용 |
자료 결합도 (Data coupling) |
|
스템프 결합도 (Stamp Coupling) |
|
제어 결합도 (Control Coupling) |
|
외부 결합도 (External Coupling) |
|
공통 결합도 (Common Coupling) |
|
내용 결합도 (Contents Coupling) |
|
나. 응집도
- 하나의 모듈 내부의 처리 요소들 간의 기능적 연관성을 측정하는 척도
- 정보은닉 개념의 확장이며, 가장 응집도가 높은 모듈은 단지 하나의 기능만을 실행한다는 특징을 가짐
응집도 종류 | 내용 |
기능적 응집도 (Functional Cohesion) |
|
순차적 응집도 (Sequential Cohesion) |
|
통신적 응집도 (Communicational Cohesion) |
|
절차적 응집도 (Procedural Cohesion) |
|
일시적 응집도 (Temporal Cohesion) |
|
내용적 응집도 (Logical Cohesion) |
|
우연적 응집도 (Coincidental Cohesion) |
|
반응형
'TechNote > 소프트웨어 공학(SW)' 카테고리의 다른 글
011. 소프트웨어 역공학 (0) | 2022.10.01 |
---|---|
010. 3R (Reverse Engineering, Re Engineering, Re Use) (0) | 2022.10.01 |
008. 소프트웨어 유지보수 (0) | 2022.09.30 |
007 아키텍처 평가방법 ATAM (0) | 2022.09.30 |
006. 소프트웨어 아키텍처 평가 방법론 (0) | 2022.09.30 |
댓글