본문 바로가기
정보처리기사

[정보처리기사 이론 정리]응집도와 결합도

by 기출문제 전문가 2022. 3. 24.
728x90
반응형

<응집도(Cohesion)>

 

모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도이다.

정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.

모듈 내부의 처리 요소들 간의 기능적 연관도 독립적인 기능으로 정의

모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관정도이다.- 정보은닉 개념의 확장으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미한다.- 유형으로 우연적, 논리적, 시간적, 절차적, 통신적, 순차적, 기능적 응집도가 있다.

 

(1) 유형

 

기능적 응집도

순차적 응집도

교차(통신)적 응집도

절차적 응집도

시간적 응집도

논리적 응집도

우연적 응집도

 

(2) 응집도 순서(강함 -> 약함)

 

기 / 순 / 교 / 절 / 시 / 논 / 우

Coincidental(Cohesion)(우연적) → Logical(논리적) → Temporal(시간적) → Procedural(절차적) → Communication(통신적) → Sequential(순차적) → Functional(기능적)


<결합도(Coupling)>

 

모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계

모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성으로 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도

 

(1) 유형

 

내용 결합도 - 한 모듈이 다른 모듈 내부에 있는 변수나 기능을 직접 참조하거나 사용하는 경우의 결합도이다.

 

스탬프 결합도 - 모듈 간의 인터페이스로 배열이나 객체구조 등이 전달될 때의 결합도이다

 

제어 결합도 - 단순 처리할 대상인 값만 전달되는 것이 아니라 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해서 어떻게 처리를 해야 한다는 제어 요소까지 전달하는 결합도이다.

 

(2) 결합도 순서(강함 -> 약함)

 

내 / 공 / 부 / 제 / 스 / 자

Content > Common > External > Control > Stamp > Data

내용 > 공통 > 외부 > 제어 > 스탬프 > 자료


<모듈화(Modulation)>

 

모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법으로 모듈 간 결합도는 최소화하고, 응집도를 최대화를 목적으로 하는 기법

소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법


<모듈화의 목표>

 

1. 모듈 내 응집도 최대화

2. 모듈 간 결합도 최소화


<공통 모듈 구현>

 

소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향싱시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법이다.

인터페이스 모듈, 데이터베이스 접근 모듈 등 필요한 공통 모듈을 구현한다.

모듈 간의 결합도는 줄이고, 응집도는 높은 공통 모듈구현을 권장하고 있다.

728x90
반응형