2011년 6월 2일 목요일

소프트웨어 형상관리(SCM : Software configuration Management)

PLT 23 소프트웨어 형상관리(SCM : Software configuration Management)
SCM의 정의
1. 형상 항목을 식별하여 그 기능적 물리적 특성을 문서화 하고 그러한 특성에 대한 변경을 제어하고, 변경 처리 상태를 기록 및 보고하고, 명시된 요구사항에 부합하는 지 확인하는 일련의 사항에 대해 기술적 행정적인 지침과 사후 관리를 적용하는 원칙
2. 소프트웨어 개발 생명주기 전반에 걸쳐 정의되는 형상항목과 그에 관련되어 생성되는 형상물을 종합하여 소프트웨어 형상을 형성하고 이들에 대한 변경을 체계적으로 관리하기 위한 일련의 개발관리 활동의 집합
3. 소프트웨어 생명주기의 단계별 산출물인 소프트웨어를 체계적으로 통제하고 변경요구를 제도적으로 수렴하는 일련의 활동

SCM의 필요성
  • 가시성의 결핍 : 소프트웨어는 무형물
  • 통제의 어려움 : 눈에 보이지 않는 상품의 제작은 통제하기 어려움
  • 추적의 어려움 : 프로젝트의 중간 목표들을 연결시키고 개발과정을 추적하기 어려움
  • 감시의 미비 : 가시성과 추적성의 결핍은 프로젝트의 진행을 감시하기 어렵게 함
  • 무절제한 변경 : 통제되지 않고 관리되지 않는 소프트웨어의 무절제한 변경이 발생

SCM의 기법
가. 소프트웨어 형상 항목
소프트웨어 생명주기소프트웨어 형상항목비고
시스템 계획소프트웨어 계획서기준선(Baseline)
- 고객 승인된 생명주기 산출물
- 기준선을 확정해야 형상관리가 가능
분석분석서
설계설계서
코딩소스코드, Object 코드
테스트Test Data
유지보수사용자 매뉴얼, 운영 매뉴얼


나. 형상관리의 기준
종류
내용
기능 Baseline사용자의 요구분석 사양서나 그것을 검토하는 시점
분배 Baseline사용자의 요구기능들이 하드웨어와 소프트웨어 사이에 어떻게 분배 되는가를 정의하는 기본설계 사양서나 이 문서를 검토하는 시점
설계 Baseline프로그래밍에 임하기 위한 설계사양서나 이를 검토하는 시점
시험 Baseline소프트웨어 기능수행과 성능 충족도를 평가할수 있는 원시코드, 수행코드 및 시험사례를 포함한 시험계획시 또는 그 산출물들을 평가하는 시점
제품 Baseline하나의 시스템으로 개발 완료된 소프트웨어의 상품이나 그의 품질을 보증하는 시점
운용 Baseline사용자 환경에 설치되고 운용되기 시작한 소프트웨어나 그의 품질을 사용자 입장에서 평가하는 시점


다. 형상관리의 구성
종류
내용
형상식별형상관리 대상들을 구분하고, 관리목록에 대한 번호부여
형상식별 기능의 목표
  • 문서의 조직적 구조를 명료하고도 예측 가능한 모습으로 정의하는 것
  • 수정이 용이한 방법을 제공하거나 변경이 발생할 때 추적이 용이하게 하는 것
  • 통제를 용이하게 하기 위한 변경사항을 ‘누가, 언제, 무엇을, 왜, 어떻게’ 정보와 결합

형상식별내용(제품/각종문서/형상항목 번호)
형상통제
(변경관리)
소프트웨어 형상 변경제안을 검토 승인하여, 현재 S/W Baseline에 반영될 수 있도록 통제하는 것
변경요구 관리/변경제어/형상관리 조직의 운영 및 개발 업체, 외주업체에 대한 형상통제 및 지원
형상감사소프트웨어 Baseline의 무결성 평가수단
성공적인 형상감사는 소프트웨어 기준선을 성공적으로 설정하는 선결 요인
개발 경험보다는 소프트웨어에 대한 이해가 높은 집단에 의하여 행하여짐.
소프트웨어 개발과 병행하여 연속적인 처리절차로 수행
형상감사의 절차
  • 검증(Verification) : 설정 되어야 할 기준선의 각 형상항목이 전단계 기준선의 형상항목과 논리적으로 일치하는 가를 확인하는 절차
  • 확인(Validation) : 설정되어야 할 기준선의 형상항목 간의 모임이 요구사항을 만족시키는가를 확인하는 절차
형상기록소프트웨어 형상 및 변경관리에 대한 각종수행결과를 기록하고 데이터베이스에 의한 관리를 하며, 보고서를 작성하는 기능
형상기록 수행 원칙
  • 소프트웨어 개발에 관한 중요한 사건은 반드시 기록
  • 소프트웨어 개발 중 수집된 모든 사건에 대한 완벽한 데이터베이스 관리를 수행
  • 소프트웨어 개발과정에 대한 완벽한 보고서를 작성하고 배포


SCM 도입방안
  • 경영진의 의지 : 변화에 대한의지, 작업내용기록 및 감시, 의사결정의 한계극복
  • 관리조직의 확립 : 형상통제위원회 구성이 바람직, 기분선 변경 및 승인의 공식적 조직
  • 형상관리 도구와 작업절차 : 자동화 도구, 형상관리 작업절차 확립

SCM 도입효과
  • 프로젝트 측면
- 프로젝트의 체계적이고 효율적인 관리의 기준을 제공
- 프로젝트의 원활한 통제 가능
- 프로젝트에 대한 가시성과 추적성 보장
  • 소프트웨어 측면
- 소프트웨어의 무절제한 변경 예방
- 소프트웨어 변경의 부작용 최소화 및 관리를 용이하게 함
- 소프트웨어의 품질 보증
- 소프트웨어의 적절한 변경관리 가능
- 소프트웨어의 유지보수성 향상
- 소프트웨어의 유연한 외주관리 가능

SCM 향후 전망
  • 소프트웨어 품질향상 측면 : 재사용의 일환, 품질관리조직 표준화, 품질보증강화, 산출물관리 표준화
  • 기술적 측면 : 자동화된 시스템 구축, 데이터 및 문서의 무결성을 위한 CASE, Repository와 함께 추진, 체계적이고 종합적인 응용시스템 필요

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...