본문 바로가기
컴퓨터.SW

문서와 소프트웨어의 버전 관리: v1.0.0부터 v2.0.0까지, 버전 넘버링의 숨겨진 비밀

by 사고쓰고리뷰하고 2024. 12. 26.
반응형

결론:

"주.부.수"(Major.Minor.Patch) (예시: v1.2.1 )

  1. Major(주 버전): 모든 게 바뀌었음.
  2. Minor(부 버전): 기능 추가.
  3. Patch(수 버전): 버그 수정.

1. 버전 관리란 무엇인가?

소프트웨어나 문서를 업데이트할 때, 우리는 종종 "v2", "v2.1", "v2.12"와 같은 버전 번호를 보게 됩니다. 이 숫자는 단순히 수정된 횟수를 나타내는 것이 아닙니다.

사실, 버전 번호에는 체계적이고 논리적인 규칙이 존재하며, 이를 통해 변경의 성격과 규모를 알 수 있습니다.

 

이러한 방식 중 가장 널리 사용되는 것이 Semantic Versioning입니다.

이 글에서는 버전 번호를 어떻게 나누고, 어떤 기준으로 변경하는지 쉽게 설명해드리겠습니다.


2. 버전 번호의 구성

버전 번호는 일반적으로 "주.부.수"(Major.Minor.Patch) 형태로 표시됩니다.

 

1) 예시: "v1.2.3" 일 경우

 - 1 (Major): 주 버전

 - 2 (Minor): 부 버전

 - 3 (Patch): 수 버전

2) 각 숫자의 의미와 변화 기준

1. 주 버전 (Major)

주 버전은 크고 근본적인 변화가 있을 때 증가합니다.

주로 다음과 같은 경우에 사용됩니다:

 - 기존 버전과 호환되지 않는 큰 변화가 있을 때.

 - 기존 구조나 API를 대대적으로 변경할 때.

예: v1.0.0 → v2.0.0

  - Windows 7에서 Windows 10으로 업그레이드된 경우와 같이 큰 변화를 의미.

 

2. 부 버전 (Minor)

부 버전은 새로운 기능이 추가되었지만, 기존 버전과의 호환성은 유지되는 경우에 증가합니다.

이 버전에서 기존 사용자는 문제없이 업데이트할 수 있습니다.

예: v1.1.0 → v1.2.0

 

3. 수 버전 (Patch)

수 버전은 작은 수정이나 버그 패치가 있을 때 증가합니다.

이 수정은 기능의 변화 없이 안정성을 높이는 데 초점이 맞춰져 있습니다.

예: v1.2.0 → v1.2.1

  - 문서에서 오타를 수정하거나, 소프트웨어의 버그를 해결한 경우.

버전 관리 없이 문서를 작성한 경우_나무위키


3. Semantic Versioning의 주요 원칙

1) 버전 번호는 항상 증가해야 합니다.

한 번 배포된 버전의 내용을 변경해서는 안 되며, 수정이 필요하다면 반드시 새로운 버전으로 배포해야 합니다.

2) 변경사항에 따라 적절한 번호를 올려야 합니다.

 - Major: 하위 호환이 깨질 때.

 - Minor: 하위 호환을 유지하면서 새로운 기능이 추가될 때.

 - Patch: 기존 기능의 작은 수정이나 버그가 수정될 때.

3) 버전 번호는 0부터 시작하지 않습니다.

각 숫자는 자연수로만 구성되며, "v0.x.x"는 초기 개발 단계(알파/베타 버전)를 나타냅니다.


4. 실제 사례로 살펴보기

1. 앵그리 버드의 버전 관리

앱스토어에서 v5.0.2과 같은 형식으로 표기됩니다:

  • 5 (Major): 대규모 변화가 있었음.
  • 0 (Minor): 새로운 기능은 없고 기존 틀 유지.
  • 2 (Patch): 자잘한 버그 수정.

2. 기획서 예시

  • v1.0.0 → v2.0.0 (Major)
    기획서의 방향성이 대폭 바뀌었을 때.
  • v1.1.0 → v1.2.0 (Minor)
    새로운 기능 아이디어가 추가된 기획서.
  • v1.1.0 → v1.1.1  (Patch)
    기획서의 오타를 수정했을 때.

5. 문서 버전 관리 예시

1) 기획서

  • v1.0.0: 초기 기획안 작성 완료
    기획서의 큰 틀이 완성된 상태로, 기본적인 골격과 방향성이 명확히 정리되었음.
  • v1.1.0: 주요 내용 추가
    추가 기능(예: 신규 서비스 아이디어)이 포함되었지만, 기존 방향성은 유지.
  • v1.1.1: 세부 오류 수정
    오타, 누락된 문장, 형식 오류 등을 수정.
  • v2.0.0: 기획 변경
    기존 기획 방향을 폐기하고 새로운 프로젝트 방향으로 대폭 변경.

2) 보고서

  • v0.1.0: 초안 작성
    초안 단계로, 전체 구조와 목차만 작성된 상태.
  • v0.2.0: 내용 추가
    데이터 분석 결과나 조사 내용을 추가했지만, 초안의 큰 틀은 유지.
  • v1.0.0: 최종 보고서
    모든 내용이 완성된 상태로, 검토를 마치고 배포 가능.
  • v1.0.1: 배포 후 자잘한 수정
    표기 오류, 오타 수정, 그래프 색상 변경 등 사소한 변경.
  • v1.1.0: 부록 추가
    새로운 데이터 표나 참고 문헌을 부록으로 추가.

3) 사용 매뉴얼

  • v1.0.0: 초기 매뉴얼 작성
    소프트웨어 또는 제품 사용에 대한 기본 가이드라인 완성.
  • v1.0.1: 오류 수정
    설명 문구의 오타나 잘못된 그림 교체.
  • v1.1.0: 기능 추가 설명
    소프트웨어 업데이트로 추가된 기능에 대한 설명 추가.
  • v2.0.0: 대규모 리뉴얼
    제품이나 소프트웨어가 대폭 변경되어 매뉴얼을 처음부터 다시 작성.

4) 프로젝트 제안서

  • v0.1.0: 초안 작성
    제안서의 큰 구조만 잡아두고, 아이디어를 나열한 상태.
  • v0.2.0: 내용 보강
    필요한 데이터와 상세 계획을 포함한 상태.
  • v1.0.0: 제출용 버전
    내부 검토 후 클라이언트 또는 내부에 제출할 최종 버전.
  • v1.0.1: 피드백 반영
    클라이언트 피드백에 따라 문구를 수정하거나 데이터를 보강.
  • v2.0.0: 새로운 프로젝트 방향으로 수정
    제안 방향이 대폭 변경되었을 경우.
반응형

6. 업무상황에서 실제 관리 방안

1) 파일 이름에 버전 표시

문서 이름에 버전 정보를 포함하여 관리하는 것이 가장 기본적입니다.

  • 예시:
    • 기획서_v1.0.0.docx
    • 사용매뉴얼_v1.1.0.pdf

2) 버전 관리 체크리스트

  1. 버전 규칙 정의: 팀 내에서 Major, Minor, Patch의 적용 기준을 명확히 정함.
  2. 주기적 업데이트 기록: 문서가 수정될 때마다 이유와 변경 내용을 기록.
  3. 변경 내용 공유: 수정된 문서를 공유할 때 반드시 변경점을 설명.

참고로 위의 글을 요약하면 아래와 같습니다.

< 버전 관리 요약표 >

구분 버전 형식 변경 예시 의미 및 적용 상황
일반 규칙 N/A - - 번호는 자연수로만 구성, 0으로 시작하지 않음
- 각 숫자는 반드시 증가해야 함
- 수정 후 새로운 버전으로 배포
문서 관리 규칙 vX.Y.Z v1.0.0 v1.0.1 - Major: 문서 구조 대폭 변경
- Minor: 내용 추가, 새로운 섹션 생성
- Patch: 오타 및 소소한 내용 수정
Semantic Versioning Major.Minor.Patch 3.4.2 (예시) - MAJOR: API 변경 또는 호환 불가 변경
- MINOR: 하위 호환 가능한 기능 추가
- PATCH: 버그 수정 및 소소한 업데이트
Major vX.Y.Z v1.0.0 v2.0.0 - 대규모 변경 또는 기존 버전과 호환되지 않는 변화
- 구조적, 기능적 전면 개편
- : 새로운 운영 체제로 업그레이드
Minor vX.Y.Z v1.0.0 v1.1.0 - 새로운 기능 추가 또는 기존 기능의 개선
- 기존 내용과 하위 호환 가능
- : 애플리케이션에 검색 기능 추가
Patch vX.Y.Z v1.0.0 v1.0.1 - 작은 오류 수정, 오타 수정, 누락 사항 추가 등
- 기존 구조와 호환되며 기능에는 큰 변화 없음

참고 글)

 

[일상정보] - 티스토리 글 발행시 [공개/공개(보호)/비공개]의 차이점

 

티스토리 글 발행시 [공개/공개(보호)/비공개]의 차이점

티스토리 글 발행시 아래와 같이 [공개/공개(보호)/비공개] 3가지의 버전이 있다. '공개' 와 '비공개'는 대충 느낌상 구분이 가는데 '공개(보호)'?? 는 뭘까?? 차이는 아래와 같다. 공개: 누구나 볼수

a-story804.tistory.com

 

[일상정보] - 프로그램개발 등에서 프로토타입(Prototype), 파일럿 버전(Pilot Version), 완성 버전(Full Version)의 개념과 차이점

 

프로그램개발 등에서 프로토타입(Prototype), 파일럿 버전(Pilot Version), 완성 버전(Full Version)의 개념

1. 프로토타입(Prototype)- 정의: 프로토타입은 제품 또는 시스템 개발 과정에서 최초로 만들어지는 시제품을 의미합니다. 이 단계에서는 주요 기능과 개념을 시각적으로 확인하거나, 기본적인 작

a-story804.tistory.com

 

[컴퓨터.SW] - ChatGPT 모델 비교: o1-preview, o1-mini, GPT-4o 중 어떤 모델이 나에게 적합할까?

 

ChatGPT 모델 비교: o1-preview, o1-mini, GPT-4o 중 어떤 모델이 나에게 적합할까?

ChatGPT의 o1-preview 모델, o1-mini 모델, 그리고 GPT-4o는 각기 다른 특징과 용도로 설계된 모델들로, 주로 성능, 비용, 응답의 깊이 및 속도에서 차이를 보입니다. 아래에 각 모델의 차이점을 설명합니

a-story804.tistory.com

728x90
반응형