기출문제/정보처리기사

2022년 1회 정보처리기사 기출문제 27번

엉클지니 2025. 3. 5. 22:18

27. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하는 것은?

Analysis            Migration

Restructuring   Reverse Engineering

 

 


해설 및 분석:

소프트웨어 재공학(Software Reengineering)은 기존의 소프트웨어 시스템을 재구성하고, 개선하며, 새로운 기술 환경에 맞게 변환하는 과정입니다. 이 과정은 시스템을 현대화하고, 더 효율적이고 안정적으로 운영될 수 있도록 돕기 위해 이루어집니다. 문제에서 묻는 것은 소프트웨어를 새로운 기술 또는 하드웨어 환경에서 사용 가능하도록 변환하는 작업에 해당하는 활동입니다.

각 활동을 하나씩 살펴보겠습니다.

  1. ① Analysis (분석)
    • 분석은 소프트웨어 시스템의 현재 상태를 파악하고 문제를 분석하는 과정입니다. 재공학의 초기 단계로, 기존 시스템의 기능과 성능을 이해하고 평가하는 데 필요합니다. 하지만 새로운 기술이나 하드웨어 환경으로 변환하는 것과는 직접적인 관련이 없습니다. 따라서 이 활동은 정답이 아닙니다.
  2. ❷ Migration (마이그레이션)
    • 마이그레이션은 기존의 소프트웨어 시스템을 새로운 기술이나 하드웨어 환경에서 동작할 수 있도록 변환하는 과정입니다. 예를 들어, 구형 시스템을 최신 운영 체제나 새로운 하드웨어 환경으로 이전하는 작업이 이에 해당합니다. 이는 소프트웨어 재공학에서 중요한 활동 중 하나로, 정답입니다.
  3. ③ Restructuring (재구성)
    • 재구성은 기존 시스템의 구조를 개선하거나 최적화하는 작업입니다. 예를 들어, 코드의 품질을 향상시키거나 시스템을 더 효율적으로 만들기 위해 구조를 변경하는 활동입니다. 새로운 기술이나 하드웨어 환경으로의 변환과는 관계가 없으며, 주로 코드 수준에서 개선을 목적으로 합니다.
  4. ④ Reverse Engineering (역공학)
    • 역공학은 기존 소프트웨어 시스템의 구조와 동작을 분석하여 문서화하는 과정입니다. 주로 시스템을 리버스 엔지니어링하여 소스 코드나 설계를 복원하는 데 사용됩니다. 이는 새로운 환경으로 변환하는 것과는 관계가 없으며, 기존 시스템을 이해하고 분석하는 활동입니다.

결론:

정답은 **❷ "Migration" (마이그레이션)**입니다.
마이그레이션은 기존 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하며, 소프트웨어 재공학에서 중요한 활동입니다.

반응형