软件配置管理七重境界
软件开发热点词汇不断推陈出新,cmmi,agile,精益,持续交付,持续集成,灰度……但有一个词其实一直在那里,支持着各种各样的新热点,它是#软件配置管理#。 它也是影响团队软件开发效率的重大因素。
英文缩写SCM
SCM从软件工程诞生时,甚至诞生前就在那里,因为程序代码文档总是要存放的.
SCM发展历经了许多阶段,试做七重境界分级
七重境界之第一重
共享目录,复制来处理多人合作,每天或每周备份下。每部分只有一个人负责。编译时手工在共享目录上处理。
关键版本另外目录存放,或者刻制版本
七重境界之第二重
使用了配置管理工具,没有分支,每个部分只允许指定的一个人修改,文档文件在定稿后存放进工具。
发布版本可以得到追溯
七重境界之第三重
文档一开始就进入配置管理工具,文件名带版本号,多人在同一个组件/项目工程里同时开发。
中间里程碑基线得到识别
采用配置管理三库:开发库,静态库(稳定库),发布库(产品库)
七重境界之第四重
文档与代码能够在统一的基线下管理,所有文件名不带版本号,利用工具的tag/label功能管理基线,代码能够一键编译。
七重境界之第五重
有明确的主干分支策略,居于发布目的来建立分支,而不是每人建分支,配套有自动化每日构建,或/和持续集成,各组件版本号与基线自动关联,这样,显式的版本号能追查到代码基线
七重境界之第六重
每天能自动得到2个以上版本,自动部署测试出报告,不同工程师提交的代码在1小时内就能确认和谐的共存在相同基线,充分利用主干,特性开关,虚主干等等方法
七重境界之第七重
超越第6重的配置管理?
候选
文档和代码在统一的文件工具下开发,工具即是文档管理的工具,又是配置管理的工具, 所有的变更直接关联,就像Requiz Pro或者Dors那样
uml mda从文档直接到代码,可运行
软件配置管理七重境界相关推荐
- 学习算法的七重境界,我在撸串境界,你在哪一重?
作者 | liuyubobobo 来源 | 是不是很酷 今天这篇推文,聊一聊我眼里的,知识掌握的七个境界. 第一重境界:撸串境界 知识掌握的第一重境界,我管它叫"撸串境界".什么意 ...
- 软件配置管理(二)配置管理角色与过程
文章目录 一.配置管理角色及职责 项目经理(PM) 配置控制委员会(CCB) 配置管理员(CMO) 系统集成员(SIO) 开发人员(DEV) 二.配置管理基本流程 计划阶段 开发和维护阶段 三.软件配 ...
- 图像领域深度学习的七个境界
用深度学习玩图像的七重关卡 许铁-巡洋舰科技2 天前 第一个重境界: 图像识别 如果你开始了解深度学习的图像处理, 你接触的第一个任务一定是图像识别 : 比如把你的爱猫输入到一个普通的CNN网络里, ...
- 用深度学习玩图像的七重关卡
用深度学习玩图像的七重关卡 第一个重境界: 图像识别 如果你开始了解深度学习的图像处理, 你接触的第一个任务一定是图像识别 : 比如把你的爱猫输入到一个普通的CNN网络里, 看看它是喵咪还是狗狗. 一 ...
- 软件配置管理(三)软件配置管理核心功能
文章目录 一.CMM/CMMI与软件配置管理 产品完整性 二.三库管理 三.基线管理 基线管理的好处 基线管理的步骤 四.配置库管理 五.变更管理 变更管理流程 六.配置审计 七.配置状态报告 一.C ...
- AI规模化落地,英特尔至强的七重助力
当今时代,各行各业与人工智能(AI)加速融合,通过智能化创新来寻求业务转型升级.与为数不多的顶级AI研发公司相比,大多数传统行业或企业有着更丰富的 AI 应用场景,推动着规模化的AI应用落地,其AI应 ...
- 不要重复发明轮子:C++重用的5重境界
软件领域有一个著名的描述软件重用的谚语:不要重复发明轮子! 这个道理是很简单,也很明白的,谁都不想重复无用的劳动,但具体实践中我们该如何避免重复发明轮子呢? 各位注意了,谚语中是说"重复发明 ...
- 软件开发人员的“七重苦”(2)
(接前一篇,继续) 第五重:技术变化快,积累上不去 设想一下,一个10年前的高手,这10年他什么也不学,那他今天会是什么样的一个状况. 我个人估计是快被淘汰了. 这是个极端的例子,但回顾一下软件的发展 ...
- 深度解析windows调试技术之一 [抓取user mode dump文件的几重境界]
抓取user mode dump文件的几重境界 导读 记得去年对一些朋友说过要写一些调试技术相关的文章,但是后来出于种种原因吧,还是没写成.最近终于有些时间,希望可以把这些文章补上.对于软件开发而言, ...
最新文章
- CentOS7的node.js安装
- 去除RNA-seq数据批次效应
- 腾讯发布95页重磅报告:全面预测中国互联网未来5年趋势
- Single-Shot Object Detection with Enriched Semantics
- selenium选中某个控件敲击键盘
- 【做题记录】Codeforces做题记录
- chipsel语言_用VHDL语言对FPGA和CPLD器件进行开发时应注意的事项
- rocketmq 4.X 扩容思路
- 启用了不安全的 HTTP 方法
- Linux服务器的四种入侵级别
- VC++实现镜像劫持(360保险箱启动原理)
- ddm模型公式_两阶段增长模型
- wpsa3版面怎么变成a4、排版不变_怎么把wpsa3转变成a4
- 关于gopher协议的ssrf攻击
- java ajax 读取流_javascript-如何使用AJAX读取实时流数据
- 清华EMBA课程系列思考之一 -- Techmark课程带给管理者的思考
- Java微信公众平台开发_03_消息管理之被动回复消息
- 马达驱动 DRV8832
- 码一些有用的东西网站的域名被拦截怎么办? 教你快速解除各种拦截
- ViewPager按比例显示图片(显示下一张图片的一部分)
热门文章
- nacos oaut服务地址_spring-boot+nacos+spring-oauth2整合方案
- python服务端开发调试日志系统_Python:如何进行延迟调试日志记录
- opengl游戏引擎源码_UE4渲染引擎模块简介(1)
- ups容量计算和配置方法_干货 | ups的空开、电缆及电池的配置计算
- python的for语句是否只有一种写法_跟老齐学Python之for循环语句
- windbg网络双机内核调试
- k3 物料收发明细表sql_物料管理:班组长物料使用应知应会4件事
- Android实现自动清空,android – 删除图像后自动刷新在gridview中不...
- _Linux系统编程—信号集操作函数
- vim如何在底部打开新窗口