RadarURL

형상관리의 기능 범주

by JAESOO posted May 15, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

들어가면서

일반적으로 형상관리라 하면 소스 코드의 버전을 관리하는 것으로 국한하여 생각하는 경우가 많다.
하지만 (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 형상 감사를 수행한다.
cmmi.png

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등 보안 취약점 존재여부를 확인하여 검증된 항목들만 서버에 배포되도록 보장.
  • 상기 기능들은 단일 형상관리 시스템으로 구축되기보다는 대부분 여러 전문 솔루션의 통합으로 구현됨.

출처 : http://nangpuni.net/?p=340


Articles

1 2 3