《软件质量管理精.ppt》由会员分享,可在线阅读,更多相关《软件质量管理精.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件质量管理第1页,本讲稿共62页9.1 软件质量的概念软件质量的概念 9 9.1.1 软件质量的定义软件质量的定义 GO9.1.2 软件质量模型软件质量模型 GO9.1.3 软件质量特性之间的竞争软件质量特性之间的竞争 GO第2页,本讲稿共62页1、软件质量1)参照ANSI/IEEE Std 729-1983,软件质量定义为:“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体”。或者:软件产品中能满足给定需求的性质和特性的总体,例如,符合规定说明;软件具有所期望的各种属性组合的程度;顾客或用户觉得软件满足其综合期望的程度;软件的合成特性,它确定软件在使用中将满足顾客预期要求的程度。
2、2)M.J.Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的组合。”所以计算机软件质量是软件的一些内部特性的组合。9.1.1 软件质量的定义软件质量的定义第3页,本讲稿共62页9.1.1 软件质量的定义软件质量的定义2.软件质量特性软件质量特性通常,软件质量可由以下主要特性来定义:(1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度;(2)效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度;(3)可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力;(4)安全性:为了防止意外或人为的破坏,软件应具备的自身保护能力能力;(5)
3、易使用性:对于一个软件,用户在学习、操作和理解过程中所做努力的程度;第4页,本讲稿共62页2.软件质量特性软件质量特性(6)可维护性:当环境改变或软件运行发生故障时,为了使其恢复正常运行所做努力的程度;(7)可扩充性:在功能改变和扩充情况下,软件能够正常运行的能力;(8)可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度(9)重用性:整个软件或其中一部分能作为软件包而被再利用的程度。9.1.1 软件质量的定义软件质量的定义第5页,本讲稿共62页3.软件生存期与质量特性软件生存期与质量特性从用户的角度看,软件的生存期可分为如下三个阶段:1)初期运用:运行新开发的软件产品。2)
4、维护与扩充:在运行过程中修改缺欠的内容;而且,为了进一步的使用,需根据运行环境(主要指应用环境和技术环境)的变化做功能上和性能上的扩充。3)移植和连接:把在原有平台上运行的软件向其它新的运行环境转移、或者组成软件包以便重用、或与其它软件进行连接。9.1.1 软件质量的定义软件质量的定义第6页,本讲稿共62页 对于软件所需求的质量特性,在软件生存期的不同阶段中情况各有不同,要求也不一样,这可由下图说明。9.1.1 软件质量的定义软件质量的定义第7页,本讲稿共62页1、McCall质质量量模模型型:McCall等等人人在在1979年年提提出出的的软软件件质质量量模模型型。其其质质量概念基于量概念基
5、于11个特性之上。个特性之上。9.1.2 软件质量模型软件质量模型第8页,本讲稿共62页产品修正产品转移产品运行可维护性测试性灵活性互联性可移植性复用性正确性 可靠性可使用性 效率完整性McCall软件质量模型9.1.2 软件质量模型软件质量模型第9页,本讲稿共62页McCall质量度量模型框9.1.2 软件质量模型软件质量模型特性评价准则评价准则评价准则度量度量度量面向管理观点的产品质量决定产品质量的软件属性(共有27个,见教材347页)定量化地度量软件属性第10页,本讲稿共62页9.1.2 软件质量模型软件质量模型2、ISO软件质量评价模型 ISO软件质量模型由三层组成,参见教材349页的
6、图9-5。其中高层和中层应建立国际标准,低层由各事业单位自行制定。1991年,ISO发布了ISO/IEC9126质量特性的国际标准,将质量特性降为6个,即功能性、可靠性、可维护性、效率、可使用性、可移植性,并定义了21个子特性。3、上海软件中心(SSC)软件质量度量模型 SSC模型采用了与ISO/IEC9126相同的6个质量特性,即功能性、可靠性、可维护性、效率、可使用性、可移植性,同时参照McCall模型,设置了22个质量子特性。质量特性和质量子特性的关系参见教材350页表9-2。第11页,本讲稿共62页9.2 软件质量管理软件质量管理 9 9.2.1 软件质量管理的主要活动软件质量管理的主
7、要活动 GO9.2.2 软件质量管理的内容软件质量管理的内容 GO9.2.3 软件开发标准与规范软件开发标准与规范 GO9.2.4 软件文件标准与规范软件文件标准与规范 GO第12页,本讲稿共62页9.2 软件质量管理软件质量管理 1、软件:通过承载媒体表达的信息所组成的一种知识产物。2、软件质量管理:软件组织在软件生产活动中的质量策划、质量控制、质量保证和质量改进等与软件质量有关的相互协调的活动。第13页,本讲稿共62页9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 1、软件质量策划1)内容包括:确定软件组织,适应其生产特点的组织结构,以及人员的安排和职责的分配。确定组
8、织的质量管理体系目标,根据组织的商业需要和产品市场,确定选择ISO9000或CMM作为其质量管理体系的符合性标准或模型。标识和定义组织的质量过程,即对组织的质量过程进行策划,确定过程的资源、主要影响因素、作用程序和规程、过程启动条件和过程执行结果规范等。识别产品的质量特性,进行分类和比较,建立其目标、质量要求和约束条件。策划质量改进的计划、方法和途径。第14页,本讲稿共62页9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 1、软件质量策划2)软件组织的质量过程通常包含两种类型:软件工程过程和组织支持过程 软件工程过程:就是通常所说的软件生命周期中的活动,一般包括软件需求分
9、析、软件设计、编码、测试、交付、安装和维护。一个组织的软件过程策划一般包括两个阶段:组织标准生产过程的策划和项目产品策划。CMM中定义了三个关键过程域来实现这两级的过程策划:组织过程定义:主要任务是识别和确定组织的质量过程,将组织必须和比较成熟的软件过程、过程资源要求、过程程序、过程产品要求等通过文件形成制度,并通过培训等机制贯彻到整个组织中,以改进所有项目的过程性能。软件项目策划:目的是为具体软件项目的开发、检查活动制定合理的计划。主要内容包括确定项目开发的主要活动及活动时间的关系、制定项目的开发进度、配备合适的资源、设定合适的检查点和检查方式等。软件产品工程:目的是协调一致地执行良好定义的
10、工程过程,将软件工程活动组成一个有机的整体以生产更好、更符合要求的软件产品。第15页,本讲稿共62页9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 1、软件质量策划2)软件组织的质量过程通常包含两种类型:软件工程过程和组织支持过程 组织支持过程:是软件组织为了保证软件工程过程的实施和检查而建立的一组公共支持过程。主要包括:管理过程:包括评审、检查、文档管理、不合格品管理、配置管理、内部质量审核和管理评审。支持过程:包括合同评审、子合同评审、采购、培训、进货检验、设备检验、度量和服务。在CMM中,有一些对应的关键过程区域:需求管理、软件子合同管理、软件质量保证、软件配置管理
11、、培训程序、同行评审第16页,本讲稿共62页9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 2、软件质量控制与保证 软件质量控制的主要目标就是按照质量策划的要求,对质量过程进行监督和控制。质量控制的主要内容有:1)组织中与质量活动有关的所有人员,按照职责分工进行质量活动。2)所有质量活动按照已经策划的方法、途径、相互关系和时间,有序地进行。3)对关键过程和特殊过程,实施适当的过程控制技术以保证过程的稳定性,并在受控的情况下,提高过程的能力。4)所有质量活动的记录都被完整、真实地保存下来,以供统计分析使用。第17页,本讲稿共62页9.2.1 9.2.1 软件质量管理的主要活
12、动软件质量管理的主要活动 2、软件质量控制与保证 实施软件质量控制通常涉及的技术:软件配置管理软件配置管理 软件配置管理的目的是,对软件生产过程中的所有有意义的中间产品形成文档,并以一种便于存取和检索、必要时可以逆向回溯的方式保存。同时配置管理还要保证文档的安全性、保密性和及时性。软件过程流管理软件过程流管理 现代质量理论认为:“质量形成于过程”。软件过程流管理是软件质量控制中非常重要的环节。过程流管理的基本原则是:按计划和设定条件启动和结束过程流中的质量活动 按照计划对中间产品进行验证,防止不合格的产品转入下道工序。记录和保持必要的过程活动的质量情况。软件质量保证软件质量保证 软件质量保证的
13、目的是向组织的内部或外部提供信任依据。对内向组织的管理者表明组织的质量管理处于良好的状态,所有质量活动有效地运行;对外向顾客表明,组织有能力满足顾客的质量要求,并提供符合质量要求的产品和服务。第18页,本讲稿共62页3软件质量的度量和验证软件质量的度量和验证 软件质量度量软件质量度量 产品质量度量产品质量度量产品质量度量产品质量度量 通常产品质量度量依赖于具体的产品标准,通过测量获得产品质量特性的有关数据,辅以合适的统计技术以确定产品或同批产品是否满足了规定的质量要求。过程质量度量过程质量度量过程质量度量过程质量度量 通过对软件产品设计、开发、检查、评审等过程的度量技术的使用,来度量软件过程的
14、进度、成本是否按计划保证,质量计划的变化频率,变化的诱因以及风险的管理等等。9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 第19页,本讲稿共62页软件质量验证软件质量验证 ISO 9000:2000中对验证(Verification)的定义是:“通过提供客观证据对规定要求已得到满足的认定”。CMM在关键过程域(KPA)的公共特征(Common Feature)-验证实现(Verifying Implementation)中这样描述:“验证实现是保证活动按照已经建立的过程执行的一系列步骤,典型的验证有管理部门的评审、审核和软件质量保证”。在软件质量管理中,对软件产品的验证
15、通常包括:对各级设计的评审、检查,各个阶段的测试等。对软件过程的验证,则是对过程数据的评审和审核。9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 第20页,本讲稿共62页 4软件质量改进软件质量改进 质量改进是现代质量管理的必然要求,ISO 9000要求组织定期进行内审和管理评审,采取积极有效的纠正预防措施,保持组织的质量方针和目标持续适合组织的发展和受益者的期望。具体进行软件过程改进的活动包括:度量与审核 纠正和预防措施 管理评审 9.2.1 9.2.1 软件质量管理的主要活动软件质量管理的主要活动 第21页,本讲稿共62页9.2.2 9.2.2 软件质量管理的内容软件
16、质量管理的内容 软件质量管理活动大致可以分为质量控制和质量设计,这两类活动内容在功能上是互补的。质量控制主要包括计划,规程评价和产品评价。质量设计主要是指质量准则的运用。1 1质量控制质量控制 计划 进行质量控制,必须首先制定一个软件质量管理计划,这个计划确定质量目标、确定在每个阶段为实现总目标所应达到的要求、对进度进行安排、确定所需人力、资源和成本等等,这个计划贯穿于整个软件的生存期中,并指导软件开发每个阶段的具体活动。第22页,本讲稿共62页 规程评价 规程就是在软件生存期中应当遵循的一些政策、规则和标准的具体实施的描述,软件质量管理就是通过软件管理人员来监督和执行这些规程。在规格中也包括
17、实行软件质量保证功能的描述,它们可以包括如下内容:指示在何时、何地进行规程审计、文件审计和代理审计;指示应当采集哪数据以及如何对其进行分析处理,例如,在每次评审和测试中发现的错误如何进行修正;描述希望得到的质量度量;规定在项目的什么阶段进行评审以及进行什么形式的评审;规定在项目的什么阶段应当产生什么报告和计划;规定产品各方面测试应达到的水平。9.2.2 9.2.2 软件质量管理的内容软件质量管理的内容 第23页,本讲稿共62页 产品评价 软件产品评价的主要目的是确保产品和它的需求相符合,类似于硬件的产品检验,这种评价所用的方法可以是设计的走查(walk-through)、代码的审计、测试结果的
18、分析以及软件的质量度量和评估等。质量设计质量设计 在质量设计中应当确定该软件应该达到什么水平,并考虑高质量的软件如何设计以及如何通过测试来确定质量等问题。为些,在质量设计中,首先要指定期望软件产品具有的主要质量要素或属性,并尽量使它们的指标定量化。质量管理活动的工具包括老七种与新七种,老七种工具是因果图法、排列图法、查表法、直方图法、散布图法、分层法及对策表法,新七种工具是关联图法、KJ法、系图法、矩阵图法、距阵数据分析法、过程决策程序图法(PDPC)、箭头图法。9.2.2 9.2.2 软件质量管理的内容软件质量管理的内容 第24页,本讲稿共62页9.2.3 9.2.3 软件开发标准与规范软件
19、开发标准与规范 在软件开发的军用标准方面比较著名的是美国国防部的标准DOD-STD-1679A和DOD-STD-2167。IEEE(美国电气和电子工程师学会)和ISO(国际标准化组织)的软件工程标准化工作方面的标准:ANSI/IEEE Std 729-1983 软件工程术语标准词汇ANSI/IEEE Std 730-1984 软件质量保证计划标准 IEEE Std 828-1983 软件配置管理计划标准ANSI/IEEE Std 829-1983 软件测试文档标准 IEEE Std 830 1984 软件需求规范说明指南 IEEE Std 983-1985 软件质量保证计划指南ISO DP 8
20、631 程序的构造及其使用约定其中,IEEE标准730是IEEE组织制定的一个软件质量工业标准。第25页,本讲稿共62页 我国的计算机与信息处理标准化技术委员会软件工程分技术委员会已开始进行这项工作,并且已制定了一些软件方面的标准(草案)。下图列举了软件工程标准体系的大致情况。9.2.3 9.2.3 软件开发标准与规范软件开发标准与规范第26页,本讲稿共62页9.2.4 软件软件文件标准与规范文件标准与规范 软件文件标准规定了软件开发过程中所应编制的软件文件的种类、名称、及内容要求,以便有一个统一的编写格式,便于交流和学习。我国正式的国家标准是:计算机软件开发规范:GB 8566-88 计算机
21、软件产品开发文件编制指南:GB8567-88 计算机软件工程术语标准 计算机软件测试文件编制规范:GB 9386-88 计算机软件配置管理计划规范:GB/T 12505-90 计算机软件质量保证计划规范:GB/T 12504-90 计算机软件需求规范说明编制指南:BG 9385-88 数据流图,程序流图,系统流程图,程序网络图和系统资源图的文件编制符号及约定。第27页,本讲稿共62页 国家标准计算机软件产品开发文件编制指南是一份指导性文件。它建议在软件的开发过程中编制下述14个文件。即:可行性研究报告 操作手册 项目开发计划 模块开发卷宗 软件需求说明书 测试计划 数据要求说明书 测试分析报告
22、 总体设计说明书 开发进度表 详细设计说明书 项目开发总结。数据库设计说明书 用户手册 该指南给出了这14个文件的编制提示,它同时也是这14个文件编写质量的检验准则。第28页,本讲稿共62页1.1.可行性研究可行性研究报报告告可行性研究报告可行性研究报告1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 可行性研究的前提 2.1要求 2.2目标 2.3条件假定和限制 2.4进行可行性研究的方法 2.5评价尺度3 对现有系统的分析 3.1数据流程和处理流程 3.2工作负荷 3.3费用开支 3.4人员 3.5设备 3.6局限性4 所建议的系统 4.1对所建议系统的说明 4.2数据流
23、程和处理流程 4.3改进之处 4.4影响 4.4.1对设备的影响 4.4.2对软件的影响 4.4.3对用户单位机构的影响 4.4.4对系统运行的影响 4.4.5对开发的影响 4.4.6对地点和设施的影响 4.4.7对经费开支的影响 4.5局限性 4.6技术条件方面的可行性5 可选择的其它系统方案 5.1可选择的系统方案1 5.2可选择的系统方案2 6 投资及收益分析 6.1支出 6.1.1基本建设投资 6.1.2其它一次性支出 6.1.3非一次性支出 6.2收益 6.2.1一次性收益 6.2.2非一次性收益 6.2.3不可定量的收益 6.3收益/投资比 6.4投资回收周期 6.5敏感性分析7
24、社会条件方面的可行性 7.1法律方面的可行性 7.2使用方面的可行性8 结论可行性研究报告的目的是:说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性,论述为了合理地达到开发目标而可能选择的各种方案,说明并论证所选定的方案。可行性研究报告的编写内容见下表。第29页,本讲稿共62页2项目开发计划项目开发计划 编制项目开发计划的目的是用文件的形式,将在开发过程中各项工作的负责人员、开发进度、经费预算、所需软硬件条件等问题作出的安排记录下来,以便根据本计划开展和检查项目的开发工作。编制内容要求如下表。项目开发计划表项目开发计划表1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资
25、料2 项目概述 2.1工作内容 2.2主要参加人员 2.3产品及成果 2.3.1程序 2.3.2文件 2.3.3服务 2.3.4非移交产品 2.4验收标准 2.5完成项目的最迟期限 2.6本计划的审查者与批准者3 实施总计划 3.1工作任务的分解 3.2接口人员 3.3进度 3.4预算 3.5关键问题4 支持条件 4.1计算机系统支持 4.2需要用户承担的工作 4.3需由外单位提供的条件5 专题计划要点第30页,本讲稿共62页3软件需求说明书软件需求说明书 软件需求说明书的编制是为了使用户和软件开发人员双方对该软件的初始规定有一个共同的理解,使之成为整个软件开发工作的基础。其内容要求见下表。软
26、件需求说明书软件需求说明书1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 任务概述 2.1目标 2.2用户的特点 2.3假定的约束3 需求规定 3.1对功能的规定 3.2对性能的规定 3.2.1精度 3.2.2时间特性要求 3.2.3灵活性 3.3输入输出要求 3.4数据管理能力要求 3.5故障处理要求 3.6其它专门要求4 运行环境规定 4.1设备 4.2支撑软件 4.3接口 4.4控制第31页,本讲稿共62页4数据要求说明书数据要求说明书 数据要求说明书的编制目的是为了向整个软件开发时期提供关于被处理数据的描述和数据采集要求的技术信息,其内容要求列于下表。数据要求说明书
27、数据要求说明书1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 数据的逻辑描述 2.1静态数据 2.2动态输入数据 2.3动态输出数据 2.4内部生成数据 2.5数据约定3 数据的采集 3.1要求和范围 3.2输入的承担者 3.3处理 3.4影响第32页,本讲稿共62页5总体设计说明书总体设计说明书 总体设计说明书又称为概要设计说明书,是指项目系统,编制目的是说明对项目系统的设计考虑,包括基本处理流程、组织结构、模块结构、功能配置、接口设计、运行设计、系统配置、数据结构设计和出错处理设计等,为程序的详细设计提供基础。其内容要求见下表。概要设计说明书概要设计说明书1 引言 1.
28、1编写目的 1.2背景 1.3定义 1.4参考资料2 总体设计 2.1运行环境 2.2运行环境 2.3基本设计概念和处理流程 2.4结构 2.5功能需求与程序的关系 2.6人工处理过程 2.7尚未解决的问题3 接口设计 3.1用户接口 3.2外部接口 3.3内部接口4 运行设计 4.1运行模块组合 4.2运行控制 4.3运行时间5 系统数据结构设计 5.1逻辑结构设计要点 5.2物理结构设计要点 5.3数据结构设计要点6 系统出错处理设计 6.1 出借信息 6.2补救措施 6.3系统维护设计第33页,本讲稿共62页 6详细设计说明书详细设计说明书 详细设计说明书又称为程序设计说明书,编制目的是
29、说明一个软件系统各个层次中的每一个程序(模块)的设计考虑。如果软件系统比较简单,层次少,本文件可以不单独编写,有关内容可并入总体设计说明书。详细设计说明书的内容要求见下表。详细设计说明书详细设计说明书1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 程序系统的组织结构3 程序1(标识符)设计说明 3.1程序描述 3.2功能 3.3性能 3.4输入项 3.5输出项 3.6算法 3.7流程逻辑 3.8接口 3.9存储分配 3.10注释设计 3.11限制条件 3.12测试计划 3.13尚未解决的问题4 程序2(标识符)设计说明 第34页,本讲稿共62页 7数据库设计说明书数据库设计
30、说明书 数据库设计说明书的编制目的是对于设计中的数据的所有标识、逻辑结构和物理结构作出具体的设计规定。内容要求见下表。数据库设计说明书数据库设计说明书1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 外部设计 2.1 标识符和状态 2.2使用它的程序 2.3约定 2.4专门指导 2.5支撑软件3 结构设计 3.1概念结构设计 3.2逻辑结构设计 3.3物理结构设计4 运用设计 4.1数据字典设计 4.2安全保密设计第35页,本讲稿共62页 8用户手册用户手册 用户手册的编制是使用非专业术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法,使用户通过本手册能够了解该软件
31、的用途,并能够确定在什么情况下、如何使用它。具体的内容要求见下表。用户手册用户手册1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 用途 2.1功能 2.2性能 2.2.1精度 2.2.2时间特性 2.2.3灵活性3 运行环境 3.1硬环境 3.2支撑软件 3.3数据结构4 使用过程 4.1安装与初始化 4.2输入 4.2.1输入数据的现实背景 4.2.2输入格式 4.2.3输入举例 4.3输出 4.3.1输出数据的现实背景 4.3.2输出格式 4.3.3输出举例 4.4文卷查询 4.5出错处理与恢复 4.6终端操作第36页,本讲稿共62页 9操作手册操作手册 操作手册的编制
32、是为了向操作人员提供该软件每个运行的具体过程的有关知识,包括操作方法的细节。内容要求见下表。操作手册操作手册1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 软件概述 2.1软件的结构 2.2程序表 2.3文卷表3 安装与初始化4 运行说明 4.1运行表 4.2运行步骤 4.3运行1(标识符)说明 4.3.1运行控制 4.3.2操作信息 4.3.3输入-输出文卷 4.3.4输出文段 4.3.5输出文段的复制 4.3.6启动恢复过程 4.4运行2(标识符)说明 5 非常规过程6 远程操作第37页,本讲稿共62页10模块开发卷宗模块开发卷宗 模块开发卷宗是在模块开发过程中逐步编写
33、出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起,编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个系统开发工作进行管理的复审,并为将来的维护提供有用的技术信息,具体内容要求见下表。模块开发卷宗模块开发卷宗1 标题2 模块开发情况表(见附表)3 功能说明4 设计说明5 源代码清单6 测试说明7 复审的结论第38页,本讲稿共62页11测试计划测试计划 测试是指整个软件系统的组装测试和确认测试,本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整体理方法及评价准则。具体内容见下表。测试计划测试
34、计划1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 计划 2.1软件说明 2.2测试内容 2.3测试1(标识符)2.3.1进度安排 2.3.2条件 2.3.3测试资料 2.3.4测试培训 2.4测试2(标识符)3 测试设计说明 3.1测试1(标识符)3.1.1控制 3.1.2输入 3.1.3输出 3.1.4过程 3.2测试2(标识符)4 评价准则 4.1范围 4.2数据整理 4.3尺度第39页,本讲稿共62页12测试分析报告测试分析报告 测试分析报告的编写是为了把组装测试和确认测试的结果、发现的问题、以及分析结果写成文件形式加以保存。具体编写内容要求见下表。测试分析报告测试
35、分析报告1 引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 测试概要3 测试结果及发现 3.1测试1(标识符)3.2测试2(标识符)4 对软件功能的结论 4.1功能1(标识符)4.1.1 能力 4.1.2限制 4.2 功能2(标识符)5 分析摘要 5.1能力 5.2缺陷和限制 5.3建议 5.4评价6 测试资源消耗第40页,本讲稿共62页 13开发进度月报开发进度月报 开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进度和情况,以便及时发现和处理开发过程中出现的问题。一般来说,开发进度月报是以项目组为单位每月编写的。具体内容要求见下表。开发进度月报开发进度月报1 标题2
36、 工程进度与状态 2.1进度 2.2状态3 资源耗用与状态 3.1资源耗用 3.1.1工时 3.1.2机时 3.2状态 4 经费支出与状态 4.1经费支出 4.1.1支出性费用 4.1.2设备购置费 4.2状态 5 下个月的工作计划 6 建议第41页,本讲稿共62页14项目开发总结报告项目开发总结报告 项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发成果以及对整个开发工作的各个方面的评价。具体内容要求见下表。项目开发总结报告项目开发总结报告1引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料2 实际开发结果 2.1产品 2.2主要功能和性能 2.3基本流程 2
37、.4进度 2.5费用3 开发工作评价 3.1对生产效率的评价 3.2对产品质量的评价 3.3对技术方法的评价 3.4出错原因的分析4 经验与教训 另外,必须对软件文件的修改活动进行严格的管理,要防止修改后所带来的不一致性以及可能对项目开发所产生的影响。修改前要提出书面的修改意见,经项目负责人或有关人员评议,审核后,经批准方可实施修改。修改过程中所产生的文件也就妥善保管,以备后查。第42页,本讲稿共62页9.3 软件质量的综合评价软件质量的综合评价 9 9.3.1 规定规定软件质量需求软件质量需求 GO9.3.2 软件质量评价方法软件质量评价方法 GO9.3.3 软件过程成熟度模型软件过程成熟度
38、模型 GO第43页,本讲稿共62页9.3.1 规定软件质量需求规定软件质量需求 规定软件质量需求是在综合考虑了要素对软件的重要性和要素间的关系后做出的,并为以后的软件质量度量建立了对照的依据。规定软件质量需求分三个部分:1 1、决定决定软软件件质质量要素量要素 .为软件定一个原始的质量指标,质量指标反映了要素对软件的相对重要性。指标通常分为三级:A:说明这个要素对软件来说极其重要;B:说明这个要素对软件来说是重要的;C:说明这个要素对软件来说比较重要。第44页,本讲稿共62页1 1、决定决定软软件件质质量要素量要素 .定量化地表示要素与软件质量的关系,指标应该用一个数值范围来表示。如果x代表质
39、量指标的值,建议A表示:0.9x1,B表示:0.8x0.9,C表示0.6x0.8。这样,在为软件的每个要素打分后,可以对照为软件制定的质量指标,看看软件产品的质量是否达到了要求。.考虑3个基本质量要素对其它要素的影响,这3个基本要素是可靠性、功能性和可维护性。.考虑了基本的质量要素对其它要素的影响后,应该对原始的质量指标进行修正。.在为要素分配最终的质量指标时,还应当考虑要素间有利的和不利的关系,以决定为要素所定的指标是否可以达到。如果指定的指标不能达到,还应考虑对所修正的质量指标进行修改,以决定最终的指标。9.3.1 规定软件质量需求规定软件质量需求第45页,本讲稿共62页2 2、决定准则及
40、其权值、决定准则及其权值 对每个建立了质量指标的要素(没有建立质量指标的要素不必这样),查阅表9.4(教材351页),找出属于这个要素的所有准则(即表9.4中划圈的准则),把它们标出来。然后,再为这些准则加权。准则的权说明了准则和要素的特殊关系,即准则在要素中所占的比重。加权的结果形式如矩阵M:其中mij代表i个打分员为第j个准则加的权。9.3.1 规定软件质量需求规定软件质量需求第46页,本讲稿共62页 对矩阵M 作适当变换,可以得到W=(W1,W2,WL)。其中Wj是第j个准则的权,Wj的计算方法如下:决定度量和度量问题决定度量和度量问题对于每个权值不为0的准则,根据度量工作表,在考虑了系
41、统环境及应用的特性后,为每个准则选取合适的度量,然后,再为每个度量选取合适的度量元。在考虑了准则与要素关系后得到的权值为W。W=(W1,W2,Wl)。如果某个要素有l个准则,这l个准则对某个子系统来说得分分别是a1,a2,al,则这个要素对该子系统来说得分为:9.3.1 规定软件质量需求规定软件质量需求其中:第47页,本讲稿共62页 评价软件达到的质量水平必须在每个开发阶段(包括需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用和维护)的最后进行,评价的依据是每个开发阶段所应提交的文件,这些文件见下表。表表9.16 9.16 每个阶段应提交的文件每个阶段应提交的文件9.3.2 软件质
42、量评价方法软件质量评价方法第48页,本讲稿共62页评价产品达到的质量水平的过程如图9-6所示:9.3.2 软件质量评价方法软件质量评价方法第49页,本讲稿共62页 软件质量评价方法分为两个部分:软件质量评价方法分为两个部分:1计算要素分数计算要素分数 要素的分数是通过度量元、度量、准则的分数得到的,要知道要素的分数首先应知道度量元的分数,度量元的分数是通过向软件提供度量工作表上的度量问题取得的。把对度量问题的回答转变为度量元的分数,进而算出度量、准则和要素的分数,需要使用要素打分表。在每个开发阶段,应该为每个要素准备一张要素记分表(要素记分表包括了每个要素的所有准则)。度量分数是度量元分数的算
43、术平均值。准则的分数是度量分数的算术平均值。9.3.2 软件质量评价方法软件质量评价方法第50页,本讲稿共62页2 2分析要素分数分析要素分数 前面计算的是每个子系统的质量要素分数,还应当把子系统的质量要素分数转化为系统的质量要素分数,此过程可分成3步:(1)找出与该要素有关的子系统;(2)根据子系统的大小为子系统加权;(3)把要素在每个有关的子系统中得到的分数与该子系统的权值相乘再全部相加即得到该要素在系统中的分数。在坐标纸上建立一个x-y坐标系,x方向代表软件开发阶段,y方向代表每个软件开发阶段中通过评价得到的分数,据此描出曲线,就可以看出每个要素分数的发展倾向。为每个要素规定的指标化作一
44、个数值范围(如指标A可看作0.9-1,指标B可看作0.8-0.9等等),并把它们标在为这个要素建立的坐标系上。这样就可以看出要素的分数是否落在为要素规定的质量指标的数值范围内。9.3.2 软件质量评价方法软件质量评价方法第51页,本讲稿共62页在分析了要素分数不符合需求的原因以后,应该把这些原因归类,以便对软件开发中存在的问题有个清楚的认识。在综合考虑了系统的需求和限制后,提出解决问题的方案。下图是分析要素分数流程图。第52页,本讲稿共62页9.3.3 9.3.3 软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型(Capability Maturity Model)(C
45、apability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)1 1软件机构的成熟性软件机构的成熟性 对于不同的软件开发机构,在组织人员完成软件项目中所依据的管理策略有很大的差别,因而软件项目所遵循的软件过程也有很大差别。在此,可用软件机构的成熟度(Maturity)加以区别。不成熟软件机构的特征不成熟软件机构的特征不成熟软件机构的特征不成熟软件机构的特征:软件过程一般在项目进行中由参与开发的人员临时确定。有时即使确定了,实际上也并不严格执行;软件机构是反应型的,管理人员经常要集中精力去应付难以预料
46、的突发事件;项目的进度和经费预算由于估计的不切实际,所以常常突破。在项目进度拖延,交付时间紧迫的情况下,往往不得不削减软件的功能,降低软件的质量;产品质量难以预测。质量保证活动,如质量评审、测试等,常被削弱或被取消。第53页,本讲稿共62页 成熟软件机构具有的特征:成熟软件机构具有的特征:建立了机构级的软件开发和维护过程。软件人员对其有较好的理解。一切活动均遵循过程的要求进行,做到工作步骤有次序,且有章可循;软件过程必要时可做改进,但需在经小型试验和成本-效益分析的基础上进行;软件产品的质量和客户对软件产品的满意程度不是由开发人员,而是由负责质量保证的经理负责监控;项目进度和预算是根据以往项目
47、取得的实践经验确定,因而比较符合实际情况。9.3.3 9.3.3 软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)第54页,本讲稿共62页 2 2软件过程成熟度模型软件过程成熟度模型 1987年,美国卡内基-梅隆大学软件工程研究所SEI受美国国防部资助,提出了软件机构的能力成熟度模型CMM。CMM将软件过程的成熟度分为5个等级,如下图所示。以下给出具有5个等
48、级的软件机构的特征:9.3.3 9.3.3 软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)第55页,本讲稿共62页2 2软件过程成熟度模型软件过程成熟度模型 初始级(initial)工作无序,项目进行过程中常放弃开始制定的计划;管理无章,缺乏健全的管理制度;开发项目成效不稳定,产品的质量和性能严重依赖于个人的能力和行为。可重复级(repeatable)管理
49、制度化,建立了基本的管理制度和规程,管理工作有章可循;初步实现标准化,开发工作交好地实施标准;变更均依法进行,做到基线化;稳定可跟踪,新项目的计划和管理基于过去的经验,具有重复以前成功项目的环境和条件。9.3.3 9.3.3 软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)(Capability Maturity Model)第56页,本讲稿共62页2 2软件过程成熟度模型软件过程成熟度模型 已定义级(defi
50、ned)开发过程,包括技术工作和管理工作,均已实现标准化、文档化;建立了完善的培训制度和专家评审制度;全部技术活动和管理活动均稳定实施;项目的质量、进度和费用均可控制;对项目进行中的过程、岗位和职责均有共同的理解。已管理级(managed)产品和过程已建立了定量的质量目标;过程中活动的生产率和质量是可度量的;已建立过程数据库;已实现项目产品和过程的控制;可预测过程和产品质量趋势,如预测偏差,实现及时纠正。9.3.3 9.3.3 软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型软件过程成熟度模型第57页,本讲稿共62页2 2软件过程成熟度模型软件过程成熟度模型 优化级(optimizing