大三下学习进度日总结02
今日总结:
代码量 | 400行左右 |
---|---|
博客量 | 一篇 |
所学时间 | 8小时左右 |
了解到的知识点 | 软件质量,背单词等 |
软件质量
-
软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面
-
人们通过改善软件的各种质量属性,来提高软件的整体质量。
-
质量:质量是产品或者服务满足明确或隐含需要能力的性能和特性的总体
-
软件质量是软件产品满足明确或隐含需要能力的性能和特性的总体
- 用户需求时衡量软件质量的基础
- 除满足明确定义的需求外,还要满足隐含的需求
-
质量问题会增加开发和维护软件产品的成本
-
软件度量\((software\,\,measurement)\):对软件开发项目、过程及其产品进行定量化的过程,目的在于对其加以理解、预测、评估、控制和改善
-
没有度量就没有控制,没有控制就没有管理
-
\(PUM=\)一个时间段内的顾客报告的问题总数/在此期间软件许可证月总数
-
许可证月总数=软件的安装许可证数*计算时段中的月数
-
\(ISO/IEC 9126: 1991\)软件质量模型的六个软件质量一级特性
- 功能性:在指定条件下使用时,软件产品提供满足明确和隐含需求功能的能力
- 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力(在规定的条件下,在规定的时间内,软件不引起系统失效的概率)
- 易用性:在指定条件下使用时,软件产品被理解、学习、使用及其吸引用户的能力
- 效率(有效性):在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
- 可维护性:软件产品可被修改的能力,修改可能包括修正、改进或者适应环境、需求和功能归约的变化
- 可移植性:软件产品从一种环境迁移到另一种环境的能力
-
内部和外部质量\((internal\,\,and\,\,external\,\,quality)\)功能性,可靠性,有效性,可维护性,可移植性和可使用性
-
使用质量\((quality-in-use)\):有效性,生产率,安全,满意度
-
4个新的使用质量特性(\(ISO/IEC 9126: 2001\)中的四个使用质量一级特性)
- 有效性:软件产品在指定使用环境下,使用户准确、完整地获得规定目标的能力
- 生产率:软件产品在指定使用环境下,使用户花费适合的与有效性相关的资源数量的能力
- 安全性:软件产品在指定使用环境下,获得可接受的损害人类、商务、软件、财产或环境风险级别的能力
- 满意度:软件产品在指定使用环境下,使用户满意的能力
-
软件的质量形成于产品或者服务的开发过程中,而不是事后的检查(如测试)
-
当过程不断被重复,其性能会趋于稳定
-
质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量策划、控制、保证和改进来使其实现的全部活动。
-
质量管理三步曲(朱兰质量管理的三个步骤)
- 质量计划\((Quality\,\,Plan)\):确定项目应达到的质量标准,以及如何满足质量标准的计划安排和方法
- 质量保证\((Quality\,\,Assurance,QA)\):确保项目达到有关标准,而开展的有计划、有组织的工作活动
- 质量控制\((Quality\,\,Control,QC)\):是确定项目结束与质量标准是否相符,并及时纠正产品缺陷的过程
-
质量计划
- 项目应达到的质量目标和质量特性的要求
- 确定项目中的质量活动和质量控制程序
- 项目不同阶段,职责,权限,交流方式以及资源分配
- 确定项目采用的控制手段,合适的验证手段和方法
- 确定和准备质量记录
-
质量计划方法
- 实验设计
- 基准对照
- 质量成本分析
- 流程图方法
- 因果分析图
-
试验设计是一种统计学方法,确定哪些因素可能会对特定变量产生影响
- 正交试验设计法
- 析因法
-
质量成本\((Cost\,\,of\,\,Quality,CoQ)\)是为了达到产品或服务的质量而付出的所有努力的总成本,包括三部分:
- 预防成本:为防止将缺陷引入软件而进行的预防工作所消耗的费用
- 评价成本:检查软件是否包含缺陷的工作所消耗的费用
- 失效成本:修复缺陷工作所消耗的成本
-
在项目早期预防和检测缺陷比在项目晚期检测和排除缺陷更有效、更节省成本。
-
质检/过失比=(预防成本+评价成本)/失效成本,这个比值大于2是努力达到的程度
-
因果分析图(鱼骨图):描述相关的各种原因和子原因如何产生潜在问题或影响,将影响质量问题的“人员、设备、参考资料、方法、环境”等各方面的原因进行细致的分解,方便地在质量计划中制定相应的预防措施。
-
技术评审是指在完成一项工作后,把工作产品发给合作者,让合作者检查其中的缺陷。然后开会讨论工作产品并产生需要返工的缺陷列表
-
技术评审的主要对象:需求和设计规格说明、测试计划、用户手册等。
-
代码评审
- 编码阶段的一种技术评审,由一组人员对程序进行阅读和静态分析,可以很有效地检查程序代码中的缺陷
- 评审内容:程序是否符合编码规范,程序结构是否合理,算法和程序逻辑是否正确,程序性能怎样等。
-
很多程序逻辑错误很难通过测试发现。
-
缺陷跟踪是指从缺陷被发现开始到被改正为止的整个跟踪流程
- 缺陷跟踪一般需要软件工具支持。常用的工具有:
- \(Bugzilla\)
- \(ClearQuest\)
- \(Jira\)
- \(TrackRecord\)