📜  为什么需要SCM?

📅  最后修改于: 2021-08-25 18:42:12             🧑  作者: Mango

软件配置管理(SCM)就像将在整个软件过程中应用的总体活动一样。它管理和跟踪新兴产品及其版本,还可以识别和控制在整个开发周期中使用的软件,硬件和工具的配置。 SCM确保所有参与软件过程的人员都知道正在设计,开发,构建,测试和交付的内容。

供应链管理的必要性:
自1960年代以来,随着程序复杂性的提高,他对SCM技术的开发变得越来越重要。开发人员需要使用SCM来提高生产率,降低成本并保持项目进度直至完成。通过外包和分布式开发来开发软件时,这一点变得尤为重要。

基本上,它为开发人员提供了一种方法,可以协调许多人在同一产品上的工作,无论他们是在近距离工作还是在广阔的地理区域内工作。如果没有适当的SCM计划,则项目将变得越来越难以控制,并且可能会因无法解决而不得不中止项目。此外,软件生命周期模型对软件配置管理也有影响。

将项目置于配置过程中有多种原因。如果不使用软件的配置管理,可能会出现以下问题。

  1. 由于复制对象而导致的不一致问题:
    我们在每个软件工程师都有一个对象的个人副本的情况下对此有所了解。根据他们的工作和要求,每个软件工程师都对其本地副本进行更改,他还对其他工程师进行了亲密更改,以便在所有模块中统一更改接口的更改。但是,工程师多次更改其本地副本中的界面,而忘记与队友进行更改。这会使对象的不同副本不一致。完成所有这些步骤之后,最后,当产品集成在一起时,即所有不同的模块组合在一起,它就无法工作。因此,当几个团队成员共同开发一个对象时,有必要让他们对一个对象进行单个拷贝,否则可能会导致不一致。
  2. 与并发访问相关的问题:
    假设只有一个问题模块副本,并且有多个工程师正在处理它。两名工程师可以同时对同一模块的不同部分进行更改,而保存时可以相互覆盖。在此我们讨论了并发访问程序代码的问题,对于任何其他可交付对象也可能发生类似的问题。认为
  3. 提供稳定的开发环境:
    在进行软件开发项目时,始终需要稳定的环境。假设有人试图将模块A与模块B和C集成在一起,如果模块C的开发人员不断更改C,他将无法取得进展;如果对模块C的更改迫使他重新编译模块A,这尤其令人沮丧。当有效的配置管理时,Manager会将对象冻结为基线。在配置控制下,如果有人希望有对象的需求,则将基线项显示给他。请求者对其私人副本进行更改,更新配置并立即形成新的基线。这为其他人使用和依赖建立了基准。另外,配置可能会定期冻结。冻结配置可能涉及实现重建配置所需的一切。
  4. 系统记帐和维护状态信息:
    它跟踪两件事,即谁进行了更改以及何时进行了这些更改。
  5. 处理变体:
    当软件中存在变体类型时,会产生一些特殊的问题。如果某人有多个模块用于同一个模块,而一个模块中会发现错误。然后必须在所有版本和修订版中对其进行修复。