第四讲软件配置管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四讲软件配置管理本章内容提要软件配置管理的作用软件配置管理的相关概念软件配置管理过程软件配置管理工具CVS第一节软件配置管理的作用服务器存储所有文档和源程序,由版本控制系统管理程序员1程序员n下载提交下载提交……团队开发的一般模式安装有版本控制系统客户端不同程序员对程序的更改会产生冲突程序员A程序员Bcommon-function.javacommon-function.java修改修改添加了函数checkStringlength()添加了函数checkDate()服务器提交提交程序完整性受到破坏软件项目中可能遇到如下的问题:找不到某个文件的历史版本;开发人员使用错误的程序版本;开发人员未经授权修改代码或文档;人员流动,交接工作不彻底;无法重新编译软件的某个历史版本;因协同开发,或者异地开发,版本变更混乱导致整个项目失败;……软件项目进行中面临的一个主要问题是持续不断的变化,变化可能导致混乱,而软件配置管理就是用于控制变化。软件配置管理(SoftwareConfigurationManagement,SCM)是指一套管理软件开发和维护过程中所产生的各种中间软件产品的方法和规则。它是控制软件系统演变的学科。中间软件产品和用于创建中间软件产品的信息都应处于软件配置管理之下。软件配置管理的目标标志变更控制变更确保变更正确实现向受变更影响的组织和个人报告变更记录软件产品的演化过程。确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。最终保证软件产品的完整性、一致性、可追溯性。软件配置管理的效果版本控制:采用相应的流程和工具,对软件开发过程中产生的各种文件的版本进行管理。是软件配置管理的核心内容。变更管理:为防止开发人员对软件的随意变更而进行的管理上的审核过程,包括变更请求、变更评估、变更批准/拒绝、变更实现。其它:配置审计、配置状态统计等。软件配置管理的主要功能本章内容提要软件配置管理的作用软件配置管理的相关概念软件配置管理过程软件配置管理工具CVS软件配置项(SoftwareConfigurationItem,SCI)软件配置管理的对象,一个软件配置项是项目中一个特定的、可文档化的工作产品集。常见的软件配置项:需求规格说明书、设计规格说明书、源代码、测试计划、测试用例、用户手册。构造软件的工具和软件赖以运行的环境也常常列入配置管理的范畴。第二节软件配置管理的相关概念基线(Baseline)已经正式通过复审和批准的某规约和产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程来改变。基线通常标志开发过程一个阶段的结束(里程碑)软件配置项基线配置项非基线配置项软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统软件配置控制委员会(SoftwareConfigurationControlBoard,SCCB)负责管理软件配置项变更的组织。•评估变更•批准/拒绝变更申请•在项目生存期内规范变更申请流程•对变更进行反馈•与项目管理层沟通本章内容提要软件配置管理的作用软件配置管理的相关概念软件配置管理过程软件配置管理工具CVS第三节软件配置管理过程软件配置管理过程包括7项基本活动:(1)制定配置管理计划(2)识别和标志配置项(3)建立配置管理环境(4)配置项的版本控制(5)基线变更管理(6)配置审核(7)配置状态统计形成配置管理计划规划配置管理任务评审配置计划参加项目规划(1)制定配置管理计划配置管理组织及其职责配置管理工具和配置库的组织结构配置项标志和基线定义变更管理流程配置审核和配置状态统计配置管理计划的主要内容(2)识别和标志配置项将软件项目中需要进行控制的工作产品定义为配置项(SCI)。为每一个配置项分配唯一的标志。建立配置项间的对应关系。配置项分为两类:基本配置项:软件开发者在项目开发过程中所创建的基本工作单元。集成配置项:一个集成配置项是基本配置项或其它集成配置项的集合。体系结构设计数据库设计详细设计基本配置项设计规格说明集成配置项校务管理系统需求规格说明招生管理学生日常管理教务管理通用功能……配置项标志规范举例QTD-School–RM–SRS-v1.0公司:3个字符项目:最长10个字符类型:最长5个字符编号:最长8位数字/字符版本号:Vm.n注意:配置项标识并不是指程序/文档文件的文件名,而是该程序/文档作为一个配置项的标识。建立配置项间的关系招生管理需求规约校务管理系统需求规格说明测试用例集Apartofinterrelated可使用某种模块互联语言(ModuleInterconnectionlanguage,MIL)来描述配置项之间的关系。NarayanaswamyK.,W.Scacchi.MaintainingConfigurationsofEvolvingSoftwareSystems.IEEETrans.SoftwareEngineering,vol.SE-13,no.3,March1987.(3)建立配置管理环境配置管理环境是用于进行软件配置管理的系统环境,其中最重要的是配置管理库,简称配置库。配置库存储配置项(SCI)、修改请求、变化记录等,并提供对库中所存储文件的版本控制。为不同的开发人员分配不同的访问配置库的权限。一般需采用配置管理工具来建立配置库。配置库中文件的更改是受控的。受控库新版本CheckinCheckout配置库(4)配置项的版本控制配置库的检入检出和版本控制机制解决了软件开发中的两个重要问题:访问控制:保证具有相应权限的人员才能修改配置项。并行控制:保证不同人员同时对某配置项进行的修改不会互相覆盖。服务器存储所有文档和源程序,由版本控制系统管理程序员1程序员n下载提交下载提交……团队开发的一般模式安装有版本控制系统客户端SourceObjectLib配置库SourceObjectLibSourceObjectLib程序员1的工作目录程序员n的工作目录CheckoutCheckoutSCI1.0SCI1.1SCI1.2SCI1.3SCI1.4SCI2.0SCI2.1SCI1.1.1SCI1.1.2配置项的演化图(EvolutionGraph)对配置项的修改(不同版本间的差别)应被记录下来。–更动者(姓名及其身份);–更动日期和时间;–被更动SCI(名及其版本号);–更动内容及其位置;–更动原因;–受此更动影响的诸SCI名表。软件产品不同类型的版本的特性和所包含的配置项应被明确描述。保证可根据要求将配置项组合生成适用于不同应用环境的正确的软件产品版本。软件产品版本编号方法数字顺序型版本编号•普通版本编号•α和β版本编号属性版本编号数字顺序型版本编号普通版本编号产品的版本号由若干数字组成,数字之间用“.”分隔。一种典型的编号策略如下:x.y.z,x为主版本号,y为特征版本号,z为缺陷修复版本号。主版本号的增加表示提供给客户的主要产品功能的增强。特征版本号的增加表示产品新增了一些特征或做了一些重要修改。普通版本编号缺陷修复版本号的增加表示在软件产品上做了一些缺陷修复工作。α和β版本编号在普通版本编号后面增加一个大写字符A或者B来分别表示α版本或β版本。例如1.2.4A或1.2.4B。如果存在多次的α发布和β发布,可在A或B后面添加一个数字来说明发布的次数,例如:1.2.5A1,1.3.0B2。数字顺序型版本编号把版本的重要属性反映在标识中。可以包括的属性有:客户名、开发语言、开发状态、硬件平台、生成日期等。例如:J2SDK.v.l.2.2:10/31/2000-18:00,nativethreads,jit-122包含的信息丰富,方便了查询和管理,版本间的关系易于保持,但由于太复杂,一般只用于软件组织内部的管理。属性版本编号(5)基线变更管理基线变更管理过程变更请求变更评估变更批准/拒绝变更实现变更请求项目名称变更申请人提交时间变更题目紧急程度变更具体内容变更影响分析变更确认处理结果签字变更评估变更评估软件变更分类技术影响分析接口影响分析进度影响分析预算影响分析变更批准或拒绝根据评估结果对变更作出决策:直接实现变更挂起或延迟变更拒绝变更对于批准的变更,要确定其实现进度:立即实现变更在特定的日期实现变更在软件另外的版本中实现变更实现检出(checkout)基线对基线进行变更测试和验证检入(checkin)基线配置管理活动审核:确保所有配置管理活动符合已批准的软件配置管理规程。基线审核:审核基线配置项的完整性和一致性,从而保证基线配置项可被正确地构造。•配置库中是否包含了所有计划纳入的基线?•基线自身的内容是否完整?•编译所有的源代码,检查是否可产生最终软件产品。•检查需求、设计与代码间的一致性。(6)配置审核配置管理系统的状态统计和评估•变更请求的数量。•变更管理活动的执行情况。•配置管理系统存储量的变化。•配置管理系统和SCCB在运作中发生异常的次数。(7)配置状态统计和报告配置状态报告每次配置的更改被批准或实现时,都会产生一个配置状态报告,通知相关人员:更改了哪些内容?由谁更改?什么时候更改?更改会产生哪些影响?对于大型项目的开发,配置状态报告非常重要,它促进了人员之间的通信。本章内容提要软件配置管理的作用软件配置管理的相关概念软件配置管理过程软件配置管理工具CVS第四节软件配置管理工具CVS软件配置管理工具CVS概述CVS操作的示例1.软件配置管理工具软件配置管理工具的主要功能•版本控制•变更管理•配置审核•状态统计(查询和报告)•问题跟踪(跟踪缺陷和变更)•访问控制和安全控制常用的配置管理工具•ClearCase&ClearQuest•CVS•Subversion(SVN)•PVCS•Harvest•VisualSourceSafe(VSS)2.CVS概述CVS(ConcurrentVersionsSystem,并发版本系统)是一个被广泛应用的配置管理工具。Unix和Linux的发行版一般都带有CVS服务器,Eclipse内建有CVS客户端。CVS是自由软件,可免费获取其安装包和源代码。CVS提供了多种途径帮助开发团队成员之间的版本同步和开发通信,辅助解决版本冲突,提高协同开发的效率。C/S模式CVS的几个特性CVS服务器CVS客户端1CVS客户端2CVS客户端n…网络checkoutcheckin基于“拷贝—修改—合并”的并发控制•客户端checkout后,有文件的一份独立拷贝。•开发者在自己的工作目录中修改文件。•若有版本冲突,则使用合并(merge)功能与其它开发者的修改合并,然后提交(checkin)。记录不同版本之间的差别CVS的几个特性CVS支持Unix、Linux、Windows、Mac平台。可从下载其安装包和源代码。CVS在Windows上的版本称为CVSNT。WinCVS—Windows上的一个常用的CVS客户端。可从下载其中文版。CVS安装包的获取3.CVS操作的简单示例创建仓库(repository)导入项目/模块检出项目/模块修改并提交(检入)文件检出最新版本的文件取回文件的某个历史版本文件比较配置管理工具的使用WincvsJBuilderEclipsewincvs的使用点击系统_配置wincvs的使用点击系统_登陆导入模块导出模块导出模块导出模块更新文件或者模块更新文件或者模块更新文件或者模块与当前版本合并。提交修改增加文件1.对于目录不存在,先增加目录。点击“修改”-“添加选择的文件”,将目录加入。2.目录存在,选中要添加的文件。三种方式:添加,二进制添加,unicode添加。此时文件还没真正入库。3.提交修改。4.对于新增的

1 / 86
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功