第1部分 什么是软件需求
为什么要实现软件需求
哪些人应参与软件需求
第1章 软件需求基础知识
1. 1 软件需求的定义
1. 1. 1 对需求的不同解释
1. 1. 2 需求的层次
1. 1. 3 不属于需求的内容
1. 2 需求的开发与管理
1. 2. 1 需求开发
1. 2. 2 需求管理
1. 3 所有项目都有需求
1. 4 优秀的团队遇到糟糕的需求
1. 4. 1 用户参与不足
1. 4. 2 用户需求扩展
1. 4. 3 有岐义的需求
1. 4. 4 镀金问题
1. 4. 5 过于抽象的需求
1. 4. 6 忽略了某类用户
1. 4. 7 不准确的计划
1. 5 优质需求过程的好处
1. 6 优秀需求的特点
1. 6. 1 需求陈述的特点
1. 6. 2 需求规格说明的特点
第2章 客户眼中的需求
2. 1 客户
2. 2 客户与开发人员的合作伙伴关系
2. 2. 1 软件客户的权利法案
2. 2. 2 软件客户的义务法案
2. 3 关于签字
第3章 需求工程的推荐方法
3. 1 知识技能
3. 2 需求获取
3. 3 需求分析
3. 4 规格说明
3. 5 需求验证
3. 6 需求管理
3. 7 项目管理
3. 8 开始新实践
3. 9 需求开发过程
第4章 需求分析员
4. 1 需求分析员的职责
4. 1. 1 需求分析员的工作
4. 1. 2 需求分析员必备的技能
4. 1. 3 需求分析员必备的知识
4. 2 如何培养需求分析员
4. 2. 1 从用户转为分析员
4. 2. 2 从开发人员转为分析员,
4. 2. 3 主题专家
4. 3 营造合作的氛围
第2部分 软件需求开发
第5章 确定产品前景与项目范围
5. 1 通过业务需求定义前景
5. 1. 1 相互矛盾的业务需求
5. 1. 2 业务需求与用例
5. 2 前景与范围文档
5. 3 关联图
5. 4 保持范围的适度
第6章 获取客户的需求
6. 1 需求的来源
6. 2 用户类
6. 3 寻找用户代表
6. 4 用户代言人
6. 4. 1 外部的用户代言人
6. 4. 2 对用户代言人的要求
6. 4. 3 设置多位用户代言人
6. 4. 4 如何让人接受用户代言人的概念
6. 4. 5 用户代言人应避免的陷阱
6. 5 谁来做出决策
第7章 聆听客户的需求
7. 1 需求获取
7. 2 需求获取讨论会
7. 3 将客户的意见归类
7. 4 需求获取中的注意事项
7. 5 寻找遗漏的需求
7. 6 如何判断需求获取是否已完成
第8章 理解用户需求
8. 1 用例法
8. 1. 1 用例与使用场景
8. 1. 2 确定用例
8. 1. 3 编写用例
8. 1. 4 用例与功能性需求
8. 1. 5 用例的好处
8. 1. 6 使用用例时应避免的问题
8. 2 事件一响应表
第9章 遵守规则
9. 1 业务的规则
9. 1. 1 事实
9. 1. 2 约束
9. 1. 3 动作触发规则
9. 1. 4 推论
9. 1. 5 计算
9. 2 在文档中记录业务规则
9. 3 业务规则和需求
第10章 编写需求文档
10. 1 软件需求规格说明
10. 1. 1 需求的标识
10. 1. 2 处理不完整性
10. 1. 3 用户界面和软件需求规格说明
10. 2 软件需求规格说明模板
10. 3 编写需求文档的原则
10. 4 改进前后的需求示例
10. 5 数据字典
第11章 一图胜千言
11. 1 需求建模
11. 2 从客户需求到分析模型
11. 3 数据流图
11. 4 实体一关系图
11. 5 状态转换图
11. 6 对话图
11. 7 类图
11. 8 判定表和判定树
11. 9 最后的提醒
第12章 软件质量属性
12. 1 质量属性
12. 2 定义质量属性
12. 2. 1 对用户重要的属性
12. 2. 2 对开发人员重要的属性
12. 3 性能需求
12. 4 用Planguage定义非功能性需求
12. 5 属性的折中方案
12. 6 实现非功能性需求
第13章 通过制作原型减少项目风险
13. 1 什么是原型和为什么要建立原型
13. 2 水平原型
13. 3 垂直原型
13. 4 废弃型原型
13. 5 演化型原型
13. 6 书面原型和电子原型
13. 7 原型评估
13. 8 创建原型所带来的风险
13. 9 原型法成功的因素
第14章 设定需求优先级
14. 1 为什么要设定需求优先
14. 2 优先级规则
14. 3 优先级的等级
14. 4 根据价值. 成本和风险来设定优先级
第15章 需求确认
15. 1 需求评审
15. 1. 1 审查过程
15. 1. 2 需求评审面临的困难
15. 2 测试需求
15. 3 制定验收标准
第16章 需求开发面临的特殊难题
16. 1 维护项目的需求
16. 1. 1 开始捕获信息
16. 1. 2 亲身实践一下新的需求技术
16. 1. 3 遵循跟踪链
16. 2 软件包解决方案的需求
16. 2. 1 开发用例
16. 2. 2 考虑业务规则
16. 2. 3 定义质量需求
16. 3 外包项目的需求
16. 4 突发型项目的需求
16. 4. 1 非正式用户需求规格说明
16. 4. 2 现场客户
16. 4. 3 尽早地而且要经常地设定优先级
16. 4. 4 简单的变更管理
第17章 超越需求开发
17. 1 从需求到项目规划
17. 1. 1 需求和预估
17. 1. 2 需求和进度安排
17. 2 从需求到设计和编码
17. 3 从需求到测试
17. 4 从需求到成功
第3部分 软件需求管理
第18章 需求管理的原则和实践
18. 1 需求基线
18. 2 需求管理过程
18. 3 需求版本控制
18. 4 需求属性
18. 5 跟踪需求状态
18. 6 评估需求管理的工作量
第19章 变更管理
19. 1 管理范围蔓延
19. 2 变更控制过程
19. 2. 1 变更控制策略
19. 2. 2 变更控制过程描述
19. 3 变更控制委员会
19. 3. 1 CCB的组成
19. 3. 2 CCB规章
19. 4 变更控制工具
19. 5 测量变更活动
19. 6 变更需要付出代价:影响分析
19. 6. 1 影响分析的过程
19. 6. 2 影响分析报告模板
第20章 需求链中的联系链
20. 1 需求跟踪
20. 2 需求跟踪动机
20. 3 需求跟踪矩阵
20. 4 需求跟踪工具
20. 5 需求跟踪过程
20. 6 需求跟踪可行吗 必要吗
第21章 需求管理工具
21. 1 使用需求管理工具的益处
21. 2 需求管理工具的功能
21. 3 实现需求管理自动化
21. 3. 1 选择适当的工具
21. 3. 2 改变文化
21. 3. 3 使需求管理工具服务于自己
第4部分 实现需求工程
第22章 改进需求过程
22. 1 需求与其他项目过程的联系
22. 2 需求和各涉众组
22. 3 软件过程改进的基本原则
22. 4 过程改进周期
22. 4. 1 评估当前采用的方法
22. 4. 2 规划改进活动
22. 4. 3 建立. 实验并实现新过程
22. 4. 4 评估结果
22. 5 需求工程过程资产
22. 5. 1 需求开发过程资产
22. 5. 2 需求管理过程资产
22. 6 需求过程改进路线图
第23章 软件需求与风险管理
23. 1 软件风险管理基本原理
23. 1. 1 风险管理的要素
23. 1. 2 编写项目风险文档
23. 1. 3 制定风险管理计划
23. 2 与需求相关的风险,
23. 2. 1 需求获取
23. 2. 2 需求分析
23. 2. 3 编写需求规格说明
23. 2. 4 需求确认
23. 2. 5 需求管理
23. 3 风险管理是我们的好帮手
附录A 当前需求实践的自我评估
附录B 需求和过程改进模型
B. 1 软件能力成熟度模型
B. 2 CMMI-SE/SW
B. 2. 1 需求管理过程域
B. 2. 2 需求开发过程域
附录C 需求错误诊断指南
C. 1 根本原因分析
C. 2 需求问题的常见现象
C. 3 实现解决方案常常会遇到的障碍
附录D 需求文档范例
D. 1 前景和范围文档
D. 1. 1 业务需求
D. 1. 2 解决方案的前景
D. 1. 3 范围和局限性
D. 1. 4 业务上下文
D. 2 用例
D. 3 软件需求规格说明
D. 3. 1 介绍
D. 3. 2 总体描述
D. 3. 3 系统特性
D. 3. 4 外部接口需求
D. 3. 5 其他非功能性需求
D. 3. 6 附录A 数据字典和数据模型
D. 3. 7 附录B分析模型
D. 4 业务规则
术语表
结语