형상 관리

최승아·2021년 9월 30일
0

1. 형상관리 개념

SW 구성관리 또는 형상관리 개념

  • 소프트웨어 구성관리 또는 형상관리는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것
  • 형상관리는 일반적인 단순 버전관리 기반의 SW 운용을 좀 더 포괄적으로 관리 👉 프로젝트와 관련된 모든 변경사항을 관리
  • 구성관리는 SW 소스 코드 뿐 아니라 개발환경, 빌드구조 등 전반적인 환경 전반적인 내역에 대한 관리 체계를 정의

변경관리 , 버전 관리, 형상관리 개념

  • 변경 관리 : 소스코드 변경 사항에 대한 관리
  • 버전 관리 : 변경사항을 버전이란 개념을 통해 관리
  • 형상관리 : 위의 개념을 포함해 프로젝트와 관련된 모든 변경사항을 관리

형상관리 개념 (2)

  1. 형상 항목을 식별 [형상 식별]
  2. 식별한 형상 항목의 기능적 물리적 특성을 문서화
  3. 그러한 특성에 대한 변경을 제어 [형상 제어]
  4. 변경 처리 상태를 기록 및 보고 [형상 감사]
  5. 명시된 요구사항에 부합하는지 확인 [형상 상태 보고]

형상관리 대상

  1. 개발 비용
  2. 설계 문서
  3. 소스코드
  4. 모든 산출물

형상관리의 목적

  1. 가시성의 결핍 : SW는 무형물
  2. 통제의 어려움 : 눈에 보이지 않는 상품의 제작은 통제 어려움
  3. 추적의 어려움 : 프로젝트의 중간 목표들을 연결시키고 개발과정을 추적하기 어려움
  4. 감시의 미비 : 가시성과 추적성의 결핍은 프로젝트의 진행을 감시하기 어렵게 함
  5. 무절제한 변경 : 통제

형상관리를 위한 도구와 특징

  • CVS (Concurrent Version System)
  1. 90년대에 출시된 무료 서버-클라이언트 형상관리 시스템
  2. 파일 전체를 저장하는 것이 아니라 변경사항만을 저장함으로 용량을 적게 차지하지만 속도가 상대적으로 느림
  3. 다른 개발자가 작업 중인 파일에 덮어쓰기 방지
  4. Checkout으로 파일을 복사하고, Commit을 통해 변경사항 저장
  • SVN (Subversion)
  1. 형상관리/소스관리 툴의 일종
  2. 중앙관리만을 지원
  3. 다른 사용자의 커밋과 엉키지 않음
  4. 커밋 실패 시 롤백 기능을 지원
  5. 안정성에 있어 CVS보다 상대적으로 좋지 않다
  6. Git에 비해 branch, tag 작업이 어려움
  7. 최초 1회에 한해 파일 원본을 저장하고 이후에는 실제 파일이 아닌 원본과 차이점을 저장하는 방식
  • Git
  1. 분산형 버전관리 시스템
  2. Repository의 완전한 복사본을 로컬에 저장 가능
  3. 처리속도가 빠르지만 대용향 코드 관리에 부적절
  4. Branching 모델, 로컬에 다수의 독립성이 보장되는 branch를 허용하고 쉽게 생성, 병합, 삭제를 지원
  5. 원격 서버 Git Repository에 push 하지 않은 채 여러 branch 생성 가능
  • Perforce(P4D)
  1. 빠른 속도 , 빠른 Merge가 가능
  2. 큰 리소스 관리에 좋다
  3. 유료이고 파일명이 바뀌면 히스토리 추적 곤란

출처 :
1. naljin, Sep 10, 2019 , https://sujinnaljin.medium.com/software-engineering-%ED%98%95%EC%83%81-%EA%B4%80%EB%A6%AC%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-932d14f6f341
2. 태태딩, 2019. 9. 17, https://taetae0079.tistory.com/24

profile
⭐ 개발 정리 공간 ⭐

0개의 댓글