모듈(Module)
모듈화를 통해 부리된 시스템의 각 기능 단위로,
독립적으로 개발·수정·테스트가 가능한 프로그램의 논리적 구성 단위
- 유지보수성 향상
- 재사용성 향상
- 개발 효율 증대
- 결합도와 응집도로 즉정
- 좋은 모듈은 결합도는 낮고, 응집도는 높음
결합도(Coupling)
모듈 간 상호 의존성의 정도,
즉 한 모듈이 다른 모듈에 얼마나 영향을 미치는지를 나타내는 척도
- 결합도가 강할수록(의존성이 높을수록) 품질이 낮고,
결합도가 약할수록 품질이 높음 - (강 → 약)
내용 → 공통 → 외부 → 제어 → 스탬프 → 자료 - 내용 결합도
- 한 모듈이 다른 모듈의 내부 변수나 기능을 직접 참조·수정할 때
- 공통 결합도
- 여러 모듈이 전역 변수를 공유할 때
- 외부 결합도
- 어떤 모듈이 외부에 선언된 데이터를 참조할 때
- 제어 결합도
- 모듈이 논리 흐름 제어 신호를 전달할 때
- 스탬프 결합도
- 배열, 구조체 등 자료 구조 전체를 전달할 때
- 자료 결합도
- 필요한 데이터만 매개변수로 전달할 때
응집도(Cohesion)
하나의 모듈 내부에 포함된 기능 요소들이 서로 얼마나 관련이 있는가를 나타내는 척도
- 응집도가 강할수록(내부 집중도가 높을수록) 품질이 높음
- 모듈 내부 응집도를 높여 독립성 향상
- 강 → 약
기능적 → 순차적 → 교환적 → 절차적 → 시간적 → 논리적 → 우연적 - 기능적 응집도
- 모듈의 모든 기능이 단일 문제 해결에 집중되어 있을 때
- 순차적 응집도
- 한 기능의 출력이 다음 기능의 입력으로 사용될 때
- 교환적 응집도
- 동일한 입력/출력을 사용하는 여러 기능이 모일 때
- 절차적 응집도
- 순차적인 수행 절차를 따르지만 논리적 연관성은 낮을 때
- 시간적 응집도
- 특정 시점에 수행되는 기능들이 모일 때
- 논리적 응집도
- 유사한 기능을 논리적으로 묶었을 때
- 우연적 응집도
- 아무 관련 없는 기능들이 임의로 묶였을 때
팬 인(Fan-In) / 팬아웃(Fan-Out)
- 팬인(Fan-In)
- 특정 모듈을 호출하는(제어하는) 상위 모듈의 수
- 팬 아웃(Fan-Out)
- 특정 모듈이 호출하는(제어하는) 하위 모듈의 수
- 팬인이 높을수록 재사용성이 높음
- 팬아웃이 낮을수록 모듈 독립성이 높음
N-S 차트(Nassi-Schneiderman Chart)
- 프로그램의 논리 구조를 도형으로 표현한 순서도 형태의 설계 도구
- = 박스 다이어그램
- GOTO 문이나 화살표 사용X
- 논리 흐름을 3가지 제어 구조로 표현
- 연속
- 선택
- 반복
- 조건 분기나 반복 처리 구조를 시각적으로 명확히 표현 가능
- 복잡한 조건문이나 다중 루프 구조를 설계할 때 적합
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 객체지향 분석 및 설계 정리(OOA, OMT, SOLID) (0) | 2025.11.05 |
|---|---|
| 정보처리기사 실기 - 객체지향의 구성요소와 특징 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 아키텍처 패턴 종류·특징 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 소프트웨어 아키텍처 설계 원리 & 품질 속성 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 개발 환경 구성 요소 및 구축 절차 정리 (0) | 2025.11.04 |