版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作业布置情况与上节回顾,第5讲配置管理与变更管理,涉及教材内容: 第12章 配置管理; 概要:,什么是软件配置项?软件配置项主要有几类?分别包含哪些内容? 基线的概念是什么? 在实施阶段配置管理主要包括哪些活动? 目前配置管理工具分为哪几个级别?,内容提要,5.2 软件项目配置管理过程,5.3 配置管理组织与实施,5.1 软件项目配置管理概念,5.1 软件项目配置管理概念,配置的概念来自硬件,例如,计算机系统的CPU、磁盘以及外设配置等等 配置管理(Configuration management)是指用于控制系统一系列变化的学科。 通过一系列技术,方法和手段来维护产品的历史,鉴别和定位产品独
2、有的版本,并在产品的开发和发布阶段控制变化 通过有序管理和减少重复性工作,配置管理保证了生产的质量和效率。,软件领域引入配置的原因,随着计算机软件的发展,软件开发已由最初的“程序设计阶段”“软件系统阶段”“软件工程阶段”。 软件的复杂性日益增大,软件项目开发中可能会遇到如下问题: 开发人员使用错误的版本修改程序 开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;,5.1 软件项目配置管理概念,软件领域引入配置的原因-2,人员流动,交接工作不彻底造成软件关键部件遗失; 已修复的Bug在新版本中出现 找不到某个文件的历史版本; 无法重新编译某个历史版本,使维护工作十分困难;
3、因协同开发或者异地开发,版本变更混乱导致整个项目失败; ,5.1 软件项目配置管理概念,软件领域引入配置的原因-3,随着软件团队人员的增加,软件版本不断变化,开发时间的紧迫以及多平台开发环境的使用,使得软件开发面临越来越多的问题。 解决这些问题的唯一途径是加强管理,配置管理是有效管理变更的手段,它是软件开发管理的核心。 软件配置管理是软件项目运作的一个支撑平台,这种支撑贯穿着几乎软件的整个生命周期。人们越来越重视软件配置的管理工作。,5.1 软件项目配置管理概念,软件配置管理作为支撑平台,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求,你在一家小公司做软件工程师,开始的时候,你只
4、有一个人,配了2个助手。你们研究了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或一个别人没有的卖点。 下一周,你的队伍增加到14(你的老板准备就此豪赌一把了),与你3个人的小组不同的是,公司从其他部门为你配备了系统分析师,还有文档编制员、测试员。你的核心模块已经被大量的用户功能所包装,成为一个行业应用系统,并开始给用户试用,这是你的系统的第一版。,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-1,3个月后,公司决定把系统升级到第二版,除增加了许多新
5、的功能外,公司决定支持多平台,同时,为了提高系统的性能和效率,准备采用第三方厂家的中间件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。 第2版经过2个多月的开发,最终推向了市场。公司的这个产品不但被用户所欢迎,也被一家大公司所看中(就像IBM收购了Lotus和Rational、Informix、Visio一样),你们的产品,正好可以填补这家大公司产品线的空缺,你所在的公司被这家公司买去了。,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-2,公司为你的项目组派来了产品经理、项目经理。公司决定这个产品的测试,由公司总部独立的测试部门承担。同时,公司决定把项目组增加到50
6、人,其中有20多人并不在你所在的城市。在新公司里,产品管理、项目管理、测试、质量等等,都与你过去的环境和做法不同,特别不同的是,公司准备开发的第3版系统与公司原有的产品要进行融合,使他们看上去是一家出来的不同的兄弟和姐妹。 与软件的第1版、第2版相比,你的项目管理有什么不同?,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-3,随着这个产品的演变,项目发生了四个变化: 系统的复杂性发生了很大变化; 用于开发该系统的项目环境发生了很大变化; 在不同的项目生命周期内,项目控制本身的要求和力度发生了很大变化; 由于组织的变化,管理流程、人员、方式发生了很大变化。 前二类变化要求项目的组
7、织和管理适应系统扩展的需要,后二种变化则要求项目管理具有适应性和灵活性。,5.1 软件项目配置管理概念,软件配置管理概念,软件配置管理(Software Configuration Management,SCM)是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。 SCM提供了结构化的,有序化的,产品化的管理软件工程的方法。它涵盖了软件生命周期的所有领域并影响所有数据和过程。,5.1 软件项目配置管理概念,软件配置管理的目的,它是一种标识、组织和控制修改的技术,目的是 记录软件产品的演化过程 确保软件开发者在软件生命周期中的各个阶段都能得
8、到精确的产品配置。 最终保证软件产品的完整性、一致性、追朔性、可控性 使错误达到最小并最有效地提高生产效率。,5.1 软件项目配置管理概念,软件配置管理的目标,SCM活动的目标是为了: 标识变更; 控制变更; 确保变更正确地实现; 向其他有关的人员报告变更。 在软件工程过程中产生的所有信息项(文档、报告、程序、表格、数据)构成了软件配置。,5.1 软件项目配置管理概念,软件配置管理的主要功能,版本管理 变更管理 其它(过程管理),5.1 软件项目配置管理概念,软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着整个软件生命周期。 若要有效地实施软件配置管理,除了培养软件开发
9、者的管理意识外,更重要的是使用优秀的软件配置管理工具。,配置管理给项目组带来的好处-2,造成项目周期拖延或费用超过预算的原因很多,但没有好的阶段和里程碑划分无疑是其中最重要的原因。,5.1 软件项目配置管理概念,内容提要,5.2 软件项目配置管理过程,5.3 配置管理组织与实施,5.1 软件项目配置管理概念,5.2 软件项目配置管理过程,配置管理过程围绕配置管理的5项活动进行,软件项目配置的基本活动,配置管理过程 配置项标识、跟踪 配置管理环境建立 基线变更管理 基线审核 配置状态统计 配置管理计划,配置项标识、跟踪配置项的概念,软件配置项(Software Configuration Ite
10、m,SCI)凡是纳入配置管理范畴的工作成果统称为配置项。 以下包含了所有在软件过程中产生的信息的工作成果总称为软件配置项: 计算机程序(源代码和可执行程序) 描述计算机程序的文档(针对技术开发者和用户) 数据(包含在程序内部或外部)。 项目管理的有关文件、信息记录等。 软件配置管理的对象就是软件配置项(SCI)。,5.2 软件项目配置管理过程,配置项标识、跟踪软件配置项的类型及属性,配置项主要有两大类: 属于产品组成部分的工作成果,即软件产品,例如源代码、需求文档、设计文档、测试用例等等。 在管理过程中产生的文档,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是值得保存。 每个
11、配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。 所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程。,5.2 软件项目配置管理过程,配置项标识、跟踪软件配置项的状态变迁,配置项的状态有三种:“草稿”(Draft)、“正式发布”(Released)和“正在修改”(Changing)。 配置项刚建立时其状态为“草稿”;配置项通过评审(或审批)后,其状态变为“正式发布”;此后若更改配置项,必须依照“变更控制流程”执行,其状态变为“正在修改”。当配置项修改完毕并重新通过评审(或审批)时,其状态又变为“正式发布”,如此循环。,5.1 软件项目配置管
12、理概念,配置项标识、跟踪软件部件分解图,配置标识就是查询、识别和确定配置管理对象。,配置管理对象呈现为一种层次结构,因此,为了标识配置管理的对象,我们需要对软件系统进行分解。,5.2 软件项目配置管理过程,配置项标识、跟踪配置项标识的主要任务,将软件项目中需要进行控制的部分拆分成软件配置项。 对所有配置项都应按照相关规定建立唯一的标识。 建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致。 在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。 最终可根据要求将配置项组合生成适用于不同应用环境的正确的软件产品评估版本。,5.
13、2 软件项目配置管理过程,配置项标识、跟踪配置项的拆分例子,设计规格说明书 数据设计描述 总体结构设计描述 模块设计描述 界面设计描述 界面设计1 界面设计2 对象描述,(某医疗网站)需求规格SCI 辅助功能.doc 性能.doc 产品目录.doc 医务管理.doc 医疗专业区.doc 首页.doc,5.2 软件项目配置管理过程,最基本的配置项管理文档,软件产品比较容易标识,而文档相对比较复杂。 开发文档文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间,起到了多种的桥梁作用。软件开发人员在软件生命的各个阶段中,以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的
14、。 管理文档或项目文档软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。 用户文档软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料。,5.2 软件项目配置管理过程,文档分类,5.2 软件项目配置管理过程,文档,用户文档,用户手册 操作手册 维护修改建议 软件需求(规格)说明书,开发文档,软件需求(规格)说明书 数据要求说明书 概要设计说明书 详细设计说明书 可行性研究报告 项目开发计划,管理文档,项目开发计划 测试计划 测试报告 开发进度月报 开发总结报告
15、,文档的生成阶段,5.2 软件项目配置管理过程,配置管理环境建立,建立配置管理库,简称配置库。软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。 开发库开发周期的某个阶段,存放与该阶段工作有关系的信息;开发库也称为工作空间 受控库开发周期的某个阶段结束时,存放做为该阶段产品及其相关的信息,配置管理对其中的信息进行管理,也称配置库 产品库存放最终产品的软件库,5.2 软件项目配置管理过程,配置管理环境建立受控操作,配置库是集中控制的文件库,提供对所存储文件的版本控制。 从受控库导出的文件自动被锁定直到文件重新被导入,一个
16、版本号自动与新版本文件相关联。 配置库中文件不能更改,任何更改都被视为创建了一个新版本文件。 文件的所有配置管理信息和文件的内容都存储在配置库中。,5.2 软件项目配置管理过程,版本与版本控制概念、目的,版本与版本控制软件的每一个版本都是源代码、文档、数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。 版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。 版本控制是SCM的基础,它管理并保护开发者的软件资源。使混乱的开发状态变得有序!,5.2 软件项目配置管理过程,版本与版本控制版本控制规则,处于“草稿”
17、状态的配置项的版本号格式为:0.YZ YZ数字范围为01-99。 随着草稿的不断完善,“YZ”的取值应递增。“YZ”的初值和增幅由用户自己把握。 处于“正式发布”状态的配置项的版本号格式为:X.Y X为主版本号,取值范围为1-9。Y为次版本号,取值范围为1-9。 配置项第一次“正式发布”时,版本号为1.0。 如果配置项的版本升级幅度比较小,一般只增大Y值,X值保持不变。只有当配置项版本升级幅度比较大时,才允许增大X值。 处于“正在修改”状态的配置项的版本号格式为:X.YZ 配置项正在修改时,一般只增大Z值,X.Y值保持不变。 当配置项修改完毕,状态重新成为“正式发布”时,将Z值设置为0,增加X
18、.Y值。,5.2 软件项目配置管理过程,版本与版本控制版本图,版本控制管理在软件工程过程中建立起配置对象的不同版本。使用演变图来表示系统的不同版本。 版本管理可以把一些属性结合到各个软件版本上。,5.2 软件项目配置管理过程,版本与版本控制配置项的版本,版本控制工具 Rational ClearCase Microsoft Visual SourceSafe Microsoft Project 2000 Sybase ObjectCycle Manager,5.2 软件项目配置管理过程,变更管理,是团队开发过程中的通讯基础 可以了解谁改了什么、为什么 正确及时的项目状态报告 最大限度的利用你的
19、工程师资源 利于团队交流 软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息。 变更控制包括建立控制点和建立报告与审查制度。,5.2 软件项目配置管理过程,变更管理变更控制过程,5.2 软件项目配置管理过程,加强团队间的沟通,真正掌握开发状态!,变更管理变更的两种情况,为改正小错误需要的变更。 为了增加或者删掉某些功能、或者为了改变完成某个功能的方法而需要的变更。 如果变更的代价比较小且对软件系统其它部分没有影响,或影响很小,通常应批准这个变更。 如果变更的代价比较高,或者影响比较大,则必须权衡利弊,以决定是否进行这种变更。 如果同意这种变更,需
20、要进一步确定由谁来支付变更所需要的费用。如果是用户要求的变更,则用户应支付这笔费用;否则,必须完成某种成本效益分析,以确定是否值得做这种变更。,5.2 软件项目配置管理过程,基线变更管理基线的概念,基线(Baseline)是软件生存期中各开发阶段末尾的特定点,又称里程碑。 基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。 基线由一组配置项组成,一个(些)配置项形成并通过审核,即形成基线,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被随意修改。 基线标志开发过程一个阶段的结束和里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基
21、线。,5.2 软件项目配置管理过程,基线变更管理软件项目形成的基线,基线的主要属性有:名称、标识符、版本、日期等。 通常将交付给客户的基线称为一个“Release”;为内部开发用的基线则称为一个“Build”。,5.2 软件项目配置管理过程,基线变更管理基线变更系统,项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进度变更、成本变更、产品环境变化等。 基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经SCCB授权,按正式的程序进行控制并记录基线修改的过程。,5.2 软件项目配置管理过程,基线变更管理变更请求,5.2 软件项目配置管理过程,基线变更管理变更评估,5.
22、2 软件项目配置管理过程,基线变更管理变更批准/拒绝,5.2 软件项目配置管理过程,基线变更管理变更实现,5.2 软件项目配置管理过程,配置审核,配置审核作为变更控制的补充手段,目的是为了确保某一变更请求已被确切实现。 配置审核主要包括两方面的内容: 配置管理活动审核 确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程 基线审核 保证基线的配置项(SCI)正确的构造和实现,并满足功能要求,5.2 软件项目配置管理过程,配置状态统计,检查配置管理系统以及内容,检测配置项变更历史的过程称为配置状态统计。 检查配置管理系统以及内容 检测配置项变更历史 配置状态统计的范围可因项目而不同。IEEE标准828-1998规定用于计算配置状态的最小数据集包括: 被批准的配置项 配置项的所有请求的变化状态 配置项所有被批准的变更实现状态,5.2 软件项目配置管理过程,配置管理计划,配置管理计划过程就是确定软件配置管理的解决方案。 配置管理计划由配置管理者负责制定,是软件配置管理规划过程的产品,并且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。 流程通常是首先由项目经理确定配置管理者,配置管理者通过参与项目规划过程,确定配置管理的策略,并制定详细的配置管理计划,交配置管理委员会审核,配置管理委员会通过配置管理计划后交项目经理批准,发布实施。 配置管理计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主动申请解除合同申请书2
- 备办宴席行业经营分析报告
- 衣服熨斗市场发展前景分析及供需格局研究预测报告
- 自助结账终端市场发展前景分析及供需格局研究预测报告
- 建筑物租赁或出租行业经营分析报告
- 为慢性病患者提供脊椎按摩服务行业市场调研分析报告
- 螺旋桨项目营销计划书
- 舞台灯光设备商业机会挖掘与战略布局策略研究报告
- 穿戴式视频显示器产品供应链分析
- 人工呼吸用呼吸面罩出租行业相关项目经营管理报告
- 八仙过海故事800字
- 新员工入职培训教育登记卡
- 修理厂安全隐患排查制度(3篇)
- 物流项目管理-复习题
- 第一次家长会 课件(共张ppt) 七年级上学期
- 品管圈QCC降低ICU患者约束缺陷率课件
- 列那狐的故事习题及答案
- 思想道德与法治 第三章
- 沪教版小学四年级数学上文字题解决问题综合练习
- 《产业经济学》教学大纲
- 精力管理-优质ppt
评论
0/150
提交评论