[소프트웨어공학] 3R(역공학, 재공학, 재사용)
소프트웨어공학의 3R(역공학, 재공학, 재사용)
소프트웨어 3R의 정의
- 역공학(Reverse-Engineering)
- 기존 개발된 시스템을 CASE를 이용하여 사양서, 설계서 등의 문서로 추출하는 작업
- 소스 코드 -> 문서화
- 개발 단계를 역으로 올라가 기존 개발된 시스템의 코드나 데이터로부터 설계 명세서나 요구 분석서 등을 도출하는 작업
- 재공학(Re-Engineering)
- 기조 시스템을 널리 사용되는 프로그래밍 표준에 맞추거나 고수준의 언어로 재구성하거나 타 하드웨어에서 사용할 수 있도록 변환하는 작업
- 소프트웨어의 위기를 해결하기 위해 개발의 생산성이 아닌 유지 보수의 생산성으로 해결하려는 방법
- = 예방 보수 , 유지 보수
- 재사용(Re-Use)
- 이미 개발되어 기능, 성능, 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용
- 다른 시스템에 이용되고 있는 소프트웨어를 파악하고 재구성하여 새로운 시스템에 적용하기 위한 작업
원
소프트웨어 3R의 필요성
- 소프트웨어 유지보수 효율성 향상 및 비용 절감
- 소프트웨어 개발 생산성 향상
- 소프트웨어 이해, 변경, 테스트 용이
- 소프트웨어 변경 요구사항에 대한 신속한 대응
- 소프트웨어 위기(소프트웨어 개발 대형화, 복잡화, Life-Cycle 감소) 극복
소프트웨어 3R의 활성화 방안
- 재사용에 대한 비전 공유
- 경영자, 관리자, 개발자 간의 공통된 이해 필요
- 재사용의 필요성 및 장점에 대한 비전 제시
- 재사용 가능한 모듈을 회사의 자산으로 인식할 수 있도록 노력
- 재사용 Infrastructure 구성
- 재사용을 위한 공동 Repository, Matrix 활용 시스템 구축
- 재사용 프로세스의 구축 및 활용 관리
- 체계적이고 지속적인 교육 실시 및 CBC, 객체지향방법론을 활용
출처
댓글
댓글 쓰기