2009-08-19 3 views
5

"패치"와 "업그레이드"는 어떻게 구별합니까? 어디 선을 그립니까?패치 대 업그레이드

특정 사양은 제품 업그레이드를 릴리스 할 때마다 "X"를 수행해야한다고 말합니다. 나는 선을 어딘가에 그려야한다. 나는이 스펙을 위반하고 싶지 않지만, 결코 전에는 명시 적으로 정의한 적이 없다.

+0

답변을 본 후 추가 정보 ... 약속 된 개선 사항이 없으면 "버그"또는 "새로운 기능 요청"입니까? –

답변

7

소프트웨어 버전 (특히 semantic versioning)과 관련하여 패치하면 소프트웨어의 패치 버전 번호가 업그레이드되고 업데이트는 해당 마이너 버전 번호를 업그레이드합니다. (MAJOR.MINOR.PATCH 형식으로) 의미 버전에 따라 애플리케이션의 경우, 패치는 다음과 같이 정의된다 :

증가에서 [...] 당신은 이전 버전과 호환 버그 수정을 패치 버전.

대부분의 경우 패치는 유지 관리 버전의 세 번째 숫자를 업데이트합니다. 업데이트 작은 버전 번호를 업데이트합니다. 또한 패치는 일반적으로 호환성을 유지하면서 문제를 수정하지만 업데이트는 문제를 해결할뿐만 아니라 이전 버전과 호환되지 않을 수도있는 새로운 기능 을 추가 할 수 있습니다. , 세 번째 유지 보수 빌드를

MAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH.BUILD 

그래서 버전 번호 2.1.3.089 두 번째 주요 버전, 처음 부 수정 버전입니다 (그래서 하나의 주요 업데이트가되었습니다) : 하나는 추가 패치 번호를지나 빌드 또는 개정 번호를 추가 할 수 있습니다 (버전 2.1.0.X 이후 3 개의 패치가 릴리스 됨) 빌드 089 (빌드/패치에 중요하지 않음, 고유 한 버전 ID/번호를 지정하는 추가 메타 데이터라고 생각할 수 있음).

소프트웨어 버전 관리의 Wikipedia article은 흥미로운 읽기입니다. M.M.M.B 스타일을 지정하는 이유는 응용 프로그램 개발 중에 Visual Studio에서 일반적으로 사용된다는 것입니다.

그러나 마지막 번호 (빌드)가 생략되어 최종 사용자의 경우 거의 필요하지 않습니다. 주로 개발 목적으로 만 사용됩니다.

4

일반적으로 받아 들여지는 정의는 패치로 버그가 수정되고 업그레이드가 새로운 기능을 도입한다는 것만으로는 "표준 정의"가 있다고 생각하지 않습니다.

필자는 사양을 작성한 사람들이 업그레이드를 정의한 방법과 내가 정의한 방법이 아닌 사용자가 정의한 방법에 따라 달라집니다.

4

패치는 일반적으로 치명적인 오류 또는 문제 또는 보안 문제를 해결하기 위해 밀어 넣는 것입니다. 업데이트 또는 릴리스는 아마도 소프트웨어의 추가 기능 및 기능에 관한 것일 것입니다.

1

나를 위해 가장 중요한 것은 문제를 일으키는 것입니다.

패치는 일반적으로 문제를 해결하기 때문에 사용자가 요청합니다.

업그레이드는 일반적으로 새 기능을 추가하는 데 사용되며 때로는 사용자가 주도하는 경우가 더 자주 시작되기도합니다.

0

많은 마케팅 활동이 있습니다.

업데이트 비용을 지불하는 동안 패치 비용을 지불하지 않을 것입니다 (OSX 사용자를보고 있습니다).

0

사양에 패치 또는 업그레이드가 정의되어 있지 않으면 원하는 곳에 선을 그립니다. spec 작가에게 돌아가 길 원하지 않는다고 가정 할 때, 나는 '버그 수정'과 '새로운 기능'사이의 경계를 그립니다.