문)모듈화
답)
1. 소프트웨어 설계의 기본 모듈화
가. 모듈화의 정의
- 소프트웨어 기능을 수행하는데 있어 분할과 정복(Divid & Conquer)을 이용하여 독립된 기능을 구현하는 기법
나. 모듈화의 원리
- 분할과 정복 : 복잡한 문제를 모듈 단위로 분해하여 해결
- 결합도와 응집도 : 결합도는 최소화, 응집도는 최대화하여 독립성 높임
- 추상화 : 복잡한 것에서 공통적인 부분을 추출, 간단하게 표현
2. 소프트웨어 모듈화의 종류와 컴포넌트와의 비교
가. 모듈화의 종류
결합도 - 모듈간의 상호관계의 의존도를 측정하는 척도
(Coupling) 내용- 공통- 외부-제어-스템프-자료
높음<------------------------------->낮음
응집도 - 모듈 내부 처리요소들간의 기능적 연관성
(Cohesion) 우연적-논리적-시간적-절차적-통신적-순차적-기능적
낮음<------------------------------------------------->높음
나. 모듈화와 컴포넌트의 비교
비교항목 컴포넌트 모듈화
사용성 독자적서비스제공 타모듈과어플리케이션구성
이기종호환 플랫폼, 구현기술독립적 구현기술에 종속적
응용 분산어플리케이션 단일어플리케이션
개발방식 객체지향,CBD 모듈화프로그래밍 기법
3. 모듈화의 효과적인 발전방향
가. 추상화, 캡슐화, 정보은닉, 다형성등의 객체지향 개념을 적용해 모듈의 독립성 추구
나. 객체지향 관련 기술로 컴포넌트 형식으로 독립성 추구 방안 모색, 이를 응용한 CBD방식대두
끝.