재공학과 역공학
재공학은 기존 시스템을 분석해 새 기술로 다시 만드는 활동이다. 역공학은 기존 산출물로부터 설계 정보를 거꾸로 복원하는 분석 활동이다. 분석만 하면 역공학이고, 변경을 가하면 재공학이라고 구분한다. 먼저 두 활동을 목적과 방향, 산출물 기준으로 비교해 보자. 역공학은…
주요 장면
대본
재공학과 역공학의 정의
재공학은 기존 시스템을 분석해 새 기술로 다시 만드는 활동이다.
역공학은 기존 산출물로부터 설계 정보를 거꾸로 복원하는 분석 활동이다.
분석만 하면 역공학이고, 변경을 가하면 재공학이라고 구분한다.
역공학과 재공학의 비교
먼저 두 활동을 목적과 방향, 산출물 기준으로 비교해 보자.
역공학은 구현에서 설계로 거꾸로 올라가는 분석이고, 산출물은 설계 문서다.
재공학은 기존 시스템을 새 기술과 구조로 개선하는 활동이다.
재공학은 역공학 결과를 입력으로 쓴다. 역공학만 하고 개선하지 않으면 재공학이 아니다.
재공학 절차
재공학 절차는 여섯 단계로 진행된다.
먼저 역공학으로 현행 시스템을 분석하고, 문제점을 도출한다.
이어서 재구조화와 플랫폼 이행을 거쳐 회귀 테스트로 검증한다.
검증을 통과하면 점진적으로 운영 환경에 전환하고 기존 시스템을 폐기한다.
각 단계는 앞 단계 결과에 의존하므로 순서를 바꾸면 안 된다.
재공학의 세 가지 유형
재공학은 개선 범위에 따라 재구조화, 재개발, 마이그레이션으로 나뉜다.
재구조화는 외부 동작을 바꾸지 않고 내부 구조만 고친다.
재개발은 기능과 설계를 새로 정하므로 범위가 가장 넓다.
마이그레이션은 기존 기능을 유지한 채 기술 환경만 옮긴다.
세 유형 중 택할 기준은 기능 변경 필요 여부와 예산이다.
테스트 공수 계산 예제
회귀 테스트 공수 E는 모듈 수 N, 모듈당 공수 t, 반복 횟수 r의 곱이다.
모듈 200개, 모듈당 2인일, 반복 3회라면 E는 1,200인일이다.
단위는 인일이다. 수식은 상대 비교용이며 실제 금액은 프로젝트마다 다르다.
흔한 실수와 채점 포인트
앞 문제의 정답은 800인일이다. 200에 2와 2를 곱하면 된다.
채점에서는 개념 구분, 절차 순서, 역공학 활용 목록이 주로 확인된다.
흔한 실수는 재공학과 유지보수를 같은 말로 쓰는 것이다.
역공학을 재설계로 설명하거나 분석 단계를 빼는 것도 틀린다.
새 시스템이 이전과 같은 출력을 내는지 확인하는 테스트가 필수다.