`
xtdht911
  • 浏览: 1624 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

非功能性需求

阅读更多

非功能性需求

        对于“非功能性需求”在需求分析阶段常常被忽略或没有被足够重视。尤其对于涉及到“数量”的地方常常时不加约束和笼统的给出甚至随意性的,这里给出一些可以采用的方法或应注意的事项
事务定义:一个业务流程可能会启动几个更小业务事务的实例,一个业务“流程”将由一个“应用程序”来实施,但它也可能由多个应用程序来实施。对于很多“数量”性的需求,都是需要确定业务量和大小信息,例如:
              a、预计在一般时间和在高峰期将各有多少用户使用各个业务流程或应用程序?
              B、什么时候是高峰期(根据情况确定每天、每周、每月等的高峰期)?
             C、在高峰期和一般时间将各需要以什么速度处理事务?
             D、在每个数据组中数据元素和实例的数量以及它们的大小。


如果没有这些约束,很多“非功能性需求”将变得没有意义或不可实现。就像没有严格定义的约束都可以变成聪明和懒惰的程序员的挡箭牌一样。


考虑如下“非功能性需求”:
性能需求:
         1、响应时间:对各类/夜间)是否可以接受不同的标准?(请注意关于高峰期以在上面说明),在高峰期和一般时间将各需要以什么速度处理事务?被认为可用的最低性能条件(也就是说,在该点以下,系统将被认为是“不可用”而不是“缓慢”)是什么?孤立的要求:“响应时间不能超过3秒”这样类似的需求,是不恰当的(很模糊)。我们能够明确的事情为什么要搞得很模糊呢???还要注意我们对“各种类别”的响应提出的时间要求。这里需要的数字可能也要花费一些时间来得出,绝不是随意的,不恰当的性能需求可能对系统构架产生不可估计的变化。别的响应时间需求,将在哪里对其进行评测,在不同时间(例如非高峰时间


        2、可用性:指定适当的可用性需求,以直接反映最终用户为了完成其业务目标而具有的需求;以较小的间隔(例如按照各个流程、用户组、数据组等)来指定可用性需求,而不要指定整个系统的“全局”需求。比如对于:系统必须每天 24 小时为用户提供服务。如果能够改为:“系统必须能够在中国时间7:00到20:00能够对用户的数据执行事务处理”可能对于设计人员而言具有更大的灵活性,他们也许可以在其他时间段执行数据或系统维护或是安排系统完成其他调度性的任务,以使系统能够以更高的性能在工作时间为用户提供事务处理能力。如果未达到特定的可用性目标也不会对用户完成其业务目标的能力产生直接的影响,那么该可用性目标就可能不适合于作为系统的可用性需求。考虑一下:不直接与用户相关的一些流程(例如夜间数据交换、耗时较长的数据分析等)。对服务中断可能产生的影响应该仔细考虑和度量的,比如1 分钟、数分钟、15 分钟、30 分钟、1 小时、2 小时、4 小时、一天、多天等的影响有多大?应确定应急过程并考虑这些过程如何能减少中断对业务所造成的实际影响。尽量从财务上量化这种影响(员工或设备生产效率降低的成本、失去当前业务的价值损失、因客户不满意而对未来业务造成的估计损失、利息开支、法规性处罚等)。量化有助于提出更合适的需求。


        3、灾难恢复:在项目的范围内,是否需要灾难恢复?如果需要,该恢复的标准是什么?服务必须在多长时间内恢复?恢复时间从什么时候开始计算,是从灾难发生时开始计算,还是从开始进行恢复工作时开始?在远程进行还是在本地进行?数据必须处于怎样的更新状态才能使业务继续进行(必须时刻最新;在发生故障后的几分钟内更新;可接受前一天的数据)?相对于依赖相同计算设备的其他业务应用程序,这组应用程序的远程恢复具有何种优先级?你能简单的说:“必须在2小时以内恢复”吗?直接来源于用户的需求可能是这样的:不能影响业务处理。然而可能是因为系统故障引起的适当处理延迟是可以允许的,因为这种延迟不会影响业务的进行。但如果是超过一天的故障则影响第二天的业务处理等。

分享到:
评论

相关推荐

    非功能性需求表格

    根据给定的信息,“非功能性需求表格”主要涉及的是在需求分析阶段如何定义、记录和管理非功能性需求。本文将深入探讨非功能性需求的概念、重要性、分类以及如何通过表格的形式来管理和跟踪这些需求。 ### 一、非...

    关于非功能性需求说明书

    非功能性需求是软件开发中不可或缺的一部分,它们定义了软件产品的质量属性,决定了软件在实际环境中的表现和用户体验。这些需求不直接对应于软件的具体功能,而是关乎系统如何运作、如何适应变化以及如何确保长期的...

    系统的功能性需求与非功能性需求.doc

    在软件工程领域,需求分析是一个关键的起始步骤,它包括识别和记录系统应该做什么的功能性需求,以及系统应该如何表现的非功能性需求。 首先,我们来看功能性需求。功能性需求主要描述了系统必须执行的操作,即系统...

    软件架构的非功能性需求指标和区域化支持.pdf

    软件架构的非功能性需求指标和区域化支持 软件架构的非功能性需求指标是软件架构中一个重要的组成部分,它们直接影响软件系统的性能、可靠性、安全性等方面。非功能性需求是软件架构师在设计软件系统时需要考虑的...

    2014-2-论非功能性需求对企业应用架构设计的影响.pdf

    "论非功能性需求对企业应用架构设计的影响" 在软件开发中,非功能性需求是指软件产品的性能、可用性、安全性、可修改性和易用性等方面的要求。这些要求对软件产品的质量和功能性需求定义产生了重要的影响。本文将...

    系统的功能性需求与非功能性需求.docx

    系统的功能性需求与非功能性需求 本文档旨在明确客户的基本需求,更好地完成对客户需求的了解,并量化和明晰本系统的工作量和工作进度。文档范围包括产品售后服务系统项目的介绍、面向的用户群体、系统的功能性需求...

    系统的功能性需求与非功能性需求.pdf

    系统的功能性需求与非功能性需求 系统的功能性需求是指系统必须具备的功能特性,以满足用户的需求。这些需求通常是明确的、可衡量的、相关的、可行的、时间-bound的、定义明确的和可追溯的。在本文档中,我们将讨论...

    非功能性需求,不要成为项目的坑

    我们在审批case的时候,最容易忽略的部分就是非功能性需求。非功能性需求分析不透彻,或者被忽略,常常给项目埋下巨大无比的坑。这个坑,想必大家都或多或少遇到过吧。比如项目要交付的时候,交互或需求不明确或者有...

    需求分析-运行时非功能性需求

    需求分析-运行时非功能性需求 在软件开发中,需求分析是至关重要的一步骤。其中,非功能性需求是对系统性能、可用性、安全性、可靠性以及可管理性等方面的描述。下面,我们将对这五个方面进行详细的解释。 性能:...

    非功能性需求都包括哪些方面.docx

    非功能性需求是软件系统开发中不可或缺的一部分,它们与软件的功能性需求相对,主要关注的是软件如何运作、表现以及用户体验等方面。非功能性需求涵盖了多个维度,包括但不限于性能、可靠性、可维护性、可扩展性、...

    图书管理系统毕业论文

    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文档...

    非功能性测试用例.pdf

    非功能性测试用例.pdf

    学校学生宿舍管理系统需求规格说明书(教学用例)

    在编写目标方面,该说明书旨在为开发团队提供一个清晰的开发方向,明确系统的功能性和非功能性需求,以便进行合理的开发工作,并为系统的后续开发和维护提供参考。 系统的主要目标是为宿舍管理部门提供一个高效、...

    基于智能手机研发非功能需求与传统软件工程非功能需求分析比较

    智能手机的性能需求涉及到处理器速度、内存容量和响应时间,安全性需求包含数据加密、隐私保护和防病毒功能,易用性需求强调直观的操作界面和良好的人机交互,可靠性需求则关注软件的稳定性和故障恢复机制。...

    非功能性需求(NFR)的分析和识别方法.ppt

    NFR在软件产品研发中的重要性、NFR分析和识别的目标、NFR分析和识别的方法、NFR在项目周期中的行为和参与角色

Global site tag (gtag.js) - Google Analytics