티스토리 뷰

728x90

형상 관리는 소프트웨어 개발 과정에서 시스템의 구성 요소(형상)를 식별하고, 변화되는 내용을 추적하며, 일관성을 유지하는 절차를 의미합니다. 형상 관리의 주요 목적은 개발되는 소프트웨어나 시스템의 모든 변경 사항을 기록하고, 이를 체계적으로 관리하여 품질을 보장하는 것입니다.

형상 관리의 주요 목표

  1. 버전 관리: 소프트웨어의 다양한 버전을 기록하고 관리하여, 특정 시점의 소프트웨어 상태로 되돌리기 쉽게 만듭니다.
  2. 변경 관리: 소프트웨어의 변경 사항을 추적하고 기록하여 변경의 영향을 평가하고 관리합니다.
  3. 일관성 유지: 소프트웨어 구성 요소의 일관성을 유지하여, 여러 개발자들이 협력할 때 충돌이나 오류를 방지합니다.
  4. 소프트웨어 품질 향상: 체계적인 변경 관리를 통해 소프트웨어 품질을 높이고 오류를 최소화합니다.

형상 관리의 구성 요소

  1. 형상 식별 (Configuration Identification):
    • 소프트웨어의 구성 요소, 즉 소스 코드, 문서, 라이브러리, 설정 파일 등을 고유하게 식별하고 관리하는 작업입니다.
    • 각 구성 요소는 고유한 식별자를 부여받습니다.
  2. 형상 통제 (Configuration Control):
    • 소프트웨어 변경 사항을 통제하고 승인된 변경만 적용되도록 관리하는 활동입니다.
    • 변경 요청이 있을 때, 이를 평가하고 승인하는 절차를 포함합니다.
  3. 형상 감사 (Configuration Audit):
    • 형상 항목들이 정확하게 통제되고 있는지 확인하는 과정입니다.
    • 모든 변경 사항이 올바르게 반영되고 기록되어 있는지 점검합니다.
  4. 형상 기록 및 보고 (Configuration Status Accounting):
    • 소프트웨어의 형상 정보와 변경 내역을 기록하고 이를 보고하는 활동입니다.
    • 변경 이력, 버전 기록, 변경 사항에 대한 정보 등을 문서화합니다.

형상 관리 도구

형상 관리를 지원하는 다양한 도구가 있으며, 이 도구들은 주로 버전 관리를 통해 형상 관리를 자동화합니다.

  1. CVS (Concurrent Versions System):
    • 초기의 형상 관리 도구로, 중앙 집중식 버전 관리 시스템입니다.
    • 여러 사용자가 동시에 소스 코드를 수정할 수 있게 하며, 변경 사항을 기록합니다.
  2. SVN (Subversion):
    • CVS의 발전된 도구로, 중앙 집중식 버전 관리 시스템입니다.
    • 소스 코드와 문서 등의 변경 이력을 추적하고 복구할 수 있습니다.
  3. Git:
    • 분산 버전 관리 시스템으로, 개발자들이 개별적으로 작업하고 변경 사항을 병합할 수 있습니다.
    • 분산형 구조로 협업에 유리하며, 속도와 유연성이 뛰어납니다.
    • 오픈 소스 프로젝트 및 많은 상업용 프로젝트에서 널리 사용되고 있습니다.

형상 관리의 중요성

  • 협업 효율성 향상: 여러 개발자들이 동시에 작업할 때, 소스 코드나 문서가 충돌하지 않도록 관리할 수 있습니다.
  • 프로젝트 안정성 보장: 모든 변경 사항을 추적하고 기록함으로써, 특정 문제가 발생했을 때 원인을 분석하고 이전 상태로 복구할 수 있습니다.
  • 소프트웨어 품질 관리: 체계적인 형상 관리를 통해 소프트웨어 개발 및 배포의 일관성품질을 유지할 수 있습니다.

요약

  • 형상 관리는 소프트웨어 개발 과정에서 변경 사항을 기록하고 관리하는 절차입니다.
  • 주요 활동은 버전 관리, 변경 관리, 일관성 유지로 나뉩니다.
  • CVS, SVN, Git과 같은 도구가 이를 자동화하고 효율적으로 관리할 수 있게 도와줍니다.
  • 형상 관리는 협업 환경에서 필수적이며, 프로젝트의 안정성품질 향상에 기여합니다.
728x90