Study/정보처리기사

소프트웨어 공학의 3R

키모87 2022. 10. 8. 23:38

정의 

완성된 소프트웨어를 기반으로 역공학(Reverse Engineering) , 재사용(reuse) , 재공학 (Re-Engineering) 으로 생산성을 극대화 하는 기법이다.

 

소프트웨어 3R의 필요성

- 소프트웨어 유지보수 효율성 향상 및 비용절감

- 소프트웨어 개발 생산성 향상

- 소프트웨어 이해, 변경, 테스트 용이

- 소프트웨어 위기 극복

 

역공학(Reverse Engineering)

- 기존 개발된 시스템을 CASE 도구를 이용하여 사양서 설계서등의 문서로 추출하는 작업

 

재공학(Re-engineering)

- 기존 시스템을 널리 사용되는 프로그래밍 표준에 맞추거나 고수준의 언어로 재구성하고 , 이기종에서 사용할 수 있도록 변환

 

재사용(Reuse)

- 이미 개발되어 기능 , 성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용