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

[정보처리기사 필기 요약] 모듈화 (2) - 응집도 (Cohesion)

by 채연2 2021. 3. 4.

* 응집도(Cohesion)

  • 정보 은닉의 확장된 개념
  • 하나의 모듈이 하나의 기능 수행하는 집적도의 척도
  • 모듈의 독립성 나타내는 개념으로 내부 구성원 간 연관도 의미
  • 클래스 목적에 부합하는 같은 기능 함수들로 구성
  • 함수의 개수가 상대적으로 적으며 오로지 자신이 할 수 있는 책임을 부여받음
  • 하나의 함수에 많은 기능 부여하지 않고 다른 기능 가진 함수와 상호협력
  • 높을수록 좋음
  • 모듈 내부에 독립성 보장 위해 하나의 기능만을 구현하는 것 의미

 

* 응집도 단계

응집도 내용
기능적 응집도
(Functional Cohesion)
- 모듈 내부 모든 기능이 단일한 목적 위해 수행
순차적 응집도
(Sequential Cohesion)
- 모듈 내 한 활동으로부터 나온 출력 값을 다른 활동이 사용하는 경우
통신적 응집도
(Communication Cohesion)
- 동일한 입/출력 사용하여 다른 기능 수행하는 활동들 모여 있을 경우
절차적 응집도
(Procedural Cohesion)
- 모듈이 다수 관련 기능 가질 때, 모듈 안 구성 요소들이 그 기능 순차적으로 수행하는 경우
시간적 응집도
(Temporal Cohesion)
- 연관된 기능이라기보단 특정 시간에 처리되어야 하는 활동들 한 모듈에서 처리하는 경우
논리적 응집도
(Logical Cohesion)
- 유사한 성격 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
우연적 응집도
(Coincidential Cohesion)
- 모듈 내부 각 구성 요소들이 연관 없는 경우

 

* 응집도 사례

  • 낮은 응집도는 하나의 모듈 내부에 다양한 기능 구현하여 독립성 낮아짐
  • 반면, 높은 응집도는 하나의 모듈에 하나의 기능만을 분리 구현하여 독립성 보장되어 변경 및 유지보수 쉬움

320x100

댓글