非功能性需求
对于“非功能性需求”在需求分析阶段常常被忽略或没有被足够重视。尤其对于涉及到“数量”的地方常常时不加约束和笼统的给出甚至随意性的,这里给出一些可以采用的方法或应注意的事项
事务定义:一个业务流程可能会启动几个更小业务事务的实例,一个业务“流程”将由一个“应用程序”来实施,但它也可能由多个应用程序来实施。对于很多“数量”性的需求,都是需要确定业务量和大小信息,例如:
a、预计在一般时间和在高峰期将各有多少用户使用各个业务流程或应用程序?
B、什么时候是高峰期(根据情况确定每天、每周、每月等的高峰期)?
C、在高峰期和一般时间将各需要以什么速度处理事务?
D、在每个数据组中数据元素和实例的数量以及它们的大小。
如果没有这些约束,很多“非功能性需求”将变得没有意义或不可实现。就像没有严格定义的约束都可以变成聪明和懒惰的程序员的挡箭牌一样。
考虑如下“非功能性需求”:
性能需求:
1、响应时间:对各类/夜间)是否可以接受不同的标准?(请注意关于高峰期以在上面说明),在高峰期和一般时间将各需要以什么速度处理事务?被认为可用的最低性能条件(也就是说,在该点以下,系统将被认为是“不可用”而不是“缓慢”)是什么?孤立的要求:“响应时间不能超过3秒”这样类似的需求,是不恰当的(很模糊)。我们能够明确的事情为什么要搞得很模糊呢???还要注意我们对“各种类别”的响应提出的时间要求。这里需要的数字可能也要花费一些时间来得出,绝不是随意的,不恰当的性能需求可能对系统构架产生不可估计的变化。别的响应时间需求,将在哪里对其进行评测,在不同时间(例如非高峰时间
2、可用性:指定适当的可用性需求,以直接反映最终用户为了完成其业务目标而具有的需求;以较小的间隔(例如按照各个流程、用户组、数据组等)来指定可用性需求,而不要指定整个系统的“全局”需求。比如对于:系统必须每天 24 小时为用户提供服务。如果能够改为:“系统必须能够在中国时间7:00到20:00能够对用户的数据执行事务处理”可能对于设计人员而言具有更大的灵活性,他们也许可以在其他时间段执行数据或系统维护或是安排系统完成其他调度性的任务,以使系统能够以更高的性能在工作时间为用户提供事务处理能力。如果未达到特定的可用性目标也不会对用户完成其业务目标的能力产生直接的影响,那么该可用性目标就可能不适合于作为系统的可用性需求。考虑一下:不直接与用户相关的一些流程(例如夜间数据交换、耗时较长的数据分析等)。对服务中断可能产生的影响应该仔细考虑和度量的,比如1 分钟、数分钟、15 分钟、30 分钟、1 小时、2 小时、4 小时、一天、多天等的影响有多大?应确定应急过程并考虑这些过程如何能减少中断对业务所造成的实际影响。尽量从财务上量化这种影响(员工或设备生产效率降低的成本、失去当前业务的价值损失、因客户不满意而对未来业务造成的估计损失、利息开支、法规性处罚等)。量化有助于提出更合适的需求。
3、灾难恢复:在项目的范围内,是否需要灾难恢复?如果需要,该恢复的标准是什么?服务必须在多长时间内恢复?恢复时间从什么时候开始计算,是从灾难发生时开始计算,还是从开始进行恢复工作时开始?在远程进行还是在本地进行?数据必须处于怎样的更新状态才能使业务继续进行(必须时刻最新;在发生故障后的几分钟内更新;可接受前一天的数据)?相对于依赖相同计算设备的其他业务应用程序,这组应用程序的远程恢复具有何种优先级?你能简单的说:“必须在2小时以内恢复”吗?直接来源于用户的需求可能是这样的:不能影响业务处理。然而可能是因为系统故障引起的适当处理延迟是可以允许的,因为这种延迟不会影响业务的进行。但如果是超过一天的故障则影响第二天的业务处理等。
分享到:
相关推荐
根据给定的信息,“非功能性需求表格”主要涉及的是在需求分析阶段如何定义、记录和管理非功能性需求。本文将深入探讨非功能性需求的概念、重要性、分类以及如何通过表格的形式来管理和跟踪这些需求。 ### 一、非...
非功能性需求是软件开发中不可或缺的一部分,它们定义了软件产品的质量属性,决定了软件在实际环境中的表现和用户体验。这些需求不直接对应于软件的具体功能,而是关乎系统如何运作、如何适应变化以及如何确保长期的...
目前能够找到的一份最详尽的信息系统肺功能性需求规范,这个东西在我们后期写非功能性需求的时候,帮助非常大,虽然是2014年的文件,但其中描述、内容完全可以复用。
非运行时非功能性需求从系统的灵活性与可维护性、可扩展性与可伸缩性、运行环境、数据完整性、准确性与及时性、开放性与先进性、规范性与标准性、可行性与可实施性等方面给出了具体的要求。
系统的功能性需求与非功能性需求 本文档旨在明确客户的基本需求,更好地完成对客户需求的了解,并量化和明晰本系统的工作量和工作进度。文档范围包括产品售后服务系统项目的介绍、面向的用户群体、系统的功能性需求...
系统的功能性需求与非功能性需求 系统的功能性需求是指系统必须具备的功能特性,以满足用户的需求。这些需求通常是明确的、可衡量的、相关的、可行的、时间-bound的、定义明确的和可追溯的。在本文档中,我们将讨论...
需求分析-运行时非功能性需求 在软件开发中,需求分析是至关重要的一步骤。其中,非功能性需求是对系统性能、可用性、安全性、可靠性以及可管理性等方面的描述。下面,我们将对这五个方面进行详细的解释。 性能:...
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文档...
功能性需求描述软件必须实现的具体功能,而非功能性需求涵盖性能、安全性、可维护性等方面。 5. 接口需求 定义软件与其他系统、硬件、用户或其他软件的交互方式,包括数据交换格式、通信协议等。 6. 系统行为 通过...
### 非功能性需求概述及重要性 #### 一、非功能性需求的定义与分类 非功能性需求(Non-Functional Requirements, NFRs)是指在软件系统开发过程中,除了解决具体业务问题的功能性需求之外,对软件系统的行为特征、...
非功能性需求部分旨在描述软件系统的非功能性需求,包括可用性、可靠性、性能和安全性等方面的需求。该部分还将对非功能性需求的实现方法和策略进行讨论。 知识点: * 软件系统的非功能性需求 * 可用性、可靠性、...
PRD产品需求文档经典模板 PRD(Product Requirement Document)产品需求文档...该模板涵盖了产品的所有方面,包括功能性和非功能性需求、用户角色描述、权限描述、功能摘要、非功能性需求、设计约束、接口需求等信息。
3. 非功能性需求:描述软件产品的非功能性需求,如性能、安全性、可扩展性等。 4. 主要界面效果图:提供软件产品的主要界面效果图,展示软件产品的用户界面和交互方式。 软件需求确认文档的编写规范: 1. 需求确认...