非功能性需求
对于“非功能性需求”在需求分析阶段常常被忽略或没有被足够重视。尤其对于涉及到“数量”的地方常常时不加约束和笼统的给出甚至随意性的,这里给出一些可以采用的方法或应注意的事项
事务定义:一个业务流程可能会启动几个更小业务事务的实例,一个业务“流程”将由一个“应用程序”来实施,但它也可能由多个应用程序来实施。对于很多“数量”性的需求,都是需要确定业务量和大小信息,例如:
a、预计在一般时间和在高峰期将各有多少用户使用各个业务流程或应用程序?
B、什么时候是高峰期(根据情况确定每天、每周、每月等的高峰期)?
C、在高峰期和一般时间将各需要以什么速度处理事务?
D、在每个数据组中数据元素和实例的数量以及它们的大小。
如果没有这些约束,很多“非功能性需求”将变得没有意义或不可实现。就像没有严格定义的约束都可以变成聪明和懒惰的程序员的挡箭牌一样。
考虑如下“非功能性需求”:
性能需求:
1、响应时间:对各类/夜间)是否可以接受不同的标准?(请注意关于高峰期以在上面说明),在高峰期和一般时间将各需要以什么速度处理事务?被认为可用的最低性能条件(也就是说,在该点以下,系统将被认为是“不可用”而不是“缓慢”)是什么?孤立的要求:“响应时间不能超过3秒”这样类似的需求,是不恰当的(很模糊)。我们能够明确的事情为什么要搞得很模糊呢???还要注意我们对“各种类别”的响应提出的时间要求。这里需要的数字可能也要花费一些时间来得出,绝不是随意的,不恰当的性能需求可能对系统构架产生不可估计的变化。别的响应时间需求,将在哪里对其进行评测,在不同时间(例如非高峰时间
2、可用性:指定适当的可用性需求,以直接反映最终用户为了完成其业务目标而具有的需求;以较小的间隔(例如按照各个流程、用户组、数据组等)来指定可用性需求,而不要指定整个系统的“全局”需求。比如对于:系统必须每天 24 小时为用户提供服务。如果能够改为:“系统必须能够在中国时间7:00到20:00能够对用户的数据执行事务处理”可能对于设计人员而言具有更大的灵活性,他们也许可以在其他时间段执行数据或系统维护或是安排系统完成其他调度性的任务,以使系统能够以更高的性能在工作时间为用户提供事务处理能力。如果未达到特定的可用性目标也不会对用户完成其业务目标的能力产生直接的影响,那么该可用性目标就可能不适合于作为系统的可用性需求。考虑一下:不直接与用户相关的一些流程(例如夜间数据交换、耗时较长的数据分析等)。对服务中断可能产生的影响应该仔细考虑和度量的,比如1 分钟、数分钟、15 分钟、30 分钟、1 小时、2 小时、4 小时、一天、多天等的影响有多大?应确定应急过程并考虑这些过程如何能减少中断对业务所造成的实际影响。尽量从财务上量化这种影响(员工或设备生产效率降低的成本、失去当前业务的价值损失、因客户不满意而对未来业务造成的估计损失、利息开支、法规性处罚等)。量化有助于提出更合适的需求。
3、灾难恢复:在项目的范围内,是否需要灾难恢复?如果需要,该恢复的标准是什么?服务必须在多长时间内恢复?恢复时间从什么时候开始计算,是从灾难发生时开始计算,还是从开始进行恢复工作时开始?在远程进行还是在本地进行?数据必须处于怎样的更新状态才能使业务继续进行(必须时刻最新;在发生故障后的几分钟内更新;可接受前一天的数据)?相对于依赖相同计算设备的其他业务应用程序,这组应用程序的远程恢复具有何种优先级?你能简单的说:“必须在2小时以内恢复”吗?直接来源于用户的需求可能是这样的:不能影响业务处理。然而可能是因为系统故障引起的适当处理延迟是可以允许的,因为这种延迟不会影响业务的进行。但如果是超过一天的故障则影响第二天的业务处理等。
分享到:
相关推荐
系统的功能性需求与非功能性需求 本文档阐述了系统的功能性需求和非功能性需求,旨在明确客户的基本需求,量化和明晰本系统的工作量和工作进度。 系统的功能性需求: 1. 用户中心: - 录入回访用户信息 - 修改...
软件架构的非功能性需求指标和区域化支持 软件架构的非功能性需求指标是软件架构中一个重要的组成部分,它们直接影响软件系统的性能、可靠性、安全性等方面。非功能性需求是软件架构师在设计软件系统时需要考虑的...
"论非功能性需求对企业应用架构设计的影响" 在软件开发中,非功能性需求是指软件产品的性能、可用性、安全性、可修改性和易用性等方面的要求。这些要求对软件产品的质量和功能性需求定义产生了重要的影响。本文将...
我们在审批case的时候,最容易忽略的部分就是非功能性需求。非功能性需求分析不透彻,或者被忽略,常常给项目埋下巨大无比的坑。这个坑,想必大家都或多或少遇到过吧。比如项目要交付的时候,交互或需求不明确或者有...
需求分析-运行时非功能性需求 在软件开发中,需求分析是至关重要的一步骤。其中,非功能性需求是对系统性能、可用性、安全性、可靠性以及可管理性等方面的描述。下面,我们将对这五个方面进行详细的解释。 性能:...
2.4系统的非功能性需求 5 2.4.1用户界面需求 5 2.4.2软硬件环境需求 5 2.4.3软件质量需求 5 三、可行性分析报告 5 3.1技术可行性 5 3.2人员可能性 5 3.3时间、设备可能性 5 3.4系统工作量 5 3.5代码工作量 5 3.6文档...
NFR在软件产品研发中的重要性、NFR分析和识别的目标、NFR分析和识别的方法、NFR在项目周期中的行为和参与角色
非功能性需求部分旨在描述软件系统的非功能性需求,包括可用性、可靠性、性能和安全性等方面的需求。该部分还将对非功能性需求的实现方法和策略进行讨论。 知识点: * 软件系统的非功能性需求 * 可用性、可靠性、...
非运行时非功能性需求从系统的灵活性与可维护性、可扩展性与可伸缩性、运行环境、数据完整性、准确性与及时性、开放性与先进性、规范性与标准性、可行性与可实施性等方面给出了具体的要求。
它详细描述了软件项目的需求,包括功能性需求和非功能性需求,是软件项目的关键输入文档。下面是从软件项目需求说明书中总结的相关知识点: 1. 文档介绍 文档目的:软件项目需求说明书的目的是描述软件项目的需求...
文档涵盖了产品的基本介绍、目标用户群体、遵循的标准和规范、竞争对手分析、功能性需求和非功能性需求等方面。其中,功能性需求详述了系统应具备的各项功能,而非功能性需求则涵盖了用户体验、软硬件环境、性能和...
4. 非功能性需求:对软件的非功能性需求进行描述,包括外部接口说明、用户接口和软件接口等内容。 知识点总结 通过对软件需求规格说明书(实例)的分析,我们可以总结出以下几点知识: 1. 软件需求规格说明书是一...
功能性需求描述了软件应执行的具体操作,而非功能性需求涉及性能、安全性、可靠性、可维护性等质量特性。McCall提出的11个质量特性包括了可修改性、可理解性、效率、可移植性等,这些特性为评估和满足非功能性需求...
本文档详细介绍了档案管理系统的需求分析过程,包括系统概述、功能需求、性能需求、安全需求、非功能性需求等方面的内容。通过本项目的实施,将有助于提升中小企业的档案管理水平,加强信息安全管理,提高工作效率。...
1 引言 1 1.1 目的 1 1.2 范围 1 1.3 读者对象 1 1.4 参考文档 1 1.5 术语与缩写解释 1 2 产品介绍 1 ...6 产品的非功能性需求 68 6.1 软硬件环境需求 68 6.2 产品质量需求 69 6.3 其它需求 69 7 需求确认 69