《《软件配置管理基础知识》课件.docx》由会员分享,可在线阅读,更多相关《《软件配置管理基础知识》课件.docx(26页珍藏版)》请在优知文库上搜索。
1、软件配置管理基础知识1 .引言软件配置管理的目的是在项目整个软件生存周期过程中建立和维护软件项目产品的完整性和一致性。软件配置宣里包括确认在给定时间点上软件的配置(即选定的软件工作产品及其描述),系统地控制对配置的更改,并维护在整个软件生存周期中配置的完整性和可跟踪性。置于软件配置管理之下的工作产品包括:软件过程资产(例如软件过程改进中的所有文档),交付给顾客的软件产品(例如软件需求文档和代码),内部使用的相关软件产品,以及为完成这些软件产品而生成的中间产品。这些产品通常置于产品基线库中并由专门人员进行管理和控制。软件配置管理过程需要达到的目标包括:1 .保证软件项目的配置管理活动是有计划的。
2、2 .所选择的软件工作产品是确定的、受控的、可访问和可用的。3 .对已经确定的软件工作产品的变更是受控的。.相关部门和人员能及时获知软件基线库的状态、变更和变更内容。1.L目的本计划定义了项目的配置管理流程,目的是为了在整个软件生命周期中,控制构成软件产品的各配置项的标识、变更等活动,从而建立并维护软件产品的完整性、正确性、一致性和可追溯性。范围本软件配置管理计划适用于整个软件生存周期过程中已纳入配置管理库的配置项的活动。置于配置管理系统下的工作产品通常包括:1 .各种标准(代码书写标准、设计标准等)2 .项目计划(开发计划、质量保证计划和配置管理计划等)3 .软件需求说明书及相关的文档和静态
3、原型4 .设计文档5 .软件源代码6 .测试计划、测试程序和数据7 .软件操作手册8 .各种跟踪记录、测试记录、评审报告等9 .过程改进文档10 .其它相关的资料库(电子的和非电子的文档).其他和软件开发及管理相关的和必要的文档1.3.术语定义1.软件配置项(SCI)软件配置项(SoftwareConfigurationItem)为了配置管理的目的而作为一个基本的独立单位来看待的软件成分或它们的集合体,如外部提交的软件产品、项目成果(代码、文档和数据)以及项目内部使用的支持工具(如文档测试用例软件工具)等。在多数的软件配置管理系统中,最基本的软件配置项是以磁盘文件的形式存放和管理的。2 .基线
4、(Baseline)已经通过正式评审和认可,作为下一步开发的基础,并且只有通过正式的更改控制规程才能进行更改的配置项。3 .软件配置控制委员会(SCCB)SoftwareConfigurationControlBoard缩写,软件配置控制委员会4配置管理库分为开发库、测试库、基线库(受控库)和产品库。5 .开发库在软件生命周期的某一阶段期间,存放与该开发活动相关的配置项及相关信息的库。6 .测试库存放单元测试之后、系统测试结束之前的,与测试相关的配置项。7 .基线库在软件生命周期的某一阶段结束时,存放作为阶段成果而释放的、与开发活动相关的配置项及相关信息的库。纳入基线库的配置项的更改必须遵照变
5、更过程指导进行。8 .产品库项目成果正式提交用户前,SCM在项目经理的指导下从基线库中提取构成最终产品的配置项。9 .软件配置管理(SCM)SoftwareConfigurationManagement缩写,软件配置管理10 .软件工作产品(SoftwareWorkproduct)作为定义、维护或使用软件过程的一部分所生成的任何人工制品。它包括过程描述、计划、规程、计算机程序和相联的文档。11 .同行评审(PeerReview)由一个软件工作产品生成者的同行遵循已定义的规程对产品作的评审,目的在于标识出缺陷和改进之处。2.管理2.1. 任务在软件工程化生产的各个阶段中,与本阶段的阶段产品有关的
6、全部信息在软件开发库存放,与之前各阶段的阶段产品有关的信息则在软件基线库(受控库)存放。在研制与开发阶段,开发者和开发小组组长有权对本阶段的阶段产品作必要的修改;但是如果开发者或开发小组长认为有必要个性前面有关阶段的阶段产品时,就必须通过项目的配置管理小组办理正规的审批手续。因此,软件开发库属于开发该阶段产品的开发者管理,而软件基线库(受控库)由项目的配置管理小组管理。软件经过组装与系统测试后,应该送入软件产品库,如欲对其修改,必须经软件配置管理小组研究同意,然后报项目总体组组长批准。2.2. 角色与职责1.SCCB每个项目设立一个SCCB,负责指导和控制配置管理的各项具体活动的进行,为项目经
7、理的决策提供建议。其具体职责为以下几项:定制访问控制;制定常用策略;建立、更改基线的设置,审核变更申请;根据配置管理员的报告决定相应的对策。SCCB的人员组成主要包括:客户(必要时客户经理、项目经理、开发经理、系统分析员、配置管理员、测试代表、QA等,具体人员的分配应在配置管理计划中予以明确。SCCB组长在项目的配置管理计划中指定,项目经理不任职SCCB组长。其职责为组织项目中SCCB的相关活动,代表SCCB组签名审批,SCCB列表签名不变。2 .项目经理项目经理是整个软件研发活动的负责人,他根据SCCB的建议批准配置管理的各项活动并控制它们的进程。其具体职责包括:制定和修改项目的组织结构和配
8、置管理策略;批准、发布配置管理计划;决定项目起始基线和开发里程碑;接受并审阅配置控制委员会的报告。3 .项目级SCM管理员负责项目组配置管理库的配置管理活动:制定配置管理计划;根据配置管理计划执行各项管理任务,并定期向SCCB提交报告;负责项目基线库和开发库中各配置项的管理与维护;执行版本控制和变更控制方案;完成配置审计并提交报告;对开发人员进行相关的培训;识别软件开发过程中存在的问题并拟就解决方案。每个项目设置固定的配置管理员,一个配置管理员可以同时兼多个项目。4 .公司级SCM管理员接收项目级SCM管理员提交的配置管理相关报告,协调解决项目配置管理中出现的问题。5 .项目组成员根据配置管理
9、计划执行相关任务。6 .项目归档管理员负责项目结项归档或阶段归档的相关文档资料的统计和管理,确认并清点项目归档清单的一致性。7 .备份人由项目经理指定,可以由SCM管理员或项目组其他成员担任。8 .QA在项目实施过程中监控项目的配置管理过程和报告,保证质量标准和完整性;验收时,与SCM管理员及相关技术人员等进行基线审计活动,检查基线库中配置项的一致性和符合性,与其共同完成基线审计报告,同时还需填写配置管理检查表。以上角色可视实际情况在配置管理计划中制定。23.软件配置管理过程配置管理过程包括产品库管理过程(主要角色为公司级配置管理员)和项目配置管理过程(主要角色为项目级配置管理员、项目经理、S
10、eCBI成品库的管理过程和项目的配置管理过程类似,区别在于从事管理活动的角色不同。对于公司成品库的管理由公司级的配置管理员来完成,主要包括服务器安装,成品入库、成品变更,成品出库,成品库审计和成品库配置管理活动统计。成品库管理过程如图2-1所示:建立配置环境备份成品库SCM活动统计 J图2-1成品库管理的基本过程项目配置管理的主要角色是项目级配置管理员,SCCB,项目经理。图2-2是项目中配置管理的完整过程,其中配置管理计划是项目进行SCM活动的指南。测试库个人工作区配置管理计划配置管理活动统计开发库图2-2配置管理的基本过程在第4部分,会详细介绍各个过程的活动。3 .规范与约定3.1. 目录
11、结构开发库目录结构:a、工作产品目录(按软件生命周期划分)|workdoc-requirement业务需求说明书,需求规格说明书I-Adesign数据库设计,概要设计,详细设计说明书I-Xdevelop开发计划书,项目级定义过程卜-test测试用例文档I-Xrelease安装手册,操作手册,用户手册-others其他文档b、源代码目录(执行文件和编译后的类文件不纳入配置管理)-src-javajava源代码-com应用系统源代码卜-testjUnit源代码-jspjsp源代码I-Ahtml静态页面,js和图片文件-config应用配置文件I-Mib所需第三方类库u安装盘目录|Release-u
12、til运行环境,例如jdk,tomcatzmySQL等|docI-Ainstall安装文档说明卜-manual用户手册-sql数据库初始化教本-setup系统安装程序包d、CMM文档目录|cmm-review同行评审文档-rule项目章程文档-scmSCM相关文档-spp项目计划I-Aspto项目计划跟踪I-Ameetingminutes己要|Xschedule任务单I-Astandard项目级的模板-test测试周报等相关文档I-Atraning培训文档e、受控文档目录(用来存放不需要入基线库的过程文档,所有的项目组成员对此目录的文档都是R权限,配置宜里员除外)|controlI-Xrevi
13、ew已经完成的不需要入基线库的同彳亍评审文档-scm已经完成的不需要入基线库的SCM相关文档-spp项目计划I-Aspto项目计划跟踪I-Ameetingminutes已经完成的不需要入基线库的会议纪要I-Xschedule已经完成的不需要入基线库的任务单|Xstandard已经完成的不需要入基线库的项目级的模板-test已经完成的不需要入基线库的测试周报等相关文档I-Xtraining已经完成的不需要入基线库的培训文档测试库、基线库的目录结构同开发库的a、b、C三项。3.2. 命名规范项目名称+项目编号+文档名称缩写。配置项名称中不需要包含版本信息。文档配置项名称软件需求规格说明书项目名称-
14、项目编号-SRS软件开发计划项目名-项目编号-SDP软件测试计划项目名-项目编号-STP配置管理计划项目名-项目编号-SCMP数据库设计项目名-项目编号-Datadesign概要设计项目名-项目编号-HDESIGN测试用例项目名-项目编号-TCA用户手册项目名-项目编号-MANUAL2.源码和可执行代码:源码和可执行代码使用项目自行定义的相应命名规则。3.3. 版本定义规范版本由版本号来标识,用于定义整个软件开发生命周期中所产生的成果。它可以用于描述一个单一的软件配置项的演变过程,也可以用于描述由多个配置项组成的产品的演变过程。(1)版本号定义规范版本号:Vx.y.zV代表版本(VerSiOn
15、)x代表主版本号,初始值为1,当发生重大的版本升级替代时,通过SCCB审批,可以加11 代表版次号,初始值为0,当文档内容有一定变动(增加、删除、更改),对系统产生实质性的影响时,版次号升一位数字N代表版变更号,初始值为0,当文档内容有一定变动(增加、删除、更改),对系统产生非实质性的影响时,版次号升一位数字在所有的版本号标识中,若版本号的前一位改变,则后面所有位全部归零。(2)程序(代码、数据)版本规范2 .开发库版本号标识规范版本标识形式为:Vx.y.z通常情况:在纳入基线后才有正式的版本号,之前可以用标签的方式进行标识。标签的形式可以参照版本号标识规则进行。3 .测试库版本号标识规范版本标识形式为:Vx.y.z