web-dev-qa-db-ja.com

VCSとSCMの違いは何ですか?

私は実際にリビジョン管理についていくつかの調査を行っています。本や論文には同じものの2つの名前があるようです:ソフトウェア構成管理(SCM)とバージョン管理システム(VCS)。前者はソフトウェアエンジニアに人気があるようです/ Javaプログラマー、後者はsysadminsからのものですが、どちらも一見すると同じことを意味するように見えます。

一方、過去には、SCMをパペットやcfengineのようなものとして解釈しました。 実際にこれらの2つの用語を正しく説明できる人はいますか?できれば具体例を示してください。

47
jldugger

バージョン管理システムはまさにそれであり、バージョン管理機能(Git、Subversion、TFSバージョン管理)を提供するソフトウェアはすべてこのカテゴリに分類されます。

ソフトウェア構成管理は、ソフトウェアのビルド、パッケージ化、および展開に必要なすべてのプロセスを包括する広義の用語であり、これにはバージョン管理システムが含まれます。ソフトウェア自体を指すものではありません。

32
JimDaniel

注意、[〜#〜] scm [〜#〜]は、バージョン管理に関するさまざまな意味を参照できます。

さらに、人々は[〜#〜] scm [〜#〜]を使用して他のネーミングを参照できます:

  • ソースコード管理のようにソースコード管理システム
  • ソフトウェアコード管理しかし、これはソフトウェア構成管理の変形です。
  • ソース構成管理ソフトウェア構成管理と同じ意味ですが、ソフトウェア全体よりもソースコードに重点を置いています(設定、コマンドライン引数、ホストパラメーター...)

それらを定義しましょう:

  • バージョン管理システムは、バージョンを管理するスタンドアロンソフトウェアです(Git ...)
  • ソース管理の管理[〜#〜] vcs [〜#〜]と同じ
  • ソフトウェア構成管理は、ソフトウェアのすべての変更を管理するすべてのプロセスです。開発([〜#〜] vcs [〜#〜])、配信リリース(- [〜#〜] vcs [〜#〜])、バグ追跡、ソフトウェア設定、ホスト/ネットワーク設定、他のソフトウェアと対話するバージョン/設定...

したがって、頭字語[〜#〜] scm [〜#〜]を使用するだけでは混乱を招きます。一部の人々は[〜#〜] vcs [〜#〜]と同じ意味を理解しているかもしれません[〜#〜] vcs [〜#〜]が単なる側面であるプロセス全体を理解している人もいます。

86
olibre