软件配置管理培训.pptx
《软件配置管理培训.pptx》由会员分享,可在线阅读,更多相关《软件配置管理培训.pptx(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件配置管理基本的版本控制系统集成构建管理分支变体三库管理的概念第1页/共59页什么是软件配置管理什么是软件配置管理软件配置管理的一些比喻软件配置管理的一些比喻缺乏管理所造成的问题缺乏管理所造成的问题第2页/共59页什么是软件配置管理什么是软件配置管理 一套应用技术上和管理上的指导和监督方法,用来:识别和记录配置项的功能一套应用技术上和管理上的指导和监督方法,用来:识别和记录配置项的功能特征和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以特征和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以及验证其是否特定的需求。及验证其是否特定的需求。一个权威定义一个权
2、威定义 (被(被CMM、CMMI引用)引用)第3页/共59页软件配置管理的一些比喻软件配置管理的一些比喻图书管理(在一借一还的过程中都需要记录)保险柜(软件资产可能丢失、被窃取和泄露,特别是源代码)岩钉(适当保存历史版本,所有的一切软件资产都可以保存)第4页/共59页缺乏管理所造成的问题缺乏管理所造成的问题软件开发人员之间缺乏必要的交流软件开发人员之间缺乏必要的交流产品升级和维护所必需的程序和文档非常混乱产品升级和维护所必需的程序和文档非常混乱开发过程中的人员流动经常发生开发过程中的人员流动经常发生因管理不善致使未经测试的软件加入到产品中因管理不善致使未经测试的软件加入到产品中项目开发状态不清
3、楚项目开发状态不清楚软件生产达不到规模化软件生产达不到规模化第5页/共59页软件配置管理基本的版本控制系统集成构建管理分支变体三库管理的概念第6页/共59页基本的版本控制基线第7页/共59页 版本管理,主要是建立一个公共存储区,记录版本,防止版本覆盖,防止版本混乱。版本管理,主要是建立一个公共存储区,记录版本,防止版本覆盖,防止版本混乱。版本管理是配置管理里重要的一项环节。版本管理是配置管理里重要的一项环节。第8页/共59页在软件开发中会遇到一些非常棘手的问题,比如,需要将整个软件版本恢复到以前的某一时间的状态;控制某个程序在同一时间只能被一个程序员修改等等。这时就需要使用版本控制软件进行管理
4、了。版本控制软件可以将某一程序恢复到以前的某一时间的状态,甚至将整个软件版本恢复到以前的某一时间的状态。也能够实现某一程序在同一时间只能一个开发人员修改,还可以配制成允许多人修改,最后将不同版本合并为新版本。第9页/共59页基本的版本控制基本的版本控制 假设每个程序员负责一个专门模块,不存在两个程序员修改同一处源代码的问题。在修改程序之前,从哪里拿到最新版本?(程序员可能基于过时的程序开始自己的工作)在修改程序之后,把修改结果提交到那?(程序员的工作可能被湮没)第10页/共59页解决之道解决之道 将源代码流转的渠道从网状结构(图1)改成星星结构(图2),也就是设立一个公共储区,作为参照物和枢纽
5、,大家统一从这个公共点取代码,的轩昂程序改完后,都把自己改的那部分全部传到公共存储区,别人再从那里取用。图图1 1图图2 2第11页/共59页 假设两个程序员同时修改同一源代码,会假设两个程序员同时修改同一源代码,会出现程序覆盖问题。(即后提交的代码出现程序覆盖问题。(即后提交的代码B B会会把先提交的代码把先提交的代码A A覆盖)覆盖)监控。阻止同时修改的事情发生。串行方法辅助。使同时修改的内容合并到一起。并行方法串行方法并行方法第12页/共59页版本控制软件还可以对程序修改进行有效的管理,将开发环境、测试环境、运行环境进行有效的隔离。我版本控制软件还可以对程序修改进行有效的管理,将开发环境
6、、测试环境、运行环境进行有效的隔离。我们还可以在版本控制软件中存放软件开发过程中成成的各种文档,以供随时查阅。们还可以在版本控制软件中存放软件开发过程中成成的各种文档,以供随时查阅。第13页/共59页如何表达版本的质量状态如何表达版本的质量状态在版本号中,添加状态标记(常用方法)。有两在版本号中,添加状态标记(常用方法)。有两个弱点:个弱点:1.1.在版本库中,标签不一定能重新命名。在版本库中,标签不一定能重新命名。2.2.改变标签名称,以及改变安装包的名称,可能改变标签名称,以及改变安装包的名称,可能会引起混乱。会引起混乱。版本本身可以自带些属性。当质量状态提升时,版本本身可以自带些属性。当
7、质量状态提升时,不必改版本名称,只需改版本的质量状态属性。不必改版本名称,只需改版本的质量状态属性。用不同的目录,来区分不同质量状态下源代码的用不同的目录,来区分不同质量状态下源代码的整体版本或安装包。整体版本或安装包。基线是有质量状态的。当探测到源代码质量状态基线是有质量状态的。当探测到源代码质量状态到达了更新程度的时候,做一个基线提升。到达了更新程度的时候,做一个基线提升。第14页/共59页 基线基线被明显的标记和记录下来的源代码整体版本。(即整体复制)被明显的标记和记录下来的源代码整体版本。(即整体复制)在每个文件的特定版本上打标签来完成。在每个文件的特定版本上打标签来完成。基线的权限基
8、线的权限只读只读第15页/共59页软件配置管理基本的版本控制系统集成构建管理分支变体三库管理的概念第16页/共59页什么是系统集成什么是系统集成系统集成的步骤系统集成的步骤第17页/共59页系统集成系统集成 系统集成,简称集成,是基本的使命就是把产品的各个部分捏在一起,并保证产品作为整体是可以运转的,而不仅是每个模块,每个单元能在特定的开发调试环境、特定的数据和参数下运转。第18页/共59页视角视角1 1:集成的,不是模块,而是工作。每个任务:集成的,不是模块,而是工作。每个任务单元可能在一个模块上修改,也可能涉及多个模单元可能在一个模块上修改,也可能涉及多个模块。块。视角视角2 2:不再把产
9、品的各个模块合到一起,而是把:不再把产品的各个模块合到一起,而是把产品的改变合到一起,和在已有的版本上,产生产品的改变合到一起,和在已有的版本上,产生新的版本,所集成的是任何单元,是变更。新的版本,所集成的是任何单元,是变更。+=新的整体版本源代码整体版本多个任务单元集成的含义多层集成第19页/共59页集成的步骤集成的步骤确保开发人员都提交了相关的源代码。冻结或者标识将要集成的源代码。(比如:禁止开发人员向版本库的提交)取出要集成的源代码。(最好放在一个全新的工作空间)编译、链接和打安装包。(通常称为构建)安装并粗略测试。表示和储备集成成果。(集成结果有两个:(集成结果有两个:1.1.源代码的
10、整体版本源代码的整体版本 2.2.生成安装包)生成安装包)通知相关人员本次集成完成。(还应告知集成成员的名称和存储内容)如有问题,修改了源代码,就从头再来。第20页/共59页软件配置管理基本的版本控制系统集成构建管理分支变体三库管理的概念第21页/共59页什么是构建管理什么是构建管理构建管理分为两部分构建管理分为两部分保证构建的可重复性保证构建的可重复性如何让构建更快如何让构建更快安装包有没有必要保存安装包有没有必要保存安装包如何保存安装包如何保存第22页/共59页构建管理构建管理构建:从源代码生产出安装包的过程。一般包括:编译源代码;链接编译结果;产生可以运行的程序;把所有对客户有用的东西都
11、打包。构建的输入,是产品的全部源文件,可能还有文档、数据等。构建的输出,通常是安装包。第23页/共59页是从每一个源文件的编译开始,不借助于以往构建中留下的已有的或许可以重复使用的结果。(通常系统集成,集成工程师所做的构建是全量构建)是尽可能的利用上次构建的成果。(这是一个省时间偷懒的方法)构建分为构建分为全量构建全量构建增量构建增量构建正确、准确快速第24页/共59页保证构建的可重复保证构建的可重复性性原材料是固定明确的工具是固定明确的参数设置是固定明确的生产过程是固定明确的 (或是尽可能的文档化构建过程)如何让构建更快如何让构建更快自动化提高硬件性能提高专一性(尽量减少在同一台服务器上同时
12、运行的构建任务单元的数量)把构建任务分解,并行完成(要实现分布式构建,其软件实现难度则大了很多,可能需要一些高端软件的支持)第25页/共59页安装包有没有必要保存?安装包有没有必要保存?通常是必要的,因为这样可以在需要它的时候能够迅速准确的得到这个安装包。通常是必要的,因为这样可以在需要它的时候能够迅速准确的得到这个安装包。如果将它删除,在将来需要它的时候,还要找历史上的源代码,现从源代码开始编译、打包,那么会耗费如果将它删除,在将来需要它的时候,还要找历史上的源代码,现从源代码开始编译、打包,那么会耗费时间。时间。第26页/共59页安装包如何保存?安装包如何保存?放进版本库不是明智之举。对于
13、安装包,很多历史版本,比如送去测试用的安装包,放进版本库不是明智之举。对于安装包,很多历史版本,比如送去测试用的安装包,需要定期清理,否则会占用大量的磁盘空间。安装包可以保存在共享目录下,该目需要定期清理,否则会占用大量的磁盘空间。安装包可以保存在共享目录下,该目录可以在局域网共享,除此之外,还要考虑适当的备份。录可以在局域网共享,除此之外,还要考虑适当的备份。第27页/共59页软件配置管理基本的版本控制系统集成构建管理分支变体三库管理的概念第28页/共59页什么是分支什么是分支分支与工作空间的对比分支与工作空间的对比流流集中精力于主线的演进集中精力于主线的演进分支管理要注意的事项分支管理要注
14、意的事项第29页/共59页分支分支主线又被称为主干,是一种特殊的分支。主线又被称为主干,是一种特殊的分支。合并是某种复制行为,不是复制版本本身,而是合并是某种复制行为,不是复制版本本身,而是复制版本之间的差异。合并不会影响原分支的。复制版本之间的差异。合并不会影响原分支的。第30页/共59页分支与工作空间的对比分支与工作空间的对比分支可同时容纳多个已提交的任务单元,并以此和其他分支可同时容纳多个已提交的任务单元,并以此和其他分之区别。分之区别。分支存储在服务器上比工作空间存储在本地安全。分支存储在服务器上比工作空间存储在本地安全。分支是所有人都能看到,若有必要,所有人都能在上边分支是所有人都能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 配置管理 培训
限制150内