Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

소프트웨어 버전 등록 본문

자격증/정보처리

소프트웨어 버전 등록

heejk 2025. 2. 5. 23:41
소프트웨어 패키징의 형상관리(SCM: Software Configuration Management)
  • 소프트웨어 개발 과정에서 변경 사항을 체계적으로 관리하는 활동
  • 소프트웨어의 변경 원인 분석, 변경 사항 제어, 변경 이력 관리 및 담당자 통보 수행
  • 개발 전 과정(기획, 개발, 유지보수)에 적용되며 소프트웨어의 품질 및 생산성을 향상

형상관리의 주요 목적

  •  소프트웨어 변경 사항을 추적 및 제어하여 개발의 안정성 확보
  • 프로젝트의 전반적인 비용 절감 및 방해 요소 최소화
  • 소프트웨어 개발 단계별 산출물(소스코드, 문서 등)의 일관성 유지
  • 가시성 및 추적성을 보장하여 품질 향상

형상관리의 주요 대상항목

  • 소스코드 – 프로그램 코드 및 관련 파일
  • 프로젝트 계획서 – 개발 일정 및 목표
  • 요구사항 분석서 – 고객 및 사용자 요구사항 문서
  • 설계서 및 지침서 – 시스템 구조 및 기능 정의 문서
  • 테스트 케이스 및 결과 보고서 – 소프트웨어 검증 문서

대표적인 형상관리 도구

도구 설명
Git 분산형 버전 관리 시스템, 오픈소스 프로젝트 및 협업 개발에 널리 사용
CVS 중앙 집중형 형상관리 시스템, 소프트웨어 개발 초기부터 사용됨
Subversion (SVN) 중앙 집중형 버전 관리 시스템으로, 대규모 프로젝트에서 활용

 

형상관리는 소프트웨어 개발의 변경 사항을 체계적으로 관리하여 개발 안정성, 품질, 생산성을 향상시키는 활동으로, Git, CVS, SVN과 같은 도구를 활용하여 수행된다.


형상 관리의 중요성

 

  • 소프트웨어 변경 사항 추적 및 통제
    지속적으로 발생하는 소프트웨어 변경 사항을 체계적으로 추적하고 통제할 수 있다.
  • 무절제한 변경 방지
    제품 소프트웨어의 비효율적인 변경을 방지하여 안정성을 유지할 수 있다.
  • 버그 및 수정 사항 추적
    제품 소프트웨어에서 발견된 버그나 수정 사항을 효율적으로 관리하고 개선할 수 있다.
  • 소프트웨어의 가시성 확보
    형태가 없는 소프트웨어의 진행 상태를 명확히 확인할 수 있는 기준이 된다.
  • 배포본 효율적 관리
    소프트웨어의 배포본을 체계적으로 관리하여 일관성을 유지할 수 있다.
  • 협업 개발 지원
    여러 명의 개발자가 동시에 작업할 수 있도록 관리하여 개발 효율성을 높일 수 있다.

형상 관리 기능

형상 관리는 품질 보증을 위한 중요한 요소로서 다음과 같은 기능을 수행합니다.

 

  • 형상 식별
    형상 관리 대상에 이름과 관리 번호를 부여하고 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 관리하는 작업.
  • 버전 제어
    소프트웨어 업그레이드나 유지보수 과정에서 생성된 다양한 버전을 관리하며, 이를 위해 특정 절차와 도구(Tool)를 결합하여 운영하는 작업.
  • 형상 통제(변경 관리)
    식별된 형상 항목에 대한 변경 요구를 검토하여 현재 기준선(Base Line)이 적절히 반영되도록 조정하는 작업.
  • 형상 감사
    기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 수행하며 공식적으로 승인하는 작업.
  • 형상 기록(상태 보고)
    형상 식별, 통제, 감사 작업의 결과를 기록하여 관리하고 이를 문서화하여 보고하는 작업.

소프트웨어의 버전 등록 관련 주요 기능

 소프트웨어 개발 과정에서 코드와 라이브러리, 관련 문서 등의 버전을 관리하기 위해 자료를 등록하고 갱신하는 과정에서 사용되는 주요 용어와 의미는 다음과 같습니다.

항목 설명
저장소(Repository) 최신 버전의 파일과 변경 내역이 저장된 공간. 모든 개발자들이 동일한 소스코드를 접근하고 관리할 수 있도록 지원.
가져오기(Import) 버전 관리가 되지 않은 새로운 파일을 저장소(Repository)에 처음 복사하는 과정. 기존 프로젝트에 새로운 라이브러리, 문서, 코드 등을 추가할 때 사용.
체크아웃(Check-Out) 저장소에서 파일을 가져와 로컬 환경에서 수정할 수 있도록 하는 과정. 특정 버전을 받아서 프로그램을 실행하거나 코드 변경을 위해 사용.
체크인(Check-In) 체크아웃한 파일을 수정한 후 저장소에 새로운 버전으로 갱신하는 과정. 변경된 내용을 반영하여 팀원들이 최신 버전을 사용할 수 있도록 함.
커밋(Commit) 체크인을 수행할 때, 변경된 내용을 저장소에 반영하는 과정. 충돌(Conflict)이 발생한 경우, 수정 후 최종 반영해야 함. 각 커밋마다 변경 내역을 기록하여 추적 가능.
동기화(Update) 저장소에 있는 최신 버전을 자신의 작업 공간과 동기화하는 과정. 다른 개발자들이 추가한 변경 사항을 반영하기 위해 사용. 최신 버전을 유지하면서 협업을 원활하게 진행할 수 있도록 함.

소프트웨어 버전 등록 과정

위 그림은 소프트웨어의 버전 등록 과정을 나타낸 흐름도로, 소스 코드 및 관련 문서를 효과적으로 관리하기 위한 형상 관리(Version Control) 시스템에서의 일반적인 과정이다.

 

가져오기(Import)

  • 버전 관리가 되지 않은 새로운 파일을 **저장소(Repository)**에 처음 추가하는 단계.
  • 초기 프로젝트 설정 또는 새로운 라이브러리, 문서 등을 등록할 때 사용.

인출(Check-Out)

  • 저장소(Repository)에서 파일을 가져와 로컬 환경에서 수정할 수 있도록 하는 과정.
  • 협업을 위해 다른 개발자가 작업한 최신 버전을 받아올 때 사용.

예치(Commit)

  • 변경된 내용을 저장소에 반영하는 과정.
  • 각 커밋마다 변경 사항이 기록되며, 이전 상태로 되돌릴 수 있도록 히스토리가 관리됨.

동기화(Update)

  • 저장소의 최신 변경 사항을 자신의 로컬 작업 공간에 반영하는 과정.
  • 팀원 간 코드 충돌을 방지하고, 최신 상태를 유지하기 위해 필요.

차이(Diff)

  • 현재 작업 중인 파일과 저장소의 기존 파일 간의 차이를 비교하는 과정.
  • 코드 변경 사항을 추적하고, 이전 버전과 비교하여 수정된 내용을 확인할 수 있음.

이 과정은 Git, SVN, CVS 등 형상 관리 도구에서 사용되며, 다수의 개발자가 협업하는 프로젝트에서 소스 코드 변경 사항을 체계적으로 관리하는 데 중요한 역할을 한다.

 


출저 및 참고

정보처리 산업기사 기본서(시나공)

 

728x90

'자격증 > 정보처리' 카테고리의 다른 글

빌드 자동화 도구  (0) 2025.02.08
소프트웨어 버전 관리 도구  (0) 2025.02.08
UI테스트 기법의 종류  (0) 2025.02.05
UI설계 도구  (0) 2025.02.05
UI표준 및 지침  (0) 2025.02.03