본문 바로가기
ITPE/소프트웨어공학

3R(Reverse Engineering, Re-Engineering, Reuse Engineering)

by Myungs 2022. 11. 27.

1. 소프트웨어 위기 극복을 위한, 3R의 정의

     - 완성된 소프트웨어 프로그램을 기반으로 역공학, 재공학, 재사용을을 통해 소프트웨어 생산성을 극대화하는 기법

 

2. 소프트웨어 3R 개념도 및 구성요소

   1) 소프트웨어 3R 개념도

     - 소프트웨어 3R의 소스는 리포지토리 및 완성된 소프트웨어

   2)  소프트웨어 3R의 구성요소

구성 종류 세부설명
역공학 - 재문서화 및 설계복구
- 리팩토링 활용
- 데이터 역공학
- 구현된 것을 분석하여 설계 단계로 요구사항을 분석, 순공학의 반대개념
- 순공학 : 추상개념을 현실화
   (요구분석 --> 설계 --> 구현)
재공학 - 재구조화 방법
- 재모듈화 방법
- 의미론적 정보추출
- 역공학으로 재구조화된 SW를 기반으로 다시 추상개념을 현실화한 것
- 재구조화 : 기능변경 없이 소스코드의 변경(표현의 변경)
재사용 - Copy, Pre-processing, Library
- Package, Object, Generics
- 재공학을 통해 현실화된 SW의 사용

     - 3R 기법을 통하여 소프트웨어 생산성의 극대화 도모                                                          "끝"