SW공학 - 소프트웨어 3R

·2024년 3월 12일
0

TOPCIT

목록 보기
17/24

ISO 25000

SQuaRE(Software product Quality Requirements and Evaluation) 라고도 불린다

국제 표준기구(ISO)에서 제정한 S/W 품질평가를 위한 통합표준모델

소프트웨어 3R

소프트웨어 3R은 Repository를 기반으로 역공학(Reverse Engineering), 재공학(Re-Engineering), 재사용(Reuse)을 통해 소프트웨어 생산성을 극대화하는 기법을 통칭한다.

3R의 필요성

  • 유지보수 오류 및 재사용으로 인한 비용 절감
  • 소프트웨어 개발 생산성 향상
  • 시스템의 이해, 변경, 테스트 용이
  • 소프트웨어 변경 요구사항에 대한 신속한 대처(Time to Market)

역공학

시스템의 소스코드를 분석하고 SW의 구성요소 그리고 그들 간의 관계를 생성해낼 수 있다. 설계, 요구사항 분석 정보를 재작성할 수 있는 공학적 방법이기도 하다.

만약 소스코드만 주어진 경우, 가장 낮은 추상화 레벨(소스코드)에서 가능한 높은 수준의 추상화 레벨(분석, 설계)까지 올라가서 이미 작성된 코드에 대해서 정보를 얻어내고 현재 개발 중인 SW를 파악한 후에 개발을 진행해야만 한다.

역공학에 의해 재구성된 정보는 이상적인 수준보다 낮을 수밖에 없다.

재공학

역공학으로 재구조화된 소프트웨어를 기반으로 다시 추상개념으로 현실화한 것

재구조화 : 기능 변경 없이 소스코드의 변경(표현의 변경)

재사용

재공학을 통해 구현 및 사용중인 소프트웨어의 사용

코드 재사용

장점

  • SW 품질을 향상시킬 수 있다 (품질향상효과)
  • SW의 생산성을 향상시킬 수 있다(개발기간, 테스트 기간 단축. 비용절감효과)
  • 초보자들에게 학습효과를 얻을 수 있다

단점

  • 매우 높은 초기 투자 비용 발생, 부품을 체계적으로 관리하는데 비용이 많이 요구됨(재사용성을 높이기 위해서는 많은 부품을 필요로 함. 여러 언어, 여러 버전)
  • 부품의 수가 많으면 알맞은 부품의 탐색을 위한 비용이 추가로 요구됨
  • 용도에 맞는 부품이 없는 경우 가장 유사한 부품을 수정해서 사용해야 하는데, 타인에 의해 작성된 코드를 이해, 수정, 테스트 하기 어려움 ⇒ 비용절감효과, 품질향상효과가 기대 이하로 나타나게 됨
  • 기술의 발달로 재사용이 현저히 떨어지는 부품의 수가 늘어났고, 새로운 기술을 지원하는 부품의 수가 늘어나야하기 때문에 유지보수 비용도 매우 높을 수 있다.
  • 재사용성이 낮은 부품의 경우 초기 투자 비용에 비해 재사용으로 절약되는 비용이 낮을 수 있다.

코드의 재사용은 생산성과 품질적인 향상에서 현실적으로 큰 효과를 기대하기는 어렵다

profile
티스토리로 블로그 이전합니다. 최신 글들은 suhsein.tistory.com 에서 확인 가능합니다.

0개의 댓글