`
沙漠绿树
  • 浏览: 425423 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

UML图种类及区别关系

 
阅读更多
        在学校学习软件工程的时候,对UML的各种图不好理解,知道有哪些图,图的元素是什么。刚开始工作那会儿,不知道如何使用这些图,等到参与了项目立项到开发上线,运营,统计。一个比较完整的项目流程时,且这个系统需要与第三系统交互时,这些图都用的上了,他们在整个项目生命的各个阶段使用。
 
1、UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。UML提供的基本模型图包括:
(1)、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系
(2)、类图:展示系统中类的静态结构(类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构)
(3)、对象图:是类图的一种实例化图(对象图是对类图的一种实例化)
(4)、包图:是一种分组机制。在UML1.1版本中,包图不再看作一种独立的模型图)
(5)、状态图:描述一类对象具有的所有可能的状态及其转移关系(它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移情况)
(6)、时序图/顺序图:展示对象之间的一种动态协作关系(一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)
(7)、合作图:从另一个角度展示对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)
(8)、活动图:展示系统中各种活动的执行流程(各种活动的执行顺序、执行流程)
(9)、构件图:展示程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)
(10)、配置图:展示软件在硬件环境中(特别是在分布式及网络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)
一般来说是9种,有的地方也会出现“包图”,这里就包含包图。
 
2、推荐工具:argoUML,RationRose,Viso,EA等等。
 
3、活动图、顺序图、状态图、协作图经常混淆大家的理解,这里说说联系与区别:
学习UML必须熟悉面向对象解决问题的根本原则――一切从模型的建造开始的。一个模型model就是根本问题的抽象。域domain就是问题所处的真实世界。
模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。记住把一个对象想象成“活着的”。对象有他们知道的事(属性 attributes)和他们可以做的事(行为或操作behaviors or operations)。对象的属性的值决定了它的状态state。
类Classes是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。对象是类的实例instances。

(1)活动图

UML实践中活动图activitydiagram是一个很特别的流程图。活动图和状态图之间是有关系的。状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程。活动图告诉了我们活动之间的依赖关系。对我们的例子来说,我们使用如下的过程。“通过ATM来取钱。”这个活动有三个类Customer,ATM和Bank。整个过程从黑色圆圈开始到黑白的同心圆结束。活动用圆角矩形表示。

活动图可以被分解成许多对象泳道swimlanes,可以决定哪些对象负责那些活动。每个活动都有一个单独的转移transition连接这其他的活动。转移可能分支branch成两个以上的互斥的转移。保护表达式(在[]中)表示转移是从一个分支中引出的。分支以及分支结束时的合并merge在图中用菱形表示。转移也可以分解fork成两个以上的并行活动。分解以及分解结束时的线程结合join在图中用粗黑线表示

(2)顺序图

UML实践中类图和对象图是静态模型的视图。交互图是动态的。他们描述了对象间的交互作用。顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

(3)协作图

UML实践中协作图也是互动的图表。他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色。在序列图中,对象的角色放在上面而消息则是连接线。对象角色矩形上标有类或对象名(或者都有)。类名前面有个冒号(:)。协作图的每个消息都有一个序列号。顶层消息的数字是1。同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等。

(4)状态图

UML实践中对象拥有行为和状态。对象的状态是由对象当前的行动和条件决定的。状态图state chart diagram显示出了对象可能的状态以及由状态改变而导致的转移。我们的模型例图建立了一个银行的在线登录系统。登录过程包括输入合法的密码和个人账号,再提交给系统验证信息。登录系统可以被划分为四种不重叠的状态:GettingSSN,GettingPIN,Validating,以及Rejecting。每个状态都有一套完整的转移transitions来决定状态的顺序。

状态是用圆角矩形来表示的。转移则是使用带箭头的连线表示。触发转移的事件或者条件写在箭头的旁边。我们的图上有两个自转移。一个是在GettingSSN,另一个则在上GettingPIN。初始状态(黑色圆圈)是开始动作的虚拟开始。结束状态也是动作的虚拟结束。事件或条件触发动作时用(/动作)表示。当进入Validating状态时,对象并不等外部事件触发转移。取而代之,它产生一个动作。动作的结果决定了下一步的状态。
顺序图偏重于交互的时间次序,协作图展示对象的交互关系,活动图表现数据业务流程。
 
 
分享到:
评论

相关推荐

    UML中几种类间关系.wps

    UML中几种类间关系.wps

    UML类关系图解

    UML java 图示6种类关系,帮忙理解uml的基本概念。

    UML 的九种模型图与"4+1" 视图模型对应关系

    默认分类 2008-08-14 11:43:03 阅读92 评论0 字号:大中小 订阅 UML模型视图由哪几种具体的视图构成?各自的作用是什么? UML模型视图可以通过4+1视图模型的软件体系结构来了解 1代表Use Case View 定义了系统的...

    UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

    UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别 这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范 建模了...

    UML那些事儿

     本书通过引用UML规格书里的图例和定义详细介绍了UML的特色和发展历史,六类UML图,元模型的说明,并且以StarUML为示范,讲解UML,工具如何落实UML概念,还介绍了活动图、控制节点、交互图、生命线、用例图等内容。...

    UML参考手册.PDF

    4.5.3 单分类和多重分类 35 4.5.4 静态与动态类元 35 4.6 实现 36 4.7 依赖 37 4.8 约束 38 4.9 实例 39 4.10 对象图 39 第 5 章 用例视图 41 5.1 概述 41 5.2 参与者 41 5.3 用例 42 第 6 章 状态机视图 44 6.1 ...

    UML和模式应用(架构师必备).part06.rar

    第37章 UML部署图和构件图 37.1 部署图 37.2 构件图 第38章 使用模式设计持久性框架 38.1 问题:持久性对象 32.2 解决方案:持久性框架提供的持久性服务 38.3 框架 38.4 持久性服务和框架的需求 38.5 关键...

    UML和模式应用(架构师必备).part07.rar

    第37章 UML部署图和构件图 37.1 部署图 37.2 构件图 第38章 使用模式设计持久性框架 38.1 问题:持久性对象 32.2 解决方案:持久性框架提供的持久性服务 38.3 框架 38.4 持久性服务和框架的需求 38.5 关键...

    UML和模式应用期末复习资料

    UML中,消息的分类可以从哪两个角度区分,请具体说明。 说说模型-视图分离原则。 逻辑架构是什么? 说说如何创建领域模型?如何找到概念类? 具体说明对象模型有那两种类型及其作用,对建立对象模型敏捷建模建议的...

    UML参考手册-UML入门资料

    4 5 3 单分类和多重分类 4 5 4 静态与动态类元 4 6 实现 4 7 依赖 4 8 约束 4 9 实例 4 10 对象图 第 5 章 用例视图 5.1 概述 5.2 参与者 5.3 用例 第 6 章 状态机视图 6.1 概述 6.2 状态机 6.3 事件 ...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    15.2.4UML图的种类 15.3小结 第16章用例图 16.1认识用例图 16.1.1为什么需要用例图 16.1.2什么是用例图 16.2详解用例图 16.2.1系统边界 16.2.2参与者 16.2.3用例 16.2.4箭头 16.2.5注释 16.2.6用...

    利用UML序列图设计Java应用程序详解 

    UML已成为面向对象设计的标准图形化工具,在UML定义的各种图中,本文主要讲解序列图。 Java应用程序由许多类所构成,是Java实现面向对象应用程序的核心。类图主要描述Java应用程序中各种类之间的相互静态关系,如类...

    UML和模式应用(架构师必备).part02.rar

    第37章 UML部署图和构件图 37.1 部署图 37.2 构件图 第38章 使用模式设计持久性框架 38.1 问题:持久性对象 32.2 解决方案:持久性框架提供的持久性服务 38.3 框架 38.4 持久性服务和框架的需求 38.5 关键...

    UML参考手册.doc

    4.5.3 单分类和多重分类 35 4.5.4 静态与动态类元 35 4.6 实现 36 4.7 依赖 37 4.8 约束 38 4.9 实例 39 4.10 对象图 39 第 5 章 用例视图 41 5.1 概述 41 5.2 参与者 41 5.3 用例 42 第 6 章 状态机视图...

    湖南文理学院uml模拟考试试卷及答案*(附详细解析)

    分类(classification) D.聚集(aggregation( ) 2. ( B C)描述了一组交互对象间的动态协助关系,表示完成某项行为的对象和这些对象间传统消息的时间顺序。 A.对象图 B.协作图 C.序列图 D.状态图 3. 对某企业的...

    面向对象与UML资料

    交互图的依赖关系 82 顺序图--两种观点 82 系统顺序图 82 系统事件和系统操作 83 如何建立一个系统顺序图 84 系统事件和系统边界 84 系统事件和操作的命名 84 对象顺序图 85 画顺序图的试探法 86 协作图的基本表示法...

    UML中继承实现依赖关联聚合组合的联系与区别_线条箭头.doc

    UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

    UML之类图和对象图

    )类在很多方面和组件相同:(2)都可以实现一组接口(3)都可以参与依赖关系(4)都可以被嵌套(5)都可以有实例(6)都可以参与交互但是也会有一些区别:(1)类描述软件设计的逻辑组织和意图,组件描述软件设计的...

    基于UML建模软件的SFMEA方法研究

    (2) 阐明了UML与RUP的关系和各自特点,总结了UML对SFMEA的重要作用,建立了RUP核心工作流与相应的UML模型的关系,确定了在各个阶段进行SFMEA的分析依据; (3) 分别在RUP需求、分析和设计三个核心工作流阶段,针对...

    UML和模式应用(架构师必备).part01.rar

    第37章 UML部署图和构件图 37.1 部署图 37.2 构件图 第38章 使用模式设计持久性框架 38.1 问题:持久性对象 32.2 解决方案:持久性框架提供的持久性服务 38.3 框架 38.4 持久性服务和框架的需求 38.5 关键...

Global site tag (gtag.js) - Google Analytics