软件开发过程与项目管理(8.软件项目质量计划)
课件
软件质量基本概念
质量定义
质量是满足要求的程度,包括符合规定的要求和满足顾客隐含需求。
软件质量定义
软件质量是软件满足明确说明或者隐含的需求的程度
质量与等级
质量与等级有区别,等级是对具有相同功能的实体按照不同技术特征进行分类或者分级。
质量标准
质量标准是企业、国家或者国际制定的对某个方面的规范。
更侧重质量的细节特征,属于微观的范畴。
质量策略
质量策略是某个组织针对自身要求制定的一种质量指导方针,更侧重于指导思想,属于宏观的范畴。
质量责任
质量责任是整个组织都对项目质量负有的责任。
质量形成
质量形成于产品或者服务的开发过程中,而不是事后的检查(测试)把关等。
质量成本
质量成本是由于产品的第一次工作不正常而衍生的附加话费,包括两部分:
预防成本:评估费用、预防费用
缺陷成本:内部费用、外部费用
质量模型
Boehm模型
McCall质量模型
ISO/IEC9126模型
软件质量管理过程
质量管理的对象
过程的质量
产品的质量
软件质量管理过程
软件质量计划
- 确定项目应达到的质量标准(目标)
- 决定如何满足质量标准的计划安排和方法
软件质量保证 - 对项目进行评价
- 推测能否达到质量指标
- 建立对项目的信心
软件质量控制 - 确定项目结果与质量标准是否相符
- 确定消除不符的原因和方法
质量控制的要点和活动
质量控制的要点
- 检查工作结果
- 按照标准跟踪检查
- 确定措施消灭质量问题
质量控制活动 - 技术评审
- 代码走查
- 测试
质量保证与质量控制
质量保证:后期质量活动
质量控制:前期质量活动
敏捷项目的质量管理
特征:
- 提倡全程质量审查
- 提倡早发现问题,尽早提交可以运行的版本
- 不断进行质量方法评估和改进
活动:
质量控制(QC)活动: - 结对编程
- 测试驱动开发
- 持续集成与测试
- 不同层面自动化测试
- 验收测试驱动开发
- 重构
质量保证(QA)活动: - 迭代评审
- 迭代回顾会议
软件质量计划
软件质量保证(SOA)计划是在软件开发中为保证质量水平所采取的有关质量控制手段的大纲。
开发和实施软件质量保证计划的步骤:
- 编写计划
- 获得管理层认可
- 获得开发人员认可
- 执行SOA计划
软件质量计划方法
试验设计
试验设计是一种统计学方法,确定哪些因素可能会对特定变量产生影响。
一个好的试验设计包含:
- 明确衡量产品质量的指标
- 寻找影响试验指标的可能因素
- 根据实际问题,选择适用的试验设计方法
- 科学地分析试验结果,包括对数据的直观分析、方差分析、回归分析等多种统计分析方法
基准对照
基准对照是将实际或规划中的项目实践与可比项目的实践进行对照,以便识别最佳实践,形成改进意见并为绩效考核提供基础。
步骤为:
- 计划—确定要进行基准对照的具体项目或内容,并为所比较的内容收集数据。
- 分析—确定比较的最佳组织(行业内的或行业外的),分析本项目和可比项目的数据。
- 目标设定–通过比较找到差距或者以往项目最佳实践,设定行动目标,并将行动目标体现在相关计划中。
- 实施—执行计划比跟踪执行的情况,如发现偏差,提出变更,持续改进,直到达到预期的效果。
质量成本分析
质量成本的综合分析,以便决定质量活动。
流程图方法
可以显示系统的各种成分是相互的关系,帮助我们预测在何处可能发生何种质量问题。
因果分析图
描述相关的各种原因和子原因如何产生潜在问题或影响,将影响质量问题的“人员、设备、参考资料、方法、环境”等各方面的原因进行细致的分解,方便地在质量计划中制定相应的预防措施。
软件质量改善的建议
- 不但要主管认识到质量的重要性,而且要落实到行动中。
- 软件质量活动必须经过规划,必须明文规定。
- 树立提高质量就是尊重客户的思想。
- 质量活动必须尽早开始。
- 质量小组尽可能独立存在。
- 质量小组的人应该经过必要的培训。
- 建立规范的质量保证体系。
主观题
质量保证与质量控制的关系?
质量保证的焦点在过程;质量控制的焦点在产品推出前的质量把关。
质量保证是通过采取组织、程序、方法和资源等各种手段的保证来得到高质量的软件结果的过程,属于管理职能;质量控制是直接对项目工作结果的质量进行把关的过程,属于检查职能。
说出质量保证的主要活动,以及质量保证的要点。
质量保证的主要活动是审计。
要点:
- 对项目进行评价
- 推测能否达到质量指标
- 建立对项目的信心
质量计划中可以采用哪些方法?
实验设计是一种统计学方法,确定哪些因素可能会对特定变量产生影响。
基准对照是一种寻找最佳实践的方法,是利用其他项目的实施情况作为当前项目性能衡量的标准。
质量成本分析也是常用的方法。
流程图方法可以显示系统各种成分之间的相互关系。
对于复杂的项目,编制项目计划时可以采用因果分析图。