형상관리 (Configuration Management)
소프트웨어 개발 과정에서 발생하는 모든 변경 사항을 관리하기 위한 일련의 활동입니다. 형상 관리는 다음과 같은 목적과 범위를 가집니다:
- 변경 사항의 원인 파악 및 제어: 변경 사항이 올바르게 적용되고 있는지 확인하여 관련 담당자에게 통보합니다. 이를 통해 변경 관리의 투명성과 책임성을 확보합니다.
- 소프트웨어 생명 주기의 모든 단계에서 수행: 소프트웨어 개발 초기부터 유지보수 단계까지 형상 관리를 통해 변경 사항을 일관되게 관리합니다. 이를 통해 소프트웨어의 품질과 일관성을 유지합니다.
- 개발 비용 절감 및 방해 요인 최소화: 체계적인 변경 관리와 통제를 통해 개발 과정의 효율성을 높이고, 불필요한 재작업이나 오류를 줄일 수 있습니다.
- 관리 대상: 소스 코드뿐만 아니라 소프트웨어 개발과 관련된 모든 문서(예: 요구사항 정의서, 설계서, 테스트 계획서, 사용자 지침서, 분석서 등)를 포함하여 소프트웨어의 모든 구성 요소를 일관되게 관리합니다.
형상관리 절차
- 형상 식별 (Configuration Identification)
- 형상 관리 대상을 정의하고 식별합니다.
- 추적성을 부여하기 위해 ID 및 관리 번호를 부여합니다.
- 형상 통제 (Configuration Control)
- 형상 항목의 버전 관리를 위한 형상통제위원회( CCB)를 운영합니다.
- 변경 요구를 관리하고, 변경을 제어하며, 형상 관리를 지원합니다.
- 베이스라인에 대한 관리 및 형상 통제를 수행합니다.
- 베이스라인: 각 개발 단계에서 산출물의 검토, 평가, 조정 및 변화를 통제하는 기준 시점입니다.
즉, 소프트웨어 개발의 특정 시점에서 결과물을 고정해 두는 기준점으로 이후 변경이 필요할 때는 이 베이스라인을 기준으로 검토하고 승인된 것만 반영할 수 있게 해서, 혼란을 줄이고 일관성을 유지하도록 돕습니다. - 예를 들어, 어떤 소프트웨어 프로젝트에서 요구사항 문서를 작성했을 때, 이 문서를 개발 초기에 한 번 검토하고 고정한 시점이 베이스라인이 됩니다.
이후 개발 도중에 새로운 요구사항을 추가하거나 수정해야 할 때, 그냥 수정하지 않고 **형상통제위원회(CCB)**에서 변경이 필요한지 검토하고 승인 절차를 거친 다음, 승인된 내용만 베이스라인에 반영합니다. 이렇게 하면 변경 사항을 체계적으로 관리할 수 있고, 문서가 혼란스럽게 바뀌는 것을 방지할 수 있습니다.
- 베이스라인: 각 개발 단계에서 산출물의 검토, 평가, 조정 및 변화를 통제하는 기준 시점입니다.
- 형상 감사 (Configuration Audit)
- 소프트웨어 베이스라인의 무결성을 평가합니다.
- 형상 기록 (Configuration Recording)
- 소프트웨어 형상 및 변경 관리에 대한 각종 수행 결과를 보고서로 작성합니다.
- 소프트웨어 형상 및 변경 관리에 대한 각종 수행 결과를 보고서로 작성합니다.
형상관리 도구 유형
- 공유 폴더 방식 (RCS, SCCS)
- 개발이 완료된 파일을 약속된 위치의 공유 폴더에 복사하는 방식입니다.
- 담당자가 매일 공유 폴더의 파일을 자신의 PC로 복사 및 컴파일하여 에러를 확인하고, 정상 동작 여부를 확인합니다.
- 소스 파일의 수정을 한 사람만으로 제한하며, 다수의 파일 수정을 동시에 못하게 파일 잠금 방식으로 형상 관리를 수행합니다.
- 클라이언트/서버 방식 (CVS, SVN)
- 중앙에 버전 관리 시스템을 항상 동작시키는 방식입니다.
- 개발자들의 현재 및 이전 작업 내용을 추적하기 용이합니다.
- 서로 다른 개발자가 동일 파일에 작업 시 경고 메시지를 출력합니다.
- 다수의 인원이 동시에 범용적인 운영체제로 접근 가능한 도구입니다.
- 하나의 서버에서 소스를 손쉽게 관리할 수 있도록 도와주는 도구로, 저장소를 만들어 그곳에 소스를 저장하여 소스 중복 등의 문제를 해결합니다.
- 분산 저장소 방식 (Git)
- 로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식입니다.
- 중앙 저장소에서 로컬 파일을 복사한 순간, 개발자 자신만의 로컬 저장소가 생성됩니다.
- 개발 완료한 파일을 로컬 저장소에 커밋한 후, 원격 저장소에 반영합니다.
- 속도에 중점을 둔 분산형 버전 관리 시스템으로, 전 세계적으로 가장 많이 사용되며 대형 프로젝트에서 효과적입니다.
- 작업 폴더는 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소입니다.
문제
1. 소프트웨어의 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동을 뜻하는 것은?
① 복호화
② 형상관리
③ 저작권
④ 크랙
정답
정답 : ② 형상관리
해설
② 형상관리 (SCM, Software Configuration Management)
형상관리는 소프트웨어 개발 과정에서 발생하는 모든 변경 사항을 체계적으로 관리하기 위한 활동을 의미합니다. 주요 목적은 소프트웨어의 품질을 향상시키고, 개발 및 유지보수를 효율적으로 수행하는 것입니다.
기타 용어 설명
① 복호화 (decryption): 암호화된 데이터를 원래의 데이터로 복원하는 과정.
③ 저작권 (copyright): 창작물의 저작자에게 주어지는 독점적 권리.
④ 크랙 (crack): 소프트웨어의 사용 권한을 불법적으로 변경하여 무료로 사용할 수 있도록 만든 프로그램.
정보처리기사 실기 2020년 2회 기출문제
문제
다음 빈 칸 안에 공통으로 들어갈 가장 적합한 용어를 쓰시오.
- ( )는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, ( )는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다.
- ( )란 소프트웨어 소스 코드 뿐 아니라 개발 환경, 빌드 구조 등 전반적인 환경 전반적인 내역에 대한 관리 체계를 정의하고 있다.
- ( )를 지원하는 도구로 Git, SVN, CVS등이 있다.
- 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법은 ( ) 기법이라고 하며, ( ) 기법을 활용한 도구로는 CVS, SVN, Git 등이 있다.
정답
형상관리 (Software Configuration Management)
정보처리기사 실기 2020년 3회 기출문제
문제
형상관리 절차 중 형상 통제에 대해 간략히 설명하시오.
정답
소프트웨어 형상 변경 요청을 검토하고 승인하여 현재의 베이스라인에 반영될 수 있도록 통제
해설
형상관리 절차 중 형상 통제는 소프트웨어 개발에서 변경 사항을 관리하고 제어하는 단계입니다. 형상 통제의 핵심 역할은 새로운 요구사항이나 오류 수정 등으로 인해 발생하는 변경 요청을 승인하고 관리하여, 베이스라인의 무결성을 유지하는 것입니다.
형상 통제의 주요 내용:
- 변경 요청 검토: 변경 요청이 발생하면 형상통제위원회(CCB)에서 그 필요성과 영향도를 평가하여 승인 여부를 결정합니다.
- 변경 승인 및 반영: 승인된 변경 사항은 소프트웨어에 반영되며, 베이스라인에 적절히 반영되도록 관리됩니다. 이를 통해 소프트웨어의 일관성과 신뢰성을 확보할 수 있습니다.
- 버전 관리: 각 변경 사항은 소프트웨어의 특정 버전에 기록되며, 이를 통해 개발 단계별로 변경 내역을 추적할 수 있습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."