【发布时间】:2021-01-11 10:02:42
【问题描述】:
我想为我的应用程序创建一个用例图(连同用例场景),但我对此不是很熟悉。我的应用有几个屏幕,每个屏幕都包含一些用户可以与之交互的功能。
假设它是一个汽车共享应用,第一个屏幕包含两个要执行的操作:
- browse cars → 当用户可以看到汽车列表时,这会将用户移动到另一个屏幕
- 查看租赁历史 → 当用户可以看到他过去租过的汽车列表时,这会将用户移动到另一个屏幕
我认为这两个动作是两个用例,例如动作“浏览汽车”是带有工作流的用例“浏览汽车”:
- 应用显示列表
- 应用下载数据(→ 此处可能会失去连接等)
- 应用显示数据
我说的对吗?那么,图表应该看起来像这样(A 是演员)?:
A __ UC1
|___ UC2
接下来,从“浏览汽车”屏幕我可以,例如,查看汽车的详细信息,从详细信息中我可以租用它等等...
我不确定这些操作是否应该被视为<<extend>> 关系,或者它应该只是来自参与者的独立用例。
我不认为租车、显示列表或汽车的详细信息应该真正相互依赖。这取决于应用程序,因为屏幕按功能分组,这在我的情况下是预期的工作流程,但在其他 UI 设计中可能会有所不同。我是否应该关心预期的工作流程?
应该是这样的:
A -- UC1 ←扩展--- UC3 ←扩展--- UC4
|___ UC2
或者这个:
A __ UC1
|___ UC2
|___ UC3
|___ UC4
我的应用程序包含许多功能(目前定义了大约 40 个),我必须在图表上展示每个用例。
在第一种情况下,它看起来像一棵树,类似于:
[]
(取自https://creately.com/diagram/example/i04a0uvo5/Group%20Use%20case.)
它是一个有效的用例图吗?
在第二种情况下,它看起来像一大列椭圆,像这样,但有更多用例:
我应该选择哪个?如果我应该像示例 2 中那样绘制它,那么<<extend>> 的目的是什么?另外,“浏览汽车”和“显示汽车详情”是两个独立的用例,还是应该合并为一个?
还有一个问题是,如果我有两个参与者可以做同样的事情但结果不同,它应该是两个不同的用例还是一个,那么我应该在用例场景中包含某种条件?
谢谢
【问题讨论】:
标签: uml project use-case use-case-diagram