- 여러 프로그램에서 공통적으로 사용할 수 있는 모듈
- 자주 사용되는 계산식, 사용자 인증과 같은 기능들
- 재사용성 확보, 중복 개발 회피를 위해 설계과정에서 공통부분을 식별하고 명세를 작성할 필요가 있음
💡 공통 모듈 명세기법
- 정확성(Correctness) : 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성
- 명확성(Clarity) : 중의적으로 해적되지 않도록 명확하게 작성
- 완전성(Completeness) : 모든 것을 기술
- 일관성(Consistency) : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성
- 추적성(Traceability) : 요구사항 출처, 관련 시스템 들의 관계를 파악할 수 있도록 작성
1. 재사용 (Reuse)
- 비용과 개발 시간을 절약하기 위해 이미 개발된 기능 파악, 재구성 하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화 시키는 작업
- 누구나 이해할 수 있고 사용이 가능하도록 사용법 공개
- 외부 모듈과 결합도↓, 응집도↑
💡 재사용 규모에 따른 분류
- 함수와 객체 : 클래스나 메소드 단위의 소스 코드를 재사용
- 컴포넌트 : 독립적인 업무, 기능을 수행하는 실행 코드 기반으로 작성된 모듈을 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용
- 애플리케이션 : 공통된 기능을 제공하는 애플리케이션을 공유하는 방식으로 재사용
2. 효과적인 모듈 설계 방안
- 결합도는 줄이고 응집도는 높여 모듈의 독립성과 재상용성을 높임
- 모듈의 제어영역 안에서 영향영역을 유지
- 복잡도와 중복성을 줄이고 일관성을 유지
- 예측 가능해야하며 지나치게 제한적이어서는 안됨
- 유지보수 용이
- 시스템 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해
- 하나의 입구와 하나의 출구
- 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 함
- 논리구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스 설계
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[1과목 소프트웨어 설계] 애플리케이션 설계 - 028. ⭐ 디자인 패턴 (1) | 2024.06.04 |
---|---|
[1과목 소프트웨어 설계] 애플리케이션 설계 - 027. ⭐ 코드 (0) | 2024.06.04 |
[1과목 소프트웨어 설계] 애플리케이션 설계 - 025. ⭐ 모듈 (Module) (1) | 2024.05.29 |
[1과목 소프트웨어 설계] 애플리케이션 설계 - 024. ⭐ 객체지향 분석 및 설계 (0) | 2024.05.28 |
[1과목 소프트웨어 설계] 애플리케이션 설계 - 023. ⭐ 객체지향 (Object-Oriented) (0) | 2024.05.28 |