반응형
소프트웨어 재사용
- 기존의 소프트웨어 또는 지식을 이용하여 새로운 소프트웨어를 구축하는 일
- 설계, 요구명세, 검사, 아키텍쳐 등도 포함.
소프트웨어 재사용의 목적
- 신뢰성 : 기능, 안정, 속도 등의 사전 상능 검증
- 확장성 : 검증된 기능 기반으로 upgrade 용이
- 생산성 : 비용, 시간, 위험 등 전체적 개발 프로세스 향상
소프트웨어 재사용의 대상
1. 일반적 지식
- 환경정보 : 교육 및 활용을 통해 얻어진 지식
- 외부지식 : 개발 및 특정분야의 참여를 통해 얻은 지식
2. 설계 정보
- 기본설계
- 상세설계
3. 데이터정보
- 시스템 데이터
- 시험사례
4. 프로그램 코드
- 모듈
- 프로그램
소프트웨어 재사용의 원칙
1. 범용성 : 특정 응용분야만이 아닌 일반적으로 활용될 수 있는 정도여야함
2. 모듈성 : 정보은닉과 추상화의 원칙으로 최소한의 결합도 및 최대한의 응집력
3. 하드웨어 독립성 : 가능한 실행 하드웨어 기종과 무관해야 한다.
4. 소프트웨어 독립성 : os또는 dbms와 무관하게 운영되어야 한다.
5. 자기문서화 : 모듈의 정확한 기능, 용법, 인터페이스를 기술한다
6. 일반성 : 많은 개발자들에게 공통적으로 필요하고 사용 가능해야 한다.
7. 신뢰성 : 품질을 믿고 사용할 수 있어야 한다.
반응형