功能需求_功能需求描述 - CSDN
精华内容
参与话题
  • 功能需求:描述软件应具备的功能,有时也被称为能力(capabilities),对系统提供的服务、功能以及系统在特定条件下的行为的描述 非功能需求:对软件进行约束,也被称为质量需求可以进一步分为:性能需求、可维护性...

    需求分析学习指导目录:https://blog.csdn.net/weixin_42562514/article/details/90572761

    功能需求:描述软件应具备的功能,有时也被称为能力(capabilities),对系统提供的服务、功能以及系统在特定条件下的行为的描述

    非功能需求:对软件进行约束,也被称为质量需求可以进一步分为:性能需求、可维护性需求、安全性需求、可靠性需求等。

    展开全文
  • 功能需求和非功能需求

    万次阅读 2018-12-05 14:22:18
    功能需求 (functional requirement规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求 (behavīoral requirement),因为习惯上总是用“应该”对...

    功能需求 (functional requirement规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求 (behavīoral requirement),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什 么。注意:用户需求不总是被转变成功能需求。产品特性,所谓特性(feature),是指一组逻辑上相关的功能需求,它们为用户提供某项功能,使业务目标 得以满足。对商业软件而言,特性则是一组能被客户识别,并帮助他决定是否购买的需求,也就是产品说明书中用着重号标明的部分。客户希望得到的产品特性和用 户的任务相关的需求不完全是一回事。一项特性可以包括多个用例,每个用例又要求实现多项功能需求,以便用户能够执行某项任务。

    非功能性需求是指依一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求。
    包括安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩充性。

    例如

    将飞机订票系统中的以下方面做如下的划分,F代表“功能性”,NF代表“非功能性”,X代表“不应当是需求”。简要的说明功能性或非功能性需求的种类。对于不应当是需求的方面,说明其原因。

    1. 如何输入有关航班、乘客及订票信息。F:输入
    2. 什么信息要出现在机票和报告中。F:输出
    3. 如何计算乘机费用。F:计算
    4. 什么信息必须存储在旅行社和其他人访问的数据库中。F:数据存储
    5. 这个系统应该设计成可以处理常旅客计划。NF:可扩展性
    6. 这个系统在任何时候都必须是可用的。一周中只允许有2分钟宕机时间。NF:有效性
    7. 必须使用某排序算法根据离开时间对航班排序。X:这是一个设计问题
    展开全文
  • 功能需求,一般是我们显性易见的,就是一般实现了什么功能,提供了什么服务,大体我认为问题中提到,或者我们日常所说的:“看起来复杂不复杂”,基本上都会是针对功能需求而言的。如果拿google的搜索服务举
    作者:天光
    链接:https://www.zhihu.com/question/20303645/answer/15588211
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

    功能性需求,一般是我们显性易见的,就是一般实现了什么功能,提供了什么服务,大体我认为问题中提到,或者我们日常所说的:“看起来复杂不复杂”,基本上都会是针对功能性需求而言的。如果拿google的搜索服务举例来说,那就是:
    提供一个输入框, 提供一个按钮,用户在输入框里输入关键字,按了按钮以后,可以搜索出相应结果。
    功能性需求,会因为不同的网站,不同的软件,不同的业务和使用目的,大相径庭,五花八门,不一而论。

    非功能性需求,以下应用维基百科的定义(虽然有些晦涩和绕口,但是我认为是比较精到和准确的)
    在系统工程及需求工程中,非功能性需求(Non-functional requirement)是指依一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求。和非功能性需求相对的是功能需求,后者会定义系统特定的行为或功能。非功能性需求也可以视为为了满足客户业务需求而需要符合,但又不在功能需求以外的特性。
    一般会在系统设计(英语:Systems design)中详细列出实现功能需求的计划,而会在系统架构(英语:Systems architecture)中详细列出实现非功能性需求的计划。一般而言,功能需求会定义系统的行为,而非功能性需求会定义系统的特性。
    非功能性需求一般会称为系统的“品质”,有时也会称为“限制”、“品质属性”、“品质目标”、“品质属性”、“品质服务需求”或“非行为性的需求”。有许多非功能性需求的英文都是以“ilitiy”结尾,例如稳定性(stability)及可移植性(portability),因此非功能性需求有时也称为“ilities”。
    非功能性需求可以分为以下的二类:
    运行品质(Execution qualities),可以在系统运作时观察到的品质,例如保安性及易用性等。
    发展品质(Evolution qualities),和软件系统结构及开发过程有关的品质,例如软件可测试性(英语:software testability)、可维护性、可扩展性、可伸缩性(scalability)等
    非功能性需求一般是隐性的,容易被菜鸟程序员,设计师们忽略。非功能性需求不同于功能性需求,它在不同的网站,软件上,拥有一定的共性,就例如@子柳 提到的海量文件存储的问题上,淘宝,腾讯,google都遇到了一样的问题,研发了类似的解决方案(TFS,TFS和GFS)。
    非功能性需求的分类方法较多,并没有业界通行和一致的标准,但是大多数殊途同归,名称/叫法以及分类方法上可能略有差异,但是其含义和指向一般是趋向一致的,我简单介绍一下我一般较多采用的分类:
    1. 性能/容量:性能和容量比较利于理解,包括像需要支持的用户的数量啊(尤其是峰值的并发用户数量),用户能够接受的响应时间啊,数据规模啊(例如@子柳 提到的百万级的惊人数据规模,上亿的文件存储啦等等。这里小小纠正一下@子柳 的一个观点,百万级的数据支撑,还是有一些商业数据库产品可以支持的,TPC-C/TPC-D以及新一代的业界性能测试标准中还有千万级数据规模的测试项目,也有数据库厂商报名参加的,当然,对于淘宝这样的业务模式和实际情况/要求来说,性价比和实用性可能确实就比较低了)
    2. 可靠性/可用性/可复原性: 可靠性之与在规定的一段时间和条件下软件维持其功能服务以及性能水平的能力有关的一组属性(可用性是另外一种说法)。例如说我们要求系统7x24小时运行,全年持续运行故障停运时间累计不能超过10小时等等,都属于这方面的要求。 可复原性与在是发生错误和故障后重建其性能水平并恢复直接受影响数据的能力。例如支付宝需要保证如果在交易提交失败以后,需要保证回滚,不能这头银行的钱没有付成功,那头却显示付款成功或者反之这头银行扣款了,那头在改变交易状态的时候缺因为冗塞或者其他原因导致交易还是未付款状态。
    3. 可维护性/可管理性:包括系统在无人工干预条件下的稳定性,自排错能力,可测试性都属于这个范畴。故障的可排查能力,系统的修正,升级,备份,恢复机制以及方便与否,都属于这个范畴。这通常会极大决定系统的运行维护成本及维护难度。
    4. 安全:包括传输加密,存储加密,可破解性,以及各种未被授权的用户行为如何防范和控制,都是安全范畴,这里的安全不单针对外部普通用户,也针对内部不同级别的权限用户的的控制。小到如何防范和处理用户在输入框里输入特殊字符来获得设计者未曾预料的结果,大到防范外部黑客和内部内鬼。安全很多时候不单依赖技术实现,同时非常依赖相应的制度和审计。
    5. 易用性:好吧,这个话题现在最热了,这可能是非功能性需求中现在唯一被高亮出来,被各种人等都关注,都拿出来说事的一个领域了。易用性设计现在已经上升到了一个新的高度,叫做人机体验,UE设计,虽然现在UE到底是划分在功能性需求还是非功能性需求上,尚有一些争议,但是主流观点(包括我自己)都认为,这是非功能性需求的一个典型部分。
    6. 数据一致性:包括数据的编码和语言,冗余数据的一致性要求(含时间要求)等等。例如为了性能的考虑,数据库整体设计未采用巴斯克范式,而采用了第二或者第三范式的要求来设计,一些信息(例如用户注册信息),可能同时存在于系统的多个地方(例如多个表中),当发生注册信息变更时,如何保证多处地方记录的信息都被修改,以及这个全部修改的时限要求是多少等等都是这个范畴的内容。
    7. 系统/环境 条件及限制:现有的软硬件条件,平台的条件,网络的条件都属于这个范畴。典型的例如很多移动互联网产品,必须要考虑移动网络的带宽条件,终端运算性能和能力,以及其移动网络稳定性等等。
    事实上,从我的经验来看,一般来说,很多软件项目及产品,其在非功能性需求上的成本,难度和工作量,是要超过功能性需求的。在特定的软件领域,例如网站(尤其是淘宝,facebook这样海量用户规模的网站),金融(银行证券),电信领域,其非功能性需求实现的重要性,工作量,技术难度要远远远远大于功能性需求的实现。

    而且,功能性的需求的实现,其实在大多数情况下,更依赖于业务的高手(或者好的产品经理)而不是技术的高手,而非功能性需求的实现,恰恰是挑战技术高手的重要课题。

    一个最典型的极限非功能性需求的例子就是电信的计费系统,其实基本功能很简单,获取通话时长,按照费率公式算个钱出来,但是放到海量的用户,实时的计费要求中来看,这是一个极具技术挑战的活。

    还有一个经典的案例是,中国某地方性银行(注意仅仅是地方性的银行),想要引入一个柜面服务的系统,找到了新家坡的一个厂商,他们在东南亚银行业有很多案例,而且功能设计非常完善合理和先进。但是这家地方性银行引入这个系统以后,2周之内发行了几十万张信用卡,这系统就顶不住崩溃了。这就是典型的功能性需求实现完美,但是非功能性缺陷的例子。

    从我的经验来看,一般来说,非功能性需求中,性能/容量,以及安全的要求,一般是技术挑战最多,内涵最丰富,成本最高,最值得关注的领域,当然,现在易用性(UE)也是一个极度收到重视的领域。

    有志于架构师取向的IT技术人员,非功需求实现的领域,是一个必须关注,必须熟悉的领域。

    而本问题最大的根源在于,只看到了网站功能性需求的部分,而没有注意到非功的部分,对于非专业的IT技术人员来说,这很正常,但是对于IT技术人员来说,是需要认真关注的必修课。
    展开全文
  • 什么是功能需求和非功能需求

    万次阅读 2011-11-02 17:04:08
    需求定义: 需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件。 需求分类: (1) 在一般使用中,需求... 非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求

    需求定义:

    需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件。

    需求分类:

    (1) 在一般使用中,需求按照功能性(行为的)和非功能性其它所有的行为)来分类。

      功能性需求是说有具体的完成内容的需求

      例如:比如客户登录、邮箱网站的收发收发邮件、论坛网站的发帖留言等。

      非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。

      例如:性能要求:要求系统能满足100个人同时使用,页面反应时间不能超过6秒;

         可靠性: 系统能7×24小时连续运行,年非计划宕机时间不能高于8小时。要求能快速的部署,特别是在系统出现故障时,能够快速的切换到备用机。

    (2) 在统一过程(UP)中,需求按照“FURPS+”模型进行分类。

    功能性(Functional):特性、功能、安全性;

    可用性(Usability):人性化因素、帮助、文档;

    可靠性(Reliability):故障频率、可恢复性、可预测性;

    性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率;

    可支持性(Supportability):适应性、可维护性、国际化、可配置性。

    “FURPS+”中的“+”是指一些辅助性的和次要的因素,比如:

    实现(Implementation):资源限制、语言和工具、硬件等;

    接口(Interface);强加于外部系统接口之上的约束;

    操作(Operation):对其操作设置的系统管理;

    包装(Packaging)例如物理的包装盒;

    授权(Legal):许可证或其他方式。

    使用“FURPS+”分类方案(或其他分类方案)作为需求范围的检查列表是有效的,可以避免遗漏系统某些重要方面。

    其中某些需求可以统称为质量属性(quality attribute)、质量需求(quality requirement)或系统的“某属性”。这些需求包括:可用性、可靠性、性能和可支持性。

    展开全文
  • 功能需求文档

    2020-07-29 14:20:47
    校园网站建设需求
  • 功能需求梳理模板

    2020-07-28 23:32:07
    这是一份功能需求模板。做开发时候经常要写功能需求分析
  • 我们的软件产品或者项目,其需求都有三个层次,业务需求、用户需求和功能需求,除此之外,每个系统还有各种非功能需求。不是很了解的朋友,今天就和我和我们一起来了解一下吧!  下图是需求层次关系图,软件需求...
  •  一、我们首先看需求的三个层次 软件需求包括3个不同的层次――业务需求、用户需求和功能需求。 业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、...
  • 软件需求分析——非功能需求

    万次阅读 多人点赞 2019-05-17 16:41:39
    前言:需求分为功能需求和非功能性需求,常常会因为注重功能需求而忽略了非功能性需求,以下是对常见几类非功能性需求的小小总结,以后再慢慢补充。 非功能性需求 1、定义:软件产品为满足用户业务需求而必须具有...
  • 早已有了写一个自己博客的想法,但是想自己建立一个网站,但是建成之后却最终用作他途,现在多次想写点东西,写到了本地的文档里面,但是不如博客方便和开放,于是今天就写了第一个博客,就先这么着吧: ) . ...
  • 业务需求、用户需求和功能需求

    万次阅读 2017-03-06 10:44:42
    一、我们首先看需求的三个层次软件需求包括3个不同的层次――业务需求、用户需求和功能需求。 业务需求 (Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际...
  • 常见非功能需求的描述案例

    万次阅读 多人点赞 2018-01-31 14:21:17
    功能需求需求的一个重要组成部分,它影响了系统的架构设计,需要开发人员重点关注。但是在工程实践中,往往客户不会提出非功能需求需求人员在描述需求时不知道如何描述,在国际的各种标准中,对非功能性...
  • 系统设计中的非功能需求

    万次阅读 2018-01-31 10:20:23
    当程序员的时候更多的注意功能需求,但是作为一个架构师和程序员的主要区别之一就是要要满足系统的非功能需求,包括如下: 1、高可扩展性 App或者网站的访问量弹性很大,刚开始的时候访问量可能比较小,随着...
  • 1、功能性项目功能性指与一组功能及其指定的性质有关的一组属性,这里的功能是指满足明确或者隐含的需求的那些功能。具体包括: • 适合性:与规定任务能否提供一组功能,以及这组功能的适合程度有关的软件属性,...
  • 软件工程的需求分类

    万次阅读 2013-11-07 11:09:09
    软件需求包括 3 个不同的层次――业务需求、用户需求和功能需求。除此之外,每个系统还有各种非功能需求。需求的分类是软件需求阶段必不可少的工作,它可以指导开发人员理解不同的行业的业务、了解用户的真实需求,...
  • 如何写好一份产品需求文档

    万次阅读 多人点赞 2017-01-24 15:53:00
    如何写好一份产品需求文档 PRD写得好看还不如需求把握得准确,PRD写得好看还不如体验设计得顺畅。 工欲善其事必先利其器。 产品需求文档(以下都简称PRD)对于大多数产品新人来说都并不陌生,它是产品工作中...
  • 功能需求与非功能需求

    万次阅读 2014-02-11 08:50:37
    需求(requirement)就是指项目中必须提供的功能或者遵守的条件。  在实际使用的过程用,需求又可以细分为功能需求与非功能需求。  功能需求指的是项目中具体需要提供的功能和内容,比如用户登陆功能、...
  • 首先有用户需求,然后由组织将用户需求转化为业务需求,再由开发者将业务需求转化为功能需求功能需求映射到系统功能模块。业务需求也有可能是基于的业务发展需要,由组织首先提出来的。    业务需求(Business...
  • 如何做好需求测试

    万次阅读 2018-02-14 09:57:13
     简单的说需求就是产品经理(市场)要求软件必须完成的事务以及必须具备的基本功能。 很多开发会说永远不要相信产品经理 – 其实因为市场在变而不断变动。 所以需求的轨迹就如同下图 什么是需求测试 测试需求...
  • 产品需求文档到底该怎么写?

    万次阅读 2016-05-14 10:33:30
    博主作为一名产品小白,也被产品需求文档折腾的死去活来,网上也难找一个完美的模板。那么,作为产品需求文档,到底该怎么写,才能让设计让开发都能清晰的了解呢? 产品需求文档,主要目的是说明需要开发的产品功能...
1 2 3 4 5 ... 20
收藏数 1,402,943
精华内容 561,177
关键字:

功能需求