UML学习笔记

来源:互联网 发布:mac类似于硕鼠的软件 编辑:程序博客网 时间:2024/05/21 09:02

UML有很多图,我们重点讲解:用例图、类图、时序图、协作图、组件图、配置图

用例图:

用于分析这个系统:
1.有哪些角色(一类人、另外一个系统)
2.各个角色使用哪些功能

这里写图片描述

类图:

原则上,一个用例图对应一个类图,一个类图可以包含多个类。

eg:下图就是Person类图对应的类的实现。
这里写图片描述

类之间的关系:依赖、泛化(继承)、实现、关联、聚合和组合

1.依赖关系(dependence):

只要是在类中用到了对方,那么他们之间就存在依赖关系。

如果没有对方,连编绎都通过不了。
eg:PersonModel类依赖PersonDao类
这里写图片描述
2.泛化关系(generalization):

泛化关系实际上就是继承关系,他是依赖关系的特例 。

eg:LittleMonkey类继承了Monkey类
这里写图片描述
3.实现关系(Implementation):

实现关系实际上就是A类实现B类,他是依赖关系的特例。

eg:Cat类实现Runnable接口
这里写图片描述

4.关联关系(Association):

关联关系实际上就是类与类之间的联系,他是依赖关系的特例。

关联具有导航性:即双向关系或单向关系
关系具有多重性:如“1”(表示有且仅有一个),“0…”(表示0个或者多个),“0,1”(表示0个或者一个),“n…m”(表示n到 m个都可以),“m…*”(表示至少m个)。
单向一对一:
eg:一个人必须有一个身份证
这里写图片描述

双向一对一:
eg:一个人必须有一个身份证,一个身份证必须对应一个人
这里写图片描述
5.聚合关系(aggregation):

聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。

如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成;组成电脑的各个配件是可以从电脑上分离出来的
使用带空心菱形的实线来表示:
这里写图片描述

如果我们Mouse,Monitor和Computer是不可分离的,则升级为组合关系。
6.组合关系(Composition):

也是整体与部分的关系,但是整体与部分不可以分开。

eg:如果上边聚合关系中的Mouse,Monitor和Computer是不可分离的,则升级为组合关系。
这里写图片描述

活动图(Activity Diagram):

在UML里,活动图本质上就是流程图,它描述系统的活动,判断点和分支等。

eg:下图为用户登陆的活动图
这里写图片描述

时序图:

时序图就是当用户进行某个操作的时候,按照时间的顺序看,各个模块之间如何调用的。

eg:用户登陆系统的各模块的调用顺序
这里写图片描述

协作图:

只需要将上边的时序图转换以下Rational Rose就生成了协作图(在Rational Rose中时序图和协作图是可以互相转换的)。

eg:上边的时序图中的例子
这里写图片描述

组件图:

组件图用来建立系统的各个组件之间的关系,它们是通过功能或者文件组织在一起,使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件包含那些功能。

如javabean、ejb 、jsp都是组件。在UML中,组件使用在左侧有两个小矩形的大矩形表示。

组件图可以用来帮助设计系统的整体构架。

eg:网站组件图
这里写图片描述

部署图:

部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。

节点:用来表示一种硬件,它可以是打印机、计算机等。节点的标记符号是一个三维框,在框的左上方包含了节点的名称。
通信关联:节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
eg:一个实现两个Apache服务器负载均衡部署图
这里写图片描述

0 0
原创粉丝点击