- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 软件的质量属性
下载
第11章 软件的质量属性
许多年前,我参加了一项工程,在该项目中用新的应用程序替换许多已有的主机( m a i n
f r a m e )应用程序。根据用户的要求,开发组设计了一个基于窗口的用户界面并定义了新的数
据文件,其容量是旧文件的两倍。虽然新系统满足了技术上的规范,但并没有达到客户可接
受的程度。用户总是抱怨用户界面运行缓慢,并且新的数据文件所占用的磁盘空间太大。
用户没有陈述对新产品的一些特性的期望,这就不能在他们所提出的功能需求中体现出
来。糟糕的是,开发者和用户没有详细地讨论新技术方法所牵涉到可能的性能,从而导致了
用户期望与产品实际性能之间的期望差异。比起仅仅满足客户所要求的功能,软件的成功似
乎更为重要。
11.1 非功能需求
用户总是强调确定他们的功能、行为或需求—软件让他们做的事情。除此之外,用户对
产品如何良好地运转抱有许多期望。这些特性包括:产品的易用程度如何,执行速度如何,
可靠性如何,当发生异常情况时,系统如何处理。这些被称为软件质量属性 (或质量因素) 的特
性是系统非功能(也叫非行为)部分的需求。
质量属性是很难定义的,并且他们经常造成开发者设计的产品和客户满意的产品之间的
差异。就像Robert Charette(1990) 指出的那样:“真正的现实系统中,在决定系统的成功或失
败的因素中,满足非功能需求往往比满足功能需求更为重要”。优秀的软件产品反映了这些竞
争性质量特性的优化平衡。如果你在需求的获取阶段不去探索客户对质量的期望,那么产品
满足了他们的要求,这只能说你很幸运。但更多的可能是客户失望和开发者沮丧。
虽然,在需求获取阶段客户所提出的信息中包含提供了一些关于重要质量特性的线索,
但客户通常不能主动提出他们的非功能期望。用户说软件必须“健壮”,“可靠”或“高效”
时,这是很技巧地指出他们所想要的东西。从多方面考虑,质量必须由客户和那些构造测试
和维护软件的人员来定义。探索用户隐含期望的问题可以导致对质量目标的描述,并且制定
可以帮助开发者创建完美产品的标准。
11.2 质量属性
虽然有许多产品特性可以称为质量属性 (Quality Attribute) ,但是在许多系统中需要认真考
虑的仅是其中的一小部分。如果开发者知道哪些特性对项目的成功至关重要,那么他们就能
选择软件工程方法来达到特定的质量目标( Glass 1992; DeGrace and Stahl 1993 )。根据不同
的设计可以把质量属性分类(Boehm 1976; DeGrace and Stahl 1993 )。一种属性分类的方法是
把在运行时可识别的特性与那些不可识别的特性区分开( Bass, Clements and Kazman 1998 )。
另一种方法是把对用户很重要的可见特性与对开发者和维护者很重要的不可见特性区分开。
那些对开发者具有重要意义的属性使产品易于更改、验证,并易于移植到新的平台上,从而
可以间接地满足客户的需要。
98 第二部分 软件需求工程
下载
在表 11 - 1中,分两类来描述每个项目都要考虑的质量属性;还有其它许多属性( C h a r e t t e
1 9 9 0)。一些属性对于嵌入式系统是很重要的(高效性和可靠性),而其它的属性则用于主机
应用程序(有效性和可维护性)或桌面系统(互操作性和可用性)。在一个理想的范围中,每
一个系统总是最大限度地展示所有这些属性的可能价值。系统将随时可用,决不会崩溃,可
立即提供结果,并且易于使用。因为理想环境是不可得到的,因此,你必须知道表 11 - 1中那
些属性的子集对项目的成功至关重要。然后,根据这些基本属性来定义用户和开发者的目标,
从而产品的设计者可以作出合适的选择。
表11-1 软件质量属性
对用户最重要的属性 对开发者最重要的属性
有效性(a v a i l a b i l i t y ) 可维护性 ( m a i n t a i n
文档评论(0)