【系统分析师_知识点整理】 10.软件需求工程

**核心考向:**需求分类(业务 / 用户 / 系统)、QFD 三类需求、FURPS + 模型、PIECES 框架、需求获取 6 种方法、需求分析三大方法(SA/OOA/PDOA)、DFD 四大元素与三类错误、数据字典 6 类条目、UML 4+1 视图 / 9 种图 / 用例三关系、需求定义两种方法、需求验证(评审三类型)、需求管理(变更流程 / CCB / 双向跟踪);第二版新增面向问题域分析 PDOA、需求工程各步骤细节为必考重点,UML 用例图 / 序列图 / 状态图易出案例与选择题。

**解题关键:**需求层级严格区分(业务→用户→系统)、QFD 与 FURPS + 精准对应、DFD 错误一眼识别、UML 图按 "静态 / 动态、结构 / 行为" 归类、用例三关系不混淆、需求变更与跟踪固定流程解题、新增 PDOA 要点死记、易混点对比记忆。

一、软件需求概述(选择高频)

核心考点

需求两大过程、三层分类、QFD、FURPS+、PIECES、第二版新增点。

知识点梳理

  1. 需求工程两大过程
    • 需求开发(获取→分析→定义→验证)
    • 需求管理(变更、跟踪、控制)
  2. 三层需求分类(必背)
    • 业务需求:高层次目标,来自投资方 / 市场,定项目视图范围
    • 用户需求:用户具体任务 / 目标,访谈 / 问卷得来
    • 系统需求:系统角度,含功能需求、非功能需求、设计约束
  3. 质量功能部署 QFD(三类需求)
    • 常规需求:理应做到,越多越满意
    • 期望需求:用户想当然,没实现会不满
    • 意外需求(兴奋需求):额外加分,不实现不影响
  4. FURPS + 模型(UP 统一过程)
    • F:功能性(功能、安全)
    • U:可用性(人机、帮助、文档)
    • R:可靠性(故障、恢复、预测)
    • P:性能(响应、吞吐量、利用率)
    • S:可支持性(维护、适配、国际化)
    • +:实现、接口、操作、包装、授权
  5. PIECES 框架(非功能需求分类)
    • P 性能、I 信息、E 经济、C 控制、E 效率、S 服务
  6. 第二版新增:面向问题域的分析 PDOA、需求工程各步骤细节

二、需求获取(选择常考)

核心考点

6 种获取方法、适用场景、优缺点。

知识点梳理

  1. 用户访谈:1 对 1~3,结构化 / 非结构化,适用代表性用户
  2. 问卷调查 :用户量大,缺乏灵活性
  3. 采样:公式:样本数 = 0.25×(可信度因子 / 错误率)²
  4. 情节串联板 :图片讲故事,交互强、耗时长
  5. 联合需求计划 JRP:多方联合会议定需求
  6. 需求记录技术:任务卡片、场景说明、用户故事、Volere 白卡

三、需求分析(重点,选择 + 案例)

核心考点

好需求特性、PDOA、SA(DFD+DD)、OOA(UML)、三种分析方法对比。

知识点梳理

  1. 好需求的特性:无二义、完整、一致、可测试、确定、可跟踪、正确、必要
  2. 面向问题域分析 PDOA(第二版新增★)
    • 重描述、轻建模
    • 两部分:关注问题域(需求列表)、关注解系统行为
    • 核心:问题框架,分离子域
  3. 结构化分析 SA(自顶向下、逐步分解)
    • 建三类模型:功能(DFD)、行为(STD)、数据(E-R)
    • 数据流图 DFD(高频)
      • 四元素:外部实体、加工、数据存储、数据流
      • 三类错误:
        • 黑洞:有输入无输出
        • 奇迹:有输出无输入
        • 灰洞:输入不足以产生输出
    • 数据字典 DD
      • 6 类条目:数据元素、结构、数据流、存储、加工、外部实体
      • 符号:= 被定义为、+ 与、[|] 或、{} 重复
  4. 面向对象分析 OOA
    • 核心概念:对象、类(实体 / 边界 / 控制)、抽象、封装、继承、多态、接口、消息、覆盖、重载、绑定
    • 多态四类:参数、包含、过载、强制
    • OOA 五活动:认定→组织→描述交互→确定操作→定义内部
  5. UML(重中之重)
    • 4+1 视图
      1. 逻辑视图(设计)
      2. 进程视图(并发同步)
      3. 实现视图(代码构件)
      4. 部署视图(软硬件映射)
      5. 用例视图(需求模型)
    • UML 构造块:事物、关系、图
    • UML 关系:依赖、关联(聚合 / 组合)、泛化、实现
    • UML 9 种图(静态 / 动态)
      • 静态:类图、用例图、构件图、部署图、对象图
      • 动态:序列图、通信图、状态图、活动图
    • 用例图三关系
      1. 包含:提取公共行为
      2. 扩展:分支场景
      3. 泛化:父子用例
    • 序列图:同步(实心三角)、异步(空心)、返回(虚线)
  6. 三大方法对比
    • SA:功能分层分解,假定分析师全理解
    • OOA:对象封装交互,持续观测理解
    • PDOA:回归问题域,输出描述 + 需求列表

四、需求定义(选择)

核心考点

SRS、两种定义方法。

知识点梳理

  1. 软件需求规格说明书 SRS:需求开发产物,开发基础,需基线化
  2. 两种定义方法
    • 严格定义(预先):假设需求可预先明确
    • 原型方法(迭代):需求不明确时用,用户参与验证
  3. SRS 编写方式:文本、图形化、形式化规格

五、需求验证(选择)

核心考点

评审三类型、需求基线。

知识点梳理

  1. 目的:确认需求无误,评审 + 测试
  2. 评审三类型
    • 评审:正式会议,征求意见
    • 检查:他人详细查错
    • 走查:开发者自查,团队提意见
  3. 需求基线:验证通过用户签字,变更须走流程

六、需求管理(高频)

核心考点

变更流程、CCB、需求跟踪(正向 / 逆向 / 矩阵)。

知识点梳理

  1. 需求变更流程
    1. 问题分析与变更描述
    2. 变更分析与成本计算
    3. 变更实现
  2. 变更控制委员会 CCB
    • 决策机构,不做作业
    • 成员:用户 + 实施方决策人
  3. 需求跟踪
    • 正向跟踪:需求→后续成果
    • 逆向跟踪:后续成果→需求
    • 双向跟踪:用需求跟踪矩阵维护一致性
相关推荐
LuminousCPP2 小时前
C语言自定义类型全解析
c语言·笔记·枚举·结构体·联合体
深蓝海拓3 小时前
西门子S7-1500PLC的常用Area地址以及网络读写
笔记·学习·plc
一轮弯弯的明月3 小时前
博弈论-Nim游戏
笔记·蓝桥杯·学习心得
Hello_Embed3 小时前
嵌入式上位机开发入门(五):UDP 编程 —— Server 端实现
笔记·单片机·网络协议·udp·嵌入式
热水过敏3 小时前
前路迷茫,再次起航
笔记·程序人生·职场和发展
chase。3 小时前
【学习笔记】RoboForge:让文本指令“落地”到人形机器人——一个物理优化与隐式驱动的端到端框架
笔记·学习·机器人
chase。4 小时前
【学习笔记】从经典算法到通用神经运动规划器
笔记·学习·算法
牛奶咖啡134 小时前
免费笔记软件且优先本地私有化——Joplin、Obsidian
笔记·obsidian·joplin·待办事项应用程序·开源笔记应用·可私有化本地笔记应用·笔记的同步与插件安装
haokan_Jia4 小时前
3.31软考高项-每日5题
软件工程·软考·高项