网站大量收购闲置独家精品文档,联系QQ:2885784924

关于非功能性需求说明书.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

乐民之乐者,民亦乐其乐;忧民之忧者,民亦忧其忧。——《孟子》

非功能性需求

1)什么是非功能性需求

非功能性需求是这样一种需求,它解决“如何使这个系统能在实际环境中运行”。

2)重要吗?

在设计解决方案的过程中满足功能性需求当然是很重要的。但是,如果没有考虑非功能性需求,

那么这个解决方案则很难取得实效,因为用户可能难以甚至无法使用系统的功能。

很多非功能需求一般会在底层的基础技术平台去仔细设计和实现。

3)非功能性需求要考虑那些方面

非功能性的特性一般有这些:

可靠性

只显示系统可以做某些事情是不够的。如果一个系统不能可靠地运行(例如,在加载时,或者在

系统故障时,等等),则它就不能满足客户的需要。

有一些问题应该自问一下:

*即使硬件出现故障,系统也可以可靠运行吗?

*复制和故障转移方案是什么?

*需要手动干预,还是系统可以自动进行故障转移?

*实现可靠性会对性能造成负面影响吗?

*实现可靠性的成本有多高?

可靠性需要考虑的一些具体方面是:

安全性:假设攻击者就在外面。如何知道系统用户就是他们所声称的,并只让他们访问经过授权

的功能?如何保护我的系统不受攻击?考虑到网络攻击、机器攻击,甚至从您自己的系统内部发

起的攻击。

事务性:如何设计系统来保存工作单元的ACID属性?如果在设计中涉及多个独立的子系统(Web

服务和SOA就是这种情况),则这一点就显得特别重要。不要假设始终可以进行两阶段提交(two

phasecommit)。

可用性

如果用户不能够从他们可用的渠道(例如Web)方便地访问您的产品,那么它的好处何在呢?这

有时是作为功能性的一部分一起考虑(或者应该在理想的环境下)的,但是常常被忽视,以致于

整个项目处于危险之中。这里需要考虑的一些问题是:

*您是否为用户带来不适当的负担(例如,需要特殊的浏览器版本)?

*系统是否根据模型-视图-控制器(Model-View-Controller)体系结构设计以使多用户界面成

为可能?如果是这样,如何将它们绑定在一起?

*是否界面本来就有状态而功能无状态(反之亦然)?

有效性

如果没有有效地使用资源(例如处理器、内存和磁盘空间),功能性、可靠性和可用性再好的系

乐民之乐者,民亦乐其乐;忧民之忧者,民亦忧其忧。——《孟子》

统最后都会失败。我们经常发现将有效性划分成两个子范围是很有用的,这两个子范围都应该加

以考虑:

性能:这个系统的运行情况有多好?它只是平稳缓慢地运行吗?系统可以达到其响应时间目标

吗?应用程序的设计是否符合性能要求?您利用缓存了吗

可伸缩性:如果系统在小范围内运行看起来相当快,那么当扩展至每秒、每分钟或者每小时几千

或成千上万个活动的时候呢?它的设计是否达到吞吐量目标?可以复制系统来实现线性扩展

吗?是否存在瓶颈(例如公共数据库)

可维护性

这是一个极其重要的需求,因为如果开发人员、管理员和操作人员不能够解决如何管理应用程序

的问题,则它在首次发布之前就会夭折。假设您是一位管理员,您承担了解决此问题的任务,

那么您如何配置它?如何监视它?如果您一件事情需要执行很多次(例如,安装许多应用程序),

那么会怎么做呢?您是否有一个可复制的部署流程呢?您是否可以使重复的任务自动化,使之

在大范围内可行呢?

可移植性

虽然列在最后,但它并非最不重要。例如,如何采用标准来提供某种形式的平台中立性呢?是否

计划将应用程序迁移到您的最新和最高版本的应用服务器上呢?如果不打算这样做,则当供应商

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档