需求工程定义

找出、分析、文档化并且检查需求的过程被称为需求工程

需求的两个描述层次

  1. 用户需求,指高层的抽象需求。使用自然语言、图形描述需求。
  2. 系统需求,指底层的详细需求。使用系统需求文档(有时被称为功能规格说明)应该精确定义要实现的需求。

功能性需求:描述系统应该做什么。What
非功能性需求:描述系统应该做得怎么样。How

非功能性需求

  • 产品需求:这类需求刻画或约束软件的运行时行为。如性能需求、存储需求、可靠性需求等。
  • 组织需求:这类需求来自客户和开发方组织的政策和规程的一类宽泛的系统需求。如要求开发所使用的编程语言、开发环境、过程标准,系统运行环境等。
  • 外部需求:这类需求源自系统及其开发过程以外的因素。如监管需求、法律需求、道德需求等。

FURPUS+(重中之重)

FURPS是一种识别软件质量属性的模型

  • 其中 F 功能部份对应功能需求
  • 另外4项 URPS 则是软件系统中重要的4项非功能性需求,有时会特别用URPS来表示此4项产品非功能性需求。
  • FURPS后面的 + 可以用来强调各种不同的属性(组织非功能性需求、外部非功能性需求)

FURPS可分为以下五项:(重中之重)

  1. Functional(功能性):功能;
  2. Usability(可用性):易于使用、人性化因素、帮助、文档;
  3. Reliability(可靠性):鲁棒性、安全性、故障频率、可恢复性、可预测性;
  4. Performance(性能):速度、规模、响应时间、吞吐量、准确性、有效性、计算资源利用率;
  5. Supportability(可支持性):可移植性、适应性、可维护性、国际化、可配置性

需求抽取技术

需求抽取和分析过程

  1. 需求发现和理解
  2. 需求分类和组织
  3. 需求优先级排序和协商
  4. 需求文档化

需求抽取方法

  1. 访谈法
  2. 观察法
  3. 体验法
  4. 单据分析法
  5. 报表分析法
  6. 问卷调查法
  7. 调研会法
  8. 竞品调研法

用例

用例是一种使用图形化模型和结构化文本描述用户与系统间交互的方式

用例与用例之间的关系

  1. 扩展:一个用例被定义为基础用例的发展
  2. 包含:包含其他用例的行为,减少用例之间的冗余
  3. 继承:一个用例被泛化成多个用例

需求确认

需求确认要检查的内容:

  1. 正确性
  2. 一致性
  3. 完整性
  4. 现实性
  5. 可验证性

需求确认可采用的技术:

  1. 需求评审
  2. 原型化
  3. 测试用例生成。需求应该是可测试的

软件工程---4.需求工程相关推荐

  1. 第2章 软件工程与需求工程

    第2章 软件工程与需求工程 标签: 软件需求工程 <软件需求工程> 毋国庆 第二版 个人笔记 第2章 软件工程与需求工程 软件工程 软件开发过程模型 需求工程在软件开发中的地位 软件需求的 ...

  2. 详谈软件工程之需求工程(一)

    题外话:需求工程是系统架构设计师中最为重要的一个知识环节,无论是综合知识考试还是案例分析和论文,都会考到这一点.这次我从以下四点整理了关于这个章节的知识内容,若有遗漏请多多指教. 需求工程主要从以下五 ...

  3. 软件工程 - 需求工程

    目录 什么是软件工程? 什么是需求工程? 软件工程和需求工程的关系 什么是软件需求? 软件需求的定义: 软件需求的分类 需求工程的活动过程 需求获取: 需求分析: 结构化分析法 面向对象分析法 什么是 ...

  4. 需求、需求工程与需求工程师 — 3. 需求工程的构成

    需求的概念有了,但是如何系统地.高效地获取需求?获取需求的流程是什么.有哪些步骤.每个步骤对应的方法.标准是什么?等,解决这些问题就需要建立一套标准的需求获取方法.需求工程就是用来解决上述问题的方法, ...

  5. ChinaSoft 论坛巡礼 | 面向可解释人工智能的软件工程方法与技术论坛

    2022年CCF中国软件大会(CCF ChinaSoft 2022)将于2022年11月25-27日在线上举行.预期将有林惠民.陈左宁.邬江兴.何积丰.梅宏.吕建.柴洪峰.廖湘科.王怀民.郑纬民.蒋昌 ...

  6. 计算机体系结构:嵌入式方法_计科考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?...

    考研选择专业的时候,可以看到"计算机科学与技术"是一级学科,下面还有三个二级学科,分别叫"计算机系统结构" "计算机软件与理论" " ...

  7. 计算机体系结构:嵌入式方法_计算机考研——计算机二级学科详解

    在考研选择专业的时候,可以看到"计算机科学与技术"是一级学科,下面还有三个二级学科,分别叫"计算机系统结构" "计算机软件与理论" &quo ...

  8. 《软件需求十步走》读书笔记02

    在学了大概一个月的<软件需求>的课程后,我理解的软件需求就是从用户了解到的想要软件有什么功能,通过需求分析人员分析整理出来用户的哪些需求可以实现,哪些是无法实现的.最近通过读<软件需 ...

  9. 计科考研里的【计算机系统结构、计算机软件与理论、计算机应用技术】都是什么意思?...

    考研选择专业的时候,可以看到"计算机科学与技术"是一级学科,下面还有三个二级学科,分别叫"计算机系统结构" "计算机软件与理论" " ...

最新文章

  1. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
  2. 实例:使用puppeteer headless方式抓取JS网页
  3. 网易技术干货 | 云信跨平台C++ SDK开发实战
  4. 云计算机有哪些特征,你知道云计算有哪些核心特征吗?
  5. logstash java插件_[logstash-input-log4j]插件使用详解
  6. Oracle日期和时间总结
  7. python apk fr_Python fr包_程序模块 - PyPI - Python中文网
  8. httpSession和Cookie
  9. 25. 二叉树中和为某一个值的路径(C++版本)
  10. 计算机怎么剪切音乐然后合在一起,电脑怎么剪辑合并音乐
  11. STM32——EMWIN位图显示(四)
  12. Apple TV 4K播放原盘电影
  13. 【听说隔壁老王开始学编程了?】
  14. 河南联通新款创维WIFI6 gpon光猫 SK D748
  15. SAP 打开或关闭财务账期和物料账期等事物代码清单-OB52/MMPV/MMRV/OKP1/1KEF
  16. Apache修改服务器监听端口,练习 - 04 - 配置 Apache 服务器的监听端口
  17. 单选框按钮设置不可选中
  18. QNX 实时操作系统(Quick Unix)
  19. spring-boot-starter-data-redis
  20. 互联网通信基础与Ajax篇

热门文章

  1. fit_transform和transform的区别
  2. linux ubuntu 关于vim得一些基本命令
  3. 最短网络Agri-Net
  4. display:none;与visibility:hidden;的区别
  5. WebOS + WebIM
  6. java比较时间sql_如何正确比较日期 java.sql.Date
  7. android studio闪退代码不报错_代码不报错,不代表真的没错
  8. 云耀服务器切换系统,【计算】云耀服务器-常见操作汇总指南
  9. python3 hash算法使用
  10. C++编程调试秘笈(第1次阅读)