今天接着昨天的内容,继续来了解uml的静态建模和动态建模,希望大家通过这两天的了解能加深对uml建模的理解并在以后的项目开发中加以应用。 核心UML图分类: ---> “独孤九剑” 静态建模:[用例图]、[类图]、对象图、组件图、部署图。动态建模:[时序图](sequence diagrams)、状态图、活动图、协作图。 核心UML图的定义及使用: 一、 用例图:主要用来展示系统的核心功能及其交互的用户或系统。 举例说明:相信上一篇已经写的很清楚了,这里简单贴一张图。 ===================== Num1.用例图======================== 二、类图:主要用来表现类的特征(属性和操作等),描述了多个类/接口的特征以及对象之间的协作和交互。 类图主要做两件事:1 对类中的数据及其操作进行封装;2 标明类与类之间的关系。 下面主要针对这两点来谈谈,第一点: 对类中的数据及其操作进行封装,还是先看图吧: 因为这里使用的是Rose画图,所以所有的画图操作都是在Rose上执行的。需要说明一下:这里画的是一张简单的普通类图,类图的属性和方法是可选的,而这里的正向工程和反向功能有点类似于Java web里面的Hibernate的一个重要作用:将表映射成类,也可以将类映射成表,当然这里的是一张类图而不是数据库里面的表。 第二点:标明类与类之间的关系。类与类之间的关系主要有一下几种:1. 泛化关系(继承关系)、2. 实现关系(接口与实现类的关系)、3. 关联关系(这个比较复杂,这要包含单向关联、双向关联、自关联、聚合关联、组合关联)、4. 依赖关系(项目开发中基本很少画)。下面以图的方式进行讲解: 1,泛化(继承)关系:注意是子类指向父类,且箭头为三角形,连线为实线。 2,实现关系(接口与实现类的关系):这个在Java web中经常用到,比如在Spring中,经常会调用DAO层接口的对象(通过IOC配置xml的方式来setXx产生接口对象)方法来处理Service层的业务(如:登录、注册等)。注意是实现类指向接口,且箭头为三角形,连线为虚线。 3,关联关系: a)单向关联:就拿追MM来说,很多人都稀罕她,但她都不稀罕。如图: b)双向关联:就拿夫妻来说,一个男的只能有一个老婆,而一个女的只能有一个老公。如图: c)自关联:典型的,就拿Menu菜单来说,子菜单和父菜单封装的数据都一样,只是Menu类中要有自己的引用。如图: d)聚合关联:聚合表示的是整体和部分的关系,比如说:有辆汽车报废了,但其轮胎有两个还是好的,它可以供别的汽车使用。如图(画图时切记:整体指向部分): e)组合关联:组合也是整体和部分的关系,与聚合最大的区别在于:整体可以控制部分的生命周期。比如:一家IT公司倒闭了,那么其部门也将不复存在。如图: 注意:整体指向部分,与聚合关联不同的是:组合的菱形箭头是实心的,而聚合的菱形箭头的空心的。 4. 依赖关系:存在于方法中的临时变量、方法签名中的参数和对静态方法的调用。比如咱经常使用的电脑,咱们需要它的帮助来完成一些事情,这就是依赖。如图: 注意:箭头指向被依赖者,且箭头为虚线。 |
|