在学校学习软件工程的时候,对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状态时,对象并不等外部事件触发转移。取而代之,它产生一个动作。动作的结果决定了下一步的状态。
模型是由对象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图的基本种类 #### 一、UML概述及重要性 统一建模语言(Unified Modeling Language,简称UML)是一种广泛应用于软件工程领域的图形化建模语言,旨在帮助软件开发者通过标准化的方法来构建软件系统的蓝图。...
最常用的 UML 图包括:用例图、类图、组件图、部署图、顺序图、活动图、状态机图等。 一、用例图 用例图主要应用于系统需求分析阶段,从用户角度描述系统的需求功能,方便与客户交流,保证需求的唯一性。用例图...
在使用Rose软件绘制UML(统一建模语言)图的教程中,主要涉及了UML图的种类、绘制步骤和操作细节。由于文中描述了使用Rose软件的操作步骤,我们可以推断出教程所包含的关键知识点主要围绕以下几个方面: 首先,教程...
UML图种类繁多,每种图都有其独特的用途。以下是几种常见的UML图及其应用: 1. **类图(Class Diagram)** - 类图用于描述系统的静态结构,特别是类及其属性、操作和相互关系。 - 这种图对于理解系统的基本构成...
设计模式是软件工程中的一种最佳...通过UML图,我们可以看到类的继承结构、接口的使用,以及对象之间的关系,这有助于我们更好地理解和实现设计模式。在学习和使用设计模式时,结合UML图进行学习会大大提升效率和效果。
Visio 画 UML 图基本操作及技巧解析 Visio 画 UML 图是一种常用的建模工具,用于描述软件系统的结构和行为。在本文中,我们将讨论 Visio 画 UML 图的基本操作和技巧,以便帮助 C++ 程序员更好地使用 Visio 画 UML ...
UML中几种类间关系.wps
依赖关系是最弱的一种类间关系,它表示一个类使用了另一个类的定义,其中一个类的变化可能会影响另一个类。依赖关系通常发生在类A作为类B的参数、局部变量或者是静态方法的调用时。在UML中,依赖关系用带箭头的虚线...
UML图会显示代理类与真实对象之间的关系。 6. 原型模式:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。UML图会展示原型接口和克隆方法。 7. 模板方法模式:定义一个操作中的算法骨架,而将...
分析模型也可能会有包图,用于组织和分类系统模块,提高代码的可维护性和可重用性。 除了这些,我们还可能看到活动图,它详细描述了诸如注册课程这一流程的步骤,从选择课程到确认报名,再到支付费用,每个步骤都...
在这个特定的图书馆管理系统中,UML被用来构建类图,它展示了系统中的主要实体及其相互关系。下面我们将深入探讨这个系统的类图设计。 首先,类图是UML中的一种静态模型,它描述了系统的对象类、它们之间的关系以及...
本文将深入探讨新闻发布的系统设计,重点分析其中的四种主要UML图:用例图、类图、序列图和活动图。 首先,我们来看**用例图(Use Case Diagram)**。用例图描绘了系统的主要参与者(Actors)与系统提供的功能(Use...
在UML(统一建模语言)中,序列图和协作图是两种重要的行为图,用于描述对象间的交互和协作。这两种图在系统设计和分析中起到关键作用,特别是在复杂的IT系统如网购系统中,它们有助于理解和梳理不同角色之间的动态...
用例图(Use Case Diagram)是 UML 中的一种静态模型,它描述的是系统的功能需求,展示了系统与外部参与者之间的交互关系。用例图由参与者、用例和关系组成。参与者是系统的外部用户或其他系统,例如,用户、管理员...
本案例中基于当当网购物网站构建了用例图,展示了网站的主要功能及用户角色。 ##### 主要知识点: 1. **参与者**:参与者是指与系统交互的人或外部系统,如买家、卖家等。 2. **用例**:代表系统提供的功能或服务,...
UML java 图示6种类关系,帮忙理解uml的基本概念。
本文将对 UML 图形进行详细的介绍,包括用例图、类图、时序图、协作图、状态图、活动图、组件图和配置图等。 UML 图形的分类 ---------------- UML 图形可以分为两大类:结构图和行为图。 ### 结构图 结构图用于...
UML是一种可视化建模语言,它涵盖了用例图、类图、序列图、状态图、活动图等多种图形表示方式,旨在提供一种标准化的方式来描述软件系统。在鲜花店网上订花系统的分析阶段,我们可以使用UML的用例图来定义系统的主要...
实现关系是一种类与接口之间的关系,表示类是接口所有特征和行为的实现。 **箭头指向:** - 使用带三角箭头的虚线表示,箭头指向接口。 ### 关联(Association) **定义:** 关联关系是一种拥有关系,它使一个类...