본문 바로가기

백엔드 개발자 기록 일람/정보처리기사 준비 기록

형상 관리 -형상 관리 도구-

▼형상 관리 도구

★형상 관리(Configuration Management)

개발 단계에 생성되는 모든 문서, 코드 등 소프트유ㅔ어의 변경사항을 체계적으로 관리하기 위하여 추적하고 통체하는 것. 작업 산출물을 형상 항목(Configuration Item)이라는 형태로 선정하고, 형상 항목 간의 변경사항의 추적과 통체 정책을 수립하고 관리한다. 요구사항 변경 또는 오류로 지속해서 변화하는 자료이며, 이러한 변화를 이력화 하여 유지보수성을 향상시킬 수 있다. 소프트웨어는 눈으로  확인할 수 있는 가시성이  없으므로 개발 과정의 진행   정도를 확인하는 도구로 사용된다. 단순 버전 관리 기반의 소프트웨어 운용을 좀더 포괄적인 학술 분양의 형태로 넒히는 근간을 의미한다.

 

★형상 관리 항목

개발 프로세스에서 생산되거나 사용되는 작업 산출물, 작업 산출물들의 집합체를 의미한다.

대표적인 소프트웨어 형상 항목 : 프로젝트 요구 분석서, 운영 및 설치 지침서, 요구사항 명세서, 설계/인터페이스 명세서, 테스트 설계서, 소프트웨어 품질보증, 형상 관리, V&V  계획서와 같은 계획서, 코드 모듈

 

★ 형상관리 종류

형상 관리는 버전 관리, 리버전 관리, 변경 관리, 빌드 관리, 이슈 관리 등을 모두 포함한다.

버전 관리: 다양한  형상 항목이 과거부터 현재에 이르기까지 요구사항 등의 변화에 따라 버전을 부여함으로써 이력을 관리하는 것이다. 버전을 통해 시간적인 변경사항과 해당 작업 담당자를 추적할 수 있다.

변경관리: 변경된 요구사항에 대하여, 비용 및 기간 등을 고려하고 타당성을 평가한다. 요구사항이 타탕한 경우 제품 또는 산출물을 변경하고, 그렇지 않을 경우 변경을 거부하는 활동이다.

 

★형상 관리  도구

소프트웨어 개발 생명주기 전반에 걸쳐 생성되는 소스 코드와 문서 등과 같은 산출물의 종합  및 변경 과정을 체계적으로 관리하고 유지하는 일련의 개발관리 활동이다.

소프트웨어에 가시성과 추척 가능성을 부여하여 제품의 품질과 안전성을 높인다.

형상 식별, 형상 통제, 형상 상태보고, 형상감시를 통하여 변경사항을 관리하며, 이전 리버전이나 버전에 대한 정보에 접근 가능하여 관리에 유용하다. 

동일한 프로젝트에 대해 여러 개발자가 동시개발이 가능하다.

 

★형상 관리의  필요성과 효과

이미 수정된 오류가 갑자기 다시 나타나거나, 사용하던 문서나 코드가 갑자기 사라지거나 찾을 수 없는 경우가 발생할 수 있다. 원시 코드와 실행 코드의 버전이 일치하지 않는다. 요구사항이 자주 변경되고, 변경이 어떤 결과를 가져올지 예측할 수 없다. 무엇을 변경해야 할지 막연하고, 따라서 변경에 대한 노력을 예측할 수 없다. 분산된  지역에서 소프트웨어를 병렬적으로 개발하기 어려우며, 제품 납기일을 맞추기  어렵고 프로젝트가 제대로 진행되고 있는지  알수없다.

 

★형상관리의 효과

관리적 효과: 표준 확립으로 전사적 IT 지원 관리, 기간별/팀별 업무별 산출물 현황 및 변경 이력 통계를 파악가능.

제품 개발 관련 산출물이 자동 생성되고 개발/유지보수 활동을 통합 관리가능하며, 변경 프로세스의체계를 확립하고, 외주 개발 통계 및 현황파악에 도움을 준다.

품질향상효과: 산풀물 버전 관리를 자동으로 생성 관리할 수 있어 결함 및 오류가 감소한다.

변경프로그램의  이력 관리를 통하여  문제 파악 및 버그 수정이 쉬워지고 변경 내용의 영향 분석이 쉬워진다.

 

형상관리  절차

1. 형상 식별

형상 식별은 형상관리의 시작으로 시스템을 구성하는 요소들 중 형상관리의 대상들을 구분하고 관리 목록의 번호를 정의하여 부여한다. 형상 항목은 단순히 바이너리 형태의 파일이나 소스 코드뿐만 아니라 산출물, 각종 스크립트, 소프트웨어 개발 이력 등 개발과정에서 작성되는 문서까지 포함한다. 또한 개발 조직 및 구성원, 개발 프로세스, 소프트웨어가 탑재된 하드웨어 및 네트워크 등도 해당된다.

 

2. 형상 통제

소프트웨어 형상변경 요청을 검토 승인하여 현재의 베이스라인[1] (Baseline)에 반영될 수 있도록 통제하는 것을 의미한다. 형상 통제가 이루어지기 위해서는 형상 통제 위원회(Configuration Control Board, CCB)의 승인을 통한 변경 통제가 이루어져야 한다.

 

3. 형상 보고 및 감사

형상 항목의 변경이 계획에 따라 제대로 이뤄졌는지를 검토/승인하는 것으로 개발자, 유지 보수 담당자가 아닌 제3자(소프트웨어 이해도가 높은 품질보증 조직이나 구성원)의 객관적인 확인 및 검증 과정을 통해 새로운 형상의 무결성을 확보하는 활동이다.

 

4. 형상 기록/보고

 프로젝트 팀, 회사, 클라이언트 등에게 소프트웨어 개발 상태에 대한 보고서를 제공하는 것으로 베이스라인 산출물에 대한 변경과 처리 과정에서의 변경을 상태 보고에 모두 기록한다. 상태 보고는 형상을 효율적으로 관리하기 위하여 정보를 기록, 보고하는 것으로 승인된 형상  리스트,  계획된 변경상태, 승인된 변경 구현 상태 등이 모두 기록되어야 한다.

 

★형상관리, 버전관리, 변경관리

형상관리 ⊇ 버전관리  ⊇  변경관리

1. 버전 관리(Version Management) : 소스 코드의 변경 사항을 버전으로 관리. 변경 관리보다 체계적인 관리가 가능하다. Ex. GIT, SVN

2. 형상 관리(Configuration Management) : 소스 코드뿐만 아니라 프로젝트의 진행사항, 빌드, 릴리즈, 퍼블리싱 까지도 관리 가능한 통합 시스템이라 할 수 있다.

3. 변경관리(Version Management) : 단순히 소스 코드의 변경 사항을 관리한다. 문서의 변경 이력과 복원 등의 기능이 제공된다.