모듈(Module)
- 모듈화를 통해 분리된 시스템의 각 기능으로, 서브루틴, 서브 시스템, 소프트웨어 내의 프로그램, 작업 단위 등을 의미한다.
- 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립적임을 의미한다.
- 모듈의 독립성은 결합도와 응집도에 의해 측정된다.
결합도(Coupling)
- 모듈과 모듈 사이의 관련성, 또는 연관, 결합 정도
- 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮다.
종류 | 설명 |
자료 결합도 (Data Coupling) |
모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우 |
스탬프 결합도 (Stamp Coupling) |
모듈 간의 인터페이스로 배열이나 오브젝트, 스터럭처 등이 전달되는 경우 |
제어 결합도 (Control Coupling) |
단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우 |
외부 결합도 (External Coupling) |
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우 |
공통 결합도 (Common Coupling) |
파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우 |
내용 결합도 (Content Coupling) |
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우 |
→자스제외공내
응집도(Cohesion)
- 모듈 내부의 구성 요소 간 관계의 밀접 정도
- 응집도가 강할수록 품질이 높고, 약할수록 품질이 낮다.
종류 | 설명 |
기능적 응집도 (Functional Cohesion) |
모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도 |
순차적 응집도 (Sequential Cohesion) |
모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도 |
통신적 응집도 (Communication Cohesion) |
동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도 |
절차적 응집도 (Procedural Cohesion) |
모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도 |
시간적 응집도 (Temporal Cohesion) |
특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도 |
논리적 응집도 (Logical Cohesion) |
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도 |
우연적 응집도 (Coincidental Cohesion) |
모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도 |
→우논시절통순기
팬 인(Fan In) / 팬 아웃(Fan Out)
팬 인 | 어떤 모듈을 호출하는 모듈의 수 하나의 모듈이 제어받는 상위 모듈의 수 |
팬 아웃 | 어떤 모듈에 의해 호출되는 모듈 수 하나의 모듈이 제어하는 하위 모듈의 수 |
팬인 :
A | B | C | D | E | F | G | H | |
팬 인 | 0 | 1 | 1 | 1 | 1 | 2 | 1 | 1 |
팬 아웃 | 3 | 2 | 2 | 1 | 0 | 0 | 0 | 0 |
'other' 카테고리의 다른 글
[정보처리기사] 실기 초 단기 필승 합격 전략, 출제 유형 분석 (0) | 2022.07.21 |
---|---|
[정보처리기사] 애플리케이션 테스트 관련 요약 (0) | 2022.07.18 |
[정보처리기사] DB 데이터베이스 관련 요약 (0) | 2022.07.18 |
[정보처리기사] UI, UML, 다이어그램 관련 요약 (0) | 2022.07.18 |
[정보처리기사] 소프트웨어 및 디자인 패턴 관련 요약 (0) | 2022.07.18 |