형상관리의 기능 범주

들어가면서

일반적으로 형상관리라 하면 소스 코드의 버전을 관리하는 것으로 국한하여 생각하는 경우가 많다.
하지만 (CMMI, SPICE, ITIL등의) SW공학 관점에서 얘기하는 형상관리의 기능의 범위는 변경관리, 릴리즈관리까지 포함하여 그 범위가 매우 넓다.
즉, 변경관리 측면에서 CR(Change Request:변경 요청)이 발생한 이후, 형상항목이 변경되고, 그 변경된 내용이 최종적으로 사용자에게 서비스 되기 까지의 생명주기를 다룬다고 할 수 있다.

1.SW공학에서 일컽는 형상관리 기능 범주

ISO/IEC 15504(SPICE)에서 정의한 형상관리 9개 Best Practice

  • 형상관리 전략 개발: 형상관리 전략을 결정하여 형상관리 활동과 그 활동을 수행하기 위한 일정을 포함.
  • 형상관리 시스템 수립: 라이브러리, 표준, 절차 및 도구를 포함한 시스템 정의.
  • 형상 항목 식별: 소프트웨어 시스템, 모듈, 구성요소, 관련 문서와 같은 형상 항목을 식별, 베이스라인 설정, 버전 부여 방법, 기타 관련 식별 세부사항을 설정한 문서를 정의.
  • 형상 항목 기술서 유지: 각 형상 항목의 최신 기술서를 유지.
  • 변경 관리: 형상 항목의 상태와 변경 요청을 기록되고 보고되어야 하며, 형상 항목에 대한 변경은 검토되고 정식으로 허가되어야 함.
  • 제품 릴리즈 관리: 형상 항목의 릴리즈와 인도는 검토되고 승인된다.
  • 형상 항목 이력 유지: 필요 시 이전의 베이스라인 된 버전으로 복구할 수 있도록 각 형상 항목의 이력을 충분히 자세하게 유지해야 함.
  • 형상 상태 보고: 현재 시스템 통합 내 각 형상항목의 상태와 항목간의 관계를 정기적으로 보고한다.
  • 형상항목 릴리즈 및 인도 관리:형상 항목의 저장, 취급, 릴리즈,인도를 통제함.

CMMI의 Support Area

  • Specific Goal1. 베이스 라인을 설정한다.
    • SP1.1 형상 항목을 식별한다.
    • SP1.2 형상관리시스템을 구축한다.
    • SP1.3 Baseline을 수립한다.
  • Specific Goal2. 변경을 추적하고 통제한다.
    • SP2.1 변경요청을 추적한다.
    • SP2.2 형상 항목을 통제한다.
  • Specific Goal3. 무결성을 유지한다.
    • SP3.1 형상관리 기록을 작성한다
    • SP3.2 형상 감사를 수행한다.

2. 현장에서 생각하는 형상관리 범주
실제 SW공학 측면에서 얘기하는 범주와 크게 다를 바 없음. 단 형상관리라 하면 협의의 형상관리(버전관리등)으로만  생각하는 경향이 있으며, 위에서 얘기하는 광의의 형상관리는 전사 형상변경관리 시스템, 전사 변경관리 시스템등의 이름으로 일컬어지는 경향이 있음.

  • 변경관리 기능
    최 초 CR(Change Request)가 발행, CCB(Change Control Board)에서 변경 accept, 작업자 지정, (소스코드) 변경작업 수행, 빌드요청 및 승인, 테스트 결과 확인, CR완료 등 변경에 관련된 일련의 프로세스도 형상관리 시스템의 기능 범주(Category)에 포함.
    버전의 증가, 각 설계 산출물의 연동, 빌드배포, 영향도 분석, code inspection 등 형상관리의 대부분의 기능들은 변경관리 프로세스(workflow)내에서 모두 통합 관리된다. 즉 최초 CR이 발행되면 고유의 식별번호가 부여되며, 부여된 식별번호를 통해 해당 기능들이 수행되는 대상, 결과들이 추적 관리된다.
  • 형상관리 대상 확대
    기존 형상관리에 대상은 주로 소스코드에 국한, 최근 분석/설계 작업 결과물인 UML모델링 작업 파일, 요구사항, 테스트케이스 등을 상호 연계하여 관리하며, 이 모든 작업 산출물을 형상관리 시스템에서 통합 관리
  • 빌드배포관리
    CR발행으로 인해 변경된 소스의 빌드배포 기능도 형상관리 시스템의 범주 내에서 처리된다. 개발서버, 스테이징 서버의 빌드배포가 가능해야 되며, 운영서버에 컴파일된 binary가 배포될 수 있어야 한다.
  • 영향도 분석(impact analysis)
    현업 조직으로부터 CR이 발행되었을 때, 해당 변경의 impact을 확인할 수 있어야 한다. 이를 위해 형상항목간 변경 영향도 분석기능이 제공되어야 한다.
  • code inspection
    작 업자가 CR에 의거하여 수정된 소소를 형상관리 저장소에 반입 할 때 (혹은 빌드배포 요청할 때) 작업자가 작성한 소스코드가 조직의 code convention이나 기타 표준을 준수하여 작업했는지에 대하여 소스코드 검사를 수행. 조직의 표준을 준수한 항목들만 형상관리 저장소에 저장하거나, 혹은 빌드배포가 됨을 시스템적으로 보장
  • 소스코드 보안성 분석
    빌드배포 직전에 대상 형상항목들(소스 코드)의 보안성 체크. SQL injection등 보안 취약점 존재여부를 확인하여 검증된 항목들만 서버에 배포되도록 보장.
  •  상기 기능들은 단일 형상관리 시스템으로 구축되기보다는 대부분 여러 전문 솔루션의 통합으로 구현됨.

“형상관리의 기능 범주”의 2개의 댓글

댓글 남기기