1、第六讲 项目的质量管理1前述工作小结前述工作小结合同需求WBS活动活动排序活动历时估计编制计划成本估算成本预算2计划计划q项目计划q范围计划q成本计划q进度计划q其它计划?3RoadMapRoadMap合同管理合同管理 生存期生存期需求管理需求管理 任务分解任务分解项目进度项目进度项目估算项目估算质量计划质量计划 配置计划配置计划风险计划风险计划团队管理团队管理项目度量项目度量集成项目集成项目跟踪控制跟踪控制 项目结束项目结束4本章要点本章要点一、软件质量的基本概念一、软件质量的基本概念二、软件质量管理过程三、软件质量计划5质量的概念质量的概念质量的多种定义质量的多种定义q 符合目的或者用途(
2、Joseph Juran)q用户的感觉就是质量(A V Feigenbaum)q符合顾客在其合理价格下对产品的要求(Sud Ingle)q产品或者服务满足明确和隐含需要能力的性能特性的总体(BS4778)6质量的定义质量的定义 n实体是指可单独描述和研究的事物,也就是有关质量工作的对象,它的内涵十分广泛,可以是活动、过程、产品(软件、硬件、服务)或者组织等。n明确需求是指在标准、规范、图样、技术要求和其他文件中已做出规定的需要。n隐含需求是指用户和社会对实体的期望以及公认的、不必明确的需求,需要对其加以分析研究、识别并加以确定的。质量:质量:国际标准组织对质量的定义国际标准组织对质量的定义:“
3、反映反映实体满足主体明确和隐含需求的能力的特性实体满足主体明确和隐含需求的能力的特性总和总和”7质量定义质量定义q质量是满足要求的程度,包括符合规定的要求和满足顾客的需求.8软件质量软件质量q软件质量是软件满足明确说明或者隐含的需求的程度q明确说明:查询功能q隐含说明:查询速度9 软件质量概念软件质量概念 ISO8402定义定义:“对用户在功能和性能方面需求的对用户在功能和性能方面需求的满足、对规定的标准和规范的遵循以及正规软件满足、对规定的标准和规范的遵循以及正规软件某些公认的应该具有的本质某些公认的应该具有的本质”ANSI/IEEEANSI/IEEE定义定义:“与软件产品满足规定的和隐与软
4、件产品满足规定的和隐含的需求能力有关的特征和特性的全体含的需求能力有关的特征和特性的全体”软件质量不是绝对的,而是相对的概念,软件质量不是绝对的,而是相对的概念,讨论软讨论软件的质量,最终将归结为定义软件的质量特性,件的质量,最终将归结为定义软件的质量特性,而定义一个软件的质量,就等价于为该软件定义而定义一个软件的质量,就等价于为该软件定义一系列质量特性一系列质量特性 软件质量软件质量:10软件质量模型软件质量模型 B.W.Boehm、T.R.Brown和M.Lipow 于1976年首次提出软件质量模型 1977年Walters和McCall提出了新的软件质量层次模型与度量 1994年ISO9
5、000-3软件质量国际标准(ISO的软件质量评价模型)给出了 6个软件质量特性和与其相关的21个质量子特性的明确定义 软件质量模型软件质量模型:11软件质量模型软件质量模型 BoehmBoehm软件质量模型软件质量模型 :总体效用可移植性可维护性可使用性可靠性效率人性化可测试性易理解性可修改性设备无关性自包含性准确性完备性健壮性一致性可说明性设备效率易存取性易交流性自描述性结构性简明性易读性可扩充性12McCallMcCall质量模型质量模型13主观质量模型主观质量模型-ICEDT模型模型qI:直观性q产品的使用是否合乎人们的通常想法?qC:一致性q产品的运行是否有一贯性?qE:效率 q产品是
6、否可以让用户迅速和经济地完成其任务?qD:耐久性q产品是否稳定和可靠?qT:体贴q产品是否充分考虑了用户的需求?14软件质量框架模型软件质量框架模型15软件质量影响因素软件质量影响因素 n正确性 n健壮性 n效率 n完整性(安全性)n可用性 n风险 n可理解性 n可维修性 n灵活性(适应性)n可测试性 n可移植性 n可重用性 n互操作性16质量的重要性质量的重要性q质量管理是项目管理的最高统一(三大目标的统一)质量进度费用17质量的重要性质量的重要性q软件危机的主要矛盾q低质量的软件就像定时炸弹q低质量的产品,增加成本q质量是生命也是信誉18质量的形成质量的形成q质量形成于产品或者服务的开发过
7、程中,而不是事后的检查(测试)把关等。19质量管理理论的发展过程质量管理理论的发展过程工匠自控质量检查19201940质量控制TQM质量保证1960197020质量管理的定义质量管理的定义 n质量管理是项目管理的重要组成部分,是一个项目的性能(功能)、成本、进度3项指标实现的重要领域。n质量管理主要就是监控项目的可交付产品和项目执行的过程,以确保它们符合相关的要求和标准,同时确保不合格项能够按照正确方法或者预先规定的方式处理。质量质量管理管理:“确定质量方针、目标和职责并确定质量方针、目标和职责并在质量体系中通过质量计划、质量控制、质在质量体系中通过质量计划、质量控制、质量保证和质量改进使其实
8、施的全部管理职能量保证和质量改进使其实施的全部管理职能的所有活动的所有活动”21质量管理发展过程及影响因素质量管理发展过程及影响因素 n以产品为中心的质量检验和统计质量控制阶段(18世纪 1950年)。n以顾客为中心的质量保证阶段(1950年 1987年)。n强调持续改进的质量管理阶段(1987年 现在)。n全面质量管理阶段(TQM)。检验统计质量控制质量保证质量管理全面质量管理22质量管理发展过程及影响因素质量管理发展过程及影响因素 产品质量材料方法设备测量人员环境图 产品质量的主要影响因素23全面质量管理全面质量管理 1.1.系统的观点系统的观点n产品质量的形成和发展过程包括了许多相互联系
9、、相互制约的环节,不论是保证和提高产品质量还是解决产品质量问题,都应该把生产企业看成一个开放的系统,运用系统科学的原理和方法,对所有环节进行全面的组织管理。2.2.向用户服务的观点,用户满意是第一原则向用户服务的观点,用户满意是第一原则n要树立质量第一、用户第一的思想,满足广义用户(产品的使用者以及企业生产过程的下一阶段)对产品质量的要求。3.3.预防为主的观点,事前主动进行质量管理预防为主的观点,事前主动进行质量管理n这个观点要求生产企业的质量管理重点应从事后检验把关转移到事前预防,从管结果转变为管因素,找出影响产品质量的各种因素,抓住主要因素,使生产经营活动处于受控状态。24全面质量管理全
10、面质量管理 APCD检查执行经验教训遗留问题问题原因主要原因 计划图 质量管理的PDCA循环图25发展时期程序设计程序系统年代 成品开发组织方式开发技术特点开发工具质量管理特征软件工程至50年代末至70年代初至今程序软件软件产品个体项目设计组、软件作坊软件机构(软件工厂)靠开发者个人技巧机器代码、汇编语言个人设计、个人使用、手工技巧、无维护观念、无系统化方法程序设计理论深入、模块化、自顶向下,逐步求精,不重视维护问题高级语言、操作系统、数据管理系统靠少数人协调把关系统化、规范化、全员化逐步产生与各种方法相应的工具、开发环境结构化设计理论和方法面向对象方法、快速原型技术。26决定质量的因素决定质
11、量的因素程序设计:程序系统:软件工程:程序程序员 编程程序文档小组设计编程测试程序文档数据团队软件生命周期27质量成本质量成本(CoQCoQ)q质量成本是由于产品的第一次工作不正常而衍生的附加花费,包括两部分q预防成本q缺陷成本28Cost of Software DefectsCost of Software DefectsIt is important to spend money up-front on IT projects to avoid spending a lot more later.When Defect is DetectedTypical Cost of Correct
12、ionUser Requirements$100-$1,000Coding/Unit Testing$1,000 or moreSystem Testing$7,000-$8,000Acceptance Testing$1,000-$100,000After ImplementationUp to millions of dollars29质量测量方法质量测量方法-质检质检/过失过失比比质检质检/过失比过失比-有用的质量测量方法有用的质量测量方法q质检/过失比=预防成本/缺陷成本q质检/过失比2:应该努力达到的程度30质检质检/过失比图示过失比图示31质量度量质量度量n对于每一准则,必须定义一
13、个和多个度量标准来完成评估工作n任何相对度量需要将度量的单元与环境中发生的最大可能性相联系,例如程序中最大的错误数就需要和程序的大小相联系。n在某些时候,我们可以直接度量质量,在另外一些时候,我们度量的是质量的表现。n软件的使用者关注的是质量因素,而开发者需要关注的是质量准则。32质量度量质量度量n为了度量,需要对每一质量规定:l度量的单元l测试的范围l最差的可接受的值l计划达到的值l当前可达到的最佳的值l目前的值n问题:针对字处理系统,举出一个质量度量的例子。33质量度量质量度量n质量:易学习性n定义:新手学会使用软件生成一份标准文档的时间n度量的单元:小时n测试:首先对新手进行调查以确定他
14、们的字处理软件的使用经验,然后给他们一台机器,一套软件,训练手册和安装文档。然后测试他们学会生成一份文档的时间n最差:4小时n计划:2小时n最好:1小时n目前:4小时34本章要点本章要点一、软件质量的基本概念二、软件质量管理过程二、软件质量管理过程三、软件质量体系3536 软件质量标准软件质量标准 软件质量标准的定义,有软件质量标准的定义,有3 3个重要方面需要强调:个重要方面需要强调:n软件需求是进行质量度量的基础,与需求不符就是质量不高。n指定的标准定义了一组指导软件开发的准则。如果不遵循这些准则,就极有可能导致软件质量的不高。n软件需求中通常有一组“隐含需求”是很少被提及的,如对易维护的
15、要求,如果软件符合了明确需求却没有满足隐含需求,软件的质量仍然值得怀疑。37质量管理对象质量管理对象q质量管理的对象q过程的质量q产品的质量38 软件质量管理软件质量管理 软件产品的质量软件产品的质量目标开发过程的质量目标开发过程的质量 开发过程质量和软件产品质量的关系39 软件质量标准软件质量标准 表表 产品及过程标准产品及过程标准产品标准过程标准设计复审格式设计复审行为文档命名标准文档应该服从CM程序标头格式版本发行过程编程标准项目计划同意过程项目计划格式变化控制过程变化请求表测试记录过程40软件质量管理过程软件质量管理过程q软件项目的质量计划q软件质量保证q软件质量控制41质量计划质量计
16、划q确定项目应达到的质量标准q决定如何满足质量标准的计划安排和方法42软件项目质量计划软件项目质量计划 依据依据:n质量方针。质量方针是由高层管理者对项目的整个质量目标和方向制定的一个指导性的文件。但是,在项目实施过程中,可以根据实际情况对质量方针进行适当的修正。n范围描述。项目的范围描述说明了投资人对项目的需求以及项目的主要要求和目标,因此,范围描述是质量计划的重要依据。n产品描述。产品描述包含了更多的技术细节和性能标准,是制定质量计划必不可少的部分。n标准和规则。项目质量计划的制定必须参考相关领域的各项标准和特殊规定。n其他工作的输出。在项目中,其他方面的工作成果也会影响质量计划的制定。4
17、3软件项目质量计划软件项目质量计划 方法和技术方法和技术 :n效益/成本分析法。质量计划必须考虑效益与成本的关系。满足质量需求的主要效益是减少了重复性工作,即高产出、低成本、高用户满意度。质量管理的基本原则是效益与成本之比尽可能大。n基准法。主要是通过比较项目的实施与其他同类项目的实施过程,为改进项目的实施过程提供借鉴和思路,并作为一个实施的参考标准。n流程图。流程图是一个由箭线和结点表示的若干因素关系图,可以包括原因结果图、系统流程图、处理流程图等。因此,流程图经常用于项目质量控制过程中,其主要目的是确定以及分析问题产生的原因。n试验设计。试验设计对于分析整个项目输出结果是最有影响的因素,也
18、是十分有效的。对于软件开发,设计原型解决核心技术问题和主要需求也是可行和有效的。但是,这种方法存在费用与进度交换的问题。44软件项目质量计划软件项目质量计划 阶段成果阶段成果 :n质量管理计划。主要描述了项目管理小组应该如何实施项目质量方针,包括对组织结构、责任、方法、步骤、资源等实施质量管理。质量计划提供了对整个项目进行质量控制、质量保证及质量改进的基础。n操作说明。对于质量计划中的一些特殊条款需要附加的操作说明,包括注解、如何控制、如何度量,以及在何种情况下采取何种措施和方法等说明。n检查表。各种检查表是记录项目执行情况和进行分析的工具,既可以简单,也可以复杂,但需要项目小组形成一种较标准
19、的体系。45质量保证质量保证(QA)(QA)q通过评价项目整体绩效,建立对质量要求的信任q提供项目和产品可视化的管理报告q例如:总体设计规格质量审计qIs it done right?q这个任务本身并不能提高产品的质量q一般由质量保证部门人员实施46质量保证的要点质量保证的要点1.对项目进行评价2.推测能否达到质量指标3.建立对项目的信心47质量控制质量控制(QC)(QC)q确定项目结果与质量标准是否相符,同时,确定消除不符的原因和方法q控制产品的质量,及时纠正缺陷q例如:评审、单元测试qIs it right done?q这个任务本身提高产品的质量q一般由开发人员实施48质量控制的要点质量控
20、制的要点1.检查工作结果2.按照标准跟踪检查3.确定措施消灭质量问题49质量保证与质量控制质量保证与质量控制qQA:Is to focus the process.qQC:Is to control the quality before deliveryP1P2P3ProductQAQCQA50软件质量管理的实施软件质量管理的实施 定义过程开发产品评估产品质量改正过程过程标准化NY合格?软件质量管理贯穿产品生产的全过程51质量保证活动质量保证活动-审计审计(Audit Audit)q审计审计(Audit)是对过程或者产品的一次独立评估是对过程或者产品的一次独立评估。将审核的主体与为该主体以前建
21、立的一组规程和标准进行比较q目的是确保真正的遵循了这一个过程,产生了合适的文档和精确反映实际项目的报告q可以预先规划的,也可以是临时决定的。52软件项目中常用的质量保证活动软件项目中常用的质量保证活动q审计(Audit)q项目执行过程评审(审计)项目执行过程评审(审计)q项目产品审计项目产品审计53项目执行过程评审(审计)q对项目的执行过程进行检查,确保所有活动遵循规程进行。54项目产品审计q对项目过程中的工作产品进行质量审查的过程。q记录不符合项 q编写产品审计报告 55软件项目评审的几类软件项目评审的几类 软件项目有以下几种类型的评审:软件项目有以下几种类型的评审:n设计或者程序检查。目的
22、是发现设计或者代码中的详细错误,并且检查设计和代码是否遵循了标准。n管理评审。这种类型的评审,其目的是为软件项目的整个进度管理过程提供信息,它既是过程评审也是产品评审,主要关心项目的成本、计划和进度。管理评审是重要的项目检查点,在这些检查点上,经常做一些关于项目将来开发计划或者产品生存能力的决策。n质量评审。个人或者小组的工作由评审小组进行评审。这个专门的评审小组由项目组成员和技术管理人员组成。这种类型的评审和设计与代码检查不同,因为系统不可能被详细地描述。这个评审的目的是对产品组件或文档进行技术分析,从而发现需求、设计、编码和文档之间的错误或者不匹配之处,以及是否遵循了质量标准或质量计划中的
23、其他质量属性等更广泛的质量问题。56软件项目评审阶段软件项目评审阶段 选择评审小组安排地点时间分发文档评审通知和完成评审表格 评审过程57软件项目评审的作用软件项目评审的作用 原始要求正确的规格说明 错误的规格说明需求分析正确的设计错误的设计对错误说明的设计正确的编码错误的编码对错误说明的编码对错误设计的编码正确的功能可改正的错误潜伏的错误不可改正的错误不完善的产品设计编码测试 错误“积累”及“放大”效应不符合需求的产品可行的产品58软件项目评审的作用软件项目评审的作用 需求阶段错误对后期的影响需求阶段错误对后期的影响阶段错误扩张倍数需求分析阶段1设计阶段(概要、详细)36倍编码阶段10倍集成
24、测试阶段1540倍系统测试阶段3070倍运行40100倍59软件项目中常用的质量控制活动软件项目中常用的质量控制活动q静态分析静态分析q动态测试(Test)q缺陷追踪60静态分析静态分析q定义:q不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态测试技术。q方法:q走查:WalkThroughq审查:Inspectionq评审:ReviewMichael Fagan IBM(1976)61对等技术评审对等技术评审(Peer ReviewPeer Review)q对等技术评审是由与工作产品开发人员具有同同等背景和能力的人员等背景和能力的人员对工作产品进行的
25、一种评审,q目的是早期和有效的消除早期和有效的消除软件工作产品中的缺陷,并可对软件工作产品和其中可预防预防的缺陷有更好的理解。q对等评审是提高生产率和产品质量的重要手段。62静态分析的主要对象静态分析的主要对象q软件需求规格q软件设计规格q测试计划q用户手册q源代码q。63软件项目中常用的质量控制活动软件项目中常用的质量控制活动q静态分析q动态测试(Test)q缺陷追踪64软件测试软件测试q单元测试q集成测试q系统测试q压力测试q接受测试q。6566软件项目中常用的质量控制活动软件项目中常用的质量控制活动q静态分析q动态测试(Test)q缺陷追踪67缺陷追踪缺陷追踪68本章要点本章要点一、软件
26、质量的基本概念二、软件质量管理过程三、软件质量体系三、软件质量体系69质量体系质量体系组织结构程 序过 程资 源质量体系 为实施质量管理所需的组织结构、程序、过程和资源。70一个质量体系例子一个质量体系例子过程改善组织程序规范产品标准保证执行决策、建立、维护包含关键过程域支持过程域过程规范产品过程执行组织质量保证组织保证图8-7 质量体系要素关系图 质量文件体系支持过程域产出71质量体系与质量计划的区别质量体系与质量计划的区别q质量体系是企业长期遵循和需要重复实施的文件,具有较强的标准性质q质量计划是一次性实施的,项目结束,质量计划的有效性就结束。72软件质量体系软件质量体系 质量体系的定义质
27、量体系的定义 :nISO8402-94对质量体系的定义是“为了实施质量管理的组织结构、职责、程序、过程和资源”的一种特定体系。n质量体系的要素可以分为两大类:一是质量体系的结构要素;二是质量体系的选择要素。前者是构成组织质量体系的基本要素;后者是质量体系涉及产品生命周期的全部阶段,从最初需求识别到最终满足需要的所有过程的质量管理活动。73ISO9000ISO9000质量体系简介质量体系简介 ISO9000ISO9000标准系列,它由标准系列,它由5 5个部分组成:个部分组成:n(1)质量术语标准;n(2)质量保证标准;n(3)质量管理标准;n(4)质量管理和质量保证标准的选用和实施指南;n(5
28、)支持性技术标准。74ISO9000ISO9000质量体系简介质量体系简介 质量保证标准ISO9001设计、开发、生产和服务ISO9002生产、安装和服务ISO9003最终检验和试验标准选用与实施指南ISO9000-1选择和使用指南ISO9000-2是ISO9001-ISO9003实施通用指南ISO9000-3计算机软件中的实施指南ISO9000-4可信性大纲指南质量管理标准ISO9004-1指南ISO9004-2服务指南ISO9004-3流程性材料ISO9004-4质量改进质量术语标准支持性标准ISO9000标准系列框架75ISO9000ISO9000质量体系的原则质量体系的原则 质量管理八
29、大原则质量管理八大原则 :n(1)以客户为中心。n(2)统一的宗旨、明确方向和建设良好的内部环境。n(3)全员参与。n(4)将相关的资源和活动作为过程来进行管理。n(5)系统管理。n(6)持续改正。n(7)以事实为决策依据。n(8)互利的供求关系。76软件过程能力成熟度模型概述软件过程能力成熟度模型概述 CMMCMM模型模型 过程能 力等级特 点关键过程领域级初始级软件开发过程是特定的,只有很少的工作过程是经过严格定义的,软件过程经常被改变,软件质量不稳定,进度、费用等难以预测 级可重复级建立了基本的项目管理过程,可进行软件开发以及跟踪成本、进度和性能等方面所必须的过程管理。能提供可重复以前成
30、功项目管理的经验和环境,软件需求、软件开发过程及其相应的技术状态是受控的需求管理软件项目软件项目跟踪和监督软件分包合同管理软件质量保证软件配置管理77软件过程能力成熟度模型概述软件过程能力成熟度模型概述 CMM模型,过程能 力等级特 点关键过程领域级已确定级软件开发活动的过程在管理活动、技术活动和支持活动等方面都已文档化、规范化。所有项目或产品的开发和维护都在这个规范化的体系基础上进行定制。软件项目的成本、进度、质量以及过程是受控的,软件质量具有可追溯性组织过程焦点组织过程定义培训大纲综合软件管理软件产品工程组织协调同行专家评审级已管理级运用度量方法和数据,可以对软件产品和开发过程实施定量的分
31、解和控制定量的过程管理软件质量管理级优化级通过建立开发过程的定量反馈机制,不断产生新的思想、采用新的技术来不断地改进和优化软件开发过程缺陷预防技术改变管理过程改变管理78质量计划要求质量计划要求q项目应达到的质量目标和所有特性的要求q确定项目中的质量活动和质量控制程序q项目不同阶段,职责,权限,交流方式以及资源分配q确定项目采用的控制手段,合适的验证手段和方法q确定和准备质量记录79E.g.Quality planE.g.Quality planDesign Design PhasePhase.High Level DesignDesign logic and flowDefine inter
32、nal component interfacesConduct reviewLow Level DesignPseudo code logicConduct review .80质量计划模板参照质量计划模板参照q 项目概述q 实施策略q 项目组织q 质量保证对象分析及选择q 质量保证任务划分q 实施计划q 资源计划q 记录的收集、维护与保存81质量不同思路质量不同思路q微软紧包装q摩托罗拉需要达到6Sigmaq航天飞机控制软件接近零缺陷,无故障q典型的政府合同满足合同的要求和规格82软件质量改善的要求软件质量改善的要求q软件质量活动必须经过规划q软件质量活动规划必须明文规定q质量活动必须尽早开
33、始q质量小组必须独立存在q应该经过训练q必须有适当的经费83小结小结q质量管理的过程q质量规划q质量保证q质量控制q质量计划第七讲 项目的配置管理85承启上课承启上课q辅助计划q质量计划q?86RoadMapRoadMap合同管理合同管理 需求管理需求管理生存期生存期任务分解任务分解项目进度项目进度项目估算项目估算质量计划质量计划 配置计划配置计划风险计划风险计划团队管理团队管理项目度量项目度量集成项目集成项目跟踪控制跟踪控制 项目结束项目结束87前言前言软件项目中是否遇到如下的问题软件项目中是否遇到如下的问题q找不到某个文件的历史版本;q开发人员使用错误的版本修改程序q开发人员未经授权修改代
34、码或文档;q人员流动,交接工作不彻底;q已修复的Bug在新版本中出现;q无法重新编译某个历史版本;q因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;q 88前言前言q软件项目进行中面临的一个主要问题是持续不断的变化q有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。89本章要点本章要点一、软件项目配置管理基本概念配置管理配置项基线SCCB二、软件项目配置管理过程三、软件项目配置管理计划90配置管理简述配置管理简述q记录软件产品的演化过程q确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。q最终保证软件产品的完整性、一致性、追朔性、可控性91配置管理
35、的作用配置管理的作用 Who am I?Why am I here?Why am I who I am?Where do I belong?92配置管理的主要功能配置管理的主要功能q版本管理q变更管理q其它93软件配置项软件配置项:SCISCI software configrationsoftware configration item itemq软件配置项是项目需定义其受控于软件配置管理的款项。每个项目的配置项也许会不同。94软件配置项举例软件配置项举例q系统规格说明书q软件需求规格说明书q设计规格说明书q源代码q测试规格说明书 95配置项的版本配置项的版本需求规格V1.1需求规格:需求规
36、格V1.2需求规格V1.3配置项类配置项实例96基线定义基线定义q基线提供了软件生存期中各个开发阶段的一个特定点,q一个(些)配置项形成并通过审核,即形成基线q基线标志开发过程一个阶段的结束和里程碑q基线修改需要按照正式的程序执行97软件开发各个阶段基线图示软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统98SCCB(Software Configuration SCCB(Software Configuration Control Board)Control Board)配置控制委员会配置控制委员
37、会(SCCB)SCCB)q评估变更q批准变更申请q在生存期内规范变更申请流程q对变更进行反馈q与项目管理层沟通 99本章要点本章要点一、软件项目配置管理基本概念二、软件项目配置管理过程三、软件项目配置管理计划四、案例分析100基本活动基本活动配置标识配置审计状态统计变更控制101配置管理的基本过程配置管理的基本过程1.配置项标识、跟踪2.配置管理环境建立3.基线变更管理4.基线审核5.配置状态统计6.配置管理计划1021 1、配置项配置项标识、跟踪标识、跟踪q将软件项目中需要进行控制的部分拆分成SCIq建立唯一的标识q建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求
38、和规格的要求相一致,103配置项的拆分例子配置项的拆分例子(某医疗网站)需求规格SCI1.辅助功能.doc2.性能.doc3.产品目录.doc4.医务管理.doc5.医疗专业区.doc6.首页.doc 104配置项的标识配置项的标识q配置项被唯一的标识105配置项的标识约定举例配置项的标识约定举例QTD-SchoolRMSRS-v1.0公司:公司:3个字符个字符项目:最长项目:最长10个字符个字符类型:最长类型:最长5个字符个字符编号:最长编号:最长8位数字位数字版本号:版本号:V m.n106配置项的跟踪配置项的跟踪1072 2、配置管理环境建立配置管理环境建立建立配置管理库建立配置管理库q
39、软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。108受控操作受控操作评审/验证新版本变更控制流程Check inCheck out受控库109配置配置库库12RELEASE1.0345671234RELEASE1.11234PATCH#2121PATCH#1RELEASE2.0MAINBRANCHWINDOWS NTBRANCHMAINTENANCEBRANCHBUG_1BRANCHBUG_2BRANCH110q基线修改应受到控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。3 3、基线变更管理过
40、程基线变更管理过程1113 3、基线变更系统、基线变更系统 配置控制变更请求变更评估变更批准/拒绝变更实现112变更请求变更请求项目名称项目名称变更申请人变更申请人提交时间提交时间变更题目变更题目紧急程度紧急程度变更具体内容变更具体内容变更影响分析变更影响分析变更确认变更确认处理结果处理结果签字签字113变更评估变更评估变更评估软件变更分类技术影响分析接口影响分析进度影响分析预算影响分析图9-11:变更请求的评估114变更批准变更批准/拒绝拒绝批准/拒绝变更(若批准)实施变更决策(若批准)验证变更(若批准)发布、安装变更(若批准)版本更新115变更实现变更实现变更实现变更实现受控基线出库实现的
41、测试和验证实现被承认受控基线入库116变更控制系统变更控制系统-举例举例1174 4、基线审核、基线审核 q配置管理活动审核q基线审核1185 5、配置状态配置状态统计统计q检查配置管理系统以及内容,q检测配置项变更历史119IEEEIEEE标准标准828-1998828-1998规定用于计算规定用于计算配置状态的最小数据集包括配置状态的最小数据集包括q被批准的配置项 q配置项的所有请求的变化状态 q配置项所有被批准的变更实现状态 120评估一个配置系统状态评估一个配置系统状态 q变更请求的数量 q变更请求的历史报告 q存储量的增长 q配置管理系统以及SCCB在运作中发生异常的次数等等 121
42、本章要点本章要点一、软件项目配置管理基本概念二、软件项目配置管理过程三、软件项目配置管理计划四、案例分析122配置管理计划过程配置管理计划过程形成配置管理计划规划配置管理任务评审配置计划参加项目规划123配置管理计划大纲配置管理计划大纲q基线定义q版本控制q定义变更控制过程q变更委员会的管理q变更控制纪录124配置管理计划模板配置管理计划模板1.引言2.软件配置管理1.软件配置管理组织2.软件配置管理责任3.与软件过程生命周期的关系3.软件配置管理活动1.配置标识2.项目基线3.配置库125配置管理计划模板(续)配置管理计划模板(续)4.软件配置管理活动1.配置控制程序2.配置状态核算3.配置
43、审核5.支持126配置管理的工具配置管理的工具q工具应具有的功能q版本管理q变更管理q问题追踪q建立管理q状态统计(查询和报告)q配置审核q访问控制和安全控制127常用配置管理的工具常用配置管理的工具1.ClearCase&ClearQuest2.PVCS3.SVN4.CVS5.VSS128配置管理建议配置管理建议1.制定规则:实现版本管理1.小企业,小项目2.制定规则和(版本管理)工具:实现部分配置管理1.中小企业,中小项目3.制定规则和(配置管理)工具:实现配置管理-1.大企业,大项目2.异地开发模式3.配备专门的配置管理人员129本章要点本章要点一、软件项目配置管理基本概念二、软件项目配置管理过程三、软件项目配置管理计划130小结小结q配置管理的基本概念q配置项q基线qsccbq配置管理过程,q配置管理计划的基本内容