uml基础-类图

1.基本元素:类、类之间的关系

2.类图是用来描述系统结构的静态模型

3.类

类是对一组具有相同属性、操作、关系和语义的对象的抽象

包括类名、属性和类的方法

在uml图中用矩形框表示

1)名称

在矩形框最上面

不能省略

是由字符、数字、下划线组成的唯一字符串

表示方法:1.简单名:只有一个名称

2.全名(路径名):包名:类名

2)属性

可以有0个或多个

语法:【可见性】属性名【:类型】【=初始值】【{属性字符串}】

可见性:+表示公有,-表示私有,#表示受保护,没有则就是未定义,不存在默认的可见性

属性名:一个名词或名词短语,单个单词首字母大写,多个单词除第一个单词其余首字母大写

类型:数据类型,就像之前了解到的任一语言,如string是字符串,float是浮点型等等

初始值:为了防止漏掉取值或非法取值破坏系统完整性来设置

属性字符串:关于属性的其他信息,任何想加入但是没地方加的都可以加这里

3)操作(类的方法)

可以有0或多个

语法:【可见性】属性名【(参数表)】【:返回类型】【{属性字符串}】

可见性:+表示公有,-表示私有,#表示受保护,~表示包内公有类型,没有则就是未定义,不存在默认的可见性

操作名:一个动词或动词短语,

参数表:是操作的输入;定义方式是"名称:类型";如果存在多个参数,各参数用逗号隔开;可以有默认值

返回类型:虽然是可选的,但是大部分编程语言只支持一个返回值,一般无返回值要加一个void

属性字符串:同类的属性(一种操作函数(function在完成操作后要有一个返回值,可以在这里说明函数的返回值将其类型

4)约束

用{}的形式写在类的边上,指定个别属性的取值范围

例如给a类的b属性加上约束,只能c、d、e对其进行指定那就可以在类旁边写上{b=c or d or e}

4.类之间的关系

依赖关系:有向虚线指向被依赖

1)使用依赖(一个用到另个)包括:

调用(call):调用操作

参数(parameter):操作与参数之间的关系

发送(send):发送者和接收者之间的关系

实例化(instantiate):用一个类的方法创建了另一个类的实例

2)抽象依赖(使用者和提供者之间的关系)有三种类型:

跟踪依赖(trace):存在连接,但不如映射精确

精化依赖(refine):不同语义层次上的元素之间的映射,比如分析阶段有a类,设计阶段要将a类进行精化,详细到可以实现的程度)

派生依赖(derive):一个实例可以从另一个实例中导出BirthDate是具体的Age可以从其中导出,二者是派生依赖关系

3)授权依赖:一个事物访问另一个事物三种类型:

访问(access):允许一个包访问另一个包的内容

导入(import):允许一个包访问另一个包的内容并为被访问包的组成部分增加别名

友元(friend):允许一个元素访问另一个元素,不管被访问元素是否具有可视性

4)绑定依赖(bind):对目标模板使用给定的实际参数进行实例化

泛化关系:子类指向父类空心三角箭头实线

关联关系:实线

1)关联名:源对目标对象执行的动作,一个动词

2)角色:在连线的两端可以写上这个类在这个关系中扮演的角色

3)多重性:类之间的联系,一对一,一对多,多对多等(1表示1,*表示多个,1...*表示一个或多个)

4)聚合:整体和部分的关联,是一个has-a的关系,空心菱形实线

5)组合:强聚合关系,实心菱形实线

6)导航性:本端的对象可以被另一端的对象访问,分为单向和双向

7)关联类:描述关系的类,公司和雇员之间有一个工作类,这个类就是关联类,关联类与关联线用虚线连接

8)约束:指明约束在有约束的那个类附近用花括号加上约束

or约束,在两个类之间用虚线连接上面用花括号写上or约束

实现关系:将不同语义层的元素连接起来,如类实现接口,指向被实现的类

泛化是将同一语义层的元素连接起来

5.类图建模先建立概念层类图(类与现实世界的事物有很大关系,一般很少考虑实现),再建立说明层类图(主要考虑接口部分),最后建立实现层类图(提供实现的细节)

相关推荐
Minilinux20182 天前
工具使用系列之 PlantUML画UML时序图
uml·plantuml·统一建模语言·sequence·时序图
小湘西2 天前
UML 用例图图中包含和扩展区别
uml·设计规范·设计语言
明洞日记2 天前
【图解软考八股034】深入解析 UML:识别标准建模图示
c++·软件工程·软考·uml·面向对象·架构设计
奋斗的小方6 天前
01 一文读懂UML类图:核心概念与关系详解
java·uml
钝挫力PROGRAMER7 天前
UML构造块中的关系梳理
软件工程·uml
未来之窗软件服务7 天前
计算机等级考试—UML 核心图分类与图标对照表—东方仙盟练气期
uml·计算机软考·仙盟创梦ide·东方仙盟
rolt10 天前
质量需求当成愿景、伪创新的基本盘《软件方法》第2章
产品经理·uml·软件方法
rolt18 天前
利用AI识别损毁程度是愿景吗《软件方法》第2章
产品经理·需求分析·uml
rolt18 天前
[pdf]《软件方法》全流程引领AI-电子书共435页202601更新
产品经理·ddd·架构师·uml·领域驱动设计
:mnong18 天前
跟着《软件需求分析和设计实践指南》成长
学习·需求分析·uml·软件需求