系统分析师之需求工程(十四)

news/2025/2/14 3:13:32/

目录

一、概述

二、需求获取

三、需求分析

3.1 需求分类

3.2 结构化需求分析(SA)

3.3 面向对象的需求分析OOA

四、需求定义

五、需求验证

六、需求管理

6.1 软件需求基线

6.2 需求跟踪

6.3 需求风险管理


一、概述

        软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望

        软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。

二、需求获取

需求获取方法:

  • 用户访谈:1对1-3,有代表性的用户。
  • 问卷调查:用户多,无法一一访谈
  • 现场观摩:针对较为复杂的流程和操作。
  • 联合需求计划(JRP):高度组织的群体会议,各方参与,成本较高
  • 情节串联板:一系列图片,通过这些图片来讲故事。
  • 收集资料:把与系统有关的、对系统开发有益的信息收集起来参加业务实践:有效地发现问题的本质和寻找解决问题的办法
  • 阅读历史文档:对收集数据性的信息较为有用。
  • 抽样调查:降低成本。样本大小=a*(可信度系数/可接受的错误)2;注:a一般取0.25

三、需求分析

3.1 需求分类

PIECES框架是系统非功能性需求分类的技术:

  • 性能(Preformance):性能用于描述企业当前的运行效率,可以分析当前业务的处理速度
  • 信息(Information ):信息和数据指标用于描述业务数据的输入、输出以及处理方面存在的各种问题。
  • 经济(Economics):经济指标主要是从成本和收益的角度分析企业当前存在的问题
  • 控制( Control): 提高信息系统的安全和控制水平。
  • 效率( Efficiency ):提高企业的人、财、物等的使用效率,
  • 服务(Service ) : 提高企业对客户、供应商、合作伙伴、顾客等的服务质量

3.2 结构化需求分析(SA)

(1)数据字典

(2)数据流图DFD

异常现象

  • 黑洞:一个加工只有输入数据流而无输出数据流
  • 奇迹:一个加工只有输出数据流而无输入数据流
  • 灰洞: 若一个加工的输入数据流无法通过加工产生输出流

(3)状态转换图STD

(4)实体联系图ER

3.3 面向对象的需求分析OOA

  • 对象 : 属性( 数据 )+方法(操作 ) +对象ID
  • 类(实体类/控制类/边界类 )
  • 继承与泛化: 复用机制
  • 封装:隐藏对象的属性和实现细节,仅对外公开接口
  • 多态:不同对象收到同样的消息产生不同的结果
  • 接口:一种特殊的类,他只有方法定义没有实现
  • 重载:一个类可以有多个同名而参数类型不同的方法
  • 消息和消息通信:消息是异步通信的

(1)UML

  • 类是描述具有相同属性、方法、关系和语义的对象的集合,一个类实现一个或多个接口.
  • 接口是指类或构件提供特定服务的一组操作的集合,接口描述了类或构件的对外的可见的动作。
  • 构件是物理上或可替换的系统部分,它实现了一个接口集合包是一种将有组织的元素分组的机制。
  • 用例是描述一系列的动作,产生有价值的结果
  • 协作定义了交互的操作,是一些角色和其它事物一起工作,提供一些合作的动作,这些动作比事物的总和要大;
  • 节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。

(2)4+1视图

(3)用例图

(4)类图和对象图

(5)顺序图

(6)活动图

(7)状态图

(8)通信图

四、需求定义

 

五、需求验证

六、需求管理

6.1 软件需求基线

6.2 需求跟踪

6.3 需求风险管理


http://www.ppmy.cn/news/59947.html

相关文章

shell的基础学习一

文章目录 一、shell的简介二、 Shell 变量三、Shell 传递参数总结 一、shell的简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供…

虚拟机和Docker有什么区别?

虚拟机 对于虚拟机,抽象层或抽象软件成为管理程序。管理程序就是帮助虚拟机模拟物理计算机的东西。在管理程序下面,我们有些硬件。管理程序管理单个物理主机上不同虚拟机之间的资源分配。管理程序管理单个物理主机上不同虚拟机之间的资源分配。也就是管…

提取Windows中系统自带的图标资源

写应用程序,如果想使用Windows下的图标,可以使用Visual Studio中的图标,比如VS2008的ImageLibrary(笔者已经打包上传到CSDN),也可以使用Windows系统自带的图标。 Windows系统自带了不少高质量的图标资源&a…

Python 调用 “GetDoubleClickTime“ 获取系统鼠标双击间隔时间

在Python中,可以使用ctypes模块来调用Windows API。要调用GetDoubleClickTime函数获取鼠标双击间隔时间,可以按照以下步骤进行: 1. 导入ctypes模块。 import ctypes 2. 定义函数原型。 # 定义函数原型 GetDoubleClickTime ctypes.windll.use…

Linux驱动编程(总线设备驱动模型)

一、驱动编写的3种方法 1、传统写法 使用哪个引脚,怎么操作引脚,都写死在代码中。最简单,不考虑扩展性,可以快速实现功能。修改引脚时,需要重新编译。 2、总线设备驱动模型 引入 platform_device/platform_driver&am…

网络安全之IPSEC路由基本配置

目录 网络安全之IPSEC路由基本配置 IPSEC配置的前提分析 协议分析 传输模式分析​编辑 IPSEC路由中的配置 图谱图 配置公网可达 R1配置IKE SA的安全提议 R1配置 IKE SA 的身份认证信息 R3配置IKE SA的安全提议 R3配置 IKE SA 的身份认证信息 R1配置IPSEC的安全提议…

界面开发框架Qt新手入门 - 自定义排序/筛选模型示例(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 自定义排序/筛选模型…

队列,双端队列,栈结构

java.util.Queue接口.队列 Queue继承自Collection. 队列可以保存一组元素,但是存取元素必须遵循先进先出原则:FIFO(First Input First Output) 常用实现类:LinkedList 双端队列 java.util.Deque Deque继承自Queue 双端队列是队列两端都可以做出入对操作的队列. 常用实现类…