코딩항해기
[기초] 공통 모듈 본문
공통 모듈
여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다. 자주 사용될 수 있는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다. 모듈의 재사용성 확보와 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있다. 다른 개발자들도 해당 기능을 명확히 이해할 수 있도록 명세 기법을 준수해야한다.
정확성 | 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성 |
명확성 | 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확히 작성 |
완전성 | 시스템 구현을 위해 필요한 모든 것을 기술 |
일관성 | 공통 기능들 간 상호 충돌이 발생하지 않도록 작성 |
추적성 | 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성 |
재사용
비용과 개발 시간을 절약하기 위해 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화 시키는 작업이다. 재사용을 위해서는 누구나 이해할 수 있고 사용이 가능하도록 사용법을 공개하고 외부 모듈과의 결합도가 낮고 응집도가 높아야한다.
효과적인 모듈 설계 방안
- 결합도는 줄이고 응집도는 높여 독립성과 재사용성을 높인다.
- 모듈의 제어 영역 안에서 그 모듈의 영향 영역을 유지시킨다.
- 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
- 모듈의 기능은 예측이 가능해야하며 지나치게 제한적이어서는 안된다.
- 유지보수가 용이해야한다.
- 모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해한다.
- 하나의 입구와 하나의 출구를 갖도록 해야한다.
- 인덱스 번호나 기능 코드들이 전반적인 처리 논리 구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스를 설계 해야한다.
- 효과적인 제어를 위해 모듈 간의 계층적 관계를 정의하는 자료가 제시되어야한다.
'기타 > 기초 지식' 카테고리의 다른 글
[기초] 모듈 (결합도, 응집도, 팬인, 팬아웃) (0) | 2025.01.21 |
---|---|
[기초] 소프트웨어 아키텍처 (0) | 2025.01.20 |
[기초] XP 익스트림 기법 (0) | 2025.01.19 |
[기초] 스크럼 기법 (0) | 2025.01.19 |
[기초] 소프트웨어의 생명주기 (0) | 2025.01.18 |