정보처리/SE

[SE-21] 소프트웨어 재사용

별천랑 2021. 2. 8. 19:48

1. 소프트웨어 재사용 (Software Reuse) 

  • 이미 개발된 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것
  • 1990년대의 클래스, 객체 등의 소프트웨어 요소는 소프트웨어 재사용성을 크게 향상함
  • 소프트웨어 재사용에 가장 많이 이용되는 것은 프로그램, 즉 소스 코드(Source Code) 임

2. 소프트웨어를 재사용의 이점 

  • 개발 시간과 비용을 단축
  • 소프트웨어 개발의 생산성을 높임
  • 프로젝트 실패의 위험을 줄여 줌
  • 소프트웨어의 품질을 향상
  • 시스템 구축 방법에 대한 지식을 공유하게 됨
  • 시스템 명세, 설계, 코드 등 문서를 공유하게 됨

3. 재사용의 문제점

  • 재사용 대상의 선정 문제
  • 공통적 재사용 대상의 발견 어려움
  • 프로그램 표준화 부족
  • 프로그램 언어 종속적
  • 새로운 개발 방법 도입의 어려움
  • 재사용을 위한 관리 지원의 부재
  • 기존 시스템에 재사용 시스템 도입의 어려움

※ 많은 재사용 컴포넌트(Component) 선별의 어려움의 가장 주된 원인

  • 분류(classification)의 문제

4. 재사용 라이브러리가 가져야 할 속성 

  • 확장성
  • 재사용 요소들의 생성, 편집 등을 허용하는 연산
  • 편리한 접근, 탐색, 버전 관리, 제어 변경