소프트웨어 엔지니어링의 소프트웨어 구성 관리
⚡ 스마트 요약
소프트웨어 구성 관리(SCM)는 소프트웨어 개발 수명 주기 전반에 걸쳐 문서, 코드 및 기타 항목에 대한 변경 사항을 체계적으로 관리, 구성 및 제어하는 프로세스입니다. 주요 목표는 생산성을 높이는 동시에 관리 효율성을 유지하는 것입니다.ping 실수를 최소화합니다.

소프트웨어 구성 관리란 무엇입니까?
소프트웨어 공학에서는 소프트웨어 구성 관리(SCM) 소프트웨어 관리(SCM)는 소프트웨어 개발 수명 주기 동안 문서, 코드 및 기타 요소의 변경 사항을 체계적으로 관리, 구성 및 제어하는 프로세스입니다. 주요 목표는 오류를 최소화하면서 생산성을 높이는 것입니다. SCM은 구성 관리라는 여러 학문 분야에 걸쳐 있으며, 누가 어떤 버전을 수정했는지 정확하게 파악할 수 있습니다.
구성 관리가 필요한 이유는 무엇입니까?
기술 소프트웨어 구성 관리 시스템을 구현하는 주요 이유는 다음과 같습니다.
- 여러 사람이 소프트웨어 개발에 참여하고 있으며, 소프트웨어는 지속적으로 업데이트됩니다.
- 소프트웨어 구성 프로젝트에 여러 버전, 브랜치 및 작성자가 관련되어 있고, 팀 구성원들이 지리적으로 분산되어 동시에 작업하는 경우가 있을 수 있습니다.
- 사용자 요구사항, 정책, 예산 및 일정의 변경 사항을 수용해야 합니다.
- 소프트웨어는 다양한 기기에서 실행될 수 있어야 합니다. Opera팅 시스템.
- 이해관계자 간의 협력을 증진하는 데 도움이 됩니다.
- SCM 프로세스는 시스템 변경에 따른 비용을 관리하는 데에도 도움이 됩니다.
소프트웨어 구성 항목의 변경 사항은 최종 제품에 영향을 미칩니다. 따라서 구성 항목의 변경 사항을 제어하고 관리해야 합니다.
SCM 프로세스의 업무
- 구성 식별
- 기준선
- 변경 제어
- 구성 상태 회계
- 구성 감사 및 Rev봐요
구성 식별
구성 식별은 소프트웨어 시스템의 범위를 결정하는 방법입니다. 이 단계를 통해 무엇인지 정확히 알지 못하더라도 해당 항목을 관리하거나 제어할 수 있습니다. 구성 식별 정보에는 CSCI(컴퓨터 소프트웨어 구성 항목) 유형, 프로젝트 식별자 및 버전 정보가 포함됩니다.
이 과정 중 활동:
- 소스 코드 모듈과 같은 구성 항목 식별, 테스트 사례및 요구 사항 사양.
- 객체지향적 접근 방식을 사용하여 SCM 저장소에 있는 각 CSCI를 식별합니다.
- 이 과정은 기본 객체에서 시작하여 집합 객체로 그룹화됩니다. 테스트에서 변경 사항이 발생하는 내용, 이유, 시기 및 변경자에 대한 세부 정보가 포함됩니다.
- 모든 객체는 다른 모든 객체에게 명확하게 드러나는 고유한 특징을 가지고 있으며, 그 특징을 통해 객체의 이름을 식별할 수 있습니다.
- 필요한 자료 목록 (문서, 파일, 도구 등)
예:
파일 이름을 login.php 대신 login_v1.2.php로 지정해야 합니다. 여기서 v1.2는 파일의 버전 번호를 나타냅니다.
폴더 이름을 "로 지정하는 대신Code"라고 이름 붙여야 합니다."Code_D”에서 D는 코드를 매일 백업해야 함을 나타냅니다.
기준
기준선은 소프트웨어 구성 항목의 공식적으로 승인된 버전입니다. SCM 프로세스를 진행하면서 특정 시점으로 지정되어 고정됩니다. 공식적인 변경 관리 절차를 통해서만 변경할 수 있습니다.
이 과정 중 활동:
- 애플리케이션의 다양한 버전을 쉽게 구축할 수 있도록 지원합니다.
- 이러한 작업 산출물의 다양한 버전을 관리하기 위한 메커니즘을 정의하고 결정합니다.
- 기능적 기준선은 검토된 시스템 요구사항에 부합합니다.
- 널리 사용되는 기준선에는 기능적 기준선, 개발적 기준선 및 제품 기준선이 있습니다.
간단히 말해서 기준선은 출시 준비가 완료되었음을 의미합니다.
변경 제어
변경 관리란 구성 객체에 변경 사항이 발생할 때 품질과 일관성을 보장하는 절차적 방법입니다. 이 단계에서는 변경 요청이 소프트웨어 구성 관리자에게 제출됩니다.
이 과정 중 활동:
- 안정적인 소프트웨어 개발 환경을 구축하기 위해 임시 변경 사항을 제어합니다. 변경 사항은 저장소에 커밋됩니다.
- 해당 요청은 기술적 타당성, 발생 가능한 부작용 및 다른 구성 요소에 미치는 전반적인 영향을 기준으로 검토됩니다.
- 소프트웨어 수명 주기 동안 변경 사항을 관리하고 구성 항목을 사용할 수 있도록 합니다.
구성 상태 회계
구성 상태 회계 tracSCM 프로세스 중 각 릴리스마다 ks를 실행합니다. 이 단계에는 다음이 포함됩니다. trac각 버전의 특징과 현재 버전으로 이어지는 변경 사항을 자세히 설명하십시오.
이 과정 중 활동:
- 새로운 기준선에 도달하기까지 이전 기준선에 대한 모든 변경 사항을 기록합니다.
- 소프트웨어 구성을 정의하는 데 필요한 모든 항목을 식별하십시오.
- 변경 요청의 상태를 모니터링합니다.
- 지난번 기준선 이후 변경된 모든 사항의 전체 목록입니다.
- 허용 trac다음 기준선으로의 진전의 왕.
- 이전 릴리스/버전을 사용할 수 있습니다.trac테스트용입니다.
구성 감사 및 Rev봐요
소프트웨어 구성 감사는 모든 소프트웨어 제품이 기본 요구 사항을 충족하는지 확인합니다. 이는 구축된 것이 전달되는 것을 보장합니다.
이 과정 중 활동:
- 구성 감사는 정의된 프로세스가 준수되고 있는지 확인하고 SCM 목표가 충족되는지 확인하여 감사자가 수행합니다.
- 구성 관리 표준 준수 여부를 확인하기 위해 변경 사항을 감사하고 보고합니다.
- SCM 감사에서는 또한 다음 사항을 보장합니다. trac이 과정 동안 안정성이 유지됩니다.
- 기준선에 대한 변경 사항이 구성 상태 보고서를 준수하는지 확인합니다.
- 완전성 및 일관성 검증.
SCM 프로세스 참여자
다음은 SCM의 주요 참여자입니다.
1. 구성 관리자
- 구성 관리자는 구성 항목을 식별하는 책임을 맡은 책임자입니다.
- CM은 팀이 SCM 프로세스를 준수하도록 보장합니다.
- 담당자는 변경 요청을 승인하거나 거부해야 합니다.
2. 개발자
- 개발자는 표준 개발 활동이나 변경 요청에 따라 코드를 변경해야 합니다. 또한 코드 구성을 유지 관리할 책임이 있습니다.
- 개발자는 변경 사항을 확인하고 충돌을 해결해야 합니다.
3 감사원
- 감사자는 SCM 감사 및 검토를 담당합니다.
- 릴리스의 일관성과 완전성을 보장해야 합니다.
4. 프로젝트 매니저:
- 제품 개발이 정해진 기간 내에 완료되도록 하십시오.
- 개발 진행 상황을 모니터링하고 SCM 프로세스상의 문제점을 파악합니다.
- 소프트웨어 시스템의 상태에 대한 보고서를 생성합니다.
- 생성, 변경 및 테스트 과정에서 프로세스와 정책을 준수해야 합니다.
5. 사용자
최종 사용자는 최신 버전의 소프트웨어를 사용하고 있는지 확인하기 위해 주요 SCM 용어를 이해해야 합니다.
소프트웨어 구성 관리 계획
SCMP(소프트웨어 구성 관리 계획) 프로세스는 프로젝트의 초기 코딩 단계에서 시작됩니다. 계획 단계의 결과물은 SCM 계획이며, 이 계획은 프로젝트 진행 중에 수정되거나 변경될 수 있습니다.
- SCMP는 IEEE 828과 같은 공개 표준을 따르거나 조직별 표준을 따를 수 있습니다.
- 관리할 문서 유형과 문서 명명 규칙을 정의합니다. 예: Test_v1.
- SCMP는 전체 SCM 프로세스와 기준선 생성을 담당하는 사람을 정의합니다.
- 버전 관리 및 변경 제어 정책을 수정하세요.
- SCM 프로세스 중에 사용할 수 있는 도구를 정의하십시오.
- 구성 정보를 기록하기 위한 구성 관리 데이터베이스입니다.
소프트웨어 구성 관리 도구
모든 변경 관리 소프트웨어는 다음과 같은 3가지 핵심 기능을 갖추어야 합니다.
동시성 관리:
두 개 이상의 작업이 동시에 진행되는 것을 동시 작업이라고 합니다. SCM(소프트웨어 관리) 맥락에서 동시 작업이란 여러 사람이 동시에 동일한 파일을 편집하는 것을 의미합니다.
SCM 도구를 사용하여 동시성을 올바르게 관리하지 않으면 많은 시급한 문제가 발생할 수 있습니다.
버전 관리 :
SCM(소프트웨어 관리)은 아카이빙 방식을 사용하거나 파일에 대한 모든 변경 사항을 저장합니다. 아카이빙 또는 저장 기능을 통해 문제가 발생할 경우 이전 버전으로 되돌릴 수 있습니다.
Sync동기화:
사용자는 여러 파일 또는 전체 저장소 복사본을 체크아웃할 수 있습니다. 그런 다음 필요한 파일을 작업하고 변경 사항을 저장소에 다시 체크인합니다. 로컬 복사본을 동기화하여 다른 팀 구성원이 변경한 내용을 최신 상태로 유지할 수 있습니다.
다음은 인기 있는 도구들입니다.
1.힘내: Git은 버전 관리에 도움이 되는 무료 오픈 소스 도구입니다. 모든 유형의 프로젝트를 빠르고 효율적으로 처리하도록 설계되었습니다.
링크를 다운로드 : https://git-scm.com/
2. 팀 Foundation 서버 : 의료진 소개 Foundation 팀이 제품 구축을 위해 협업하고 조정할 수 있도록 하는 도구 및 기술 그룹입니다.
링크를 다운로드 : https://azure.microsoft.com/en-us/services/devops/server/
3. 앤서블: 오픈 소스 소프트웨어 구성 관리 도구입니다. 구성 관리 외에도 애플리케이션 배포 및 작업 자동화 기능도 제공합니다.
링크를 다운로드 : https://www.ansible.com/


