TIL(D+30). 모듈

1. 모듈의 개요

모듈은 모듈화를 통해 분리된 시스템의 각 기능들로, 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용된다.

2. 결합도

모듈 간의 상호 의존도를 나타낸 것이다. 결합도가 약할수록 품질이 높고, 강할 수록 품질이 낮다.

(빨간색이 결합도가 제일 약하다. 보라색이 결합도가 제일 강하다.)

자료 결합도 - 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도

스탬프 결합도 - 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도

제어 결합도 - 제어 요서(Function code, Switch, Tag, Flag)를 전달하는 결합도

외부 결합도 - 데이터를 오부의 다른 모듈에서 참조할 때의 결합도

공통 결합도 - 공통 데이터 영역을 여러 모듈의 사용할 때의 결합도

내용 결합도 - 다른 모듈의 내부 기능 및 내부 자료를 직접 참조하거나 수정할 때의 결합도 

3. 응집도

정보 은닉 개념을 확장한 것이다. 응집도가 강할수록 품질이 높고, 약할수록 품질이 낮다.

(빨간색이 응집도가 제일 강하다. 보라색이 응집도가 제일 약하다.)

기능적 응집도, 순차적 응집도, 교환적 응집도, 절차적 응집도시간적 응집도논리적 응집도우연적 응집도

4. 팬인(Fan-In) / 팬아웃(Fan-Out)

팬인은 어떤 모듈 제어하는 모듈의 수를 나타낸다.

팬아웃은 어떤 모듈에 의해 제어되는 무듈의 수를 나타낸다.

스템의 복잡도를 최적화하려면 팬인은 높게, 팬아웃은 낮게 설계해야 한다.

5. 공통 모듈

정확성(Correctness) -  정확히 작성한다.

명확성(Clarity) - 중의적으로 해석되지 않도록 명확하게 작성한다.

완전성(Completeness) - 필요한 모든 것을 기술한다.

일관성(Consistency) - 공통 기능들 간 상호 충돌이 발생하지 않도록 작성한다.

추적성(Traceability) -  기능에 대한 요구사항의 출처, 관계를 파악할 수 있도록 작성한다.

 

댓글을 작성해보세요.

채널톡 아이콘