UML是一个开放的方法
用于说明、可视化、构建和编写一个正在开发的面向对象的,软件密集系统的制品的开放方法

UML的特点

这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效

UML2.2分类

1.结构式图形:强调的是系统式的建模
2.行为式图形:强调系统模型中触发的事件
3.交互式图形:属于行为式图形子集合,强调系统建模中资料流程
结构式图形
静态图(类图,对象图,包图)
实现图(组件图,部署图)
剖面图
复合结构图
行为式图形
活动图
状态图
用例图
交互式图形:
通信图
交互概述图(UML2.0)
时序图(UML2.0)
时间图(UML2.0)
UML类图:
Class Diagram:用于表示类、接口、实例等之间相互的静态关系
虽然名字叫类图,但类图中并不只有类

记忆技巧

UML箭头方向:从子类指向父类

可能会认为子类是以父类为基础的,箭头应从父类指向子类,其实不是

首先定义子类时需要通过extends关键字指定父类

子类一定是知道父类定义的,但父类并不知道子类的定义

只有知道对方信息时才能指向对方

java visio画uml类图 java中uml_子类


空心三角箭头:继承或实现

实线-继承,is a 关系 ,扩展目的,不虚,很结实

虚线-实现,虚线代表 “虚” 无实体

java visio画uml类图 java中uml_父类_02


虚线-依赖关系:临时用一下,若即若离,虚无缥缈,若有若无

表示一种使用关系,一个类需要借助另一个类来实现功能

一般是一个类使用另一个类作为参数使用,或作为返回值

实线-关联关系:关系稳定,实打实的关系,铁哥们

表示一个类对象和另一类对象有关联

通常是一个类中有另一个类对象作为属性

java visio画uml类图 java中uml_UML_03


java visio画uml类图 java中uml_子类_04

菱形:就是一个盛东西的器皿(例如盘子)

聚合:代表空器皿里可以放很多相同的东西,聚在一起(箭头方向所指的类)

组合:代表满器皿里已经有实体结构的存在,生死与共

空心菱形-聚合

整体和局部的关系,两者有者独立的生命周期,是has a 的关系

属于弱关系 弱–空

实心菱形-组合

整体和局部的关系,和聚合的关系相比,关系更加强烈,两者有相同的生命周期,contatins-a的

关系

属于强关系 强–满

实心菱形-组合常见的数字表达及含义

java visio画uml类图 java中uml_子类_05

UML时序图

Sequence Diagram : 是现实对象之间交互的图,这些对象是按照事件顺序排列的

时序图中包括的建模元素主要有:

对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等

java visio画uml类图 java中uml_java visio画uml类图_06