目录

  • 1、为什么需要使用SCM
  • 2、什么是SCM
  • 3、作用
    • 变更控制:
    • 版本控制的内容
    • 版本控制策略
  • 4、版本控制工具

1、为什么需要使用SCM

1. 更改源文件,但不知道哪个是最新的;
2. 我不了解文件的修改过程,尤其是最后修改了哪几行以及为什么修改;
1. Make时,经常用错文件的版本;
多人修改一个文件,有些人的结果被冲掉了;
程序误删了,只能重写;
花了一周时间,终于查出了一个错误,
但发现有个同事上周前已经修改了同样的错误,
但我却不知道,造成浪费;2. 整个项目由若干部分组成,项目初期各人做各人的一部分,
后期合并联调,但是周期很长,达数周甚至数月,开销非常大;
调试过程中,经常出现“扯皮”,搞不清楚哪的问题
版本太多,有的太旧,查看不方便
估计项目成员的工作进度和工作成果比较困难3. 交付给用户的产品“缺斤少两”,用户在安装时才发现问题
用户使用时发现的问题不能够及时得到解决
不能过确切了解项目的进度,总是得到“差不多”“大概”之类的模糊回答
公司的运作过程无法控制,“不按我说的做”

2、什么是SCM

SCM是一种标识、组织和控制修改的技术。

它应用于整个软件生存期。
在软件建立时会经常产生变更,
而变更加剧了项目中软件人员之间的混乱。
之所以产生混乱,是因为在进行变更前没有仔细分析,
或没有进行变更控制。因为变更在任何时刻都可能发生,
因此软件配置管理活动的目标就是为了标识变更,控制变更,
确保变更正确地实现,向其他有关的人报告变更。
软件配置管理是一组追踪和控制活动,
它们开始于软件开发项目开始之时,结束于软件被淘汰之时。
从某种角度讲,SCM是一种标识、组织和控制修改的技术,
目的是使错误降为最小并最有效地提高生产效率。

SCM是一门用来记录并控制软件产品数据的管理学科。

3、作用

产品的经历

软件产品数据:需求文档设计文档源码数据库脚本测试用例(测试脚本)测试报告培训文档(教育文档)上线记录

SCM的主要任务有两个:
第一,变更控制;第二,版本控制

变更控制:

唯一不变的就是变化本身,接受变更是不争的实事。
软件产品易于掌握的特性和不可见性,
往往导致它的构建人员面临着永恒的变更。
因此必须制定相应的变更管理计划,防止变更失控

流程:
1.识别变更。
2.评价变更对项目整体的影响(变更的可行性)。
3.寻找处理变更的备选方案。
4.征求项目干系人的意见。
5.批准或否决变更。
6.追踪变更的实施情况。

  • 版本控制:

版本控制系统是保存文件多个版本的一种机制。
版本控制软件可以帮助你得到以下益处:

别人正在修该某文件的同时,你可以同时修改这个文件。
你能方便地将你机器上的全部项目文件更新到当前版本。
你可以回溯到任何文件的任意版本。
你可以获得一份文件更改的历史记录。
你无需本地备份,因为版本控制提供了安全保障

版本管理:记录每个版本

方式一:将最原始的文件存下来,后面都是存变化的部分
方式二:将最新的文件存下来,前面的都是存变化的部分

取文件的时候,一般都是取最新的文件 一般采用方式2

版本控制的内容

版本控制的目标是能够随时获取软件在整个生命周期中任意时间点的文件状态。因此,任何与项目相关的文件都应该进行版本控制。以下内容应该进行版本控制:
管理相关文档(包括项目章程、合同、项目范围说明书、各类计划、各类核对表等项目管理过程中涉及的文档)
开发相关文档(包括编码规范、需求分析、概要设计、详细设计、数据字典、API帮助手册、测试报告等涉及软件构建的文档)

  • 系统原型
  • 源代码
  • 实例代码
  • 测试脚本
  • 数据库脚本
  • 构建和部署脚本
  • 配置文件

版本控制策略


1. 先下手为强
2. 保证频繁地提交可靠代码
3. 对提交权限进行限制(读写权限)
4. 确保团队中所有人在下班前提交代码,并在开发中都能及时获取最新版本
5. 使用意义明确的提交注释
6. 及时同步并定义明确的基线

4、版本控制工具

  1. git
    码云
    github,最大同性交友网站
  2. svn
SVN是一款非常知名的中央版本控制系统。
(与中央版本控制系统对应的是分布式版本控制系统,如git。
分布式版本控制系统支持大型开源团队的需要,
一般项目使用中央版本控制系统足以。)
版本控制系统用于维护应用程序每次修改的完整历史,
包括源代码、文档、数据、脚本等等。它的另一个重要用途,
让团队一起工作在应用程序的不同部分,同时维护系统记录.

scm 软件配置管理相关推荐

  1. SCM软件配置管理 (一)SVN 与 CVS

    1  什么是SCM软件配置管理((Software configuration management)? 软件配置管理是指通过执行版本控制.变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项 ...

  2. [SCM]软件配置管理

    ******************************************************************************************** Softwar ...

  3. SCM软件配置管理简介

    软件配置管理简称SCM(Software Configuration Management的缩写),SCM通过对配置项(Configuration Item,简称CI)的计划,控制,审计和改进来实现整 ...

  4. SCM软件配置管理 (二) SVN管理平台搭建以及详细设置

    由于在合作过程中提交时出现了覆盖新版文档情况以及版本混论的问题,这些问题是可以用SVN版本控制解决的,只不过没有把这个平台的真正作用发挥出来,当你经常为很多版本问题发愁时,你会感到SVN的功能强大,是 ...

  5. 软件配置管理(Software Configuration Management,SCM)

    随着软件产业的崛起,软件工程技术正吸引着越来越多关注的目光.特别是以CMM为代表的先进的软件工程理念在国内也正日益受到业界广泛的重视. 软件配置管理(Software Configuration Ma ...

  6. 软件配置管理(SCM)

    软件配置管理,它为软件开发提供了一套管理办法和活动原则,成为贯穿软件开发始终的重要质量保证活动.配置管理的过程实际是软件开发过程中质量管理的精髓所在,版本管理提高了开发者的工作效率,而变更控制则提高了 ...

  7. 软件配置管理SCM和版本控制系统(VCS)

    1.  几个基本概念  SCM:软件配置管理,用来追踪和控制软件的变化的任务. SCI:软件配置项,软件中发生变化的基本单元(例如:文件). Baseline:基线,软件持续变化过程中的"稳 ...

  8. SCM:软件配置管理

     1.什么是软件配置管理(SCM) 软件配置管理是指通过执行版本控制.变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性.配置管理是对工作成果的一种有效保护. (Softw ...

  9. 软件配置管理工程师(SCM)

    软件配置管理(Software Configuration Management,SCM)是一种标识.组织和控制修改的技术.软件配置管理应用于整个软件工程过程. 在软件建立时变更是不可避免的,而变更加 ...

  10. 软件配置管理七重境界

    软件开发热点词汇不断推陈出新,cmmi,agile,精益,持续交付,持续集成,灰度--但有一个词其实一直在那里,支持着各种各样的新热点,它是#软件配置管理#. 它也是影响团队软件开发效率的重大因素. ...

最新文章

  1. Oracle的介绍及其在安装和使用Oracle过程中可能遇到的困难及其相应的解决措施
  2. 用Java实现Stream流处理中的滑窗
  3. 【设计模式】外观模式 ( 概念 | 适用场景 | 优缺点 | 代码示例 )
  4. PowerShell图形化编程2-快速入门
  5. php pdo 参数绑定,PDO绑定参数的其他方法
  6. yum搭建本地仓库、国内源、下载rpm包、源码安装
  7. spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config
  8. 批处理学习之Bat命令——获取当前盘符、当前目录、上级目录
  9. Maven多模块构建实例
  10. Atitti python2.7安装 numpy attilax总结
  11. RS485端子接线方法(带图)
  12. 设计心理学1-日常的设计【读书笔记】
  13. 利用SMB协议共享电脑文件,发挥ipad生产力
  14. java-第十三章-类的无参方法(一)-模拟一个简单的购房商贷月供计算器
  15. 使用Arduino的自动药物提醒
  16. Amazon,我们完全不能接受 — 因此我们必须变更 Elastic 许可协议
  17. YOLOv5+TensorRT+Win11(Python版)
  18. 笛色青青(2010-11 -07)
  19. 阿里云物联网IOT平台使用案例教程(模拟智能设备)
  20. Mac如何创建自签名证书?Mac创建自签名证书图文教程

热门文章

  1. 爬虫python代码网易云_超简单的Python爬虫之网易云音乐的下载
  2. STM32学习记录0003——STM32芯片解读
  3. TwinCAT3入门教程4-伺服常用功能程序实现
  4. edxp显示未安装_EPLAN因缺少加密狗驱动而无法安装解决方案
  5. win10字体显示Mac效果+Chrome字体效果增强
  6. GIMP教程 1 图片剪裁
  7. GIS应用技巧之世界各国矢量获取途径
  8. CO_P0(logisim)
  9. 零基础CSS入门教程(26)–CSS按钮实例
  10. 系统动力学Vensim的使用