类于类图标准总结1(UML类图到底怎么画?)

什么是UML?

UML,即统一建模语言(Unified Modeling Language),是描述软件设计蓝图的语言,UML的作用是体现面向对象分析和设计(OOA/D)。首先它是”可视化语言“就是说它把设计转化成大家都能看懂的东西,建模即建立模型,模型指软件的模型,这里需要注意UML并不是OOA/D,通过OOA/D我们讲将需求转化为软件模型,我们只是利用UML来将OOA/D表示出来,转化成我们能看懂的东西,本篇文章也仅针对小白简单介绍UML类图到底怎么画?


UML类图要画些什么? 

UML类图把面向对象软件设计可视化,就是把对象画出来,然后把对象之间的关系画出来,由此自然就“描述了软件系统的结构”画对象时要反映类的结构,就是要将对象的属性、操作画出来。

接下来我们来看看类图中都有些什么,

  • 从上到下分为三部分,分别是类名、属性和操作。类名是必须有的。
  • 类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等
  • 类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等

类名很简单,就是类的名字,只是注意斜体表示这个类为抽象类。往下属性、操作和职责各占一栏,每个属性占一行,先写这个属性是公开的(public(+))、私密的(private(-))、受到保护的(protected(#))还是包(package(~)),属性后面加上名字,在后面如果有缺省值(缺省值就是有一些参数的值在每次调用函数时都相同,就定义时定下这个值,可以使书写变得简单(在编译时,缺省值有编译器自动插入))就加上。每个操作也占一行开头和属性一样(+-#~)和名字(斜体表示这个操作为抽象操作),然后是在括号中的参数列表,再后” :“后加返回值类型。最后一栏写职责,职责指类承担的责任和义务。在矩形框中最后一栏中写明类的职责。


例:

类于类图标准总结1(UML类图到底怎么画?)_第1张图片


类图中的事物及解释

  • 接口:一组操作的集合,只有操作的声明而没有实现
  • 抽象类:不能被实例化的类,一般至少包含一个抽象操作
  • 模版类:一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类

类图中的关系

把对象画出来之后,就要把对象之间的关系画出来


关联(Association):

是一种拥有的关系, 它使一个类知道另一个类的属性和方法;是双向的,双向的关联可以有两个箭头或者没有箭头,描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合

箭头及指向​​​​:带普通箭头的实心线(也可以没有线),指向双方


直接关联(Directed Association):

是一种拥有的关系, 它使一个类知道另一个类的属性和方法;是单向的。单向的关联有一个箭头。

箭头及指向​​​​:单向的关联有一个箭头。


聚合(Aggregation):

特殊关联关系,指明一个聚集(整体)和组成部分之间的关系,类图包含有事物和关系,类图不存在了,事物和关系还可用于其它的类图

箭头及指向​​​​:带空心菱形的实心线,菱形指向整体


组合关系(合成关系)(Composition):

语义更强的聚合,部分和整体具有相同的生命周期,类与关联关系之间有组合关系,类不存在了,则相应的关联关系也不存在

箭头及指向​​​​:带空心菱形的实心线,菱形指向整体


依赖(Dependency):

是一种使用的关系,  即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.

箭头及指向​​​​:带普通箭头的实心线,指向被拥有者


泛化(Generalization):

表示一个更泛化的元素和一个更具体的元素之间的关系,现实世界中一般与特殊关系就是最好的表现。平常讲的继承就属于泛化。

箭头及指向​​​​:带三角箭头的实线,箭头指向父类​​​​​​​


接口实现(Interface Realization):

是一种类与接口的关系, 表示类是接口所有特征和行为的实现.,将接口的方法实现。

箭头及指向​​​​:带三角箭头的虚线,箭头指向接口​​​​​​​


类于类图标准总结1(UML类图到底怎么画?)_第2张图片


 

你可能感兴趣的:(UML)