从需求过度到设计课程
课程天数:2天
课程介绍
本课程由讲师在课堂上带领大家以客户一个真实项目或产品的实例系统为背景,形成课程案例通过课堂上的实例演练。
课程工具讲解过程,会依据客户目前应用工具的现状,以及工具的使用频度的排名和开源程度来对比讲解工具,诠释工具的优势与劣势。
• 软件UML建模:EA工具、StarUML工具、PlantUML工具;
• 原型工具:Axure RP工具、UIDesigner工具、Balsamiq Mockups 3工具;
• 版本工具:SVN工具、GIT工具;
• 需求管理工具:JIRA工具、MS TFS工具、IBM Rational工具;
• 规模估算工具:EA中UCP工具、COCOMO工具;
• 文档工具:MS Office工具、WIKI工具、Markdown工具;
• 思维导图工具:XMind工具、MindMapper工具;
课程收益
需求分析的纬度、种类、内容和方法
需求分析的工作流程、工具、业务设计基本原则
常用的业务需求分析建模方法
按照需求分析方法指导,形成可落地的需求分析报告
培训对象
• 从事获取需求、制定规格说明、使用或管理需求的人员,包括系统分析人员和业务
• 分析人员、项目经理、技术经理和质量保证经理;
• 文档编写人员;
• 软件分析人员和设计人员;
• 质量保证设计人员和测试人员;
• 应用程序专家以及销售和市场人员。
课程大纲
第一单元:需求工程框架与需求工具环境
• 业务、需求与软件关系
• 需求流程:获取、分析、归档与管理
• 需求类型:客户需求、用户需求、系统需求与软件需求
• 需求工程实践的思维工具与软件工具
• 需求工程、软件工程、项目管理关系模型
• 企业IT规划、业务架构与需求工程关系模型
• 需求管理框架、方法与套路
• 需求工程工具环境的搭建
• 课程画布:需求工程路线图
第二单元:软件需求获取与沟通
一、需求沟通干系人与目标
• 根据“目标与风险”识别关键干系人
• 客户、用户与干系人
• 用户价值层次 - “内部用户与外部用户”
• 用户位置层次 - “一线用户、中层用户与高层用户“
• 用户专业层次 - “普通用户与专业用户”
• 目标 = 问题 + 机会
• 需求 = 预期 - 现状
• 分析不同层次干系人的关注点与阻力点
• 百家争鸣:高层用户关注什么?
二、需求访谈中的提问策略与问题列表
• 外因触发提问法:参观考察、竞争对手动向、热点及新技术趋势
• 表象原因决策提问法:还原表象、分享原因、共商对策
• 分而治之提问法:按职能、产品服务、工作主题分解多元线索大问题
• 白盒视角提问法:技术驱动问题-“作为...希望系统实现...以便...”
• 灰盒视角提问法:干系人的关注点-“系统涉及业务、管理与维护?“
• 黑盒视角提问法:业务驱动问题-“用户场景交互故事”
• 问题卡片:制定访谈提纲,列出访谈的内容树
• 动手实践:依据访谈业务场景给出提问策略与问题列表
三、需求访谈中的场景铺垫法
• 基于目标与价值的场景分解
• 业务支持场景 - 业务角色、业务领域、业务流程与业务约束
• 管理支持场景 - 管理、控制、决策支持
• 维护支持场景 - 运行、维护、优化支持
• 专家多维场景 - 多角度探索背后细节
• 讨论:如何应对“业务角色不知道更多的细节”
• 场景沟通方式:故事方式+场景方式+类比方式+任务方式
• 迂回曲折 - 开放式问题沟通模式
• 因势利导 - 引导用户有效反馈出功能性修改意见
• 讨论:如何让用户进入”预期高于现状“的沟通状态
• 沙盘实战:模拟演练场景铺垫法沟通过程
四、需求访谈中的原型与确认
• 转译需求为用户易理解的图形化方式
• A4纸沟通-需求沟通中的“草图”模式
• 业务沟通中的演绎表达-鱼骨刺图
• 业务沟通中的时序表达-流程图
• 业务沟通中的交互表达-界面原型
• 业务沟通中的问题现状-问题现状树法
• 图形化原型即时确认用户需求
• 沙盘实践:基于场景快速完成需求的图形化-客户指定场景或讲师指定场景
五、需求访谈中的甄别与挖掘
• 需求的合理性甄别与筛选
• 不合理需求的分析与引导
• 变更需求波及面分析与引导
• 挖掘用户需求背后的业务关系 - 横向与纵向
• 挖掘用户需求背后的因果关系 - 促进因和阻碍因
• 透视业务本质与需求挖掘 - 统一业务模型
• 用户研究促进需求挖掘 - 六种用户研究方法
• 动手实践:基于场景完成变化需求波及面分析与引导
第三单元:系统需求分析
一、执行者与功能分析
• 找出功能使用者的视角:企业组织结构与IT系统
• 思维工具:找出执行者的思维工具
• 使用者在不同业务场景下业务流程分析
• 基于使用者的业务流程切割用例或者用户故事
• 统一用例或用户故事的命名规范
• 调整适合的用例或用户故事粒度
• 简要描述用例或用户故事:角色+功能+价值
• 使用UML建模语言表述功能用例或用户故事
• 动手实践:依据讲师案例完成执行者与用例的分析
二、功能用例详细需求分析
• 功能用例的前置与后置约束分析
• 功能用例相关的业务实体分析
• 功能用例业务约束规则分析 – 隐性规则与显性规则
• 功能用例场景分解:基本场景、备选场景与异常场景
• 执行者与系统交互步骤分解
• 动手实践:分享“表单类型”功能场景分析的案例
• 功能用例的特殊要求分析-质量要求与环境要求
• 使用UML建模语言表述功能用例详细需求分析
三、全局功能场景路径深度分析
• 标识核心的功能用例
• 标识易变动的功能用例-如何预测用例未来的变化
• 功能用例的流程关系分析
• 功能用例场景的相似性、重叠性、变化性、矛盾性分析
• 功能用例的类型化、参数化与模板化
• 功能用例分类方式:使用者分类与领域分类
• 功能用例分类组织:IBM CBM的矩阵表方式组织功能用例
• 使用UML建模语言表述功能用例的泛化、包含于扩展关系
四、全局非功能性需求分析
• 分析用户整体关注的质量属性
• 课程讨论:可靠性、稳定性与可用性差异性
• 特定功能用例质量属性与全局质量属性
• 用户关注质量属性的分解方法:Google ACC
• 使用UML建模语言表述系统质量要求分析
• 系统部署环境要求分析
• 使用UML建模语言表述系统部署环境要求
• 动手实践:按照讲师案例完成系统非功能需求分析
五、系统原型分析与设计
• 定义系统界面集合与界面导航关系
• 基于功能用例分析每个界面的构成元素
• 界面构成元素信息架构:组织、分类、排序与搜索
• 基于界面信息架构规划界面原型:布局、编排与交互
• 界面原型的类型:线框图、低保真原型、高保真原型
• 改进界面原型:扮演用户完成界面原型的用户体验测试
• 介绍常见的界面原型工具
• 动手实践:按照讲师案例完成系统原型分析与设计
六、撰写需求分析规格文档
• 解读软件需求规格说明书模板
• 演示UML工具定义文档模板
• 需求规格文档文字描述与文字措辞
• 演示UML工具动态生成需求规格文档过程
• 基于Markdown + PlantUML标记符语言撰写需求规格
• 动手实践:完成需求规格模板定义与使用指南实践