UML图之学习绘制样例

流程图(活动图)

活动图可以通过节点和连接线展示起点和终点的执行顺序,描述并发流程、条件判断、循环等复杂的逻辑。

当需要描述一个状态下的时候,有 "如果... 就..."、"同时做..."、"不同人负责不同部分"等等状况下,都可以使用流程图(活动图)。

流程图基础图形。

以图书馆借书为例。

椭圆作为流程图的开始。 一个流程图当中只有一个开始符号。

是否找到书籍部分需要利用条件判断,不同的条件来执行不同的流程。

为了提高流程图的逻辑性, 应该遵循从上到下,从左到右的顺序排列

用例图

用例图拥有四个元素。

银行系统实例

银行应用代表的是一个系统。

参与者有主要参与者和次要参与者的区别,主要参与者(客户)做出动作之后次要参与者(银行)才会做出响应。

主要参与者在系统的左边,次要参与者在系统的右边。

每个参与者必须至少与系统中的一个用例交互。

之所以不联系上银行和登录,登录发生在银行内部,银行没有必要参与登录过程。

其他三张类型关系,有包含、扩展和泛化。

当用户登录账号时,页面会提示登录密码或者是密码错误。

当客户想转账或者是付款时,应用需要确保用户有足够的资金来完成这些交易。

当客户想要付款的时候,银行应用会给客户两个选择,从支票账户付款或从储蓄账户付款。

包含关系

包含关系显示了基本用例和包含用例之间的依赖关系。每次执行基本用例时,包含用例也会执行。

当有包含关系时,需绘制一条带有箭头的虚线指向包含的用例。

扩展关系

当执行基本用例时,扩展用例只有在满足某一条件的时候才会被触发。

使用一条带有箭头的虚线指向基本用例。

泛化(继承)关系

子用例有着父用例的功能,并且子用例还具有特有的功能。

类图

思考:既然已经存在了类名,那么又应该通过什么确定每个实例具体是什么呢?

属性可以做到区分实例里面各自有什么东西。

属性包含描述该类的每个实例的具体信息,也被称为字段、变量

在每一个属性之前都需要放置可见性符号。

属性名称以小写字母开头,后面跟着冒号和数据类型。

同样在方法之前我们需要设置可见性符号。

属性或方法的可见性用于设置该属性或方法的可访问性。

-属性(方法)表明属性或方法都是私有的。任何其他类或子类都无法访问他们;+表示的是属性或方法是公共的;#表示另一种可见性类型,意味着属性或方法受到保护,只能由同一个类或其子类访问;~表示可见性为package或default,意味着只要在同一个包中,任何其他类都可以访问。

继承性

继承不必对子类进行一个个的修改,只需对父类进行整体的修改即可。

关联

水獭吃海胆,但是二者没有关联关系。

聚合

用于说明整体和部分的关系。

部分可以脱离整体而独立存在。

组合

部分不能存在于整体之外。

没有父类时子类将无法存在。

多重性允许对关系设置数字约束。

时序图

银行服务器和银行账户之间都是自动取款机的一部分。

生命线从上往下表示时间顺序的先后。

接下来绘制参与者与对象之间的交互关系。

虚线代表返回消息或从接受对象返回到请求对象的消息。

图中使用了多个选择框和激活框,可以明显看出在哪一个部分活跃又或者是哪个部分需要考虑不同的情况。

E-R图

E-R图的基本概念:

两个实体之间的关系。

当你有一张数学试卷的时候,此时的你和数学试卷就是一对一的关系。

当各个科目的老师都给了你一份试卷之后,此时你和试卷之间就是一对多的关系。

当各个科目的老师分发给班级学生一人一份试卷的时候,此时学生和试卷之间就是多对多的关系。

三个实体之间一对多的关系

三个实体之间多对多的关系

相关推荐
七月丶12 小时前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
刀法如飞12 小时前
从程序员到架构师:6大编程范式全解析与实践对比
设计模式·系统架构·编程范式
九狼12 小时前
Flutter + Riverpod +MVI 架构下的现代状态管理
设计模式
静水流深_沧海一粟1 天前
04 | 别再写几十个参数的构造函数了——建造者模式
设计模式
StarkCoder1 天前
从UIKit到SwiftUI的迁移感悟:数据驱动的革命
设计模式
阿星AI工作室2 天前
给openclaw龙虾造了间像素办公室!实时看它写代码、摸鱼、修bug、写日报,太可爱了吧!
前端·人工智能·设计模式
_哆啦A梦2 天前
Vibe Coding 全栈专业名词清单|设计模式·基础篇(创建型+结构型核心名词)
前端·设计模式·vibecoding
阿闽ooo5 天前
中介者模式打造多人聊天室系统
c++·设计模式·中介者模式
小米4966 天前
js设计模式 --- 工厂模式
设计模式
逆境不可逃6 天前
【从零入门23种设计模式08】结构型之组合模式(含电商业务场景)
线性代数·算法·设计模式·职场和发展·矩阵·组合模式