版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章软件配置管理概念与目标内容
引言概述基本概念
SCM目标引言忏悔录曾经有一个很好的配置管理工具在我面前,我没有理睬,直到版本混乱的时候才后悔莫及,工作中最大的痛苦莫过于此,如果上天再给我一次机会的话,我会向对它说三个字:我要你。如果非得加一个期限的话,我希望是一辈子。(摘自林锐博士讲稿)
引言服务器存储所有文档和源程序,由版本控制系统管理程序员1程序员n下载提交下载提交……团队开发的一般模式安装有版本控制系统客户端引言不同程序员对程序的更改会产生冲突程序员A程序员Bcommon-function.javacommon-function.java修改修改添加了函数checkStringlength()添加了函数checkDate()服务器提交提交程序完整性受到破坏引言软件项目中可能遇到如下的问题:找不到某个文件的历史版本;开发人员使用错误的程序版本;开发人员未经授权修改代码或文档;人员流动,交接工作不彻底;无法重新编译软件的某个历史版本;因协同开发,或者异地开发,版本变更混乱导致整个项目失败;……引言怎么办?概述软件配置管理软件项目进行中面临的一个主要问题是持续不断的变化,变化可能导致混乱,而软件配置管理用于控制变化。软件配置管理(SoftwareConfigurationManagement,SCM)是指一套管理软件开发和维护过程中所产生的各种中间软件产品的方法和规则,它是控制软件系统演变的学科。概述软件配置管理软件配置管理是一种标识、组织和控制修改的技术,软件配置管理应用于整个软件工程过程。在软件开发中变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM的目的是使错误降为最小并最有效地提高生产效率。概述软件配置管理发展起源:配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CMDuringtheDevelopment&AcquisitionPhases”。概述软件配置管理发展概念提出:20世纪60年代末70年代初,当时加利福利亚大学圣巴巴拉分校的LeonPresser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“ChangeandConfigurationControl”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。概述软件配置管理发展发展:LeonPresser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:ChangeandConfigurationControl(CCC),这是最早的配置管理工具之一。概述软件配置管理发展发展:随着软件开发规模的逐渐增大,越来越多的公司和团队意识到了软件配置管理的重要性,而相应的软件配置管理工具也如雨后春笋一般,纷纷涌现,比较有代表性的有:MarcRochkind的SCCS(SourceCodeControlSystem)和WalterTichy的RCS(RevisionControlSystem),这两种工具对日后的配置管理工具的发展做出了重大的贡献,目前绝大多数广泛使用的配置管理工具基本上都是基于这两者的设计思想和体系架构。概述软件配置管理发展发展:随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。概述软件配置管理发展发展:
在软件配置管理的工具方面,也出现了大批的产品,如:最著名的RationalClearCase;开源产品CVS,Subversion;入门级工具MicrosoftVSS;新秀HanskyFirefly。概述软件配置管理发展发展:在ISO9000质量管理和质量保证标准中,制定了《在软件开发、供应和维护中的使用指南》标准,该标准除对软件生命周期的各个阶段做了严格的规定外,还在其质量体系中规定了与阶段无关的支持活动,其中软件配置管理被放在首位。概述软件配置管理发展发展:作为管理软件开发过程有效的方法,SCM早已被发达国家软件产业的发展和实践所证明。SCM可以系统地管理软件系统中的多重版本;全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么等;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。SCM对开发过程进行有效地管理和控制,完整、明确地记载开发过程中的历史变更,形成规范化的文档,不仅使日后的维护和升级得到保证,而且更重要的是,这还会保护宝贵的代码资源,积累软件财富,提高软件重用率,加快投资回报。SCM是通往ISO9000和SEICMM标准的一块基石。概述软件配置管理发展我国的现状:在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这十几年的事。国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。概述软件配置管理定义软件配置管理是一组针对软件产品的追踪和控制活动,它贯穿于项目生命周期的始终,并代表着软件产品接受各项评审。IEEE对SCM的论述如下:“软件配置管理由适用于所有软件开发项目的最佳工程实践组成,无论是采用分阶段开发,还是采用快速原型进行开发,甚至包括对现有软件产品进行维护”。概述软件配置管理定义SCM:isasetofactivitiesdesignedtocontrolchangebyidentifyingtheworkproductsthatarelikelytochange,establishingrelationshipsamongthem,definingmechanismsformanagingdifferentversionsoftheseworkproducts,controllingthechangesimposed,andauditingandreportingonthechangesmade.RogerS.Pressman概述软件配置管理定义“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计用来:(1)标识变化;(2)控制变化;(3)保证变化被适当的发现;(4)向其他可能有兴趣的人员报告变化。”概述软件配置管理定义软件配置管理通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性,配置管理是对工作成果的一种有效保护。配置管理与任何一位项目成员都有关系,因为每个人都会产生工作成果。配置管理是否有成效取决于三个要素:人、规范、工具。概述软件配置管理定义软件配置管理基本流程概述SCM与CMM软件配置管理作为CMM2级的一个关键过程域(KPA),在整理软件开发活动中占有很重要的位置。基本概念最终软件版本产品最终软件版本产品是文档、程序和数据的集合,是软件生产商交付给客户的软件产品,是用户能够直接使用的软件产品。【例】:MicrosoftWindows2008(中文版),它是由一张光盘加上一本《使用指南》所组成的,是一种最终软件版本产品。光盘上存储着程序和数据,《使用指南》是交给用户的文档。基本概念软件配置软件配置是一个软件产品在生存期各个阶段的不同形式(记录特定信息的不同媒体)和不同版本的程序、文档及相关数据的集合,或者说是配置项的集合。初始系统机型1机型2机型n操作系统1操作系统2用户1用户2不同用户有自己的工作环境基本概念软件配置面对不同用户产品的配置ABCGDHEABFCDE
用户1
用户2基本概念软件配置
AFBDGCHE用户1用户2ABCDE
FABCDE
GH
产品1产品2两个产品具有不同的配置用户1:A、B、C、D、E和F用户2:A、B、C、D、E和G、H基本概念软件配置【例】{电信移动计费系统用户需求报告V1.0+电信移动计费系统需求规格说明书V1.0+电信移动计费系统设计说明书V1.0+电信移动计费系统源程序V1.0+电信移动计费系统数据库V1.0+电信移动计费系统用户指南V1.0}这一系列文档、程序和数据的集合构成了电信移动计费系统产品V1.0的软件配置。基本概念软件配置项在软件开发过程中产生的信息有3种:计算机程序(源程序及目标程序);描述计算机程序的文档(包括技术文档和用户文档);数据结构及数据。基本概念软件配置项软件配置是一个集合,该集合中的每一个元素称为该软件产品软件配置中的一个配置项(SoftwareConfigurationItem,SCI)。任何配置管理系统的基础都是存储和管理配置项。基本概念软件配置项软件配置项是软件配置管理的对象,一个软件配置项是项目中一个特定的、可文档化的工作产品集。常见的软件配置项:需求规格说明书、设计规格说明书、源代码、测试计划、测试用例、用户手册等。构造软件的工具和软件赖以运行的环境也常常列入配置管理的范畴。基本概念软件配置项分类特征举例环境类软件开发环境及软件维护环境编译器、操作系统、编辑器、数据库管理系统、开发工具(如测试工具)、项目管理工具、文档编辑工具定义类需求分析及定义阶段完成后得到的工作产品需求规格说明书、项目开发计划、设计标准或设计准则、验收测试计划设计类设计阶段结束后得到的产品系统设计规格说明、程序规格说明、数据库设计、编码标准、用户界面标准、测试标准、系统测试计划、用户手册编码类编码及单元测试后得到的工作产品源代码、目标码、单元测试数据及单元测试结果测试类系统测试完成后的工作产品系统测试数据、系统测试结果、操作手册、安装手册维护类进入维护阶段以后产生的工作产品以上任何需要变更的软件配置项基本概念软件配置项基本概念软件配置项【例】《号码管理子系统V1.1》是电信移动计费系统产品V1.1的一个配置项;Microsoft公司的消息中间件MSMQ是电信移动计费系统产品V1.1的一个配置项。基本概念基线基线(Baseline)是指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。基线是软件生命周期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。基本概念基线基线是已经正式通过复审和批准的某规约和产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程来改变。基线通常标志开发过程一个阶段的结束(里程碑)。软件配置项基线配置项非基线配置项基本概念基线经过正式评审和审计,并被批准后的阶段性软件工作产品,称为软件配置管理中的一根基线。里程碑(Milestone)
是一个阶段标记,基线是一个阶段软件工作产品,基线与里程碑一般表现为一对一的关系。基线既是前一个开发阶段输出的软件工作产品,又是后一个开发阶段输入的软件工作产品。若要修改基线,则必须填写基线变更请求单,批准之后才能实施变更。里程碑是检查点(CheckPoint),检查点不一定是里程碑,因为检查点还可以是时间、计划和事件。基本概念软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统基本概念基线分类功能基线:在系统分析和软件定义阶段结束时,经过正式评审和批准的系统设计规格说明中对被开发软件系统的规格说明;经过项目委托单位和项目承办单位双方签字同意的协议书或合同中所规定的对被开发软件系统的规格说明;由下级申请及上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明。基本概念基线分类指派基线:又称为分配基线,指在软件需求分析阶段结束时,经过正式评审和批准的软件需求的规格说明,指派基线是最初批准的指派配置标识。产品基线:指在软件组装与系统测试阶段结束时,经过正式评审的批准的有关所开发的软件产品的全部配置项的规格说明,产品基线是最初批准的产品配置标识。基本概念基线分类基本概念基线实例【例】《电信移动计费系统用户需求报告V1.0》为电信移动计费系统V1.0的一根基线。使用Visi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融业务全景解析
- 2024深圳小微企业社保补贴申报流程优化与合同条款3篇
- 基础设施建设战略合作协议书(2篇)
- 大型展会推广合同(2篇)
- 2024年高铁站房建设土木工程承包合同范本3篇
- 2024房屋租赁合同
- 4 不做“小马虎”第二课时(说课稿 )2023-2024学年统编版道德与法治一年级下册 第一单元 我的好习惯
- 2024房地产公司投资合作协议
- 车辆维修场地租赁合同
- 树木购销合同范本
- 年度得到 · 沈祖芸全球教育报告(2024-2025)
- 2025河北机场管理集团限公司招聘39人高频重点提升(共500题)附带答案详解
- (2024-2025)新人教版八年级上册语文期末测试卷及答案
- 35KV变电站地质勘察与施工方案
- 2025年中国社会科学院外国文学研究所专业技术人员招聘3人历年管理单位笔试遴选500模拟题附带答案详解
- 运输公司安全隐患大排查整治行动方案
- 湖北省十堰市2023-2024学年高二上学期期末调研考试 物理 含答案
- 传染病和突发公共卫生事件报告和处置培训课件
- 道具设计安装合同模板
- 2024至2030年中国白内障手术耗材行业投资前景及策略咨询研究报告
- 体育单杠课件教学课件
评论
0/150
提交评论