형상 관리

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:54 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

⚙️ 형상 관리 (Configuration Management)

형상 관리는 소프트웨어 개발 과정에서 발생하는 모든 변경 사항을 체계적으로 추적하고 통제하여, 소프트웨어의 무결성과 일관성을 유지하는 활동입니다. 소프트웨어의 생명 주기 전반에 걸쳐 모든 산출물(요구사항, 설계 문서, 소스 코드, 테스트 케이스 등)의 변경을 관리합니다.


🤔 형상 관리는 왜 필요한가?

소프트웨어 개발은 끊임없는 변경의 연속입니다. 요구사항이 바뀌고, 버그가 수정되며, 새로운 기능이 추가됩니다. 이러한 변경 사항을 제대로 관리하지 않으면 다음과 같은 문제가 발생합니다.

  • 버전 혼란 : 어떤 버전의 코드가 최신인지, 어떤 기능이 포함되어 있는지 파악하기 어렵습니다.
  • 오류 발생 : 변경 사항이 제대로 통합되지 않아 예상치 못한 버그가 발생합니다.
  • 재작업 발생 : 과거의 특정 시점으로 돌아가야 할 때, 변경 이력이 없어 재작업이 필요할 수 있습니다.
  • 협업의 어려움 : 여러 개발자가 동시에 작업할 때, 서로의 변경 사항이 충돌하여 작업이 지연됩니다.

형상 관리는 이러한 문제를 방지하고, 소프트웨어 개발의 효율성과 품질을 높이는 데 필수적입니다.


📚 형상 관리의 주요 활동

  • 형상 식별 (Configuration Identification) : 관리 대상이 되는 형상 항목(Configuration Item, CI)을 정의하고, 각 항목에 고유한 식별자(버전)를 부여합니다.
  • 형상 통제 (Configuration Control) : 형상 항목의 변경 요청을 검토하고 승인하며, 변경 사항을 통제합니다. (변경 통제 위원회, CCB)
  • 형상 감사 (Configuration Audit) : 형상 항목의 현재 상태가 명세서와 일치하는지, 변경이 올바르게 이루어졌는지 검증합니다.
  • 형상 기록 (Configuration Status Accounting) : 형상 항목의 변경 이력과 현재 상태를 기록하고 보고합니다.

💡 정보처리기사 핵심 Point

  • 형상 관리는 소프트웨어 개발의 품질 보증(QA) 활동의 핵심입니다.
  • 버전 관리 시스템(VCS)은 형상 관리를 위한 핵심 도구입니다. (예: Git, SVN)
  • 정보처리기사 시험에서는 형상 관리의 주요 활동 4가지와 각 활동의 의미를 묻는 문제가 자주 출제됩니다.
  • 형상 관리를 통해 개발자는 언제든지 원하는 시점의 코드로 돌아갈 수 있고, 여러 개발자가 동시에 작업하더라도 충돌 없이 효율적으로 협업할 수 있습니다.