什么是用例?如何识别用例?

3

这个问题相当泛化。有哪些要点需要记住以识别出一个有效的用例?如何处理一个用例?


“用例是一切” :-) - TheCodeArtist
4个回答

4
一个用例具体标识了用户将能够使用程序完成的任务或目标。它应该用用户可以理解的术语来编写。 维基百科的描述 过于正式。我很快就会浏览我的其他文本。 相比之下,原始维基百科文章 更加易懂。
Alastair Cockburn的早期文章被《实用程序员》积极引用,其中包含一个好的模板。 这个问题,就在几天前,非常相关,但稍微更具体。

4
用例的定义很简单:
一个参与者与系统交互,以创建某种业务价值。
更正式地说:
系统执行的一系列交易,为特定参与者产生可衡量的一组价值。
它们旨在非常简单:参与者、交互、价值。你可以添加一些细节,但不要太多。
使用用例很容易。阅读此内容:http://www.gatherspace.com/static/use_case_example.html 最大的错误是忽视参与者和系统之间的交互。用例不是写长篇详细的技术算法设计的地方。用例是参与者做某事的地方。
人们与系统交互,以便采取行动(下订单、批准计费、拒绝保险理赔等)。要采取行动,他们首先需要做出决策。为了做出决策,他们需要信息。
信息
决策
行动
这些是用例“交互”部分的要素。

这对我很有帮助。交互中的“信息”和“操作”方面似乎与用户界面的呈现和控件完美地对齐。 - Benjamin

1
一个有效的使用案例可以描述:
  • 目标受众/用户
  • 先决条件(即必须已登录等)
  • 预期结果
  • 可能的故障点
  • 用户的工作流程

0

来自Eclipse团队的指南:识别和概述参与者和用例

识别参与者
找到系统开发必须与之交互的外部实体。候选人包括需要系统帮助执行任务和运行系统的主要或次要功能的用户组,以及外部硬件、软件和其他系统。
通过命名并编写简要描述来定义每个候选参与者。包括参与者的责任领域和使用系统时尝试实现的目标。消除没有任何目标的参与者候选人。
以下问题有助于确定参与者:
谁将向系统提供、使用或删除信息?
谁将使用该系统?
谁对系统提供的某个功能或服务感兴趣?
谁将支持和维护该系统?
系统的外部资源是什么?
哪些其他系统需要与正在开发的系统进行交互?
审查您在愿景声明中捕获的利益相关者列表。并非所有利益相关者都是参与者(即,他们不会直接与正在开发的系统进行交互),但此利益相关者列表有助于确定参与者候选人。
识别用例
找到用例的最佳方法是考虑每个参与者对系统的要求。针对每个参与者,无论是人还是非人,请问:
参与者将尝试使用系统实现哪些目标?
参与者希望系统执行哪些主要任务?
参与者是否会在系统中创建、存储、更改、删除或读取数据?
参与者是否需要通知系统有关突发外部变化的信息?
参与者是否需要被告知某些事件,例如系统中某个网络资源不可用?
参与者是否执行系统启动或关闭?
了解目标组织的工作方式以及如何将此信息系统纳入现有操作,可以了解系统的环境。该信息可以揭示其他用例候选人。
为每个用例提供唯一的名称和简要描述,清楚地描述每个用例的目标。如果候选用例没有目标,请问自己它为什么存在,然后确定一个目标或消除该用例。
概述用例
在不涉及详细信息的情况下,编写高优先级用例的事件流的第一版草稿。最初,编写用例基本流程的简单逐步说明。逐步说明是参与者和系统之间交互的简单有序列表。例如,自动取款机(ATM)的取款用例的基本流程描述可能如下所示:
客户插入银行卡。
系统验证卡并提示输入个人识别号码(PIN)。
客户输入PIN。
系统验证PIN并提示客户选择操作。
客户选择取款。
系统提示客户选择哪个账户。
客户选择支票账户。
系统提示输入金额。
客户输入要取款的金额。
系统验证金额(假设有足够的资金),然后发放现金和收据。
客户拿取现金和收据,然后取回银行卡。
用例结束。
在创建此基本流程的逐步说明时,您可以发现替代和异常流。例如,如果客户输入无效的PIN会发生什么?记录每个已识别的替代流的名称和简要描述。
表示参与者和用例之间的关系
可以捕获或记录参与者和用例之间的关系。有几种方法可以做到这一点。如果您正在项目上使用用例模型,则可以创建用例图以显示参与者和用例之间的关系。有关更多信息,请参阅指南:

仅凭三个单词和一个链接无法构成一个完整的回答。你的回答应该能够独立阅读,并包含备份和详细说明的链接。不能只简单地说“看这个!”如果你提供的链接消失了会发生什么? - cHao
1
谢谢您让我知道。我是一个新手,有点困惑。我的错。从现在开始我会尽力的。:) 对了,我已经修改了我的回答 :) - MT.
我建议将其缩减为仅涉及相关部分,并明确说明这是从某个地方复制的。虽然现在至少有信息了。 - cHao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接