여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다.
자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다.
모듈의 재사용성 확보와 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있다.
다른 개발자들이 해당 기능을 명확히 이해할 수 있도록 명세 기법을 준수해야한다.
비용과 개발 시간을 절약하기 위해 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화 시키는 작업
누구나 이해할 수 있고 사용이 가능하도록 사용법을 공개
외부 모듈과의 결합도는 낮고, 응집도는 높은 모듈만 대상이 된다.
재사용 규모에 따른 분류
단어정리
- 함수(메소드) : 객체의 데이터를 처리하는 알고리즘
- 객체 : 데이터와 함수를 캡슐화하는 소프트웨어 모듈
- 클래스 : 객체를 정의하는 틀
- 컴포넌트 : 하나 이상의 클래스로 작성되는 실행코드 기반의 모듈
- 애플리케이션 : 어떠한 목적을 갖고 개발된 소프트웨어