解析UML九种图

        UML作为设计工具,重在实践上,而这就离不开九种图了,画图是在看完视频以后进行的,刚开始画图的时候脑袋懵懵的,不知道该从哪下手,于是就在画图之前再次的学习了一下这九种图和四种关系,理了理思路,终于有点了想法,这才开始着手画。UML的九种图包括:用例图,对象图,类图,构件图,部署图,状态图,顺序图,活动图,协作图。四种关系和九种图在UML学习中是重中之重,而在这九种图中最重要的是用例图,类图和顺序图,反复的学习才能将它消化。

一、概念

在这九种图中又可以将他们分成静态图和动态图,静态图包括:类图,对象图,用例图,构件图,部署图;动态图包括:状态图,顺序图,活动图,协作图。

1、用例图(user-case diagram)

定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。

2、类图(class diagram)

对静态结构的描述,用来定义系统中类和类之间的关系。

3、对象图(object diagrams)

表示类的对象实例。通常用来示例一个复杂的类图,通过对象图反映真正的实例是什么,它们之间可能具有什么样的关系,帮助对类的理解。

4、状态图(statechart diagrams)

类所描述事物的补充说明,类所有对象可能具有的状态,以及引起状态变化的事物。

5、序列图(Sequence Diagrams)

又叫顺序图,强调消息时间顺序的交互图,描述类以及类相互交互以完成期望行为的消息。

6、协作图(collaboration diagrams)

协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关联。

7、活动图(activity diagram)

反映一个连续的活动流,用于描述某个操作执行时的活动状况。

8、构件图(component diagrams)

主要用于描述各种软件构件之间的依赖关系。

9、部署图(deployment diagrams)

是用来显示系统中软件和硬件的物理架构。从部署图中,可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。

二、九种图的应用阶段

需求阶段:用例图描述需求

分析阶段:类图描述静态结构

设计阶段:类图和包图对接口的应用

实现阶段:构件图,部署图

三、PK赛

1、时序图 and 协作图

相同点:

(1)时序图和协作图都属于交互图,他们表示对象间的交互关系,描述了一个交互,由一组对象和他们之间的关系组成,并且还包括在对象之间传递的消息,

(2)时序图和协作图是等价的

(3)两者都来自UML元模型的相同信息,因此他们的语义是等价的,他们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。

不同点:

协作图强调的是空间,但时间顺序必须从序列号获得。

时序图强调的是时间但是没有明确的表达对象间的关系

2、状态图 and 活动图

相同点:都属于行为图,都是描述对象的动态行为。

不同点:

(1)描述对象不同:

状态图:描述对象状态及状态之间的转移,它主要表现该对象的状态。

活动图:描述从活动到活动的控制流,它主要表现的是系统的动作。

(2)使用场合不同:

状态图:描述对象在其生命期中的行为状态变化。

活动图:描述过程的流程变化。

3、对象图 and 类图

相同点:对象图是类图的实例,几乎使用与类图完全相同的标识。

不同点:对象图显示类的多个对象实例,而不是实例的类。由于对象存在生命周期,因此对象图只能在系统某一个时间段存在。

4、活动图 and 用例图

活动图是对用例图的一种细化。

5、状态图 and 类图

状态图是对类图的一种补充,帮助开发者完善某一类。

四、小结

        UML的九种图重在实践,只有通过反复的学习来加深对它的理解,现在只是初步的学习UML,对它的理解没有那么深,有什么不对的,欢迎指出!

时间: 2024-10-13 11:49:50

解析UML九种图的相关文章

UML九种图之部署图和构件图

面试的时候被问到,在线性回归中,有三个假设,是哪三个? 当时回答出来自变量x和因变量y之间是线性变化关系,也就是说,如果x进行线性变化的话,y也会有相应的线性变化. 提到数据样本的时候也答道了样本点之间要求是独立同分布的(根据MLE准则,假定对样本加上高斯白噪声e的情况下). 但是第三个最终还是没有答上来,面试官也没有再给提示,所以回来自己再查一下. LR的wiki页面(http://en.wikipedia.org/wiki/Linear_regression)中,有提到了LR的假设,分别是:

浅谈UML的概念和模型之UML九种图

文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包括一个或多种图.本文我们重点解说UML每种图的细节问题: 1.用例图(use case diagrams) [概念]描写叙述用户需求,从用户的角度描写叙述系统的功能 [描写叙述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是怎样相关

UML九种图 之活动图和状态图

前言     活动图和状态图组成行为图,它们是对系统的动态描述,它们之间有一定的联系搁一块儿更容易理解.本篇介绍的两个图和上一篇介绍的顺序图和协作图,共同描述系统的行为. 活动图     1. 概念      阐明了业务用例实现的工作流程.     2. 图符           1. 基本要素      活动状态.迁移.判断.保证条件.同步条.起点和终点     2. 作用      (1) 描述执行过程中完成的工作或者动作      (2) 描述对象内部工作      (3) 如何执行相关动

UML九种图 之 顺序图和协作图

前言         前面介绍的用例图.类图.包图和对象图都是对系统的静态的描述.本篇将介绍动态描述的交互图(顺序图和协作图),所以把顺序图和协作图的总结放一块儿更容易理解. 顺序图     1.概念      描述按时间先后顺序对象之间交互动作过程     2.构成      参与者.对象.消息(信号或操作调用).生命线     3.消息的分类      简单消息.同步消息.异步消息     4. 消息的几种形式      Call.Return.Send.Crate.Destroy    

UML 九种图

目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是如何相关联的 [描述方

UML九种图 之 包图和对象图

前言     对象图和包图依旧是对系统的静态的描述.UML九种图加上包图,其实是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其它包等.(若包被撤销,其中的元素被撤销)     3.包之间的关系      泛化.细化.依赖(常用)     4.包的作用     (1)逻辑上把一个复杂的图模块化     (2)组织源代码     5.包的常见问题     (1)避免循环依赖     (2)以包为单位测试     (3)概念和语义相近的元素包含

讨论UML概念和模型UML九种图。

文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case diagrams) [概念]描写叙述用户需求,从用户的角度描写叙述系统的功能 [描写叙述方式]椭圆表示某个用例.人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是怎样相

UML九种图总结

UML视频看完了,该开始画图文档了,不知如何入手啊!还是先对UML的九种图和关系总结一下,然后再入手文档吧.先上图. UML的九种图分别是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图和部署图. 用例图:由参与者.用例以及它们之间的关系构成的用于描述系统功能的动态视图.是分析系统有哪些功能以及明确系统内部和系统外部(角色)的交互的. 类图:显示出类.接口以及它们之间的静态结构和关系:它用于描述系统的结构化设计. 对象图:显示了一组对象和它们之间的关系.与类图相似.对象图显示类的多

UML九种图 之 用例图和类图

前言     近期写UML文档,看视频的时候感觉掌握的还能够,当真正写文档的时候才发现不是一件easy的事.写文档自己又翻开自己的笔记看了一遍又一遍. 以下就给大家介绍一下我画的几张图: 用例图     1. 用例图的构成         (用例,角色,关系)         用例:指功能的描写叙述         角色:触发起某种事件         关系:用例图的关系(依赖,泛化,关联)     2. 用例图的作用         (1)用例视图是整个UML设计的关键,影响到整个UML设计的