有一种神器,叫软件配置管理

发表于:2021-3-16 09:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘燕_6b7e    来源:简书

  信息技术以星星之火可以燎原的势态,迅速进入我们生活的血管,流淌、冲击、直至爆发。表面的绚烂令人惊叹,而背后的奇妙,更值得一探。
  简介篇
  小伙伴们,大家好!我的名字叫软件配置管理,来自大洋彼岸的美国。娘亲告诉我要这样给新朋友们介绍我自己:
  I’m a discipline applying technical and?administrative direction and surveillance to identity and document the?functional and physical characteristics of a configuration item, control change?to those characteristics, record and report change processing and?implementation status, and verify compliance with specified requirements.
  可是,当我说完后,他们都一脸懵懂地默默走开了,于是我决定“痛改前非”,抛弃高大上的外壳,让我接地气的气质浮出水面。其实呢,我就是软件开发过程中对软件资产合理存放、记录、并对其变化加以控制的一种管理方式。
  优势篇
  有位伟人曾说谦虚使人进步,但我是实力派,从不谦虚,只管进步,我就是这么傲娇。
  优势1:记录过程及成果
  如同一棵树要结出果实需要经历发芽、开花、结果、成熟的过程,软件的开发也有其生命周期及一系列的产物。我可以让我的得力干将——版本控制工具将这些产物尽收囊中,保证一个个开发团队的劳动成果从头到尾完整地被保存下来。
  团队A的开发人员张小三要辞职去看世界,新成员张小五接替了他的开发任务,张小五可以通过版本控制工具中保存的工作产物快速了解前面的工作内容,并轻松接手,再也不用因为理不清头绪而崩溃到要跳楼了。张小五面对新的工作得心应手,团队的整体开发进度并没有因为人员变更而出现延迟情况。又是一个阳光明媚的清晨,张小五准备打开计算机,开始为团队鞠躬尽瘁时,故障就那么毫无防备地出现了,他的工作机磁盘去天堂报到了,拦都拦不住。围观的人群都对他投来同情的目光,以为他的工作成果都丢了,这下一夜回到解放前了。但张小五不慌也不忙,找资源部门更换了工作计算机,继续喝着豆浆,写着代码!原来是他已经将之前的工作成果提交到版本控制工具上了,换了工作机后将原来的工作内容下载到本地,接着昨天的尾巴开始了今天的征途。
  优势2:回溯历史版本
  你想穿越吗?你想回到过去,改变历史吗?不用遭雷劈,不用被车撞,我带你动动小手指就可以轻松穿越回过去,看你曾走过的足迹;改你曾犯过的错误。
  在此,我不禁要夸夸版本控制工具,它不仅包容万象,还是个细节控,以编号的方式记录了团队成员每一次执行的操作。每个编号代表一个版本,可回溯,可加快问题的定位和修改,给你吃后悔药的机会,还不止一次呢!
  张小五顺利地开发完成一个软件的四项功能,准备拿着劳动成果换项目奖金去,却接到变更通知,客户决定不要第四项功能了,客户就是上帝,上帝指东你最好别打西。张小五通过版本控制工具迅速回溯,找到第三个功能(前两个功能已包含在内)的完成点,出了一个新版本。客户拿到了满意的产品,张小五也领到了奖金,就是这么简单!
  优势3:实现并行开发
  几乎所有的树都有主干和分支,主干实现分支的汇聚,分支成全主干的并行生长,即能稳固地立于大地之上,又能以最广阔的姿态吸收阳光;有分工,亦有协同。软件开发也需要分工、协同,以提高效率。
  团队A承担的软件项目经过策划和需求分析,最终确定共分为五个模块,并分配给五个开发人员去完成。现在到了选择开发方案的时候了,有两种方案可选,一是串行开发,上一模块的负责人挥洒汗水,努力奋斗,下一模块的负责人由于要接着上一模块继续往下写,而前面的路还铺好,只好到一边喝茶嗑瓜子去了。二是并行开发,先建立好开发的主干,写好公共部分,再建立五个分支,五个开发人员就可以迈着整齐的步伐一同工作了,等到各自的模块完成后,再合并回主干,一个完美的产品就这样产生了。
  你一定会质疑,并行开发方案听起来既快又省,可是如何才能实现呢?你的担心很有道理但很多余,召唤出我的版本控制工具,这个问题便迎刃而解了,版本控制工具自身携带建立分支及合并分支功能,能够实现并行开发,缩短开发周期。
  组成篇
  作为软件开发过程管理的成员之一,我的组成成分是四大规则:
  1.配置识别(配置标识)
  如果要制造一辆自行车,首先得弄清楚需要哪些零件、零件的型号等。软件配置管理工作也是如此,首先得弄清楚要管理的软件资产有哪些,将这些软件资产,比如要交付客户的安装包,以及过程中产生的源代码、需求及设计文档等罗列出来,并给予它们名称和编号,保证唯一性和清晰性;与此同时,把它们的特性描述出来,这些特性可包含它们所属类型是文档还是代码,应该存储在哪个目录下等详细信息。经过上述方法识别后的每一项软件资产就是配置项,也就是接下来要管理的内容。至此,软件配置管理之路迈出了稳健的、具有奠基意义的第一步。
  2.配置控制
  生活没有绝对的时光静好,软件开发没有绝对的一路流畅。总会因为人员变化,需求变化等因素引起变更。软件配置管理要对出现的变更加以控制,这里的控制包含了对已提出的变更请求进行评估,判断其类型,根据不同的类型给出修改方案,估算修改所需的人力资源和时间,以及修改方案对项目进度和成本等的影响,预测一下可能会出现的风险。接下来对变更所涉及的各项内容修改顺序等方面做好协调,如果有可预测的风险,做出对风险的规避方案。前面的准备工作决定了变更请求是被批准还是被拒绝的,在做出了正式的批准后,才能实施变更,完成后进行必要的验证。
  3.配置状态报告
  各个配置项在软件开发的不同阶段呈现不同的状态,版本控制工具会记录这些状态数据。以这些数据为基础,通过图表等方式进行分析,形成配置状态报告。比如,可以通过分布图的方式直观地表现出一个开发阶段内各配置项的变更情况。根据项目实际情况定期输出配置状态报告,可作为阶段配置管理工作的总结,以及项目总体进度维护的参考。
  4.配置审计
  软件配置管理的执行是依赖于一定的流程、标准和规范的,在执行过程中如何确保遵守性呢?审计的重要性就体现出来了。对配置项的标识、存储位置等物理特征的审核就是一种审计,可以确保配置项以合适的“外观”被存储在合适的位置,另一审计是针对配置项具体功能的检查,比如,一个需求文档是否通过评审,一个安装包是否以已测试通过等。借助功能上的审计可以保证配置项达到一定的质量标准。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号