728x90
반응형
목차
결합도와 응집도는 소프트웨어 설계의 중요한 개념으로, 각각 모듈 간의 상호 의존성과 모듈 내부의 기능적 관련성을 나타낸다. 이 두 개념을 이해하고 구분하는 것은 효율적이고 유지보수가 용이한 시스템을 설계하는 데 필수적이다.
결합도(Coupling) 유형
결합도는 다른 모듈과 얼마나 강하게 연결되어 있는지, 즉 모듈 간의 의존도 수준을 나타낸다. 낮은 결합도를 유지하는 것이 바람직하다.
6가지 결합도 유형 ( 높은 결합도 => 낮은 결합도 👍 )
- 내용 결합(Content): 한 모듈이 다른 모듈의 내부를 직접 참조하거나 변경하는 경우.
- 공통 결합(Common): 두 모듈이 같은 전역 변수를 공유하여 사용할 때.
- 외부 결합(External): 두 모듈이 외부 데이터 포맷이나 통신 프로토콜 등을 공유할 때.
- 제어 결합(Control): 한 모듈이 다른 모듈에게 제어 신호나 제어 정보를 넘겨주는 경우.
- 스탬프 결합(Stamp): 두 모듈이 데이터 구조를 공유하여 사용할 때.
- 자료 결합(Data): 두 모듈이 매개변수를 통해서만 데이터를 교환할 때. ( 가장 낮음 ) 👍
응집도(Cohesion) 유형
응집도는 한 모듈 내부의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타낸다. 높은 응집도를 가진 모듈이 바람직하다.
6가지 응집도 유형 ( 낮은 응집도 => 높은 응집도 👍 )
- 우연적 응집도(Coincidental): 모듈 내의 작업들이 무관한 작업을 수행할 때. ( 가장 낮음 ).
- 논리적 응집도(Logical): 모듈 내의 작업들이 논리적으로 유사한 작업을 수행할 때
- 시간적 응집도(Temporal): 모듈 내의 작업들이 특정 시간에 실행되어야 할 때.
- 절차적 응집도(Procedural): 모듈 내의 작업들이 특정 순서대로 실행되어야 할 때.
- 통신적 응집도(Communicational): 모듈 내의 작업들이 같은 데이터를 사용할 때
- 순차적 응집도(Sequential): 모듈 내의 각 부분이 다음 부분의 입력으로 연결될 때.
- 기능적 응집도(Functional): 모듈 내의 모든 기능이 단일한 목적을 위해 작동할 때. 👍
암기
( 낮은 값을 향해 )
내공외제스자!
우논시절통순기!
반응형
'컴퓨터 과학 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] SOLID(4) : 인터페이스 분리 원칙(Interface Segregation Principle, ISP) (1) | 2024.03.29 |
---|---|
[소프트웨어공학] SOLID(3) : 리스코프 치환 원칙(Liskov Substitution Principle, LSP) (3) | 2024.03.29 |
[소프트웨어공학] SOLID(2) : 개방 폐쇄 원칙 (Open-Closed Principle, OCP) (2) | 2024.03.29 |
[소프트웨어공학] SOLID(1) : 단일 책임 원칙 (Single Responsibility Principle, SRP) (1) | 2024.03.29 |
[소프트웨어공학] 팬인(Fan-in) 과 팬아웃(Fan-out) (1) | 2024.03.19 |