SVN软件配置管理.ppt

上传人:laozhun 文档编号:2337442 上传时间:2023-02-12 格式:PPT 页数:50 大小:813.50KB
返回 下载 相关 举报
SVN软件配置管理.ppt_第1页
第1页 / 共50页
SVN软件配置管理.ppt_第2页
第2页 / 共50页
SVN软件配置管理.ppt_第3页
第3页 / 共50页
SVN软件配置管理.ppt_第4页
第4页 / 共50页
SVN软件配置管理.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《SVN软件配置管理.ppt》由会员分享,可在线阅读,更多相关《SVN软件配置管理.ppt(50页珍藏版)》请在三一办公上搜索。

1、软件配置管理,软件项目管理,软件配置管理,在软件建立时变更是不可避免的,因为在进行变更前没有仔细分析,或没有进行变更控制,变更加剧了项目中软件人员之间的混乱。协调软件开发使得混乱减到最小的技术叫做配置管理。配置管理是一组标识、组织和控制修改的活动,目的是使错误达到最小并最有效地提高生产率。,软件配置管理的概念,软件配置管理,简称SCM,是一种“保护伞”活动,它应用于整个软件工程过程。SCM活动的目标是为了(1)标识变更;(2)控制变更;(3)确保变更正确地实现;(4)向其他有关的人报告变更。,在软件工程过程中产生的所有信息项(文档、报告、程序、表格、数据)构成了软件配置。软件配置是软件的具体形

2、态在某一时刻的瞬时影像。随着软件工程过程的进展,软件配置项(SCI)数目快速增加。系统规格说明可繁衍出软件项目实施计划和软件需求规格说明。它们又依次繁衍出建立信息层次的其它文档。,基线(Baseline),基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。由正式的技术评审而得到的SCI协议和软件配置的正式文本才能成为基线。基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。,软件开发各阶段的基线,项目数据库,一旦一个SCI成为基线,就把它存放到项目数据库中。当软件组织成员想要对基线SCI进行修改时,把它从项目数据库中复制到该工程师的专用工作区中。例如,把一个名为B的SCI从

3、项目数据库复制到工程师的专用工作区中。工程师在B(B的副本)上完成要求的变更,再用B来更新B。,有些系统中把这个基线SCI锁定。在变更完成、评审和批准之前,不许对它做任何操作。,基线SCI和项目数据库,软件配置项 SCI,软件配置管理的对象就是SCI软件配置项。系统规格说明 软件项目实施计划 软件需求说明 可执行的原型 初步的用户手册 设计规格说明,源代码清单 测试计划和过程、测试用例和测试结果记录 操作和安装手册 可执行程序(可执行程序模块、连接模块)数据库描述(模式和文件结构、初始内容)正式的用户手册 维护文档(软件问题报告、维护请求、工程变更次序),软件工程标准项目开发总结除以上所列SC

4、I以外,许多软件工程组织还把配置控制之下的软件工具列入其中,即编辑程序、编译程序、其它CASE工具的特定版本。因为要使用这些工具来生成文档、程序和数据,如果编译程序的版本不同,可能产生的结果也不同。,配置对象,在实现SCM时,把SCI组织成配置对象,在项目数据库中用一个单一的名字来组织它们。一个配置对象有一个名字和一组属性,并通过某些联系“连接”到其它对象。每个对象与其它对象的联系用箭头表示。箭头指明了一种构造关系。,配置对象,双向箭头则表明一种相互关系。如果对“源代码”对象作了一个变更,软件工程师就可以根据这种相互关系确定,其它哪些对象(和SCI)可能受到影响。,软件配置管理的任务,软件配置

5、管理(SCM)的任务是:标识单个的SCI 标识和管理软件各种版本 控制变更 审查软件配置 报告所有加在配置上的变更。,配置标识,一方面随着软件生存期的向前推进,SCI的数量不断增多。整个软件生存期的软件配置就象一部不断演变的电影,而某一时刻的配置就是这部电影的一个片段。为了方便对软件配置的各个片段(SCI)进行控制和管理,不致造成混乱,首先应给它们命名。,对象类型,基本对象:是由软件工程师在分析、设计、编码和测试时所建立的文本单元。例如,基本对象可能是需求规格说明中的一节,一个模块的源程序清单、一组用来测试一个等价类的测试用例。复合对象:是基本对象或其它复合对象的一个收集。,对象标识:(名字、

6、描述、资源、实现)对象的名字明确地标识对象。对象描述包括:SCI类型(如文档、程序、数据)、项目标识、变更和或版本信息。资源包括由对象产生的、处理的、引用的或其它需要的一些实体。基本对象的实现是指向文本单元的指针,复合对象的实现为null。,命名对象之间的联系,对象的层次关系:一个对象可以是一个复合对象的一个组成部分,用联系标识。E-R diagram 1.4 data model;data model Design Specification;就可以建立SCI的一个层次。,对象的相互关联关系:对象跨越对象层次的分支相互关联。这些交叉的结构联系表达方式如下:data model data fl

7、ow model;(两个复合对象之间的相互联系)data model test case class m;(一个复合对象与一个特定的基本对象之间的相互联系),演变图,整个软件工程过程中所涉及的软件对象都必须加以标识。在对象成为基线以前可能要做多次变更,在成为基线之后也可能需要频繁地变更。对于每一配置对象都可以建立一个演变图,用演变图记叙对象的变更历史。,演变图,在某些工具中,当前保持的只是最后版本的完全副本。为了得到较早时期(文档或程序)的版本,可以从最后版本中“提取”出(由工具编目的)变更,使得当前配置直接可用,并使得其它版本也可用。,版本控制,版本控制是SCM的基础,它管理并保护开发者的软

8、件资源。版本控制管理在软件工程过程中建立起配置对象的不同版本。版本管理可以把一些属性结合到各个软件版本上。通过描述所希望的属性集合来确定(或构造)所想要的配置。使用演变图来表示系统的不同版本。,图中的各个结点都是聚合对象,是一个完全的软件版本。软件的每一版本都是SCI(源代码、文档、数据)的一个收集,且各个版本都可能由不同的变种组成。例如,一个简单的程序版本由1、2、3、4和5等部件组成。其中部件4在软件使用彩色显示器时使用,部件5在软件使用单色显示器时使用。因此,可以定义版本的两个变种。,版本管理的主要任务,集中管理档案,安全授权机制:版本管理的操作将开发组的档案集中地存放在服务器上,经系统

9、管理员授权给各个用户。用户通过登入(check in)和检出(check out)的方式访问服务器上的文件,未经授权的用户无法访问服务器上的文件。,软件版本升级管理:每次登入时,在服务器上都会生成新的版本。任何版本都可以随时检出编辑,同一应用的不同版本可以像树枝一样向上增长。,加锁功能:目的是在文件更新时保护文件,避免不同用户更改同一文件时发生冲突。某一文件一旦被登入,锁即被解除,该文件可被其它用户使用。在更新一个文件之前锁定它,避免变更没有锁定的项目源文件。,在文件登入和检出时,需要注意登入和检出的使用:当需要修改某个小缺陷时,应只检出完成工作必需的最少文件;需要对文件变更时,应登入它并加锁

10、,保留对每个变更的记录;应避免长时间地锁定文件。如果需要长时间工作于某个文件,最好能创建一个分支,并在分支上做工作。,如果需要做较大的变更,可有两种选择:a.将需要的所有文件检出并加锁,然后正常处理;b.为需要修改的所有分支创建分支,把变更与主干“脱机”,然后把结果合并回去。,变更控制,软件生存期内全部的软件配置是软件产品的真正代表,必须使其保持精确。软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息。变更控制包括建立控制点和建立报告与审查制度。,变更控制过程,在此过程中,首先用户提交书面的变更请求,详细申明变更的理由、变更方案、变更的影响范围等

11、。然后由变更控制机构确定控制变更的机制、评价其技术价值、潜在的副作用、对其它配置对象和系统功能的综合影响以及项目的开销、并把评价的结果以变更报告的形式提交给变更控制负责人(最终决定变更状态和优先权的某个人或小组)。,对每个批准了的变更产生一个工程变更顺序(ECO),描述进行的变更、必须考虑的约束、评审和审计的准则等。要做变更的对象从项目数据库中检出(check out),对其做出变更,并实施适当的质量保证活动。然后再把对象登入(check in)到数据库中并使用适当的版本控制机制建立软件的下一版本。,软件变更有两类不同情况:,为改正小错误需要的变更。它是必须进行的,通常不需要从管理角度对这类变

12、更进行审查和批准。但是,如果发现错误的阶段在造成错误的阶段的后面,例如在实现阶段发现了设计错误,则必须遵照标准的变更控制过程,把这个变更正式记入文档,把所有受这个变更影响的文档都做相应的修改。,为了增加或者删掉某些功能、或者为了改变完成某个功能的方法而需要的变更。这类变更必须经过某种正式的变更评价过程,以估计变更需要的成本和它对软件系统其它部分的影响。如果变更的代价比较小且对软件系统其它部分没有影响,或影响很小,通常应批准这个变更。,如果变更的代价比较高,或者影响比较大,则必须权衡利弊,以决定是否进行这种变更。如果同意这种变更,需要进一步确定由谁来支付变更所需要的费用。如果是用户要求的变更,则

13、用户应支付这笔费用;否则,必须完成某种成本效益分析,以确定是否值得做这种变更。,这种变更报告和审查制度,对变更控制来说起了一个安全保证作用。在一个SCI成为基线之前,可以对所有合理的项目和技术申请进行非正式的变更;一旦某个SCI经过正式的技术评审并得到批准,它就成了基线。以后如果需要对它变更,就必须得到项目负责人的批准,或者必须得到变更控制负责人的批准。,配置状态报告,为了清楚、及时地记载软件配置的变化,需要对开发的过程做出系统的记录,以反映开发活动的历史情况。这就是配置状态登录的任务。登录主要根据变更控制小组会议的记录,并产生配置状态报告。对于每一项变更,记录:发生了什么?为什么会发生?谁做

14、的?什么时侯发生的?会有什么影响?,配置状态报告信息流,每次新分配一个SCI,或更新一个已有SCI的标识,或一项变更申请被变更控制负责人批准,并给出了一个工程变更顺序时,在配置状态报告中就要增加一条变更记录条目。一旦进行了配置审计,其结果也应该写入报告之中。,配置状态报告可以放在一个联机数据库中,以便软件开发人员或者软件维护人员可以对它进行查询或修改。此外在软件配置报告中新登录的变更应当及时通知给管理人员和软件工程师。配置状态报告对于大型软件开发项目的成功起着至关重要的作用。避免了可能出现的不一致和冲突。,配置审计,软件的完整性,是指开发后期的软件产品能够正确地反映用户要求。软件配置审计的目的

15、就是要 证实整个软件生存期中各项产品在技术上和管理上的完整性。确保所有文档的内容变动不超出当初确定的软件要求范围。使得软件配置具有良好的可跟踪性。,软件配置审计是软件变更控制人员掌握配置情况、进行审批的依据。软件的变更控制机制通常只能跟踪到工程变更顺序产生为止。为确认变更是否正确完成?一般可以用以下两种方法去审查:正式技术评审 软件配置审计,正式的技术评审着重检查已完成修改的软件配置对象的技术正确性,评审者评价SCI,决定它与其它SCI的一致性,是否有遗漏或可能引起的副作用。正式技术评审应对所有的变更进行,除了那些最无价值的变更之外。软件配置审计作为正式技术评审的补充,评价在评审期间通常没有被考虑的SCI的特性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号