코드 위의 하루 (A Day on the Code)

Chapter 5 정리 - 형상관리와 변경관리의 모든 것 본문

🍚전공이 밥 먹여준다믄/📕 소프트웨어공학

Chapter 5 정리 - 형상관리와 변경관리의 모든 것

code.with.siyeon 2025. 5. 12. 19:05

📌 과목 개요

  • 과목명: 소프트웨어공학
  • 교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저
  • 중간고사 범위: Chapter 1 ~ Chapter 6
  • 시험 스타일: 형상관리 정의, 변경관리 절차, 버전 관리 개념, 용어 비교 문제

📚 Chapter 5 핵심 개념 요약

1. 형상관리(SCM: Software Configuration Management)란?

소프트웨어 개발 과정에서 **산출물(코드, 문서 등)**의 변경을 체계적으로 관리하는 활동
→ 누가, 언제, 무엇을, 왜 바꿨는지 추적 가능하게 만드는 것이 핵심 목적

 

2. 형상관리의 주요 목적

  • 개발 산출물의 무결성 유지
  • 동시 작업 시 충돌 방지
  • 변경 내용 이력 관리 (버전 관리)
  • 개발 전반의 일관성 유지

3. 형상관리 대상 (형상 항목)

  • 소스코드, 실행파일, 설계서, 요구사항 명세서 등
    모든 소프트웨어 관련 산출물이 관리 대상

4. 형상관리 활동 구성

  • 형상 식별: 관리할 대상을 정의하고 이름 부여
  • 형상 통제: 변경 요청이 발생했을 때 승인 절차 수행
  • 형상 감사: 변경 내역이 올바르게 반영되었는지 검토
  • 형상 기록: 모든 이력을 문서화 (로그 기록 등)

5. 변경관리(Change Control)란?

소프트웨어 변경 요청을 검토·승인·추적하는 절차
→ 형상관리에 포함되는 하위 개념으로 볼 수 있음

 

📌 핵심 차이 요약

 

6. 버전 관리의 개념 (Git 등)

  • 코드나 문서를 버전별로 저장하고, 이전 상태로 되돌릴 수 있게 함
  • 대표 도구: Git, SVN, CVS 등
  • Git에서는 커밋(commit), 브랜치(branch), 병합(merge) 등을 통해 형상관리 수행

💡 자주 나오는 시험 유형

  • 형상관리 vs 변경관리 비교
  • 형상관리 활동 중 하나를 설명하거나 사례 제시
  • 버전 관리 도구의 역할
  • “누가, 언제, 무엇을, 왜 바꿨는가”를 관리하는 활동은 무엇인가?

🎯 교수님이 강조한 포인트

  • 형상관리의 핵심은 이력 추적과 무결성 유지
  • 변경관리는 변경 요청이 발생했을 때 승인과 검토를 거친다는 점
  • Git 사용 경험과 형상관리 개념을 연결해서 이해할 것

📌 내 오답노트 & 복습 포인트

  • 형상관리 = 코드 관리로만 오해함 ❌ → 문서, 명세서도 포함
  • 변경관리를 단순히 “파일 수정”으로 착각함 ❌
  • “SCM은 변경을 막는 것”이라는 오개념 → ❌ SCM은 변경을 ‘관리’하는 것

📝 마무리 요약

  • 형상관리는 모든 개발 산출물의 변경을 이력으로 남기고 통제하는 시스템
  • 변경관리는 변경 요청을 승인·기록·반영하는 절차
  • Git을 통한 커밋, 브랜치, 머지는 형상관리의 실제 구현 방법!

📘 다음 편 예고
《전공이 밥 먹여준다믄 - 소프트웨어공학 Chapter 6 정리》
테스트와 디버깅, 소프트웨어 품질을 높이는 마지막 단계