课程大纲:
第一天 上午
需求工程的思想与方法论
1)高质量需求工程的意义与作用
需求工程与需求开发方法论
优秀需求规格说明应具有的特性
2)对软件工程方法的重新思考与应用体会
瀑布方式的问题
需求的滚动式完善模式
复杂系统的需求分解
分层的需求组织方法
迭代的软件工程过程模型
3)需求开发过程定义与控制技巧
4)利用需求模式重构问题
利用模式解决划分中的困难
需求模式与需求复用
通过业务抽象发现模式
5)需求工程推荐方法的应用总揽
第一天 下午
需求开发第一阶段:开发业务需求
1)从业务能力视角开始开发业务需求
在业务能力主线定义上达成共识
理解根本原因:需求背后的主线
2)业务能力主线与业务需求框架
3)基于业务架构思考产品愿景
从流程战略的视角思考产品愿景
从数据战略的视角思考产品愿景
4)初步定义业务解决方案的边界与约束
定义业务解决方案的边界
确定解决方案将受的约束
第二天 上午
需求开发第二阶段:开发用户需求
1)通过建立模型来理解业务
业务的上下文范围与视图
过程分解与事件分解
发现业务事件和“无事件”
基于领域建模的业务分析
基于控制系统的状态变迁模型
2)用创新思维发现潜在需求
满足需求
发现需求
引领需求
3)创新的产品定义与初步策划
明确产品定义的类型
分析与澄清产品关键特征的价值
有目的有组织的系统化创新
4)需求获取中如何理解用户和涉众的需要
引出需求方法论问题
交流的能力与面谈技巧
理解用户的思维过程
文档考古学
业务用例研讨会
创造性研讨会
头脑风暴会议
5)通过原型法挖掘需求
原型是“什么”和“为什么”要原型
水平和垂直原型对需求挖掘的贡献
原型法的风险评价
6)产品边界的最后确定
7)客户需求说明书参考模板
8)需求获取问题总结
第二天 下午
需求开发第三阶段:开发软件需求
1)软件需求的严格定义及思考
2)深入理解用例方法
用例是规范行为的契约
用例的目标和层次
用例模型及其创建
3)利用用例建立产品部件场景
用例场景的基本描述方式
成功路经和异常路经
包含的场景描述
扩展的场景描述
泛化关系及场景描述
正确编写用例的提示
尽早发现变更规律
4)控制需求与状态转换关系
5)新产品开发项目中的需求问题
第三天 上午
需求开发第四阶段:开展需求分析
1)发现和分析功能性需求
2)发现和分析非功能性需求
用例与非功能性需求
非功能性需求类型与软件质量模型
定义质量属性
冲突性的属性与取舍
3)确定验收标准
验收需要标准的原因
测量的尺度与理由
非功能需求的验收标准
功能性需求的验收标准
4)设定需求优先级
为什么要设定需求的优先级
不同角色的人处理优先级
设定需求优先级的方法与技术
风险识别与分析方法
需求开发第五阶段:编写需求规格说明
1)需求编写过程说明
2)需求规格说明书模板
3)项目驱动与问题描述
4)产品限制条件的确定
5)功能性和非功能性需求的描述
6)阐述项目问题
7)开发补充规格说明
8)产品需求规格说明书参考模板
9)需求文档编写的若干建议
第三天 下午
需求质量控制一:需求的验证
1)验证与确认的基本概念
2)需求验证过程定义
3)需求验证测试的步骤
4)组织中如何实现质量关
5)应用原型方法控制需求与项目范围风险
需求质量控制二:需求的确认与管理
1)评审前复查规格说明
2)需求正式评审方法
3)需求管理及其过程
需求管理的目标
需求管理的实践
4)产品需求全生命周期管理
5)从需求开发过渡到需求管理
基于敏捷开发的需求开发与管理
1)敏捷软件开发过程简介
敏捷过程的价值观与方法论
基于Scrum的敏捷软件开发方法与过程
基于DevOps 敏捷研发方法与过程
2)敏捷研发需求管理的作用与特点
3)产品的敏捷研发模式与原则
4)基于需求驱动的敏捷研发模式与工具应用
5)敏捷需求与发布计划
用户故事与主题
定义Product Backlog
估计用户故事的规模
估计开发速度制订发布计划
6)制定迭代计划
发布计划与迭代计划的关系
迭代计划制定方法
Sprint Backlog
7)Sprint进行中
ScrumMaster的工作与价值
需求的细化与不确定性消除
开好每日简会
保持可视性
8)Sprint评审与需求变更
Sprint评审会议
早期发现需求变更要求
团队对如何做得更好进行回顾
稳定边界防止需求蔓延
需求分析案例教学
1)案例背景介绍
2)需求分析场景练习
3)如何确定项目的边界
4)如何划分需求的等级
5)学员操练结果点评
需求建模和文档管理案例分析
1)从客户需求到分析模型
2)需求建模操作要点
3)避免使用实例陷阱
4)编写需求文档的原则
5)需求示例的改进前后
从需求分析到架构设计案例分析
1)需求案例介绍与效果分析
2)体会练习不同需求对架构的影响
3)逐一分析不同背景下的工作思路
4)总结如何从需求过渡到设计
5)介绍如何从需求到测试