SQuaRE(Software product Quality Requirements and Evaluation) 라고도 불린다
국제 표준기구(ISO)에서 제정한 S/W 품질평가를 위한 통합표준모델
소프트웨어 3R은 Repository를 기반으로 역공학(Reverse Engineering), 재공학(Re-Engineering), 재사용(Reuse)을 통해 소프트웨어 생산성을 극대화하는 기법을 통칭한다.
시스템의 소스코드를 분석하고 SW의 구성요소 그리고 그들 간의 관계를 생성해낼 수 있다. 설계, 요구사항 분석 정보를 재작성할 수 있는 공학적 방법이기도 하다.
만약 소스코드만 주어진 경우, 가장 낮은 추상화 레벨(소스코드)에서 가능한 높은 수준의 추상화 레벨(분석, 설계)까지 올라가서 이미 작성된 코드에 대해서 정보를 얻어내고 현재 개발 중인 SW를 파악한 후에 개발을 진행해야만 한다.
역공학에 의해 재구성된 정보는 이상적인 수준보다 낮을 수밖에 없다.
역공학으로 재구조화된 소프트웨어를 기반으로 다시 추상개념으로 현실화한 것
재구조화 : 기능 변경 없이 소스코드의 변경(표현의 변경)
재공학을 통해 구현 및 사용중인 소프트웨어의 사용
⇒ 코드의 재사용은 생산성과 품질적인 향상에서 현실적으로 큰 효과를 기대하기는 어렵다