검수요청.png검수요청.png

형상관리

위키원
theraker (토론 | 기여)님의 2021년 2월 26일 (금) 16:08 판
이동: 둘러보기, 검색

형상관리(Software Configuration Management, SCM) 또는 소프트웨어 구성 관리는 더 범위가 큰 구성 관리의 학문간 분야의 일부인, 소프트웨어의 변경사항을 추적하고 통제하는 작업이다.

개요

형상관리는 소프트웨어 변경사항을 체계적으로 추적, 통제하는 것으로, 어떤 문서나 파일이 변경되었을 경우 변경된 내역을 기록하였다가 나중에 이를 찾아 보아야 할 경우, 변경 원인과 변경 사항을 확인해야 할 경우에 대한 관리를 말한다. 소프트웨어 형상은 사용자, 소프트웨어의 환경에 따라 소프트웨어 생명주기 어느 단계에서나 변경이 발생한다. 새로운 요구사항이 발생되면, 요구사항 관련 형상 항목뿐 아니라, 관련된 설계 형상 항목, 구현, 테스트 형상 항목 및 최종 소프트웨어 제품의 형상 역시 변하게 된다. 이러한 변경 요인은 제품이 개발된 이후, 개발 중 할 것 없이 어디서든 변경이 될 수 있기 때문에 어떤 이유로 변경이 발생했는지, 그 결과로 어떤 형상 항목이 변경되거나, 새로 생성되었는지 관린하는 것이 형상관리이다.

목적

프로젝트의 생명주기 동안 제품의 무결성과 변경에 대한 추적성을 확보하고, 프로젝트에서 변경이 발생되었을 때, 처리하는 메커니즘을 제공하기 위함이다. (제공되는 메커니즘으로는 형상 관리 대상 파악, 베이스라인 지정, 버전관리, 접근제어 등)

필요성

  • 자원의 중앙 집중적 통합관리
형상관리를 하게 되면 가장 먼저 하는 일이 대상 자원들을 구분하고 구조화하는 작업을 하게 된다. 그리고 나서 대상 자원들을 특정한 저장소에 모아두게 된다. 이렇게 하여 자원의 분산 및 중복 보관을 막게 된다.
  • 자원들의 효율적인 버전 및 이력 관리
형상관리의 시작이 버전 및 이력관리에서 출발했 듯이 가장 기본적인 것이라 할 수 있다. 자원들이 변화가 일어날 때마다 변화에 관련되는 정보, 즉 누가, 언제, 왜, 어떻게 등의 정보를 관리하는 기능이다. 많이 보급되고 있는 문서관리/이력관리 툴들이 형상관리의 일부인 것이다.
  • 작업 공간의 효율적 사용
형상관리 도구들은 고유한 형태의 자원저장소를 보유하고 있으며, 사용자별 또는 작업그룹별로 리포지토리를 접근하거나 볼 수 있는 권한을 제어할 수 있도록 해 준다. * 작업의 진행상태 파악 및 효율적 분배
대부분의 형상관리 도구들이 트래킹 기능을 가지고 있어 각 작업 단위별 작업의 진행상태 및 경과정도 등을 파악할 수 있다. 뿐만 아니라 개발자, 개인별로 작업의 상태 등을 파악할 수 있어서 관리자들은 작업을 분해하기가 쉬워진다.
  • 다양한 리포트
개발 및 유지보수 동안에 발생하는 다양한 정보들을 기록하고 관리하여 다양한 리포트 형태로 제공한다.
  • 작업 프로세스 지원
형상관리 도구를 통해 각 작업 단계별로 필요한 작업들을 미리 정의하고, 거기에 준하여 작업할 수 있도록 지원한다는 의미이다.
  • 효율적이고 정형화된 의사소통 수단 제공
현재 나와 있는 형상관리 도구들은 자체적으로 정형화된 형태의 다양한 변경 요청서를 제공한다. 이를 이용하여 사용자들은 자신의 변경 사유를 기술하게 되고, 이것이 형상관리 도구 내에서 각 개인 사용자들에게 할당되게 되는 것이다.

특징

형상관리 시스템은 프로젝트 자원의 'Undo' 기능으로, 프로젝트 수행 도중 변경한 여러 형상 항목에 결함이 발견될 경우, 언제든지 형상 항목을 변경 이전의 상태로 되돌릴 수 있다. 여기서 변경 이전의 상태라 함은 형상 관리를 통해 변경 이력을 잘 저장하고, 뒤에서 설명할 베이스라인을 잘 설정하였다는 것이 전제 조건이 된다. 하나의 형상을 여러 명이 동시에 작업을 해야 할 때도, 형상 관리 시스템을 이용하면 사전에 작업 순서를 조정하거나, 병행해서 작업한 후 발생하는 충돌을 간단하게 해결할 수 있다. 또한, 과거 특정 시점의 작업 내역을 조회할 수도 있다. 형상관리는 형상 식별, 형상 통제, 버전관리, 배포관리 등 다양한 활동을 포함한다. 다양한 형상관리 활동 중에서도 버전관리, 배포관리(빌드 자동화), 변경관리는 SW 개발을 위한 기초적인 활동이다. 버전관리에서는 형상항목의 변경 이력 관리, 동시에 다양한 버전의 형상항목 관리, 형상 항목 충돌 방지 등을 할 수 있다. 배포관리에서는 배포된 형상 항목 추적성을 관리하고, 버전관리 시스템에 등록된 소스 파일을 연계하여 배포 자동화를 수행한다. 변경관리에서는 형상항목 변경요인 등록, 변경요인에 대한 변경된 형상항목 추적관리, 형상 이력의 분석을 통한 SW 상태 모닌터링을 하게 된다.

기능

용어

각주

참고 자료

같이보기


  검수요청.png검수요청.png 이 형상관리 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.