투케이2K

47. (소프트웨어공학/SoftwareEngineering) 재공학 (ReEngineering) 설명 - 분석 , 개조 , 역공학 , 이식 본문

SE & OS & HW

47. (소프트웨어공학/SoftwareEngineering) 재공학 (ReEngineering) 설명 - 분석 , 개조 , 역공학 , 이식

투케이2K 2023. 9. 15. 21:09

[학습 구분]

과목 : 소프트웨어 공학

 

[설 명]

 

1. 소프트웨어 재공학 이란 ? 새로운 요구에 맞게 기존 시스템을 이용하여, 보다 나은 시스템을 구축하고 새로운 기능을 추가해 소프트웨어 성능을 향상 시키는 것 입니다


2. 소프트웨어 재공학은 자동화된 도구를 사용해 소프트웨어를 분석하고 수정하는 과정을 포함합니다


3. 소프트웨어 재공학은 유지보수 생산성 향상을 통해 소프트웨어 위기를 해결하는 방법입니다


4. 소프트웨어 재공학 등장 : 

  - 기존 소프트웨어가 노후되어 새로운 소프트웨어로 대체 해야할 경우 현재 시스템보다 좋은 시스템을 만들 것이란 보장이 없다
  - 새로운 소프트웨어를 개발해도 기존 시스템과 100 퍼센트 호환이 이루어 진다는 보장이 없다


5. 소프트웨어 재공학 목표 : 

  - 소프트웨어 재공학은 유지보수 향상, 기술 향상, 생산성 향상, 수명 연장 등을 주된 목표로 가지고 있습니다
  - 복잡한 시스템을 다루는 방법 구현 : 자동화 도구를 사용
  - 손실된 정보 복구 및 제거 : 지속적인 개발을 거치면서 손실된 정보 복구 및 불필요한 정보 제거
  - 부작용 (오동작) 발견 : 의도 되지 않은 오동작 발견
  - 재사용 용이 : 재사용이 가능한 모듈을 추출해 재사용을 용이하게 한다


6. 소프트웨어 재공학 주요 활동 : 

  - 분석 : 소프트웨어 명세서를 확인해 동작을 이해하고, 재공학 대상 선정 
  - 개조 (재구조, 재구성) : 상대적으로 같은 추상적 수준에서 하나의 표현을 다른 표현 형태로 변경
  - 역공학 : 기존 소프트웨어를 분석해 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견 하거나, 다시 만들어냄
  - 이식 : 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환

 

반응형
Comments