您的位置:首页 > 其它

UML画图小总结

2017-02-26 15:45 295 查看
UML画图完成了,收获颇多,当然也历经坎坷,权且总结一下。

首当其冲就是心态上的啦,一想到要画UML图了,便感觉很害怕,感觉UML画图是一个多么高大上的东东,自己一个菜鸟怎么可能会,以至于“惶惶不可终日”,就像打仗,还没开打,便已经士气低落,萎靡不振了。

接触到UML画图之后,除了刚刚接触的时间感觉有些晦涩之外,其余进程还是比较顺利的,唯一遇到比较大的困难是装画图工具的Rational rose的时间老是出问题,试了好几个解压软件都解决不了,最后利用UltralSO把源文件所有数据导入到一个新的文件夹里,终于成功的完成了安装。

所以我得到的经验是遇到任何新的东西,都不要心存畏惧,自信、认真、激情的接触加了解,你会发现原来是如此的容易,哈哈。

随后是知识上的,UML是一个非常棒的工具,对于软件设计的科学合理化进程功不可没。

所以我们要熟练掌握这么好的工具。

下面分别论述:

1.活动图

概念:描述用例要求所要进行的活动,以及活动间的一些关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他的功能可以共同满足的一些需求。



2.状态图



概念: 描述类的对象所有可能的状态,以及事件发生时状态的一些变化。可以完整的显示一些流程的周期。该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。

状态图侧重于行为的结果来描述

活动图侧重从行为的动作来描述

一个描述动作,一个描述状态,这样就可以比较好的理解活动图和状态图在整个系统描述上的区别,同时也能更好的去理解系统的功能。

3.类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。

在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关系(Aggregation)、组合关系(Composition)和实现(Realization)关系。



关联关系:



聚合,组合关系:



依赖关系:

在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

在系统实施阶段,依赖关系通常通过三种方式来实现。

第一种也是最常用的一种方式,将一个类的对象作为另一个类中方法的参数

第二种方式是在一个类的方法中将另一个类的对象作为局部变量

第三种方式是在一个类的方法中调用另一个类的静态方法

泛化(继承)关系:指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系



实现:指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性;



4.用例图:



是由软件需求分析到最终实现的第一步,说明的是谁要使用系统,以及他们使用该系统可以做些什么,是九种图里面最为基础且非常重要的一张图。

用例图包括3方面内容:

1.参与者(Actor);

2.用例(Use Case);

3.参与者、用例之间的关系:关联关系、泛化关系、包含关系、扩展关系等;

泛化关系:



关联关系:



包含关系:包含指的是其中一个用例的行为包含了另一个用例的行为。

Include,其实是“包含了”,箭头由包含者指向被包含者;



扩展关系: 一个用例被定义为基础用例的增量扩展,称作扩展关系。

其实是“扩展于”或“扩展自”,箭头由扩展出来的“子”指向它的“父”;



5顺序图:描述对象之间的动态交互的情况,着重表示对象间消息传递的时间顺序。顺序图的主要内容是消息。



6.协作图:

协作图中表示了角色之间的关系,通过协作图限定协作中的对象或链。协作指的是在一定的语境中一组对象以及实现某些行为的对象间的相互作用。

协作图是表现对象协作关系的图,表示了协作中作为各种类元角色的对象所处的位置。



7.构件(组件)图

组件图描述软件组件以及组件之间的关系,组件图显示了代码的结构,在UML中任何一个组件图只是系统实现视图的一个图形表示,不能描述系统实现视图的所有方面,当系统的组件组合起来时,也就实现了一个系统的完整视图。组件图是为了使开发工作有一个明确的目标,有利于帮助工作组的其他人员理解系统。



8.部署图

部署图相对于组件图而言,则显示了运行软件系统的物理硬件,以及如何将软件部署到硬件上。相对而言,组件图和部署图在UML的九种图中是比较简单的。在部署图中,图形上用一个三维立方体表示节点,通常用关联关系和依赖关系。依赖关系用虚线箭头表示,通常用在组件和组件之间;关联关系用一条直线表示,通常用于对节点间的通信路径或连接。



9.对象图



1、定义:对象图描述一个系统在某个具体时刻的静态结构。

2、简要介绍:对象图实际上就是类图的实例。

对象图表示一组对象及他们之间的联系,它是系统的详细状态在某一时刻的快照,常用于表示复杂类图的一个实例。

UML中对象图与类图具有相同的表示形式。

在UML中,对象图的使用相当有限,主要用于表达数据结构的实例,以及了解系统在某个特定时刻的具体情况。

10.包图(包图并非正式的UML图)



1、定义:包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合

2、简要介绍:包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。

包图的作用:包图可以描述需求,设计的高阶概况;包图通过合理规划自身功能反应系统的高层架构,在逻辑上将系统进行模块化分解;包图最终是组织源码的方式。

一个包图可以由任何一种UML图组成,通常是UML用例图或是UML类图。

包被描述成文件夹,可以用于UML任何一种的图上。

包图只是把某些类放在一个包中,因此可以看做是类图的一种
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: