인생 첫 cs 공부/[정처기실기]

[정처기 실기] 모듈화, 응집도, 결합도

아딜렛 2025. 2. 3. 11:43

모듈의 독립성을 높이기 위해서

응집도를 높인다.

결합도를 낮춘다.

Fan-out을 최소화한다.(한 모듈이 호출하는 다른 모듈의 수)

Fan-in을 증가시킨다. (한 모듈을 호출하는 모듈의 수)

결합도: 모듈과 모듈간 관련성, 의존성 정도를 나타내는 개념

결합도를 낮춘 모형 a.k.a 잘 설계된 모형

data Coupling- 데이터 결합도: 모듈간 인터페이스로 값이 정확?

Stamp Coupling 스탬프 결합도

Control Coupling 제어결합도

External Coupling 외부 결합도

Common Couplin 공통 결합도

Content Coupling 내용 결합도

 


응집도

우연적 응집도

논리적 

시간적

절차적: 순차적 수행(순차적 응집도가 아니다!!!!!)

통신적: 동일한 입력, 출력을 사용

순차적: Sequantial Cohesion 한 활동의 출력값을 입력값으로 사용

기능적:Functional 응집도가 가장 높다.

 

Fan-in : ↘↙

특정 모듈을 호출, 참조하는 상위 모듈의 수

Fan-out: ↙↘

높은 팬아웃값은 해당 모듈이 다른 모듈들과 상호 작용이 많음 복잡도 높음

 

DTO: 프로세스간 데이터 전송객체 Getter Setter 메서드 포함 정보 은닉)

DAO:  데이터 베이스 접근 수행 DB 접근로직 

Service: DAO 클래스를 호출하여 비즈니스로직 사용

Controller: 사용자 요청 수행

 

MVC 모델 계층

비즈니스 로직계층(트랜잭션)

퍼시스턴트 계층: CRUD 연산 수행

도메인 모델

프레임워크

 

★배치 프로그램

대용량 데이터/ 자동화/ 견고함/안정성/성능