모듈화를 통해서 분리된 시스템들의 각 기능을 단독으로 컴파일 가능.
독립성을 높이려면 결합도 ↓ 응집도↑ 크기↓
독립성을 낮추려면 결합도 ↑ 응집도↓ 크기↑
결합도는 모듈간 상호 의존하는 정도, 연관관계의 정도를 나타내준다.
결합도가 약할수록 품질이 높아지고, 강할수록 품질은 낮아진다
결합도 강한 순서대로
내용결합도 - 공통결합도 - 외부결합도 - 제어결합도 - 스탬프결합도 - 자료결합도
자료결합도는 모듈간 인터페이스가 자료요소로만 구성될 때를 말하고
가장 바람직한 결합도이다.
스탬프결합도는 모듈간 인터페이스로 배열이나 레코드 같은 자료구조가 전달될 때,
즉 두 모듈이 동일한 자료 구조를 조회하는 경우를 말한다.
제어 모듈은 논리적 흐름을 제어하기 위해서 제어요소를 전달하는 모듈이다.
응집도 - 정보은닉 개념을 확장한 것, 모듈의 내부요소들이 서로 관련되어있는 정도
즉, 모듈이 독립적인 기능으로 정의되어 있는 정도
응집도가 강할수록 품질이 높고, 약할수록 품질이 낮음
응집도 강한 순서대로
기능적 - 순차적 - 교환적 - 절차적 - 시간적 - 논리적 - 우연적
팬인/팬아웃
시스템의 복잡도를 알 수 있음.
팬인은 제어하는 모듈수,
팬아웃은 제어되는 모듈수를 나타내준다.
팬인이 높을 경우 재사용측면에서는 잘된 설계이다. 단일장애점이 발생 가능하다.
팬아웃이 높을경우 불필요하게 다른모듈들을 호출하는지 검토해야한다. 단순화 시킬수 있는지도 검토해야한다.
복잡도를 최적화하려면 => 팬인 높게, 팬아웃 낮게
공통모듈
공통적으로 사용가능한 모듈을 공통모듈이라 한다.
정확성 ,명확성 ,완전성 ,일관성 ,추적성을 필요로 한다.
재사용 -> 이미 개발된 기능들을 최적화 한다.
재사용되는 대상은 외부모듈과 결합도는 낮고, 응집도는 높아야한다.
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
5. 애플리케이션 설계 (0) | 2021.07.29 |
---|---|
4. 다이어그램, 화면 설계 (1) | 2021.07.29 |
2 시스템, 개발 기술 환경 파악 (0) | 2021.06.08 |
1. 개발 기법 (0) | 2021.06.08 |