[자격증]/정보처리기사 필기

재공학&역공학{재공학 개념, 장점&목표&과정} {역공학 개념}

Ben의 프로그램 2023. 5. 27. 12:42
728x90

소프트웨어 재공학 software reengineering 의 개념 

  • 소프트웨어 개발에 엄청 많은 돈이 든다는 것을 우리는 배웠다. 
  • 많은 돈이 들지 않게 하기 위해서는 어떻게 하면 될까? 
  • 기존에 만들어 두었던 코드를 다시 쓰면 되지 않을까? 
  • 이것이 소프트웨어 재공학이다. 

소프트웨어 재공학 software reengineering 의 장점 & 목표 & 과정 

  • 재공학의 장점
    - 개발 시간 및 비용 감소
    - 품질 향상 
    - 생산성 향상 
    - 신뢰성 향상
    - 구축 방법에 대한 지식의 공유
    - 프로젝트 실패 위험 감소 (이미 우리가 쓰고 있는 것을 다시 쓰는 것이기 때문에 신뢰성도 올라가고 실패위험도 감소하는 효과가 있다.)
  • 재공학의 목표
    - 소프트웨어의 유지보수성 향상이 최우선 목표이다. 
    - 복잡한 시스템을 다루는 방법 구현
    - 다른 뷰의 생성
    - 잃어버린 정보의 복구 및 제거
    - 재사용의 수월하게 하여 소프트웨어의 수명을 연장
  • 재공학의 과정
    - 분석 Analysis 
    - 구성 Restructuring
    - 역공학 Reverse Engineering 
    - 이식 Migration

역공학 Reverse Engineering 의 개념

  • 역공학은 기존에 존재하던 소프트웨어를 다시 분석하여 다시 설계하여 사용하기 위한 상태로 만드는 것을 의미한다. 
  • 역공학의 가장 간단하고 오래된 형태는 재문서화라고 할 수 있다. 재문서화를 통해 예전에 만든 것을 쓸만한 상태로 바꿀 수 있다. 

 

출처 : https://www.youtube.com/watch?v=JhKOsZuMDWs&list=PL6i7rGeEmTvqEjTJF3PJR4a1N9KTPpfw0