关于非功能性需求说明书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

非功能性需求

) 什么是非功能性需求

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

) 重要吗?

在设计解决方案的过程中满足功能性需求当然是很重要的。但是,如果没有考虑非功能性需求,那么这个解决方案则很难取得实效,因为用户可能难以甚至无法使用系统的功能。

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

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

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

可靠性

只显示系统可以做某些事情是不够的。如果一个系统不能可靠地运行(例如,在加载时,或者在系统故障时,等等),则它就不能满足客户的需要。

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

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

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

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

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

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

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

安全性:假设攻击者就在外面。如何知道系统用户就是他们所声称的,并只让他们访问经过授权的功能?如何保护我的系统不受攻击?考虑到网络攻击、机器攻击,甚至从您自己的系统内部发起的攻击。

事务性:如何设计系统来保存工作单元的属性?如果在设计中涉及多个独立的子系统(服务和就是这种情况),则这一点就显得特别重要。不要假设始终可以进行两阶段提交 ( )。

可用性

如果用户不能够从他们可用的渠道(例如)方便地访问您的产品,那么它的好处何在呢?这有时是作为功能性的一部分一起考虑(或者应该在理想的环境下)的,但是常常被忽视,以致于整个项目处于危险之中。这里需要考虑的一些问题是:

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

* 系统是否根据模型视图控制器 () 体系结构设计以使多用户界面成为可能?如果是这样,如何将它们绑定在一起?

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

有效性

如果没有有效地使用资源(例如处理器、内存和磁盘空间),功能性、可靠性和可用性再好的系统最后都会失败。我们经常发现将有效性划分成两个子范围是很有用的,这两个子范围都应该加

以考虑:

性能:这个系统的运行情况有多好?它只是平稳缓慢地运行吗?系统可以达到其响应时间目标吗?应用程序的设计是否符合性能要求?您利用缓存了吗

可伸缩性:如果系统在小范围内运行看起来相当快,那么当扩展至每秒、每分钟或者每小时几千或成千上万个活动的时候呢?它的设计是否达到吞吐量目标?可以复制系统来实现线性扩展吗?是否存在瓶颈(例如公共数据库)

可维护性

这是一个极其重要的需求,因为如果开发人员、管理员和操作人员不能够解决如何管理应用程序的问题,则它在首次发布之前就会夭折。假设您是一位管理员,您承担了解决此问题的任务,那么您如何配置它?如何监视它?如果您一件事情需要执行很多次(例如,安装许多应用程序),那么会怎么做呢?您是否有一个可复制的部署流程呢?您是否可以使重复的任务自动化,使之在大范围内可行呢?

可移植性

虽然列在最后,但它并非最不重要。例如,如何采用标准来提供某种形式的平台中立性呢?是否计划将应用程序迁移到您的最新和最高版本的应用服务器上呢?如果不打算这样做,则当供应商撤消对该版本的支持时您要怎么做呢?如果您的项目基于开放源代码,则也有类似的问题。如果

每当某人有个更好的捕鼠器 () 您就必须重写整个应用程序,则没有人会问津。

作为一个公司,就有一定的工作量存在,而员工的工作效率与公司的任务完成量息息相关。而员工的个人信息、通讯薄,它的工作量可能是其它信息工作量的几倍,会议的增加、会议室的查询、个人信息的修改;工作管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。

旋风协同办公系统是为公司开发的,本系统所采用的语言是,用数据库完成。该系统总体有五个部分组成,包括个人信息、通讯薄、共作管理、会议室管理、会议管理。通过本系统,把公司内部查询员信息、会议信息、会议信息各个环节进行有效地计划、组织和控制。通过收集的相关信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。

本系统主要信息流程为:系统信息维护接受管理员的登陆信息,员工信息查询根据管理员信息维护的员工信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。

采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。

游云芳

软件产品的非功能性需求定义

软件产品的需求可以分为功能性需求和非功能性需求,其中非功能性需求是常常被轻视,甚至被忽视的一个重要方面。其实,软件产品非功能性定义不仅决定产品的质量,还在很大程度上影响产品的功能需求定义。如果事先缺乏很好的非功能性需求定义,结果往往是使产品在非功能性需求面前捉襟见肘,甚至淹没功能性需求给用户带来的价值。

相关文档
最新文档