역공학 프로세스의 개선 및 시스템 설계에서의 응용에 관한 연구 - 이병길 (The Graduate School, Ajou University, 2010)
새로운 시스템을 개발할 때 중요한 역할을 하는 시스템공학 설계 프로세스는 이해관계자의 요구사항에 대해 요구사항 분석, 기능 분석, 조합 및 최적화의 활동을 수행한다. 이러한 시스템공학 프로세스는 시스템의 각 계층에 대해서 그리고 각 수명 주기별로도 반복적으로 적용 된다는 것이 특징이기도 하는데, 이를 통해 발생 가능한 리스크를 각 단계 마다 식별하여, 개발 위험 및 불확실성을 줄일 수가 있게 된다. 개발하려는 시스템과 유사한 시스템이 존재하는 경우에 대한 설계방법론 중의 하나로 기존 시스템에 대한 역공학 수행 후에 재공학에 의한 설계 수행을 들 수가 있다. 이 경우에 역공학을 통해 습득된 기존의 설계 정보를 활용함으로써 새로운 시스템 설계시의 노력과 위험성을 줄이기 위한 방법으로 볼 수 있다. 이렇게 물리적으로 구현되어 동작하는 시스템에 대해 시스템 설계과정을 역으로 거슬러 올라가면서 기 구현된 설계 정보를 추출 및 역으로 추상화하는 방법을 역공학이라고 한다. 역공학의 여러 가지 활용 방법 중에서 역공학-재공학 설계 방법론을 통한 역공학의 활용에 본 논문에서 초점을 맞추고 있다. 선행 연구의 분석 결과 여러 분야에서 다양한 역공학 설계 프로세스가 연구되었음을 확인할 수가 있었다. 특히 소프트웨어 분야의 경우 해킹 등이 역공학적 방법과 직접 관련이 있고, 이로 인한 폐해가 국가 IT 시스템 체계에 막대한 영향을 미치고 있기 때문에, 기존에 수행해 왔던 역공학과 관련된 다양한 연구에 더 많은 관심이 증대되고 있다. 이와는 달리 시스템공학 분야에서 역공학 분석에 관한 연구는 부족하다. 현재까지 연구된 시스템공학 관점의 역공학 설계 프로세스는 단순한 개념 수준에서 제시하고 있어, 제시된 프로세스의 검증이 불가능하고, 실제 적용이 쉽지 않다. 특히 시스템공학을 적용하여 시스템을 개발하는 경우에 시스템 수명주기 단계 별 많은 설계 산출물이 필요한데, 기존의 역공학 프로세스로 이 목적을 달성하기는 쉽지 않다. 본 논문에서는 1) 미흡한 역공학 프로세스에 대한 개선을 통해 적용 가능한 프로세스를 개발하고, 2) 개발된 프로세스의 이해 및 활용이 용이하도록 모델링을 통하여 표현하고, 3) 실제 대상시스템 및 전산지원도구의 활용을 통해 개발된 역공학 프로세스의 적용성 및 실용성의 가시화를 연구 목표로 설정하였다. 연구방법으로서 현재까지 연구된 SE 관점의 역공학 프로세스의 미흡한 점을 보완하기 위해 ‘complete’한 프로세스의 개념을 먼저 정립하였고, 또한 시스템 기능 요구사항을 도출하기 전에 선 처리 단계를 추가하였다. 그리고 개발된 프로세스의 이해도 및 적용성의 증진 그리고 프로세스의 검증이 가능하도록 모델링 및 전산지원도구를 통한 표현 방법을 채택하였다. 상기 연구 목표를 달성하기 위해 기술된 연구 방법의 적용을 통해 수행된 연구 결과를 정리해 보면 다음과 같다. 먼저 개선된 역공학 프로세스의 특징을 4가지로 용약할 수 있다. 1. 역공학 설계 프로세스 각 단계의 입력물과 출력물을 명확하게 기술하였다. 2. 역공학 설계 프로세스의 모델 표현을 통해 입력/출력 결과물 사이의 관계를 명확하게 기술하였다. 3. 역공학 설계 프로세스의 각 요소들 사이의 관계를 명확하게 식별하였다. 4. 식별된 요소 프로세스 들 사이의 상하 및 상호 관계가 명확히 기술하였다. 다음으로 연구 결과인 개선된 역공학 프로세스를 그래픽 모델인 IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram)로 모델링하는 연구를 수행하였다. 이러한 모델링 작업에 대한 체계화를 위해 시스템공학 전산지원도구인 CORE^( ⓡ)IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram) 기능을 활용하였다. 개발된 모델들에 시간의 흐름에 따른 입력, 출력, 제어, 메커니즘을 정의하였다. 또한 역공학 분석을 통한 각 단계의 결과물을 요구사항 구조, 기능 구조, 물리적 구조로 세분화하여 시스템 계층구조 관점의 SE 산출물을 정의하고, 각 산출물의 항목을 MIL-STD-961D를 통해 구축하였다. 본 논문의 연구 결과인 역공학 프로세스의 검증 및 평가가 수행되었는데, Core를 활용한 프로세스 시뮬레이션을 통해 프로세스의 검증을 수행하였다. 프로세스의 평가를 위해서는 시스템공학 능력 모델(SECM)의 평가 방법을 채택하였다. 그 결과 본 논문의 성숙도는 1수준을 상회하는 것으로 판단할 수가 있었다. 또한 2수준과 3수준의 경우 70%에 근접한 달성도를 보였다. 이는 2수준과 3 수준을 지원할 수 있는 능력을 잠재적으로 가지고 있다고 판단할 수 있다. 본 논문에서 제시한 개선된 역공학 프로세스의 실용성을 보여 주기 위해 동작하는 물리 시스템에 대한 적용 연구를 수행하였다. 대상시스템으로 레이저 거리 측정 시스템을 선택하여, Core 환경에서 개선된 역공학 프로세스를 적용하여 주요한 SE 산출물을 개발함으로써 적용 가능성을 확인하였다. 또한 시스템공학 관점에서 역공학 프로세스의 각 단계를 상세화 함으로써 엔지니어의 능력에 따른 역공학 분석 결과물 들의 품질 차이를 줄이고, 시스템 설계 단계에 역공학 분석 결과를 응용할 수 있는 방안임을 보였다.
학위논문(박사)--아주대학교 일반대학원 :시스템공학과,2010. 8
Keywords: 시스템 공학; 역공학; 레이저 거리 측정기; 시스템 설계; 모델링