MagicDraw-用例图

用例图的作用

用例图会简洁地传递一系列用例一一系统提供的外部可见服务一一以及触发和参与用例的执行者。

用例图是系统的一种黑盒视图,因此也很适合作为系统的情境图。

什么时候创建用例图

用例图是一种分析工具,一般会在系统生命周期的早期创建。

用例图有系统级别的用例和组件级别的用例。在不同的设计阶段要创建不同层级的用例图。

什么是用例

《统一建模语言参考手册(第二版)》中的定义:特定的一系列动作,包括变种系列动作和错误系列动作,系统、子系统或者类可以通过与外部对象交互来执行,以提供值的服务。

《编写有效用例》一书中的描述:用例会捕获系统利益相关者之间关于系统行为的契约。用例会描述系统响应一种叫做主执行者的利益相关者请求时,在各种条件下的行为。主执行者会初始化与系统的交互以完成某些目的。系统做出响应,保护所有利益相关者的利益。不同序列的行为或者场景可以折叠,这依赖于特定请求,以及请求的环境。用例会把那些不同的场景搜集在一起。

关键点:

  • 用例是系统将会执行的一种服务一一一种行为。
  • 系统所执行的所有行为并非都是用例。用例只是系统行为的子集,是外部执行者能够直接触发或者参与的那些行为。
  • 执行者可以是一个人或者一个外部系统,执行者和你的系统之间存在接口。
  • 触发用例的执行者叫做主执行者。参与到用例中的执行者叫做次执行者。主执行者也可以是次执行者。
  • 用例应该代表主执行者的目的。你要从执行者的角度而不是系统的角度来为用例起名字一一一那个动词短语。例如,如果卫星的飞行控制器需要发送命令,那么用例的名称应该是发送命令而不是接收命令。
  • 用例名称不会传达大量信息。你要为每个用例创建用例说明书,以讲述系统和它的执行者会如何协作来达成用例目标。

用例说明书

用例说明书会传达主执行者触发用例的时候发生的情况。用例说明书在传统上是文字文档。

《编写有效用例》中提供了用例说明书的格式。

场景

用例和场景并不是同义词。

通过用例执行的每个路径,从开始到结束是一个独立的场景。因此用例至少会包含一个场景。

用例至少会包含一个主要成功场景一一也就是正常的执行路径。通常它还会包含额外的场景,代表错误和异常的序列,那些都是主要成功场景的分支。

一幅Sys ML 序列图很适合用图形化的方式表示单独的场景。常用的技术是仔细分析单个用例说明书一一可能是文字说明,或者是活动图一一来创建一系列序列图,每个场景一幅。

用例图外框

系统用例图

用例图

用例图的标识法是一个椭圆形。

和模块一样,用例可以泛化,也可以特殊化,这意味着你可以创建并显示从一个用例到另一个用例的泛化关系。

系统边界

系统边界(也叫做主题)代表拥有并执行图中用例的系统。系统边界的标识法是围绕用例的矩形框(不要和图的外框混淆) 。主题的名称一一显示在矩形的顶部一一必须是一个名词短语。

就是上图中中间的框

执行者

执行者有两种标识法: 火柴棍小人,或者是名称前面带有<<ac to r》关键字的矩形。建模者约定俗成,会使用火柴棍小人代表人,矩形标识法代表系统。

执行者与用例关联

在执行者和用例之间创建关联,从而表示执行者与系统交互,以触发和
参与到用例中。

非法关联:

  • 你不能在执行者和用例之间创建复合的关联
  • 你不能在两个执行者之间创建(任意类型)关联
  • 你不能在两个用例之间创建(任意类型)关联

基础用例

基础用例是通过关联关系与主执行者连接在一起的任意用例。这意味着基础用例代表的是主执行者的目标。上图中与火柴人关联的是基础用例,另外三种是内含用例。

内含用例

内含用例是任意一种用例,它是内含关系的目标一一也就是位于箭头端的元素。

内含关系的标识法是带有箭头的虚线,在旁边会有关键宇《inc lude》。

内含关系表示的是,当源端一一关系的尾端一一的用例被触发时,目标端的内含用例也会执行。换句话说,内含用例行为是源端用例所需要的组成部分。

遗憾的是,内含关系并没有传达内含行为在源用例中何处执行一一开始、中间还是结束一一只知道它执行了。为了确定内含用例在序列中的何处发生,看图者可能需要查看与源用例相关的文字描述、活动图或者序列图。

永远不要在主执行者和内含用例之间创建关联关系。

扩展用例

扩展用例是任意一种用例,它是扩展关系的源一一位于尾端的元素。扩展关系的标识法是带有箭头的虚线,附近带有关键字<<exte nd >> 。

image-20220713104010478

和内含关系一样,扩展关系并不是一种依赖,尽管它们的标识法非常类似。扩展关系要传达的是,当目标端的用例一一位于关系的箭头端一一被触发时,源端的扩展用例可能被选择性地执行。这意味着扩展关系目标端的用例自动完成。

例如, 雷达操作者每次触发跟踪卫星轨道用例的时候,切换到TDRS 遥感输入用例也可能会执行一一也可能不执行;那个扩展用例是否执行,取决于跟踪卫星轨道用例中的某些触发条件是否满足。

总结

建模者通常会创建用例图作为系统情境图一一利益相关者在生命周期早期期望看到的系统视图。

用例图可以显示执行者之间以及用例之间的泛化关系:一种用于抽象行为的设计技术。

你还可以在用例之中显示内含关系和扩展关系:用于重构多个高层次服务拥有的通用行为的技术。

生命周期早期期望看到的系统视图。

用例图可以显示执行者之间以及用例之间的泛化关系:一种用于抽象行为的设计技术。

你还可以在用例之中显示内含关系和扩展关系:用于重构多个高层次服务拥有的通用行为的技术。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木头人的星辰大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值