笔记:代码质量-第一章-导论

1.1 软件质量

  质量、时间和成本是衡量所有软件项目成功与否的三个主要因素。

  1.1.1 用户、制造者和管理者眼中的质量

    使用中的质量:真实的终端用户体验。广泛的讲,这个方面反映了用户在一个特定环境下达成自己目标的程度。

    外部质量属性(external quality attribute)会影响使用中的质量。在软件世界里,外部质量方面包括可以通过运行软件确定的方方面面,一般是在一个测试环境中。

    内部质量属性(internal quality attribute)都是可以通过检查而非运行来确定的。

  1.1.2 质量属性

    软件的功能性首先是一个与软件做什么而非怎么做相关的质量特征。软件功能性的要素包括:面向指定任务的具体功能与用户目标的相配度、结果或执行的准确性、该软件与其他系统的互操作性,以及该软件为它的数据提供的安全性

    软件的可靠性指的是软件在特定情况下维持既定的性能表现级别的能力。可靠性包括:成熟性容错性可复原性。成熟性表明软件中存在的错误多少,容错性表示软件在出现某些错误的情况下继续工作的能力,而可复原性指的是软件在出现故障之后能够恢复数据并继续运行的功能。

    软件的可用性,从根本上来看,是一个外部的质量特征。可用性包括:易理解性易学性可操作性吸引力。它的三个要素大体上对应于软件使用的典型流程:可理解性,我们是否可以很容易的搞清楚如见能不能满足使用需求及如何用它来完成某个特定的任务;易学性,掌握它所需要付出的努力;可操作性,使用它所耗费的精力。另外,还有软件的吸引力,指的是软件给人的感觉。

    软件的效率涉及计算的阴阳两个要素:空间时间。正是这两个对立又互补的基本概念让实际的计算成为可能。时间特性,即响应时间、处理时间和吞吐率;资源利用特性,即软件使用的物理资源(内存、CPU、网络连接)。

    软件的可维护性可能是在软件的设计及真正的代码中最能够被实现的要素。可维护性包括:可分析性可变性稳定性易测性。可分析性,找到要改进或者修正的部分难易程度;可变性,要完成一个修改所需要的工作量;稳定性,修改之后出现问题多少的程度;易测性,能够验证修改的结果。

    可移植性指的是将软件从一个环境(如Windows)移植到另一个环境(如MacOS X)的难易程度。可移植性包括:适应性可安装性共存可替代性。适应性,即软件的代码在不同的环境中运行的能力;可移植性的其他子特征在本质上主要都是运行特征:易安装性指软件在各种环境中进行安装的可行性;共存指的是软件在“拥挤”的环境中表现得如何;而可替代性表示的是软件的某个部分用来嵌入式替换另一部分的程度。

posted @ 2013-04-07 22:33  treerain  阅读(217)  评论(0编辑  收藏  举报