UML复习—— UML类图(class diagram)

一、类图classdiagram

1.类图表示类、接口及其关联->用于静态对象建模,并不特定于透视图(概念或软件)

2.类元(classifier

(1)定义:类元是描述行为和结构特性的模型元素,是对众多UML元素的泛化,这些元素包括类、接口、用例和参与者。

二、设计类图(design class diagramDCD

1.设计类图是使用在软件透视图和设计透视图中的类图的建模术语。

2.设计模型:包括所有DCD、UML交互图、包图。

三、表示UML属性的方法:属性文本和关联线

1.结构化特性(structural property):即类元的属性。

(一)属性文本表示法的完整格式:

可见性 名字:类型 多重性=默认值 {特性字符串}

(1)如果没有给出可见性,默认属性是私有的。

e.g.2f3b6821e6524fd7abb42cea02a07856.png

 

(二)关联线表示属性:

(1)导航性箭头(navigability arrow:由源对象指向目标对象,表示源对象的一个属性是目标对象

【注】别忘了设计类图中的关联线要画刺形箭头!!!!

(2)【注】关联线表示属性时,多重性和角色名(rolename)只放在目标一端(但是放在源端也合法)

角色名(rolename)/关联端点名(assiciation end name):用于表示属性名称

(3)【注】与领域模型不同(领域模型类图中的关联需要指明关联名称),设计类图中的关联不需要关联名称(但是有也合法)。

e.g.

 
 a9efdbc9fc7048588498ed5dcbc614d5.png


(4)特性字符串:{ordered}表示集合中的元素是有序的;{unique}表示一组唯一元素。
e.g.

a03f4362e8d34b0a883481d9bcf4db54.png

2.准则:对数据类型对象使用属性文本表示法,对其他对象使用关联线。
e.g.09bdddee777b45d89c1e1e819ebd847f.png

四、其他内容

1.(1)注解符号(note symbol):表示为折角矩形,并用虚线连接到要注解的元素上

(2)UML约束(constraint):必须用“{}”括起来

2.操作和方法

(1)操作的语法形式:

可见性 名字 (参数列表):返回类型 {特性字符串}

~特性property

【注】如果操作没有注明可见性,默认操作是公共的!!!(这点不同于属性)

(2)操作≠方法

操作是声明,其中包含名称、参数、返回类型、异常列表、可能的前置和后置条件约束等。总之,操作不是实现,而方法是实现。

(3)方法在类图中的表示:通过《method》注解符号定义方法体

~~当使用UML注解来表示方法时,实际是在同一个图中混合了动态视图(方法体定义了动态行为)和静态视图(UML类图)。

(4)交互图中的create消息通常被映射为构造器的定义;通常对构造函数冠以《constructor》

(5)访问操作(即get和set)通常包含在类图中

3.关键字(keyword

(1)定义:关键字是对模型元素分类的文本修饰

(2)大部分关键字使用《》表示,有些关键字使用{}表示。

e.g.定义类元框图类别为接口的关键字是《interface》;

定义类元是参与者的关键字是《actor》;

表示具有强制顺序的一组对象的关键字是{ordered};

表示是抽象元素,不能实例化的关键字是{abstract}

4.构造型(stereotype

(1)定义:构造型表示对现有建模概念的精化,并且定义在UML简档(profile)中。

~简档(profile)是一组相关构造型、标记和约束的集合,其目的是使用UML专用于特定领域或平台。

(2)表示:与关键字一样,也是使用《》表示。

(3)UML预定义了大量构造型,同时允许用户自定义构造型(∴UML中构造型提供了扩展机制)

(4)构造型使用属性语法声明一组标记(tag)。

5.泛化generalization:

(1)定义:泛化是普通类元与特殊类元之间的分类学关系。特殊类元的每个实例也是普通类元的间接实例。特殊类元间接地拥有了普通类元的特性。

(2)表示:子类到超类的实线+空心三角箭头

五、依赖(dependency

1.依赖关系表示客户元素(任何种类,包括类、包、用例等)了解其他提供者元素,并且表示当提供者有所改变时会对客户产生影响

~可以将依赖看成是耦合的另一个版本,即某元素耦合或依赖于另一元素。

2.表示:从客户到提供者的虚线箭头线

~依赖线可以用于任何图形。

e.g.0df6cb7ad4a140c883074aa58d9aa5e1.png

3.常见的依赖类型:

(1)拥有提供者类型的属性。

(2)向提供者发送消息。对提供者的可见性可能是:属性、参数变量、局部变量 、全局变量或类的可见性(调用静态或类方法)

(3)接收提供者类型的参数。

(4)提供者是超类或接口。

4.可以给依赖线附加关键字或构造型以表示依赖类型。~~称为依赖标签

5.约束constraint:用花括号表示

6.限定关联(qualified association)具有限定符(qualifier),限定符用于从规模较大的相关对象集合中,依据限定符的键选择一个或多个对象。

~~对于限定关联,要注意多重性的变化,通常是多变一

31385f508bb049a8bb421a7ab77ee431.png
7.关联类(association class):允许将关联本身作为类,并且使用属性。操作和其他特性对其建模。

338bf6e5844740f39f0ce714652602cd.png

8. 在UML类框图中,具有下划线的属性或方法表示静态(类级别)成员,而不是实例成员!!!!!!!!!!

a38bd01753e94ea7acf71c865fe7d201.png

六、接口(interface

1.接口包括客户的接口和接口依赖(必要接口)。

2.接口实现(interface realization)

(1)插座线表示法(socket notation):表示“类X需要(使用)接口Y”

(2)棒棒糖表示法:表示提供接口

8ea77d6c5d104b5cb2353f5b148d3490.png

七、组合(composition)优于聚合(aggregation

(一)聚合(aggregation)——一种模糊的关联

(二)组合(composition/组成聚合(composite aggregation

1.组合关系的含义:

(1)在某一时刻,部分的实例只属于一个组成实例;

(2)部分必须总是属于组成,即不允许存在游离的部分!!!

(3)组成要负责创建和删除其部分,(可以自己创建/删除,也可以和其他对象协作创建/删除部分)∴如果组成被销毁,其部分也必须被销毁,或者依附于其他组成。

2.组合的表示:实心菱形箭头,菱形位于整体一侧。

 
 2e14cbec1b91444bb38a6c79e2581ae2.png

 

 

 

 

 

 

整理不易,亲亲点个赞呗~~

 

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值