类图、用例图以及顺序图理解及绘制

写博客前提:B站上做过类似视频,当时准备不太充分,讲的也很啰嗦,所以导致了很多看过我视频的朋友还是一头雾水,近期得空,特此记录,希望对大家有所帮助。
补充:文中如有出现错误或者大家不理解的地方,评论区和私聊都可。绘图软件:EA(学术版)。

一、用例图

定义:用例图用于描述系统的功能需求和用户与系统之间的交互。
简单来讲:用例+参与者+关系(主要是用例与用例之间的关系)

1、用例

在这里插入图片描述
用例表示系统提供的一项功能或者用户场景,用椭圆形图标表示,用于描述具体的操作和系统的行为,所以画图找动词性语句

2、参与者

在这里插入图片描述
与系统进行交互的外部实体,也就是谁用系统干什么,谁就是参与者,大多都是用户、管理员这些。

3、主要关系介绍(重点)
在这里插入图片描述

(1)包含:如果B是A的某项子功能,并且建模者确切的知道用例A所对应的动作序列中将在何时调用用例B,则称用例A包含用例B。可以将包含关系类比为一个大的任务或功能(主要用例),其中包含了一些更小的任务或功能(被包含的用例)。被包含的用例代表主要用例中的一部分特定功能,这些功能在不同的情况下可能会被调用或排除。
在这里插入图片描述
再不理解,举个例子:考虑一个主要用例是"下订单",而包含用例是"验证库存"和"生成订单号",那么这两个包含用例的功能会在下订单的过程中被调用和执行。

(2)扩展:用于表示一个用例可以在特定条件下扩展为另一个用例。它描述了在某些情况下,系统可以根据额外的需求或条件添加额外的功能或行为。可以将用例图中的扩展关系理解为一种特殊情况下的附加功能。在某些情况下,系统可以根据额外的需求或条件添加一些额外的功能,以扩展原有的主要功能。
在这里插入图片描述
举个例子:可以将扩展关系看作是"如果…那么"的关系。考虑一个主要用例是"购买商品",而一个扩展用例是"使用优惠券",那么当用户有优惠券时,可以选择使用该扩展功能。
在这里插入图片描述
在这里插入图片描述
说明:申请借阅证为子用例,而登录为基用例(基本用例)。

(3)继承(泛化):用于表示一个用例继承了另一个用例的功能和行为,在用例图中使用带有箭头的实线表示,箭头从子用例指向父用例。子用例继承了父用例的功能和行为,并可以在此基础上进行扩展或定制。
在这里插入图片描述
举个例子:考虑一个父用例是"支付订单",而子用例是"信用卡支付"和"支付宝支付",那么子用例继承了父用例的支付功能,但可能有不同的支付方式和细节。

4、总结

继承关系表示子用例继承父用例的功能。
扩展关系表示用例在特定条件下可以扩展或增加功能。
包含关系表示一个用例包含其他用例的通用功能。
关联关系是参与者与用例之间的关系,比较固定。

5、绘制简单举例

在此强调一点,就是画图没有绝对的正确或错误,所以希望大家不要钻牛角尖~
试画出学生成绩管理的用例图。用例有:登录;找回密码;录入、修改、保存、查询、删除成绩,参与者有教师和学生。
在这里插入图片描述

二、类图

定义:是一种图形表示方法,用于描述对象(类)之间的关系和属性。
简单来讲就是:类+关系(类与类之间的关系),主要找名词性语句。

1、关系(重点)
在这里插入图片描述

(1)关联:有普通关联和组合以及聚合三类关系,其中,组合关系就是一对一(如果整体对象被销毁,部分对象也会被销毁),聚合关系就是一对多(一个类对象包含了其他类对象,但这些对象可以独立存在于整体之外。),聚合和组合都是特殊的关联,除去特殊关联之外,剩下的就是普通关联。
在这里插入图片描述
普通关联

组合关系
在这里插入图片描述

聚合关系
在这里插入图片描述
说明:学校由许多班级组成,每个班级又有许多学生。这里,学校是一个整体,班级是学校的一部分,学生是班级的一部分,整体类为学校,部分类为班级,即使学校不存在,班级和学生也是存在的,所以区分组合和聚合很重要的一点就是整体对象的存在是否可以直接决定部分对象的生命周期。

(2)继承(泛化)
继承没有什么好讲的,和用例图理解差不多。
在这里插入图片描述

(3)实现:用于描述类与接口之间的关系。通俗地说,实现关系表示一个类实现了一个或多个接口的功能。(类通过实现接口,表明它们能够提供接口所规定的行为)
在这里插入图片描述
说明:定义一个名为"Shape"的接口,其中包含一个"draw()“方法。然后,可以创建具体的形状类,如"Circle”、“Rectangle"和"Triangle”,并让它们实现"Shape"接口。

(4)依赖:用于描述一个类在某些情况下需要依赖于另一个类。通俗地说,依赖关系表示一个类在某些操作中使用了另一个类的对象或服务。
在这里插入图片描述
说明:这里,"EmailSender"类依赖于"NetworkConnection"类,因为它需要使用"NetworkConnection"类的对象来发送电子邮件。

2、绘制简单举例()

三、顺序图

定义:是一种描述对象之间交互顺序的行为图。通俗地说,顺序图用于展示系统中不同对象之间的消息传递和交互顺序,以便更好地理解对象之间的时序关系。
简单来讲:在这里插入图片描述

1、理解

在顺序图中,参与者之间通过箭头表示消息的传递。消息可以是一个操作调用,例如一个对象调用另一个对象的方法,或者是一个信号传递,表示一个对象向另一个对象发送了一个通知。
顺序图中的时间从上到下流动,表示对象之间消息传递的顺序。顺序图可以显示参与者之间的交互过程,包括消息的发送和接收,以及操作的执行顺序。
和流程图很相似。

2、绘制简单举例

说明:因为此处涉及到边界类、实体类以及控制类知识点,所以建议大家学完这些再去理解和绘制顺序图。
这里是引用

  • 16
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值