质量管理
一、软件质量管理概述
(一)浅谈软件质量管理
1.什么是软件质量
软件质量是指软件产品中能满足给定需求的各种特性的总和。这些特性称作质量特性,它包括功能度、可靠性、易使用性、时间经济性、资源经济性、可维护性和可移植性等。
2.什么是软件质量管理
软件质量管理是确定质量方针、目标和职责并在质量体系中通过诸如质量策划、质量控制、质量保证和质量改进使其实施的全部管理职能的所有活动。
软件管理过程包括:评审、检查、文档管理、不合格品管理、配置管理、内部质量审核和管理评审。
软件质量管理包括以下四个管理层次:
(1)检查:检验产品即判断产品的质量是否合格,不能提高产品质量。这种管理水平处在初级阶段,相当于“软件测试—早期的软件质量控制”。
(2)保证:质量目标通过软件开发部门来实现,开始定义软件质量标准、质量计划,保证软件开打流程的合理性、流畅性和稳定性。但软件度量工作很少,软件客户服务质量不明确,设计质量不明确。相当于初期的“软件质量保证”。
(3)预防:软件质量以预防为主,以过程管理为重,把质量的保证工作重点放在过程管理上,从软件产品需求分析、设计开始,就引入预防思想,面向客户特征,大大降低质量成本,相当于成熟的“软件质量保证”。
(4)完美:以客户为中心,贯穿与软件开发生存期全过程,全员参与,追求卓越,相当于“全面软件质量管理”的作用。
3.软件质量管理的对象
(1)过程质量 (2)产品质量
4.软件质量管理的过程
(1) 软件项目的质量计划 (2) 软件质量保证 (3) 软件质量控制
(二)如何保证质量
软件质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。
1.影响质量的因素
(1)个人编程质量 (2)少数人协调把关 (3)团队项目管理水平
2.如何保证质量
保证软件质量首先要在组织上得到保证,组织上的保证主要指以下几方面:
(1)管理层:管理层制定好的质量方针是项目质量工作的基础,是该组织质量工作的指导思想和行动指南。
(2)SQA组:软件质量保证组主要是从流程上对软件质量进行跟踪、控制和改进,即监督项目按已定义的流程进行,并符合已定义的相关的标准。
(3)测试组:软件测试组负责对软件产品进行全面的测试,从中找出缺陷。
(4)SPEG组:软件过程组,主要任务是推动企业所应用的过程定义、维护和改进。 其次,质量保证的要点如下: (1)对项目进行评价
(2)推测能否达到质量指标 (3)建立对项目的信心
最后质量管理还应该注意以下几点:
(1)通过评价项目整体绩效,建立对质量要求的信任 (2)提供项目和产品可视化的管理报告
二、远程借阅系统质量控制计划
(一)计划的目的
本计划的目的在于对所开发的陕西省图书馆远程借阅系统规定各种必要的质量保证措施,以保证所交付的远程借阅系统能够满足项目委托书或合同中规定的各项需求,能够满足本项目总体组制定的且经领导小组批准的该软件系统需求规格说明书中规定的各项具体需求。
本公司在开发远程借阅系统所属的各个子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可根据各自的情况对本计划作适当的剪裁,以满足特定的质量保证要求,剪裁后的计划必须经总体组批准。
(二)计划的参考文献
GB/T 11457 软件工程术语 GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南 GB/T 12504 计算机软件质量保证计划规范 GB/T 12505 计算机软件配置管理计划规范 远程借阅系统 软件配置管理计划
(三)质量目标
(1)完成产品预定的功能实现
(2)该版本的性能比上一版本的性能提高10%以上
(3)所有“严重”一级以上级别的缺陷都必须在项目结束前修正。如果确实不能修正,必须经过公司技术总监的批准,才可以留到下一版本处理。
(四)参与质量管理的相关人员及其责任
在远程借阅系统项目的软件质量保证小组中,其各方面人员的职责如下: (1)组长全面负责有关软件质量保证的各项工作;
(2)总体组代表负责有关阶段评审、项目进展报表检查以及软件验收准备等三方面工作中的质量保证工作;
(3)项目的专职配置管理人员负责有关软件配置变动、软件媒体控制以及对供货单位的控制等三方面的质量保证活动;
(4)各子系统的软件质量保证人员负责测试复查和文档的规范化检查工作;
(5)用户代表负责反映用户的质量要求,并协助检查各类人员对软件质量保证计划的执行情况;
(6)项目的专职质量保证人员协助组长开展各项软件质量保证活动,负责审查所采用的质量保证工具、技术和方法,并负责汇总、维护和保存有关软件质量保证活动的各项记录。
(五)项目关键文件要求
基本文档
为了确保软件的实现满足项目委托单位“国家自然科学基金委员会信息科学部”认可的需求规格说明书中规定的各项需求,本软件各开发单位至少应该编写以下八个方面内容的文档:
1.软件需求规格说明书;
2. 软件设计说明书,对一些规模较大或复杂性较高的项目,应该把本文档分成概要设计说明书与详细设计说明书两个文档;
3. 软件测试计划; 4. 软件测试报告; 5. 用户手册; 6. 源程序清单; 7. 项目实施计划; 8. 项目开发总结。 其他文档
除了基本文档之外,对于尚在开发中的软件,还应该包括以下四个方面的文档: 1. 软件质量保证计划; 2. 软件配置管理计划; 3. 项目进展报表; 4. 阶段评审报表。 文档质量的度量准则
文档是软件的重要组成部分,是软件生存周期各个不同阶段的产品描述。验证和确认就是要检查各阶段文档的合适性。评审文档质量的度量准则有以下六条:
1. 完备性:所有承担软件开发任务的单位,都必须按照GB 8567的规定编制相应的文档,以保证在开发阶段结束时其文档是齐全的。
2. 正确性:在软件开发各个阶段所编写的文档的内容,必须真实地反映该阶段的工作且与该阶段的需求相一致。
3. 简明性:在软件开发各个阶段所编写的各种文档的语言表达应该清晰、准确简练,适合各种文档的特定读者。
4. 可追踪性: 在软件开发各个阶段所编写的各种文档应该具有良好的可追踪性。文档的可追踪性包括纵向可追踪性与横向可追踪性两个方面。前者是指在不同文档的相关内容之间相互检索的难易程度;后者是指确定同一文档某一内容在本文档中的涉及范围的难易程度。
5. 自说明性:在软件开发各个阶段所编写的各种文档应该具有较好的自说明性。文档的自说明性是指在软件开发各个阶段中的不同文档能独立表达该软件其相应阶段的阶段产品的能力。
6. 规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。
(六)评审流程和标准
第一次评审
第一次评审会对软件需求、概要设计以及验证与确认方法进行评审。
1. 软件需求评审应确保在软件需求规格说明书中规定的各项需求的合理性。 2. 概要设计评审应评价软件设计说明书中的软件概要设计的技术合适性。
3. 软件验证和确认评审应评价软件验证和确认计划中确定的验证和确认方法的合适性与完整性。
第二次评审
第二次评审会要对详细设计、功能测试与演示进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照《远程借阅系统软件配置管理计划》的规定处理。
1. 详细设计评审应确定软件设计说明书中的详细设计在满足软件需求规格说明书中的需求方面的可接受性。
2. 编程格式评审应确保所有编码采用规定的工作语言,能在规定的运行环境中运行,满足《C语言编程格式约定》,并且符合GB 8566中提倡的编程风格。在满足这些要求之后,方可进行测试工作评审。
3. 测试工作评审应对所有的程序单元进行静态分析,检查其程序结构(即模块和函数的调用关系和调用序列)和变量使用是否正确。在通过静态分析后,再进行结构测试和功能测试。在结构测试中,所有程序单元结构测试的语句覆盖率Co必须等于100%,分支覆盖率C1必须大于或等于85%。要给出每个单元的输入和输出变量的变化范围。各个子系统只进行功能测试,不单独进行结构测试,因而要登录程序单元之间接口的变量值,力图使满足单元测试的C1和Co准则的那此测试用例在子系统功能测试时得到再现。测试工作评审要检查所进行的测试工作是否满足这些要求。特别在评审功能测试工作时,不仅要运行变量的等价值,而且要运行变量的(合法的和非法的)边界值;不仅要运行开发单位给出的测试用例,而且要允许运行任务委托单位或用户、评审人员选定的采样用例。
第三次评审
第三次评审会要进行功能检查、物理检查和综合检查。这些评审会应在集成测试阶段结束后进行。
1. 功能检查应验证所开发的软件已经满足在软件需求规格说明书中规定的所有需求。 2. 物理检查应对软件进行物理检查,以验证程序和文档已经一致、并已做好了交付的准备。
3. 综合检查应验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。
评审计划如下表: 工作产品 立项申请 立项可行性研究报告 项目计划 质量保证计划 配置管理计划 评审 方式 FTR 计划评 审时间 参考项目计划的时间来定 执行人 主要技术评审人员 审计依据 立项评审检查表、立项建议书模板、立项可行性分析报告模板、 项目计划、配置管理计划、测试计划 和质量保证计划模板、评审检查表 项目经理、市场部经理、开发部门QA 经理、立项小组项目经理、测试经理、配置经理、QA 开发部门经理、质量部门经理、项目经理、测试经理、配置经理、开发人员、QA 质量部门经理、项目经理、测试经理、QA、开发人员 FTR/ITR 测试计划 FTR 用户需求文档 FTR 需求规格说明书 FTR 概要设计文档 FTR/ITR FTR/ITR FTR 测试报告 FTR/ITR FTR 内部验收 开发部门经理、项目经用户需求、评审检查表 理、测试项目经理、QA、系统分析人员 开发部门经理、项目经需求规格说明书模板、理、测试项目经理、QA、评审检查表 系统分析人员 开发部门经理、项目经理、系统分析人员、测试项目经理 开发部门经理、项目经理、系统分析人员、测试项目经理 质量部门经理、项目经理、测试经理、开发人员 质量部门经理、项目经理、开发经理、测试经理、QA 用户需求、设计评审检查表 用户需求、设计评审检查表 需求文档、测试规范、测试计划、评审检查表 需求文档、测试计划、用例 详细设计文档 测试用例 用户手册 测试项目经理、项目经需求文档、测试用例 理、开发经理、开发人员、QA、相关实施人员 开发部门经理、质量部门经理、项目经理、开发经理、开发人员、测试项目经理、QA、配置经理、相关实施人员 需求文档
评审问题记录表: 评审问题记录 评审性质 子项目名 登记号 评审日期 ——年——月——日 评审 复审 是否解决 项目名 编号 1 2 3 4 5 6 7 8 9 10 代号 问题类型 问题摘要 评审总结报告: 评审总结报告 登记号 评审日期 评审性质 项目名 子项目名 需求分析 姓名 地址 评审 任务 评审 材料 评审 结论 通过 不通过 不需修改 稍作修改 作重要修改 要重新评审 概要设计 代号 —年— 月— 日 评审 复审 阶段名 软件定义 详细设计 编码测试 组装测试 安装验收 运行维护 项目组长 电话
备注 (七)配置管理要求
对远程借阅系统的各项配置进行及时、合理的管理,是确保软件质量的重要手段,也是确保该软件具有强大生命力的重要措施。有关远程借阅系统的配置管理工作,可按远程借阅系统软件工程小组编写的《远程借阅系统软件配置管理计划》。在软件配置管理工作中,要特别注意规定对软件问题报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。
(八)测试计划
测试包括单元测试、集成测试和系统测试,具体参见测试计划。QA检查测试用例和测试报告及向CQ库提交的问题的解决情况等。
下表为:中断/开始/完成测试的标准 开始/中断/完成测试 开始测试标准 中断测试标准 安装无法正确完成或程序的文档有相当多的失误或系统服务异常或发现Block Bug 完成测试标准 完成测试计划中的测试规划并达到程序和测试质量目标并由开发人员与测试人员共同确认
标准说明 硬件环境可用且软件正确安装完成 (九)采用的质量控制工具、技术和方法
在远程借阅系统项目所属的各个子系统(其中包括有关的支持软件)的研制与开发过程中,都应该在各自的软件质量保证活动中合理地使用软件质量活动的支持工具、技术和方法。这些工具主要有下列三种:
1. C软件测试工具。它支持用C语言编写的模块的静态分析、结构测试与功能测试。主要功能为:协助测试人员判断程序结构与变量使用情况是否有错;给测试人员提供模块语句覆盖率Co和分支覆盖率C1的值,并显示未覆盖语句和未覆盖分支的号码及其分支谓词,给出不同测试用例有效性的表格;同时提出功能测试的有效情况,并协助组织最终交付给用户的有效测试用例的集合。
2. 软件配置管理工具。它支持用户对源代码清单的更新管理以及对重新编译与连接的代码的自动组织;支持用户在不同文档相关内容之间进行相互检索并确定同一文档某一内容在本文档中的涉及范围;同时还应支持软件配置管理小组对软件配置更改进行科学的管理。
3. 文档辅助生成工具与图形编辑工具。它主要协助用户绘制描述程序流程与结构图、绘制描述软件功能(输入、输出关系)的曲线以及绘制描述控制系统特性的一些其他图形,同时还可生成若干与远程借阅系统文档编制大纲相适应的文档模块板。用户利用这个工具的正文与图形编辑功能以及上述辅助功能,可以比较方便地产生清晰悦目的文档,也有利于对文档进行更改,还有助于提高文档的编制质量。
因篇幅问题不能全部显示,请点此查看更多更全内容