涉及软件时,质量概念和传统的定义并非背道而驰。不同的组织和专家以不同方式对软件质量进行了定义。
软件工程原理的权威人士Roper Pressman著书颇丰,他将软件质量定义为:
“对明确列出的功能和性能要求,已用文件明确陈述的开发标准以及专业开发软件要求的固有特征的遵从。”
IEEE将软件质量定义为一系列有计划,有条理的确保软件质量的活动。软件质量和以下内容关联:
(1)一个系统,组件或过程满足指定要求的程度。
(2)一个系统,组件或过程满足客户或用户期望的程度。
简而言之,软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量。
软件的质量属性很多,如正确性、精确性、健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。
如果一个流程已归档完善并经过验证,它将有助于开发团队按流程顺利的执行任务,并减少其与设定目标和路径之间的背离。如果开发周期中的每一步都按照用户的标准验证、归档并评审是否可以进行下一步的工作,这将会大大减少团队的工作量。
需求规格说明书、设计文档、测试计划、源代码和用户手册文件时与软件开发项目相关的典型可交付件。需求规格说明书和设计文档包括程序要求和结构、以数据流程图形式说明的图形模型或实体关系图、系统的流程规范。所有可交付件被检查和验证之后,执行随后任务的团队则在项目的执行中有一个定义完善的角色。
借助有效的文件,任何尝试修改其他程序员编写的代码的个人都可以更好的工作,同时开发流程也不会受到干扰。错误的文件可能会产生问题并延长执行时间。
如果质量方面不严格进行控制,经常会忽略由于返工而损失的时间和工作量。尽管项目的时间和成本估算符合时间和进度要求,但用户决不会计算返工的成本和时间。返工过程既乏味又好时,因为可能要改变系统的框架构造。通过管理每个过程的质量,可以减少或消除这些毫无保证且无常的任务和工作。
规范有助于确保遵循开发者和客户达成的质量标准。
» 除非另有声明,本站文章均为原创。
» 转载原创文章请以链接形式注明:
» 转载自:[Neeke] » [软件质量]
» 本文链接地址: http://www.ineeke.com/archives/65/
» 如果喜欢可以:点此邮件订阅或者点此阅读器订阅