第四讲软件配置管理_第1页
第四讲软件配置管理_第2页
第四讲软件配置管理_第3页
第四讲软件配置管理_第4页
第四讲软件配置管理_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲软件配置管理本章内容提要软件配置管理的作用软件配置管理的相关概念软件配置管理过程软件配置管理工具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&ClearQuestCVSSubversion(SVN)PVCSHarvestVisualSourceSafe(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客户端。可从/wincvs/下载其中文版。CVS安装包的获取3.CVS操作的简单示例创建仓库(repository)导入项目/模块检出项目/模块修改并提交(检入)文件检出最新版本的文件取回文件的某个历史版本文件比较配置管理工具的使用WincvsJBuilderEclipsewincvs的使用点击系统_配置wincvs的使用点击系统_登陆导入模块导出模块导出模块导出模块更新文件或者模块更新文件或者模块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论