*형상관리란?
SW 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동
형상관리의 절차 – 식통감기
형상 식별
형상 관리 대상을 정의 및 식별하는 활동, 추적성 부여를 위해 id와 관리 번호를 부여, 변경 관련 이슈 발생 시 id와 관리번호를 이용하여 추적
형상 관리 사용 사례
많이 쓰이는 곳은 소프트웨어 개발에서 많이 쓰이지만 꼭 이에 대해서만 쓰는 것은 아니다. 예를 들어 회사 내에서 정책 문서가 있을 경우 이에 대한 변화와 왜 변경되었는지를 기록, 추후에 동일한 변경이 필요한 경우 이에 대한 과거 변경 요인들을 확인하기 위해서도 사용한다. 문서의 표지 다음, 목차보다 먼저 등장하여 변경사항을 기록하도록 하는 페이지를 많이 보았을 것이다.
소프트웨어 개발에서 많이 사용하게 된 것을 혼자 개발하는 경우에는 문서 변경과 같은 이력 조회로써 사용할 수 있지만 여러 사람이 함께 개발하는 경우 이에 대한 내역 확인이 필수이다. 버전을 확인하여 변경사항을 확인 하고 이에 대해서 반영 및 수정하는 과정이 발생한다.
또한 혼자 개발하는 경우에는 버전의 충돌이 발생하지 않지만 똑같은 파일을 다른 사람과 공유하여 개발하고 있을 경우 이에 대한 충돌 해결로도 많이 사용된다.
형상 통제
형상 항목의 버전 관리를 위한 형상통제위원회 운영, 변경 요구 관리, 변경 제어, 형상 관리 등 통제 지원, 베이스라인에 대한 관리 및 형상 통제 수행 가능(소스코드의 변경 전과 후의 기준점)
형상 감사 Audit
sw 베이스라인의 무결성 평가, 베이스라인 변경 시 요구사항과 일치 여부 검토
형상 기록
sw 형상 및 변경 관리에 대한 각종 수행결과를 기록, 형상결과 보고서 작성
소프트웨어 개발에서 사용하는 형상관리 도구의 종류 : [클라이언트 서버 방식 CVS, SVN]
1. CVS(Concurrent Version System)
중앙에 버전 관리 시스템을 항시 동작시키는 방식
개발자들의 현재 작업 내용과 이전 작업 내용 추적에 용이, 서로 다른 개발자가 같은 파일을 작업했을 때 경고 메시지 출력
1980년대에 만들어진 형상관리 도구로서 가장 오랫동안 사용되었으며 안정적이지만 파일관리 중 롤백이 되지 않거나 아스키코드를 지원하며 유니코드는 제한적으로 지원하고 속도가 상대적으로 느린 단점을 가지고 있다.
2. SVN(Subversion)
CVS의 단점을 보완하기 위해 2000년에 만들어진 형상관리 도구로 중앙 관리만을 지원하는 특징을 가지고 있다. change set을 커밋 단위로 하여 다른 사용자의 커밋과 엉키지 않고 롤백 기능을 지원한다. 처리속도가 CVS에 비해 상대적으로 빠르다. 하지만 잦은 커밋은 리비전 번호가 크게 증가할 수 있으며 개별 이력을 관리할 수 없는 단점을 가지고 있다.
3. 분산 저장소 방식 GIT
로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식
중앙의 저장소에서 로컬 파일을 복사(clone)한 순간 개발자 자신만의 로컬 저장소에 생성
개발 완료한 파일을 수정한 다음에 로컬 저장소에 우선적으로 커밋한 이후, 다시 원격 저장소에 반영(push)하는 방식
2005년 개발된 형상관리 도구로 매우 빠른 속도를 가지고 있다. 다른 형상관리 도구에 비해 다양한 기능을 지원하며 최근 가장 대중화되어 사용되고 있다. 처음 사용시 다른 도구에 비해 사용법을 숙지하는데 어려움을 가질 수 있으나 로컬 관리와 중앙 관리가 모두 가능하여 장소에 구애받지 않고 협업을 가능케 한다.
*형상 관리 도구 유형 관련 url
https://velog.io/@welchs1423/%ED%98%95%EC%83%81%EA%B4%80%EB%A6%ACConfiguration-Management%EB%9E%80
'정보처리기사' 카테고리의 다른 글
[면접 준비 자료] IT 시스템 관리 & 운영 체제별 기본 명령어 (0) | 2023.09.12 |
---|---|
[면접 준비 자료] SQL 문법 (0) | 2023.09.12 |
[면접 준비 자료] Canoe 툴 & ISO/SAE 21434 (0) | 2023.09.07 |
[면접 준비 자료] 사이버 보안 분야 전망 (0) | 2023.09.07 |
[면접 준비 자료] NW 해킹 공격 예시와 특징 (0) | 2023.09.07 |