UML用例图的画法详细介绍【软件工程】


I.总述和预备知识

首先,用例图是用来描述系统功能的技术,表示一个系统中用例与参与者及其关系的图,主要用于需求分析阶段,同时它由参与者(actor)、用例(case)和容器(container) 三部分组成,并具有关联(Association)、泛化(Generalization)、包含(Include)和扩展(Extend) 四种关系。

【预备知识】:关于组成成分:参与者、用例和容器

参与者(actor): 表示与应用软件或系统进行交互的用户、组织或外部系统,画图时用一个小人表示:
在这里插入图片描述
用例(case): 表示外部可见的系统或软件的功能,对系统提供的服务进行描述,画图时用椭圆和文字表示:
在这里插入图片描述
容器(container): 代表着一个系统,画图时用一个矩形表示,矩形内一般是一个一个的用例:

在这里插入图片描述
下面从用例图的四种关系进行逐一介绍。


II.关联(Association)关系

关联(Association)关系是用例图最常见的一种关系,简单理解就是参与者(actor)与每个用例(case)之间存在的一种相互交流、通信的关系,发生的对象是参与者和用例。这种关系与类图的关联关系很相似,可以近似理解。

画法上,关联关系无论是双向的还是单向的,一律用单向的实线箭头从参与者指向用例

在这里插入图片描述


III.泛化(Generalization)关系

泛化(Generalization)关系是我们通常理解的继承关系:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系;子用例可以使用父用例的一段行为,也可以重载它。此时,父用例通常是抽象的,而子用例表现出很强的具体性。(这里的子用例和父用例同样适用于参与者)

在用例图中,泛化关系存在于用例(case)之间参与者(actor)之间,但通常不会出现在二者混合之间。画法上,泛化关系表示为实线、空心三角箭头,从“子”指向“父”

在这里插入图片描述


IV.包含(Include)关系

包含(Include)关系是用来表示把一个较复杂用例所表示的功能分解成较小的步骤的一种关系。从定义不难看出,这种关系只会存在于用例(case)之间,并且通常是对一个复杂的用例进行拆解操作。

画法上,包含关系表示为两个部分:首先是一条虚线箭头,从较复杂的用例指向拆解出的功能用例;第二部分是在虚线上标注《include》,表示这是包含关系(与下一个扩展关系进行区分):

在这里插入图片描述


V.扩展(Extend)关系

扩展(Extend)关系是用来表示用例功能的延伸的一种关系。这种关系同样是发生在用例(case)之间,相当于为基础用例提供一个附加功能用例。

画法上,扩展关系同样分两个部分:首先是一条虚线箭头,从延伸功能用例指向基础用例(直观感受与包含关系刚好相反);第二部分是在虚线上标注《extend》,表示这是扩展关系:

在这里插入图片描述


VI.总结

对四种关系的画法进行一个总结:

关系UML画法
关联关系一条从参与者指向用例实线
泛化关系一条从 “子”指向“父”空心三角实线
包含关系一条从较复杂用例指向拆解出的功能用例虚线,并标有 《include》
扩展关系一条从延伸功能用例指向基础用例虚线,并标有 《extend》

最后放一个登录注册系统的UML用例图:

在这里插入图片描述

  • 92
    点赞
  • 627
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
软件工程中,用例图是一种常用的可视化建模工具,用于描述系统的功能需求和行为。以下是软件工程用例图画法: 1. 确定参与者(Actor):参与者是与系统进行交互的外部实体,可以是人、其他系统或外部设备。确定所有与系统有关的参与者,并用矩形框表示。 2. 确定用例(Use Case):用例是系统提供的功能或服务,描述了系统与参与者之间的交互。确定系统的所有功能需求,并用椭圆形表示。 3. 绘制系统边界:用一个矩形框将参与者和用例包围起来,表示系统的边界。 4. 绘制关联关系(Association):关联关系表示参与者与用例之间的关系。用一条实线从参与者指向用例,表示参与者与用例之间的关联。 5. 绘制泛化关系(Generalization):泛化关系表示用例之间的继承关系。用一条空心三角形的实线从子用例指向父用例,表示子用例继承自父用例。 6. 绘制包含关系(Include):包含关系表示一个用例包含另一个用例的功能。用一条虚线从较复杂的用例指向拆解出的功能用例,并标注《include》。 7. 绘制扩展关系(Extend):扩展关系表示一个用例可以扩展另一个用例的功能。用一条虚线从延伸功能用例指向基础用例,并标注《extend》。 8. 添加箭头和标签:根据需要,可以在关联、泛化、包含和扩展关系的线上添加箭头和标签,以进一步说明关系的性质和方向。 以下是一个示例用例图画法: ``` @startuml left to right direction actor User rectangle System { usecase Login usecase Logout usecase ViewProfile User --> Login User --> Logout User --> ViewProfile } @enduml ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跳探戈的小龙虾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值