[소프트웨어 공학] 15.소프트웨어 재공학

이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 재공학(Erengineering)을 알아보아요.

소프트웨어 재공학
소프트웨어의 위기를 유지보수의 생산성으로 해결하려는 방법
분석, 재구성, 역공학, 이식 등의 방법이 있습니다.

분석(Analysis)
기존 소프트웨어의 명세서를 확인하고 소프트웨어의 동작을 이해하고 재공학 대상을 선정하는 활동

재구성(Resturcturing)
소프트웨어 기능을 변경하지 않고 소프트웨어 형태에 맞게 수정하는 활동
상대적으로 추상적 수준에서 하나의 표현을 다른 형태로 변경

역공학(Reverse Engineering)
기존 소프트웨어를 분석하여 소프트웨어 개발과 데이터 처리 과정을 분석하고 설계 정보를 재발견하거나 다시 만드는 작업

이식(Migration)
기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있게 변환하는 작업