软件开发的四个世界 关于应用领域的信 问题世界 机器如何表示关于 息如何被系统使用 应用领域的信息 使用世界 用户界面 系统世界 开发目标的证明 开发世界 设计决策
软件开发的四个世界 问题世界 开发世界 使用世界 系统世界 关于应用领域的信 息如何被系统使用 开发目标的证明 机器如何表示关于 应用领域的信息 设计决策 用户界面
需求抽取 开始点 需求工程师必须要做的 n存在一个“问题”需 标识“问题”/“机会” 要解决,例如 那个问题需要解决?(识别问题边界) 对当前的事务处理方 问题在什么地方?(理解上下文/问题领域) 式不满意 ●是谁的问题?(识别投资人) 出现新的业务机会 为什么需要解决它?(识别投资人的目标 ●有可能节省开销、时 软件系统会起到怎样的作用?(采集一些情景) 间、资源的使用、等 它需要什么时候解决?(识别开发约束) 需求工程师是带来变 什么会防碍我们解决它?(识别可行性和风险) 化的代理人 抽取足够的知识 W6H(记者的技巧) 足以分析需求:有效性、一致性、完整性 What、 Where、Who、 变成问题领域的专家 Why、When、How、 Which
需求抽取 开始点 ◼ 存在一个“问题”需 要解决,例如: ⚫ 对当前的事务处理方 式不满意 ⚫ 出现新的业务机会 ⚫ 有可能节省开销、时 间、资源的使用、等 ◼ 需求工程师是带来变 化的代理人 需求工程师必须要做的: ◼ 标识“问题”/“机会” ⚫ 那个问题需要解决?(识别问题边界) ⚫ 问题在什么地方?(理解上下文/问题领域) ⚫ 是谁的问题?(识别投资人) ⚫ 为什么需要解决它?(识别投资人的目标) ⚫ 软件系统会起到怎样的作用?(采集一些情景) ⚫ 它需要什么时候解决?(识别开发约束) ⚫ 什么会防碍我们解决它?(识别可行性和风险) ◼ 抽取足够的知识 ⚫ ……足以分析需求:有效性、一致性、完整性 ⚫ 变成问题领域的专家 W6H(记者的技巧) What、Where、Who、 Why、When、How、 Which
抽取的困难 ◆领域知识非常薄弱 知识可能分布在许多地方,并很少以显式的形式表示出来(写出来) 来自不同地方的知识之间将会有矛盾 不同的人有不同的目标,不同的人对问题的理解不同 ◆经验知识 人很难描述他们日常使用的知识 ●描述会是专家行为的不准确的理性化 有限的观察 问题拥有者可能太忙,没时间用存在的系统去解决它 ■出现一个观察可能会改变这个问题 偏见 人可能不方便告诉你你需要知道什么 人可能不想告诉你你需要知道什么
抽取的困难 领域知识非常薄弱 ◼ 知识可能分布在许多地方,并很少以显式的形式表示出来(写出来) ◼ 来自不同地方的知识之间将会有矛盾 ⚫ 不同的人有不同的目标,不同的人对问题的理解不同 经验知识 ◼ 人很难描述他们日常使用的知识 ⚫ 描述会是专家行为的不准确的理性化 有限的观察 ◼ 问题拥有者可能太忙,没时间用存在的系统去解决它 ◼ 出现一个观察可能会改变这个问题 偏见 ◼ 人可能不方便告诉你你需要知道什么 ◼ 人可能不想告诉你你需要知道什么
与客户沟通的重要性 成功的项目都与客户有更多的联系 70 用的联系与所有可能的联系的百分比 50 40 口更成功的项目 30 ■不够成功的项目 10 软件工具 程序环境 办公软件 主要航线 中型饮料公司
与客户沟通的重要性 0 10 20 30 40 50 60 70 软件工具 程序环境 财务软件 办公软件 主要航线 中型饮料公司 更成功的项目 不够成功的项目 成功的项目都与客户有更多的联系 使 用 的 联 系 与 所 有 可 能 的 联 系 的 百 分 比
抽取技术 传统的方法 上下文的方法 内省 谈话分析 存在的文档 谈话分析 数据分析 语言行为分析 交谈 开放式 下一讲 参与式设计 结构式 社会技术方法 调查/问卷 这一讲 软系统分析 组抽取 认知的方法 有关注点的组 任务分析 大脑风暴 JAD/RAD工作组 协议分析 原型法 知识获取技术 基于表示的方法 场记分析法 基于目标的 卡片分类法 基于情景的 分类表格技术 用例 基于模型的知识获取
抽取技术 传统的方法 ◼ 内省 ◼ 存在的文档 ◼ 数据分析 ◼ 交谈 ⚫ 开放式 ⚫ 结构式 ◼ 调查/问卷 ◼ 组抽取 ⚫ 有关注点的组 ⚫ 大脑风暴 ⚫ JAD/RAD工作组 ◼ 原型法 基于表示的方法 ◼ 基于目标的 ◼ 基于情景的 ◼ 用例 上下文的方法 ◼ 谈话分析 ⚫ 谈话分析 ⚫ 语言-行为分析 ◼ 参与式设计 ◼ 社会技术方法 ⚫ 软系统分析 认知的方法 ◼ 任务分析 ◼ 协议分析 ◼ 知识获取技术 ⚫ 场记分析法 ⚫ 卡片分类法 ⚫ 分类表格技术 ⚫ 基于模型的知识获取 这一讲 下一讲
交谈法 类型 结构式:需要提前准备,具有明确的日程,预先确定好问题 开放式:非正式会议、没有事先准备的问题和预计的目的、鼓励客户讲出他们 自己的想法 直接表达了自己的关 优点 于这个问题的观点 能采集到丰富的信息“我们必须…”同上,但观点明显有 缺点 偏见:“我们不 做 对吗? 大量定性的数据可能很难 假设了问题的答案: 不同的回答难以比较 “你是用这种方式 做 对吗?” 交谈的技巧很难掌握 汪意 三种问题需要避免:固执己见的问题、带偏见的问题、强加的问题 ■经验性知识不好谈出来 交谈者的态度会影响交谈的结果
交谈法 类型 ◼ 结构式:需要提前准备,具有明确的日程,预先确定好问题, ◼ 开放式:非正式会议、没有事先准备的问题和预计的目的、鼓励客户讲出他们 自己的想法 优点 ◼ 能采集到丰富的信息 缺点 ◼ 大量定性的数据可能很难分析 ◼ 不同的回答难以比较 ◼ 交谈的技巧很难掌握 注意 ◼ 三种问题需要避免:固执己见的问题、带偏见的问题、强加的问题 ◼ 经验性知识不好谈出来 ◼ 交谈者的态度会影响交谈的结果 直接表达了自己的关 于这个问题的观点: “我们必须……” 同上,但观点明显有 偏见:“我们不 做……,对吗?”假设了问题的答案: “你是用这种方式 做……,对吗?
交谈形式举例 正向模拟:举几个例子,请用户说明工作过程 案例分析:请用户选择有代表性的案例,并说 明工作过程 授课实例:系统分析员选出一批有代表性的案 例,请用户说明 局外评论:请用户对正在进行的过程进行评论 知识反教:从用户出获取信息后,按照自己的 理解表述给用户
交谈形式举例 • 正向模拟:举几个例子,请用户说明工作过程 • 案例分析:请用户选择有代表性的案例,并说 明工作过程 • 授课实例:系统分析员选出一批有代表性的案 例,请用户说明 • 局外评论:请用户对正在进行的过程进行评论 • 知识反教:从用户出获取信息后,按照自己的 理解表述给用户
问卷法 ◆优点 注意(问卷分析) 快速地从多个客户中收集 样本选择中的偏差 信息 小样本规模、缺少统计上 ■可以远程进行 的意义 回答者有时间思考、回答◆要避免的问题 可以匿名 引导性问题 ◆缺点: 模糊的问题 没有面谈法有效,是被动 的 般采用的问题形式 按问题的简单分类,提供 多项选择 很少的上下文信息 评分 回答者不容易弄清楚问题 排序 的含义和出发点
问卷法 优点: ◼ 快速地从多个客户中收集 信息 ◼ 可以远程进行 ◼ 回答者有时间思考、回答 可以匿名 缺点: ◼ 没有面谈法有效,是被动 的 ◼ 按问题的简单分类,提供 很少的上下文信息 ◼ 回答者不容易弄清楚问题 的含义和出发点 注意(问卷分析) ◼ 样本选择中的偏差 ◼ 小样本规模、缺少统计上 的意义 要避免的问题 ◼ 引导性问题 ◼ 模糊的问题 一般采用的问题形式 ◼ 多项选择 ◼ 评分 ◼ 排序