【发布时间】:2009-09-02 06:08:25
【问题描述】:
这个问题很笼统。识别有效用例时应牢记哪些要点?如何处理用例?
【问题讨论】:
标签: project-management use-case
这个问题很笼统。识别有效用例时应牢记哪些要点?如何处理用例?
【问题讨论】:
标签: project-management use-case
用例明确地确定用户可以使用程序完成的任务或目标。应该用用户可以理解的方式来写。
Wikipedia's description 过于正式。我很快就会浏览我的其他文本。 相比之下,the original wiki's article 更容易访问。
Alastair Cockburn 的 early article 被 The Pragmatic Programmer 肯定引用,包含一个很好的模板。
This question,就在几天前,关系非常密切,但稍微具体一些。
【讨论】:
用例的定义很简单:
参与者与系统的交互以创造商业价值。
更正式地说:
执行的一系列事务 通过产生可测量的系统 特定参与者的一组值。
它们旨在非常简单:演员、交互、价值。您可以添加一些细节,但不能太多。
使用用例很容易。阅读:http://www.gatherspace.com/static/use_case_example.html
最大的错误是忽略了actor和系统之间的交互。用例不是写下冗长、详细的技术算法设计的地方。用例是演员做某事的地方。
人们与系统交互,以便他们可以采取行动(下订单、批准计费、拒绝保险索赔等)。要采取行动,他们首先要做出决定。为了做出决定,他们需要信息
这些是用例“交互”部分的成分。
【讨论】:
一个有效的用例可以描述:
【讨论】:
来自Guideline: Identify and Outline Actors and Use Cases Eclipse 人:
识别参与者
找到与之相关的外部实体 正在开发的系统必须 相互影响。候选人包括以下团体 需要帮助的用户 系统来执行他们的任务并运行 系统的主要或次要 功能,以及外部 硬件、软件和其他系统。
通过命名来定义每个候选演员 它并写一个简短的描述。 包括演员的区域 责任和目标 演员将尝试完成 使用系统。消除演员 没有任何目标的候选人。
这些问题在 识别参与者:
- 谁将提供、使用或移除 来自系统的信息?
- 谁会 使用系统?
- 谁对 提供的某些功能或服务 系统?
- 谁将支持和 维护系统?
- 什么是 系统的外部资源?
- 什么 其他系统将需要交互 系统正在开发中?
查看利益相关者列表 您在愿景声明中捕捉到。 并非所有利益相关者都会成为参与者 (意思是,它们不会全部交互 直接用系统下 发展),但这个列表 利益相关者有助于识别 演员候选人。
识别用例
查找用例的最佳方法是 考虑每个参与者需要什么 系统。对于每个演员,人类或 不是,问:
- 演员的目标是什么 尝试用系统完成?
- 主要任务是什么? 演员想要系统表演吗?
- 演员是否会创造、储存、改变、 删除或读取系统中的数据?
- 演员是否需要通知 外部突然变化的系统?
- 是否需要通知参与者 关于某些事件,例如 网络资源不可用, 在系统中?
- 演员会表演吗 系统启动或关闭?
了解目标如何 组织的运作方式以及它是如何运作的 信息系统可能是 纳入现有业务 给出了系统的想法 周围环境。该信息可以 揭示其他候选用例。
给一个独特的名字和简介 清楚地描述 每个用例的目标。如果 候选用例没有 目标,问问自己它为什么存在,以及 然后要么确定一个目标,要么 消除用例。
概述用例
不赘述,写一个 事件流程的初稿 被识别为的用例 高优先级。一开始,写一个 简单的分步说明 用例的基本流程。这 一步一步的描述很简单 之间交互的有序列表 演员和系统。例如, 基本流程的描述 提款现金用例 自动柜员机 (ATM) 将 是这样的:
- 客户插入银行卡。
- 系统验证卡并提示 输入个人信息的人 识别码 (PIN)。
- 客户输入 PIN。
- 系统 验证 PIN 并提示 客户选择操作。
- 客户选择取款。
- 系统提示客户选择 哪个帐户。
- 客户选择 支票账户。
- 系统 提示输入金额。
- 客户 输入要提取的金额。
- 该 系统验证金额(假设 足够的资金),然后发行 现金和收据。
- 客户取现金和收据,然后 取回银行卡。
- 用例结束。
在您逐步创建此内容时 基本流程说明 事件,您可以发现替代方案 和异常流量。例如, 如果客户输入 无效的密码?记录姓名和 每个备选方案的简要说明 您确定的流程。
表示之间的关系 参与者和用例
演员之间的关系 可以捕获用例,或者 记录在案。有几种方法可以 做这个。如果您使用的是用例 项目上的模型,您可以创建 用例图显示参与者如何 和用例相互关联。 请参阅指南:Use-Case Model 了解更多信息。
如果您不使用用例模型 对于项目,确保每个 用例标识相关的 主要和次要参与者。
【讨论】: