功能性与非功能性需求
背景
为了定义需求,首先要将用户对系统的“功能性需求”与“非功能性需求”提取出来。
功能性需求
功能性需求是指关于“想通过系统做什么”的需求。例如“想要扫描商品的条形码,价格就会在终端上显示出来”“想要统计昨天每个小时的销售额”等内容都是功能性需求。因为功能性需求与客户的日常工作有直接联系,所以很容易定义。
非功能性需求
而所谓非功能性需求,顾名思义,指的是并非功能性的需求,即功能性需求以外的所有需求。在构建系统时,与相关人员仅仅就“想通过系统做什么”达成共识是不够的。如系统的运行时间段(系统提供服务的时间段)、保护系统不受非法攻击的策略(安全性策略)等需求,虽然不属于功能性需求,但对系统而言也是非常重要的。
实例
以大型国际体育活动的票务预订系统为例,“可以预订比赛门票”“座位不能被重复预订”“分配预订座位时不能浪费座位”等想通过票务预订系统完成的工作就是功能性需求。而“可以24小时预订(票务预订系统提供服务的时间段为24小时)”“对用户进行身份识别以防止恶意预订”“预订处理的响应时间(预订按钮按下后到预订处理完成的时间)不能超过10秒”等功能性需求以外的系统特性需求都是非功能性需求。
小结
在系统中,主要由应用程序实现功能性需求,由基础设施实现非功能性需求。因此也可以认为,非功能性需求是应用程序高效稳定的保证。
功能性与非功能性需求相关推荐
- HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-下篇...
HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约束)-下篇 原文: HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约 ...
- HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇...
一.开篇 上一篇<HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍>我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念.系统功能.HR行业管理现状及痛点. ...
- 功能性和非功能性需求 UP中FURPS+模型需求分类方式
网上看到相关的东西,感觉很杂,这一点点那一点点,自己从网上和书上总结下便于以后查看. 需求定义:需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件. 需求分类: ...
- 系统功能性/非功能性需求
文章目录 1 操作系统的系统需求 1.2 软件系统的需求分析 1.2 操作系统的功能性需求 1.2.1 OS的功能性需求 1.2.1.1 **计算机用户需要的用户命令** 1.2.1.2 **应用软件 ...
- 功能性需求和非功能性需求
功能需求 (functional requirement规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求.功能需求有时也被称作行为需求 (behavīoral requ ...
- 影响架构决策的非功能性需求
英文原文:Non-functional Requirements in Architectural Decision Making 本文由<IEEE Software>杂志首发,现在由In ...
- 什么是功能性需求和非功能性需求
需求定义: 需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件. 需求分类: (1) 在一般使用中,需求按照功能性(行为的)和非功能性(其它所有的行为)来分类. ...
- 非功能性需求_更好的开卡,来聊聊非功能性需求
工作这么几年来,见得最多的场景是 QA 小伙伴满办公室追着开发报 bug,有时候开发会不乐意,"当时可没说要 XXX,要做 XXX." 好像 QA 小伙伴永远比开发多一点心眼,即使 ...
- 当开发人员遇上非功能性需求
在开发产品时,你是否考虑过关注功能性需求与非功能性需求的工作量?如果没有,那么你可能应该关注下了,本文将告诉你为什么. 作者 | Chris Horsnell 译者 | 梁蕊 责编 | 仲培艺 出品 ...
最新文章
- js float 取精度
- JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息
- MySQL数据库:触发器Trigger
- spring-初始化完成后运行指定内容
- Homework2-project review score of each team
- Android应用程序组件
- [转]从青铜到王者,一文教你节省90%内存占用
- Eggplant 依托人工智能技术,改造软件自动化测试
- Linux /boot分区空间不足
- R-CNN学习笔记1:Selective Search for Object Recognition
- JavaWeb学习笔记
- C# 驱动级模拟键盘输入
- MATLAB信号处理---学习小案例(10)---Z反变换
- Unity UI框架详细理解--场景管理
- MFC 获取编辑框内容
- 翻译:数据页面和数据行
- Python 3语法小记(四)字典 dictionary
- Safari 手机浏览器无法下载的问题
- 系统分析师(一)软考简介
- JDK源码分析---SortedMap