软件工程---4.需求工程

需求工程定义

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

需求的两个描述层次

  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. 测试用例生成。需求应该是可测试的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程---5.系统建模

从不同视角对系统建模 外部视角,上下文模型,对系统上下文或环境建模交互视角,交互模型(功能模型),对系统与参与者或系统内构件之间的交互建模结构视角,结构模型(静态模型&#xff0…

软件工程---6.体系结构设计

体系结构模型是什么? 体系结构模型,该模型描述系统如何被组织为一组相互通信的构件 体系结构分类 小体系结构关注单个程序的体系结构。在这个层次上,我们关注单个的程序是如何补分解为构件的。大体系结构关注包括其他系统、程序和程序构件…

【剑指offer】_06 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路 链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 关于本题,前提是…

【剑指offer】_07 矩形覆盖

题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路 依旧是斐波那契数列 2n的大矩形,和n个21的小矩形 其中target*2为大矩阵的大小 有以下几种情形…

软件工程---07.设计与实现

软件设计和软件实现 软件设计是一个创造性的活动,在此活动中需要基于客户需求识别软件构件及其关系。软件实现是将设计实现为一个程序的过程 为开发一个系统设计,你需要 理解并定义上下文模型以及系统的外部交互设计系统体系结构识别系统中的主要对象…

软件工程---08.软件测试

测试 测试的正向思维(确认测试) 向开发人员和客户展示软件满足其需求测试的逆向思维(缺陷测试)找出可能导致软件行为不正确原因。测试是更广阔的软件确认和验证( Verification and Validation; V & V)过程的一部分。验证和确…

软件工程---15.软件复用

复用的图(牢记) 软件复用的好处 开发加速有效的专家利用提高可依赖性降低开发成本降低过程风险符合标准 软件复用的缺点 创建,维护以及使用一个构件库查找,理解以及适配可复用构件维护成本增加缺少工具支持“不是在这里发明的”综合症 应用框架 现在…

软件工程---16.基于构件的软件工程

CBSE CBSE是定义、实现、集成或组装松散耦合的独立构件成为系统的过程。 基于构件的软件工程的要素有: 完全由接口进行规格说明的独立构件。构件标准使构件集成变得更为容易。中间件为构件集成提供软件支持。开发过程适合基于构件的软件工程。 CBSE的设计原则 构件是独立的…

软件工程---17.分布式软件工程

分布式系统的5个优点 资源共享开放性并发性可伸缩性容错性 分布式计算中必须考虑的设计问题 透明性:隐藏底层分布 开放性 可伸缩性 三个维度 规模:又分为增强扩展(单挑),增加扩展(群殴)分布可靠性 信息安全性 主要防止以下类型的攻击 拦…

软件工程---18.面向服务的软件工程

什么是Web服务 一个松耦合、可复用的软件构件,封装了离散的功能,该功能是分布式的并且可以被程序访问。Web服务是通过标准互联网和基于XML的协议被访问的服务。 服务和软件构件之间的一个重要的区别是 服务应该总是独立的和松耦合的Web 服务没有“请求…

【剑指offer】_08.数值的整数次方

题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 解题思路 首先一个数的任意次方,这个数有可能是负数和正数和零,然后次方也有可能是负数和正数和零 当这个数是零时&#xff…

【剑指offer】_09二叉搜索树的后序遍历序列

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路 比如下面的这棵二叉搜索树 它的后序遍历为0214369875; 我们设当前根节点为root; 第一次…

【剑指offer】_10二叉树和为某一路径值

题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 解题思路 要求一路径的和,那么必然终止条件为叶子结点,从根结点出发…

【剑指offer】_11整数中1出现的次数

题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的…

【剑指offer】_12 数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 解题思路 剑指offer的解法 看到这个题目&#xff0…

详解Linux下通过yum安装Mariadb/MySQL数据库(腾讯云也适用)

1. 安装Mariadb 安装命令 yum -y install mariadb mariadb-server安装完成MariaDB,首先启动MariaDB systemctl start mariadb设置开机启动 systemctl enable mariadbMariaDB的相关简单配置 此命令进入到配置相关界面 mysql_secure_installation首先是设置密码…

【剑指offer】_13 圆圈中最后的数

题目描述 年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱…

【剑指offer】_14 不用加减乘除做加法

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用、-、*、/四则运算符号。 解题思路 首先看十进制是如何做的: 5712,三步走 第一步:相加各位的值,不算进位,得到2。 第二步&#x…

海量数据处理(位图和布隆过滤器)

哈希切割 给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 与上题条件相同,如何找到top K的IP?如何直接用Linux系统命令实现 解决思路 找到出现次数最多的IP地址 要找到前TopK的IP地址,就…

C++11新特性的总结

C11新特性 auto关键字(C11)基于范围的for循环(C11). 指针空值nullptr(C11)C动态内存管理序列式容器 array forward_list;继承和多态:final overridedelete:不生成默认的成员函数default:强制编译器生成默认的成员函数智能指针:unique_ptr,sh…