配置管理讨论.

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

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

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

资源描述

2019/12/161软件配置管理配置管理工作讨论理论及工具使用介绍2019/12/16软件配置管理2词汇表•SCM:SoftwareConfigurationManagement,配置管理。•CCB:ChangeControlBoard,变更控制委员会。•CI:ConfigurationItem,配置项。包含文档、程序。•Baseline:基线。已通过复审和批准的工件发布版,由此构成进一步演讲或开发的公认基础,并且只能通过正式程序,例如:变更管理和配置控制才能进行更改。•CR:ChangeRequest,变更请求。对提出的要变更工件或流程的任何请求的统称。在变更请求中记录的信息是有关当前问题、提议解决方案及其成本的起源和影响的信息。2019/12/16软件配置管理3讨论内容•1.为什么要进行软件配置管理?•2.什么是软件配置管理?•3.怎样做配置管理呢?•4.怎样做变更控制管理?•5.现代SCM系统功能特征•6.中型国企软件配置管理具体做法•7.公司软件配置管理工作的现状•8.已完成配置管理工作情况•9.介绍配置管理工具StarTeam•10.问题和讨论2019/12/16软件配置管理4为什么需要配置管理复杂的软件系统及开发过程–开发的系统越来越大,功能越来越复杂–众多软件开发人员–多种文件对象和类型•需求•各种文档•设计模型•源代码•目标代码•Web组件•测试脚本、测试用例•…–多种版本–多种平台–多个开发地点所有方面都要考虑并需要进行正确管理!2019/12/16软件配置管理5以往软件开发过程中的问题•版本难以控制•资源变化频繁导致失控•配置审核问题•项目开发中的组织管理问题•项目组成员之间沟通不够•文档与程序严重脱节•无法有效地管理和跟踪变更•测试工作不规范•对软件版本的发布缺乏有效的管理•施工周期过长,且开发人员必须亲临现场•无法构建企业内部的软件标准构件仓库(即财富库)•……2019/12/16软件配置管理6造成的后果•重要数据丢失•开发周期漫长•开发成本增加•产品可靠性差•软件重用率低下•无法开展规范化测试工作•缺乏软件开发历史数据积累,无法为日后借鉴•维护和升级困难•施工成本增加•用户抱怨使用不便,满意度低•项目风险增加•……2019/12/16软件配置管理7一些基本的配置管理功能•存储和保护所有软件资产和相关资源•记录软件所有的历史变更•配置管理•使开发人员的工作相互独立2019/12/16软件配置管理8什么是配置管理SoftwareConfigurationManagement,简称SCM:Configurationmanagementisthepracticeofhandlingchangessystematicallysothatasystemcanmaintainitsintegrityovertime.Anothernameforitis“changecontrol.”Itincludestechniquesforevaluatingproposedchanges,trackingchanges,andkeepingcopiesofthesystemasitexistedatvariouspointsintime.配置管理能够系统地处理变更,从而使得软件系统可以随时保持其完整性。配置管理又可称为“变更控制”,可以用来评估提出的变更请求,跟踪变更,并保存系统在不同时间的状态。SteveMcConnell《CodeComplete》MicrosoftPress,19932019/12/16软件配置管理9什么是配置管理另外一个定义:Configurationmanagementistheartofidentifying,organizing,andcontrollingmodificationstothesoftwarebeingbuiltbyaprogrammingteam.Thegoalistomaximizeproductivitybyminimizingmistakes.对软件开发组所建立的软件的修改进行标识、组织和控制的艺术,其目标是减少错误,提高生产力。WayneBabich《SoftwareConfigurationManagement:CoordinationforTeamProductivity》Addison-Wesley,19862019/12/16软件配置管理10什么是配置管理作用:在质量体系的诸多支持活动中,配置管理处在支持活动的中心位置,它有机地把其它支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。目的:软件配置管理的目的是建立和维护在项目的整个软件生存周期中软件项目产品的完整性。主要内容包括:及时地确定软件的配置,系统地控制软件配置的变更,保证整个软件生命周期软件配置的完整性和可追溯性。2019/12/16软件配置管理11什么是配置管理总结:软件配置管理,贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则。软件配置管理无论是对于软件企业管理人员还是研发人员都着重要的意义。软件配置管理可以提炼为三个方面的内容。–VersionControl-版本控制–ChangeControl-变更控制–ProcessSupport-过程支持2019/12/16软件配置管理12实施软件配置管理的益处•加强了开发过程控制,加强了产品质量的可控性•节约费用–缩短开发周期–减少施工费用•有利于知识库的建立–代码对象库–业务及经验库•规范管理–量化工作量考核–规范测试–加强协调与沟通2019/12/16软件配置管理13配置管理活动中的重要概念•Version版本•配置项•基线•工作区•配置库2019/12/16软件配置管理14什么是版本?版本-Version亦称配置标识,是指某一特定对象的具体实例的潜在存在这里的某一特定对象是指由版本维护工具管理的软件组成单元,如:源代码;具体实例则是指软件开发人员从软件库中恢复出来的某软件组成单元具有一定内容和属性的一个真实拷贝。版本记录了配置项的演化过程。2019/12/16软件配置管理15什么是配置项?软件配置管理的对象是软件配置项(SoftwareConfigurationItem,缩写SCI)软件配置是指一个软件产品在软件生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、程序及其数据的集合。该集合中的每一个元素称为该软件配置中的一个配置项。中国国家标准《计算机软件配置管理计划规范》–与合同、过程、计划和产品有关的文档及数据–源代码、目标代码和可执行代码–相关产品,包括软件工具、库内可复用软件、外购软件及顾客提供的软件等2019/12/16软件配置管理16什么是基线?基线(Baseline)一个配置项在其生命周期的某一特定时间被正式标明、固定并经正式批准的一个版本,无论媒体是什么。[ISO/IEC12207]基线形成一般是在软件生命周期各阶段末尾的特定点,亦称里程碑时间点。作用基线的作用是把各阶段的工作划分得更加明确,使得本来连续的工作在这些点上断开,使之便于检验和确认阶段开发成果,使后续工作在确认后的基准上进行。特性具有明确标识具有明确内容经正式审批严格控制变更2019/12/16软件配置管理17如何进行配置?•管理所有目录和全部文件的版本只是其中的一部分•因为软件产品与源代码是一对多的关系,SCM需要好的配置报告或工作空间来进行管理。–例如:一个单一的软件程序有可能是由成百甚至上千个源代码生成的•记录并维护历史是必要的,但还远远不够!•一个SCM系统必须能够再生和重现一个软件产品的全部的完整的配置情况,而不仅仅是单个文件的版本2019/12/16软件配置管理18配置管理活动的流程开始1.计划配置管理2.创建配置管理环境3.配置项标识4.管理基线与发布5.编写配置状态报告6.执行配置审计7.变更控制管理结束2019/12/16软件配置管理19在流程中的角色•配置管理负责人:负责为产品开发团队提供全面的配置管理基础设施和环境,负责指定配置管理计划,负责对文档类的配置项建立基线,建立代码类基线。•任意角色:参与变更控制管理,提出变更请求。2019/12/16软件配置管理20编制配置管理计划•目的–此工作流程明确的目的是:–确定项目配置管理策略–确定用于控制产品变更的策略和流程–在配置管理计划(是软件开发计划的一部分)中记录此信息•如何配置人员–配置负责人应该是进行组织的中心人物,并且必须对所有项目工件负责。–配置负责人需确保对开发人员实施项目策略。这样,工件一旦按照确定的开发原则得到批准,它们就只会通过既定的渠道。2019/12/16软件配置管理21创建配置管理环境•目的–本活动的目的是通过创建并维护数据存储库建立一个环境,在此环境中可以对整个产品进行开发、构建,而且具有可重用性或可维护性。–设置CM环境时涉及到创建产品目录结构、存储库、工作区(开发人员和集成)以及分配计算机资源(服务器和磁盘空间)。•如何配置人员–配置负责人需要设置一个环境,该环境基于整个产品的构建结构,并且需要确保建立足够的“临时位置”。–配置负责人需确保从开发人员工作区交付的工件经过充分测试,以便可以将其并入可测试的工作版本中。需熟悉项目CM策略、工作版本和测试时的一些做法。2019/12/16软件配置管理22配置库的设置•决定配置库的结构是配置管理活动的重要基础。一般常用的是两种组织形式:按配置项类型分类建库和按任务建库。•按配置项的类型分类建库的方式经常为一些咨询服务公司所推荐,它适用于通用的应用软件开发组织。这样的组织一般产品的继承性较强,工具比较统一,对并行开发有一定的需求。•而按任务建立相应的配置库则适用于专业软件的研发组织。在这样的组织内,使用的开发工具种类繁多,开发模式以线性发展为主,所以就没有必要把配置项严格的分类存储,人为增加目录的复杂性。2019/12/16软件配置管理23变更请求管理•缺乏有效的变更请求管理会导致的问题:-软件产品质量低下,对一些缺陷的修正被遗漏-项目经理不了解开发人员的工作进展,缺乏对项目现状进行客观评估的能力-开发人员不了解手头工作的优先级别,可能出现将紧急的事情放在一边、而工作在一般优先级任务上的情况-可能错误使用和引用已经变更的产品,引起开发工作混乱2019/12/16软件配置管理24现代SCM系统功能特征•支持CMM/CMMI•跨平台•并发和串行的版本控制•支持异地开发•备份/恢复功能•基于浏览器用户界面•图形化用户界面•处理二进制文件2019/12/16软件配置管理25现代SCM系统功能特征•支持企业级的SCM•基于TCP/IP协议,支持不同的LAN或WAN•高效率、高可伸缩性、高安全性•支持Email通知•和常用IDE集成•支持变更控制•支持软件“三库”管理2019/12/16软件配置管理26中型国企软件配置管理具体做法•1.SCM准备工作。SCM组与项目经理一起制定SCM计划。然后经其他受到影响的组和个人进行评审,得到被批准的SCM计划。•2.SCI的标识。该活动发生在SCM计划被批准之后。SCI撰写人根据SCM计划中制定的文档规范进行标识。•3.SCI入受控库。软件开发过程中,项目组成员将产品提交到开发库中,经批准后,再转移到受控库中。同时通知所有的受到影响的组和个人。2019/12/16软件配置管理27中型国企软件配置管理具体做法•4.SCI变更。SCI的变更分为基线变更和版本变更。•5.基线审计。其目的是维护软件配置项的状态,使其满足一致性、完备性和可跟踪性。•6.配置状态记录与汇报。其目的是维管理人员和开发人员提供有关项目进展的全面信息。•7.SCI的备份。指对开发库、受控库和产品库中所有的SCI进行备份,以保证三库信息的安全。2019/12/16软件配置管理28公司软件配置管理工作的现状•需要统一的配置管理过程•需要加强项目中配置管理活动•对软件版本的发布缺乏有效的管理•无法有效地管理和跟踪变更•对现用配置管理工具的使用不熟悉•配置管

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

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

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

×
保存成功