Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks
UML设计的9种图例
 
 
    对UML不是很了解,简单得了解一下UML设计中有的图例及基本作用。首先对UML中的各个图的功用做一个简单介绍:
 
1、用例图
 
    说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
 
2、类图
 
    能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。一个类图根据系统中的类,以及各个类之间的关系描述系统的静态视图。
 
3、对象图
 
    与类图极为相似,只是它描述的不是类之间的关系,而是对象之间的关系
 
4、活动图
 
    能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
 
5、状态图
 
    可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如小溪的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
 
6、顺序图
 
    是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即消息是如何在对象之间被发送和接收的。
 
7、协作图
 
    可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。
 
8、构件图
 
    用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。
 
9、部署图
 
    是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。
 
 
-------------------------------------------------------------------------------------------------------------
 
    然后转一篇blog对各个图做一个比较详细的说明和举例:
 
**********************************************************
UML(2009-04-11 12:18:57)
标签:uml 状态图 类图 it   分类:软件设计
 
http://blog.sina.com.cn/s/blog_5f240fc40100cnm2.html
**********************************************************
 
UML(统一建模语言):是面向对象的可视化建模的一种语言。是数据库设计过程中,在E-R图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。具体关系图标如下:
 
uml01.jpg

说明:
构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
 
依赖:一个事物变化会引起另一个事物变化。
聚集:特殊的关联,描述整体与部分的组合关系。
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。一般用在接口和实现他们的类之间或用例和实现它们的协作之间。
 
UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。

在UML系统开发中有三个主要的模型:
功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。
 

下面具体说明:

1.类图:描述一组对象、接口、协作等事物之间的关系。如下图(摘自网络):
 
uml02.jpg
 
 注:#表示protected,+表示Public,-表示private


2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。如下图(摘自网络):
 
uml03.jpg

3.用例图:描述一组用例、参与者以及它们之间的关系,其展示的是该系统在它的外面环境中所提供的外部可见服务。如下图(摘自网络):
 
uml04.jpg

4.交互图:包括序列图顺序图)和协作图,两者对应,顺序图是强调消息时间顺序,有对象生命线和控制焦点。协作图是强调接收和发送消息的对象的结构组织,有路径和顺序号。如下图(摘自网络):
 
序列图:
 
uml05.jpg
 
协作图:
 
uml06.jpg

5.状态图:展示了一个状态机,由状态、转换、事件和活动组成。强调事件行为的顺序。如下图(摘自网络):
 
uml07.jpg
 
6.活动图:是一种特殊的状态图,实现一个活动到另一个活动的流程。如下图(摘自网络):
 
uml08.jpg
 
7.构件图和部署图:构件图展示一组构件之间的组织和依赖关系,并以全局的模型展示出来。部署图是构件的配置及描述系统如何在硬件上部署。如下图(摘自网络):
 
uml09.jpg
 
                                                               <如有不足,请指正>
------------------------------------------------------------------------------------------
 
    找齐这么多的图真的不容易啊,我试了一下太麻烦就放弃了,对这个作者表示钦佩。
 
    好了,其他如果需要更具体的介绍,可以看下面这个地址,说的比较详细: http://www.cnblogs.com/macou/archive/2009/02/18/1392903.html
 
 
 




-The End-

posted on 2009-05-09 23:21 decode360-3 阅读(1560) 评论(0)  编辑  收藏 所属分类: Exam

只有注册用户登录后才能发表评论。


网站导航: