背景

为了定义需求,首先要将用户对系统的“功能性需求”与“非功能性需求”提取出来。

功能性需求

功能性需求是指关于“想通过系统做什么”的需求。例如“想要扫描商品的条形码,价格就会在终端上显示出来”“想要统计昨天每个小时的销售额”等内容都是功能性需求。因为功能性需求与客户的日常工作有直接联系,所以很容易定义。

非功能性需求

而所谓非功能性需求,顾名思义,指的是并非功能性的需求,即功能性需求以外的所有需求。在构建系统时,与相关人员仅仅就“想通过系统做什么”达成共识是不够的。如系统的运行时间段(系统提供服务的时间段)、保护系统不受非法攻击的策略(安全性策略)等需求,虽然不属于功能性需求,但对系统而言也是非常重要的。

实例

以大型国际体育活动的票务预订系统为例,“可以预订比赛门票”“座位不能被重复预订”“分配预订座位时不能浪费座位”等想通过票务预订系统完成的工作就是功能性需求。而“可以24小时预订(票务预订系统提供服务的时间段为24小时)”“对用户进行身份识别以防止恶意预订”“预订处理的响应时间(预订按钮按下后到预订处理完成的时间)不能超过10秒”等功能性需求以外的系统特性需求都是非功能性需求。

小结

在系统中,主要由应用程序实现功能性需求,由基础设施实现非功能性需求。因此也可以认为,非功能性需求是应用程序高效稳定的保证。

功能性与非功能性需求相关推荐

  1. HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-下篇...

    HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约束)-下篇 原文: HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性.非功能性.关键约 ...

  2. HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇...

    一.开篇 上一篇<HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍>我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念.系统功能.HR行业管理现状及痛点. ...

  3. 功能性和非功能性需求 UP中FURPS+模型需求分类方式

    网上看到相关的东西,感觉很杂,这一点点那一点点,自己从网上和书上总结下便于以后查看. 需求定义:需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件. 需求分类: ...

  4. 系统功能性/非功能性需求

    文章目录 1 操作系统的系统需求 1.2 软件系统的需求分析 1.2 操作系统的功能性需求 1.2.1 OS的功能性需求 1.2.1.1 **计算机用户需要的用户命令** 1.2.1.2 **应用软件 ...

  5. 功能性需求和非功能性需求

    功能需求 (functional requirement规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求.功能需求有时也被称作行为需求 (behavīoral requ ...

  6. 影响架构决策的非功能性需求

    英文原文:Non-functional Requirements in Architectural Decision Making 本文由<IEEE Software>杂志首发,现在由In ...

  7. 什么是功能性需求和非功能性需求

    需求定义: 需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件. 需求分类: (1) 在一般使用中,需求按照功能性(行为的)和非功能性(其它所有的行为)来分类. ...

  8. 非功能性需求_更好的开卡,来聊聊非功能性需求

    工作这么几年来,见得最多的场景是 QA 小伙伴满办公室追着开发报 bug,有时候开发会不乐意,"当时可没说要 XXX,要做 XXX." 好像 QA 小伙伴永远比开发多一点心眼,即使 ...

  9. 当开发人员遇上非功能性需求

    在开发产品时,你是否考虑过关注功能性需求与非功能性需求的工作量?如果没有,那么你可能应该关注下了,本文将告诉你为什么. 作者 | Chris Horsnell 译者 | 梁蕊 责编 | 仲培艺 出品 ...

最新文章

  1. js float 取精度
  2. JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息
  3. MySQL数据库:触发器Trigger
  4. spring-初始化完成后运行指定内容
  5. Homework2-project review score of each team
  6. Android应用程序组件
  7. [转]从青铜到王者,一文教你节省90%内存占用
  8. Eggplant 依托人工智能技术,改造软件自动化测试
  9. Linux /boot分区空间不足
  10. R-CNN学习笔记1:Selective Search for Object Recognition
  11. JavaWeb学习笔记
  12. C# 驱动级模拟键盘输入
  13. MATLAB信号处理---学习小案例(10)---Z反变换
  14. Unity UI框架详细理解--场景管理
  15. MFC 获取编辑框内容
  16. 翻译:数据页面和数据行
  17. Python 3语法小记(四)字典 dictionary
  18. Safari 手机浏览器无法下载的问题
  19. 系统分析师(一)软考简介
  20. JDK源码分析---SortedMap

热门文章

  1. 人人都会用的矢量设计软件,这6个不可不知道!
  2. 华为ensp模拟器及各设备镜像
  3. 金融知识小科普 - 宽基指数
  4. 嗖一下【基于命令行交互的文件搜索工具】实现思路
  5. BZOJ5473: 仙人掌
  6. 微信小程序一个你可能需要的功能
  7. 计算机组成原理中,数据总线与地址总线位数
  8. openstack创建云主机流程
  9. sap 用户权限表_sap权限相关后台表
  10. 全球最易受黑客攻击的国家:中国排第五