图书信息
图书目录

需求工程--软件建模与分析(第3版)




本书入选“软硬件产学协同人才培养项目”。

本书从开发者的视角,侧重于实践者的技术与方法,系统全面地介绍了软件需求工程的各个方面,致力于促进需求工程领域理论、方法和技术的全面融合与应用,以指导需求工程各阶段的系统化实践。

全书分为4部分,共18章。第一部分“绪论”(第1—3章)是对需求工程的宏观介绍。第二部分“前期阶段的需求开发”(第4—8章)介绍前期阶段的需求获取、需求分析和需求文档化活动。第三部分“后期阶段的需求开发”(第9—15章)介绍后期阶段的需求获取、需求分析和需求文档化活动。第四部分“需求管理和工程管理”(第16—18章)介绍需求管理活动以及针对需求工程的管理活动。为进一步加深读者对内容的理解,方便高校教师教学,本书还提供了配套的教学课件、视频、习题等教学资源。

本书可作为高等学校计算机、软件工程等专业本科或研究生“软件需求”课程的教材,也可供从事软件需求相关工作的软件技术人员参考使用。



作者:
骆斌 丁二玉 李传艺 编著

定价:
63.00 元

出版时间:
2026-07-17

ISBN:
978-7-04-066838-4

物料号:
66838-00

读者对象:
高等教育

一级分类:
计算机/教育技术类

二级分类:
软件工程专业课程

重点项目:
“十一五”国家规划教材

版面字数:
610.00千字

开本:
16开

装帧形式:
平装

版次:
3

最新版次
印刷时间:
2026年
  • 前辅文
  • 第一部分 绪论
    • 第1章 需求工程导论
      • 1.1 需求与需求处理
        • 1.1.1 软件工程需要专门的需求处理
        • 1.1.2 软件需求处理技术的发展
      • 1.2 什么是需求工程
      • 1.3 为什么需要需求工程
        • 1.3.1 软件生产中的需求问题
        • 1.3.2 软件需求问题的原因分析
        • 1.3.3 为什么会感觉不到软件需求工程的重要性
      • 1.4 什么时机执行需求工程
        • 1.4.1 系统工程、软件工程与需求工程
        • 1.4.2 需求工程对其他软件开发活动的影响
      • 1.5 谁负责执行需求工程
        • 1.5.1 需求工程师
        • 1.5.2 需求工程师的技能要求
        • 1.5.3 需求开发是团队行为
      • 1.6 如何执行软件需求工程
        • 1.6.1 软件需求工程基本活动
        • 1.6.2 需求开发过程
        • 1.6.3 需求管理
      • 1.7 软件需求的人工智能处理方法
        • 1.7.1 特征请求的获取与分析
        • 1.7.2 特征请求的管理
      • 1.8 产品工程
        • 1.8.1 不同类型的软件产品需要不同的处理方式
        • 1.8.2 传统的软件需求工程与产品工程
        • 1.8.3 产品开发中的需求处理
        • 1.8.4 产品经理
      • 习题
    • 第2章 需求基础
      • 2.1 满足需求就是解决问题
        • 2.1.1 问题与需求
        • 2.1.2 问题解决的两个方面——问题域与解系统
        • 2.1.3 问题解决的基础——模拟与共享现象
        • 2.1.4 问题解决方式与问题解决方案
        • 2.1.5 问题解决的困难性
      • 2.2 需求和问题都有层次性
        • 2.2.1 战略问题与业务需求
        • 2.2.2 任务问题与用户需求
        • 2.2.3 系统行为问题与系统级需求
        • 2.2.4 需求开发要遵从层次性
      • 2.3 需求的分类与表述
        • 2.3.1 需求的分类
        • 2.3.2 功能需求
        • 2.3.3 性能需求
        • 2.3.4 质量属性
        • 2.3.5 对外接口
        • 2.3.6 约束
        • 2.3.7 其他需求
      • 2.4 优秀需求的特性
        • 2.4.1 完备性
        • 2.4.2 正确性
        • 2.4.3 可行性
        • 2.4.4 必要性
        • 2.4.5 无歧义
        • 2.4.6 可验证
      • 习题
    • 第3章 需求开发过程
      • 3.1 需求开发过程
        • 3.1.1 迭代和并发的需求开发过程
        • 3.1.2 需求开发过程中的学习性
        • 3.1.3 常用的需求开发过程模型
      • 3.2 需求获取
        • 3.2.1 需求获取的活动与任务
        • 3.2.2 获取信息的内容与来源
        • 3.2.3 获取信息的方法与成果
        • 3.2.4 获取信息过程的注意事项
        • 3.2.5 需求获取的困难分析
        • 3.2.6 实践中的需求获取
      • 3.3 需求分析
        • 3.3.1 概述
        • 3.3.2 需求分析的活动与任务
        • 3.3.3 需求分析方法和技术
        • 3.3.4 实践中的需求分析
      • 3.4 需求规格说明
        • 3.4.1 需求文档的类型
        • 3.4.2 需求文档的描述手段
        • 3.4.3 需求文档的写作要点
        • 3.4.4 实践中的需求规格说明
      • 3.5 需求验证
      • 3.6 敏捷方法的需求开发过程
        • 3.6.1 极限编程
        • 3.6.2 Scrum
        • 3.6.3 精益方法
      • 3.7 产品工程的需求开发过程
      • 习题
  • 第二部分 前期阶段的需求开发
    • 第4章 确定项目的前景与范围
      • 4.1 为什么要确定项目的前景与范围
      • 4.2 确定项目前景与范围的活动
      • 4.3 获取问题和需求
        • 4.3.1 硬数据采集
        • 4.3.2 面谈
        • 4.3.3 群体面谈
        • 4.3.4 头脑风暴
        • 4.3.5 调查问卷
      • 4.4 问题分析
        • 4.4.1 发现问题
        • 4.4.2 明确问题
        • 4.4.3 发现业务需求
        • 4.4.4 定义问题解决方案及系统特性
        • 4.4.5 问题分析方法的局限性
      • 4.5 目标模型与面向目标的分析
        • 4.5.1 “目标”概念
        • 4.5.2 目标模型
        • 4.5.3 目标分析过程
      • 4.6 界定系统边界
        • 4.6.1 用例图
        • 4.6.2 建立用例图
        • 4.6.3 明确假设与依赖
        • 4.6.4 定义系统约束
      • 4.7 确定需求优先级
        • 4.7.1 为什么要确定需求优先级
        • 4.7.2 确定需求优先级的常用方法
      • 习题
    • 第5章 涉众分析
      • 5.1 如何进行涉众分析
      • 5.2 涉众分析过程
      • 5.3 涉众识别
        • 5.3.1 涉众识别的目标
        • 5.3.2 涉众识别的方法
      • 5.4 涉众描述
        • 5.4.1 涉众描述的内容
        • 5.4.2 涉众描述示例
      • 5.5 涉众评估
        • 5.5.1 优先级评估
        • 5.5.2 风险评估
        • 5.5.3 共赢分析
      • 5.6 涉众代表选择
        • 5.6.1 涉众采样
        • 5.6.2 用户替代源
      • 5.7 涉众参与策略制定
      • 5.8 使用目标模型进行涉众分析
        • 5.8.1 使用主体依赖模型描述涉众互动
        • 5.8.2 基于目标模型描述及评估涉众
      • 5.9 用户画像
        • 5.9.1 用户画像描述
        • 5.9.2 用户画像的作用
        • 5.9.3 用户旅程地图
      • 习题
    • 第6章 复杂情景分析
      • 6.1 非功能需求分析
        • 6.1.1 非功能需求分析的困难
        • 6.1.2 使用目标模型描述非功能需求
        • 6.1.3 使用目标模型分析非功能需求的过程
        • 6.1.4 整合功能需求和非功能需求的目标模型示例
      • 6.2 业务过程分析
        • 6.2.1 活动图的基本元素
        • 6.2.2 活动图的关键:令牌平衡
        • 6.2.3 信号与事件机制
        • 6.2.4 异常与中断机制
        • 6.2.5 分区
        • 6.2.6 层次结构与图简化元素
        • 6.2.7 使用活动图进行业务过程分析
      • 6.3 特征分析
        • 6.3.1 面向特征的领域分析
        • 6.3.2 特征模型及其建模过程
      • 习题
    • 第7章 产品分析
      • 7.1 概述
      • 7.2 机会识别
        • 7.2.1 寻找机会
        • 7.2.2 有组织的产品创新
        • 7.2.3 评估产品机会
      • 7.3 市场分析
        • 7.3.1 市场具象
        • 7.3.2 市场细分
        • 7.3.3 市场规模估算
        • 7.3.4 市场调查与研究
      • 7.4 产品涉众分析
        • 7.4.1 几类特殊用户
        • 7.4.2 描述用户使用产品的全生命周期过程
      • 7.5 商业模式设计
        • 7.5.1 商业模式精益画布
        • 7.5.2 常见的商业模式
      • 习题
    • 第8章 前期阶段的需求文档化
      • 8.1 前景与范围文档
        • 8.1.1 引言
        • 8.1.2 业务需求
        • 8.1.3 涉众特征
        • 8.1.4 项目前景
        • 8.1.5 系统功能特性与系统非功能需求
      • 8.2 商业需求文档
      • 习题
  • 第三部分 后期阶段的需求开发
    • 第9章 基于用例/场景模型开发用户需求
      • 9.1 用户需求开发活动的展开
      • 9.2 用例与场景
        • 9.2.1 什么是用例/场景
        • 9.2.2 用例/场景的组织特点
        • 9.2.3 用例/场景的层次性
        • 9.2.4 基于用例/场景进行软件开发
      • 9.3 用例/场景模型
        • 9.3.1 场景的定位
        • 9.3.2 用例的定位
        • 9.3.3 理解用例相关概念
        • 9.3.4 用例图
      • 9.4 以用例/场景模型为主线索开展用户需求开发
        • 9.4.1 依据系统用例图、目标模型建立初始用例/场景模型
        • 9.4.2 根据用例/场景模型指导获取,完善层次结构
        • 9.4.3 使用用例/场景组织获取内容
        • 9.4.4 用新组织或修正的用例/场景完善用例/场景模型
        • 9.4.5 依据用例/场景模型建立需求分析模型
        • 9.4.6 分析用例/场景发现仍需获取的需求内容
      • 9.5 用户故事
        • 9.5.1 用户故事的特点
        • 9.5.2 用户故事方法的要素
        • 9.5.3 用户故事地图
        • 9.5.4 用户故事的书写
      • 习题
    • 第10章 需求获取方法
      • 10.1 面谈
        • 10.1.1 谈话交流模式
        • 10.1.2 问题类型
        • 10.1.3 面谈过程
        • 10.1.4 面谈的类别
      • 10.2 原型
        • 10.2.1 不确定性与原型法
        • 10.2.2 原型法的应用过程
        • 10.2.3 坚持抛弃需求获取原型
        • 10.2.4 控制原型成本
        • 10.2.5 善用故事板原型
        • 10.2.6 原型法的风险
      • 10.3 观察
        • 10.3.1 情景性
        • 10.3.2 观察法
        • 10.3.3 观察法的应用场景
        • 10.3.4 采样观察
        • 10.3.5 民族志
      • 10.4 文档审查
        • 10.4.1 对文档的需求获取方法
        • 10.4.2 需求重用
        • 10.4.3 文档分析与需求剥离
      • 习题
    • 第11章 面向对象分析
      • 11.1 面向对象分析与UML
        • 11.1.1 面向对象方法的基本思路
        • 11.1.2 UML与面向对象分析
      • 11.2 对象模型
        • 11.2.1 对象
        • 11.2.2 类
        • 11.2.3 类之间的关系
        • 11.2.4 领域模型
      • 11.3 建立领域模型
        • 11.3.1 识别候选对象与类
        • 11.3.2 确定概念类
        • 11.3.3 建立类之间的关联
        • 11.3.4 添加类的重要属性
        • 11.3.5 领域模型的分析作用
      • 11.4 行为模型——交互图
        • 11.4.1 顺序图
        • 11.4.2 通信图
        • 11.4.3 系统顺序图
      • 11.5 建立交互图
        • 11.5.1 建立典型场景的系统顺序图
        • 11.5.2 建立多场景系统顺序图
        • 11.5.3 建立详细顺序图
        • 11.5.4 交互图的分析作用
      • 11.6 行为模型——状态图
        • 11.6.1 状态图的发展历程
        • 11.6.2 有限状态机
        • 11.6.3 David Harel对FSM的扩展
        • 11.6.4 UML的状态图
      • 11.7 建立状态图
        • 11.7.1 基于状态转移矩阵建立状态图
        • 11.7.2 状态图的分析作用
      • 11.8 对象约束语言
        • 11.8.1 什么是对象约束语言(OCL)
        • 11.8.2 OCL的应用
      • 11.9 基于CRC卡的面向对象分析方法
        • 11.9.1 CRC卡
        • 11.9.2 基于CRC卡的职责驱动方法
      • 11.10 需求细化
        • 11.10.1 基于需求分析模型细化需求
        • 11.10.2 细化需求实例
        • 11.10.3 描述细化的需求
      • 习题
    • 第12章 结构化分析
      • 12.1 数据建模
        • 12.1.1 实体关系图(ERD)
        • 12.1.2 依据充分描述信息的ERD建模
        • 12.1.3 依据硬数据表单的ERD建模
        • 12.1.4 复杂情况下的ERD建模
      • 12.2 过程建模
        • 12.2.1 过程建模的基本思路
        • 12.2.2 数据流图(DFD)的基本元素
        • 12.2.3 DFD的描述规则
        • 12.2.4 DFD的分层结构
        • 12.2.5 DFD层次结构的建立
      • 12.3 复杂决策建模
        • 12.3.1 决策表
        • 12.3.2 决策树
      • 12.4 数据说明——数据字典
      • 12.5 信息工程的功能建模
        • 12.5.1 功能分解图
        • 12.5.2 过程依赖图
      • 习题
    • 第13章 需求分析模型与技术综合运用
      • 13.1 为什么需要建模
        • 13.1.1 模型的作用
        • 13.1.2 建模的复杂度简化方法:抽象与分解
      • 13.2 两个世界与三种模型
        • 13.2.1 计算世界与计算模型
        • 13.2.2 问题世界与业务模型
        • 13.2.3 中间状态与分析模型
      • 13.3 分析模型
        • 13.3.1 半形式化语言
        • 13.3.2 多视点方法
        • 13.3.3 模型、表示法、技术、方法和工具
      • 13.4 解决方案设计
        • 13.4.1 设计活动特征
        • 13.4.2 如何提高创造性
      • 13.5 需求分析技术的综合运用
        • 13.5.1 综合运用的需要
        • 13.5.2 需求分析的方法学
        • 13.5.3 Wieringa框架
        • 13.5.4 Zachman框架
      • 习题
    • 第14章 后期阶段的需求文档化
      • 14.1 用例文档
        • 14.1.1 用例文档的内容
        • 14.1.2 用例文档评审检查列表
      • 14.2 软件需求规格说明
        • 14.2.1 模板的选择与裁剪
        • 14.2.2 IEEE软件需求规格说明模板
        • 14.2.3 优秀需求规格说明文档的特性
        • 14.2.4 软件需求规格说明评审检查列表
      • 14.3 系统需求规格说明
    • 第15章 需求验证
      • 15.1 需求评审
        • 15.1.1 参与需求评审的人员
        • 15.1.2 评审的过程
        • 15.1.3 评审的检查方法
        • 15.1.4 评审的类型
      • 15.2 需求验证的其他方法
        • 15.2.1 原型与模拟
        • 15.2.2 开发测试用例
        • 15.2.3 用户手册编制
        • 15.2.4 利用跟踪关系
        • 15.2.5 自动化分析
      • 15.3 问题的修正
      • 15.4 产品验证
        • 15.4.1 易用性验证:实验室测试
        • 15.4.2 易用性验证:在线测试
        • 15.4.3 简单价值验证:客户访谈
        • 15.4.4 基于最小可行产品的价值验证
      • 习题
  • 第四部分 需求管理和工程管理
    • 第16章 需求管理
      • 16.1 需求管理概述
      • 16.2 维护需求基线
        • 16.2.1 需求基线的内容
        • 16.2.2 需求基线的维护
      • 16.3 实现需求跟踪
        • 16.3.1 需求跟踪
        • 16.3.2 需求跟踪的用途
        • 16.3.3 需求跟踪的内容
        • 16.3.4 需求跟踪的实现方法
        • 16.3.5 需求跟踪过程的建立
        • 16.3.6 需求依赖
      • 16.4 控制变更
        • 16.4.1 导致需求变化的因素
        • 16.4.2 变更控制过程
        • 16.4.3 变更控制中的注意事项
      • 16.5 实践中的需求管理
      • 16.6 下游产品管理
      • 习题
    • 第17章 需求工程的过程管理
      • 17.1 引言
      • 17.2 需求工程过程的环境依赖性
      • 17.3 需求工程过程的建立
        • 17.3.1 建立过程框架
        • 17.3.2 选择工作组件及应用实践方法
      • 17.4 需求工程过程的改进
        • 17.4.1 过程的评价
        • 17.4.2 过程的改进
      • 习题
    • 第18章 需求工程中的项目管理
      • 18.1 概述
      • 18.2 资源支持
      • 18.3 需求工程的生命周期规划
      • 18.4 团队管理
        • 18.4.1 组建需求团队的注意事项
        • 18.4.2 维持需求团队内部的有效沟通
      • 18.5 需求风险管理
        • 18.5.1 风险管理过程
        • 18.5.2 常见的需求风险
      • 习题
  • 本书参考文献
1