<응집도(Cohesion)>
모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도이다.
정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.
모듈 내부의 처리 요소들 간의 기능적 연관도 독립적인 기능으로 정의
모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관정도이다.- 정보은닉 개념의 확장으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.- 유형으로 우연적, 논리적, 시간적, 절차적, 통신적, 순차적, 기능적 응집도가 있다.
(1) 유형
기능적 응집도
순차적 응집도
교차(통신)적 응집도
절차적 응집도
시간적 응집도
논리적 응집도
우연적 응집도
(2) 응집도 순서(강함 -> 약함)
기 / 순 / 교 / 절 / 시 / 논 / 우
Coincidental(Cohesion)(우연적) → Logical(논리적) → Temporal(시간적) → Procedural(절차적) → Communication(통신적) → Sequential(순차적) → Functional(기능적)
<결합도(Coupling)>
모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계
모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성으로 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도
(1) 유형
내용 결합도 - 한 모듈이 다른 모듈 내부에 있는 변수나 기능을 직접 참조하거나 사용하는 경우의 결합도이다.
스탬프 결합도 - 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달될 때의 결합도이다.
제어 결합도 - 단순 처리할 대상인 값만 전달되는 것이 아니라 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해서 어떻게 처리를 해야 한다는 제어 요소까지 전달하는 결합도이다.
(2) 결합도 순서(강함 -> 약함)
내 / 공 / 부 / 제 / 스 / 자
Content > Common > External > Control > Stamp > Data
내용 > 공통 > 외부 > 제어 > 스탬프 > 자료
<모듈화(Modulation)>
모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법으로 모듈 간 결합도는 최소화하고, 응집도를 최대화를 목적으로 하는 기법
소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법
<모듈화의 목표>
1. 모듈 내 응집도 최대화
2. 모듈 간 결합도 최소화
<공통 모듈 구현>
소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향싱시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법이다.
인터페이스 모듈, 데이터베이스 접근 모듈 등 필요한 공통 모듈을 구현한다.
모듈 간의 결합도는 줄이고, 응집도는 높은 공통 모듈구현을 권장하고 있다.
'정보처리기사' 카테고리의 다른 글
[정보처리기사 이론 정리]OSI 7 계층 (0) | 2022.03.24 |
---|---|
[정보처리기사 이론 정리]개발 - C언어 (0) | 2022.03.24 |
[정보처리기사 이론 정리]제품 소프트웨어 매뉴얼 (0) | 2022.03.24 |
[정보처리기사 이론 정리]간접 연계 방식 기술 (0) | 2022.03.24 |
[정보처리기사 이론 정리]데이터 베이스(DB) (0) | 2022.03.24 |