일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 정렬
- 프로그래밍 언어
- Flutter
- 소프트웨어 개발도구
- 소프트웨어아키텍처 기술 동향
- 백트래킹
- vector unique erase
- 온라인처리
- 객체 지향형 DB
- 개발프레임워크
- 프로그래밍 언어 기술 동향
- aws winscp
- ANSI-SPARC
- compare
- sync_with_stdio(0)
- 계층형DB
- c++
- BOJ
- 시간초과
- 메인 메모리 DB
- Backtracking
- boj 11659
- 객체관계형DB
- 클라우드기반 IDE
- TOPCIT
- 공간DB
- compare구조체
- 멀티미디어DB
- 네트워크형DB
- 개발프레임워크의 기술 동향
옐그's 코딩라이프
[TOPCIT][01] XI. 소프트웨어 형상관리 (에센스 정리 요약) 본문
학습 목표
1. 소프트웨어 형상관리의 개념과 활동에 대하여 설명할 수 있다.
2. 소프트웨어 형상관리 도구를 활용할 수 있다.
핵심 키워드
- 소프트웨어 형상, 소프트웨어 형상관리 요소, 변경 제어 절차
- 버전관리 도구, 형상관리 도구
01 소프트웨어 형상관리의 개요
형상관리(Software Configuration Management)의 정의
- 소프트웨어의 개발 과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동
형상관리 필요 배경
문제원인 | 내용 |
가시성 미흡 | 소프트웨어는 무형의 산출물이므로 가시성이 없음 |
컨트롤 어려움 | 눈에 보이지 않는 소프트웨어 개발에 대한 컨트롤이 현실적으로 어려움 |
추적성 미흡 | 소프트웨어 개발 전체 과정에 대한 추적의 어려움 |
감시의 미비 | 가시성 미흡 및 추적의 어려움으로 프로젝트 관리를 지속적으로 하기 어려움 |
끊임없는 변경 | 끊임없는 사용자의 요구사항 |
02 형상관리 개념도 및 구성 요소
형상관리의 개념도
형상관리의 구성요소
구성요소 | 내용 |
기준선(Baseline) | 각 형상 항목들의 기술적 통제시점, 모든 변화를 통제하는 시점의 기준 |
형상항목(Configuration Item) | 소프트웨어 생명주기 중 공식적으로 정의되어 기술되는 기본 대상 |
형상물(Configuration Product) | 소프트웨어 개발 생명주기 중 공식적으로 구현되는 형체가 있는 실현된 형상관리의 대상 기술문서, 하드웨어 제품, 소프트웨어 제품 |
형상정보(Configuration Information) | 형상정보 = 형상항목 + 형상물 |
03 형상관리 활동
형상관리 활동
활동 | 내용 | |
형상식별 | - 형상관리 대상 구분, 관리 항목에 대한 번호 부여 - 형솽 항목 식별 목표: 문서 구조를 명료하고 예측 가능한 모습으로 정의, 정보기록에 의해 추적, 관리를 용이하게 함 - 형상항목 식별내용: 제품/각종문서/형상항목 번호 |
|
형상컨트롤 | - 소프트웨어 형상 변경 요청을 검토 승인하여 정의된 베이스라인에 반영할 수 있도록 컨트롤 - 변경 요구관리/변경제어/형상관리 조직의 운영 및 개발업체, 외주업체에 대한 형상 통제 지원 |
|
형상감사 | - 소프트웨어 베이스라인의 무결성 판단 수단 - 성공적인 형상감사는 소프트웨어 베이스라인을 성공적으로 설정 - 베이스라인 변경 시 요구사항과 일치 여부 검토 - 검증(Verification), 확인(Validation) |
|
형상기록 | - 소프트웨어 형상 및 변경 관리에 대한 각종 현황 및 수행 결과를 기록하고, 데이터베이스에 의한 관리를 하여 보고서를 작성하는 기능 |
형상관리 효과
구분 | 내용 |
관리자 측면 (운영자) |
- 프로젝트의 체계적이고 효과적인 관리의 기준 제공 - 프로젝트의 통제 용이 - 프로젝트의 가시성 확보와 추적성 보장 - 품질 보증을 위한 베이스라인 제시 |
개발자 측면 | - 소프트웨어 변경에 따른 영향 최소화, 관리의 용이 - 소프트웨어 품질보증 기법 - 소프트웨어의 적절한 변경 관리 가능 - 유지 보수성 향상 |
형상관리 고려사항
- 적절한 운영 조직 구성, 관리 전문 도구의 활용
- 지속적인 관리와 관리 기준 필요, 이에 따른 문제 해결 방안 필요
- 소규모 프로젝트일수록 형상관리 정도를 적절히 테일러링
- 형상관리 항목을 정하곡 모든 변경 사항은 공식적인 합의에 의해 실시
- 운영중인 소프트웨어의 변경은 신중하게 진행
04 형상관리 도구
형상관리도구
구분 | 도구 | 비고 |
Folder 공유 | RCS, SCCS | |
Client/Server | Subversion(SVN), CVN, Perforce, ClearCase, TFS | 중앙 저장소 |
분산 저장소 | Git, Mercurial, Bitkeeper, SVK, Darcs | 분산 저장소 제공 Offline 개발 작업 다수일 경우 유리 |
서브버전(Subversion, SVN)
- 오픈 소프트웨어 버전 관리 시스템
- 서버-클라이언트 모델을 따름
- 서브버전같은 중앙 집중형 저장소 시스템은 다수의 클라이언트가 중앙 서버로부터 파일을 Check-out하여 사용함
분산형 저장소(Git)
- 클라이언트가 마지막 Snapshot을 직접 다운받지 않고 저장소 전부를 복제함
- 소스코드가 하나의 중앙 서버에만 저장되는 것이 아니라, 다수의 서버나 다수의 개발자 local PC에 저장될 수 있음, 각각이 소스 코드 저장소가 됨
TFS(Team Foundation Server)
- 소스 코드 관리, 보고, 요구 사항 관리, 프로젝트 관리(애자일 소프트웨어 개발, 폭포수 모델), 자동화된 빌드, 랩 관리, 테스트 및 출시 관리 기능을 제공하는 마이크로소프트의 제품
'TOPCIT' 카테고리의 다른 글
[TOPCIT][01] XIII. 오픈소스 소프트웨어 동향 (에센스 정리 요약) (0) | 2023.03.26 |
---|---|
[TOPCIT][01] XII. 소프트웨어 유지관리 (에센스 정리 요약) (0) | 2023.02.26 |
[TOPCIT][01] X. 소프트웨어 요구관리 (에센스 정리 요약) (0) | 2023.02.24 |
[TOPCIT][01] IX. 소프트웨어 테스팅과 리팩토링 (에센스 정리 요약) (0) | 2023.02.23 |
[TOPCIT][01] VIII. 프로그래밍 언어와 개발환경 (에센스 정리 요약) (1) | 2023.02.22 |