前言

看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语。每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用。那么如何阅读?如何绘制?请看下去:

1 行为图

用来描述系统的动态模型和对象之间的关系。

1.1 状态图

类定义了对象的共性,每一个对象实例则表述了个性,状态描绘了对象的动态生命周期。举个例子:“人”就是一个类,而“你”“我”“他”等都是“人”这个类的一个实例,“站着”“躺着”等都是对象的一个状态,从不同角度描述,就可能有多种状态。

在对象整个周期中,它的状态是会发生变化的,而状态就是指在对象生命周期中满足某些条件、执行某些活动或等某些事件的一个条件和状况。

1.2 活动图

活动图强调了活动到活动的控制流,是一种表述过程机理、业务 过程以及工作流的技术 ,它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。它可以用来和传统的流程图相比,十分相似。但它与流程图的主要区别在于,活动图能够支持并发行为。

1.3 交互图

1.3.1 顺序图(时序图)

描述了按照时间的先后顺序对象之间交互动作过程。主要强调消息的时间顺序,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,教下级对象依次放在右边。然后把这些对象发送和接收的消息沿着Y轴方向按时间顺序从上到下放置,方便阅读。

1.3.2 合作图(协作图)

协作图强调参加交互的对象的组织,在协作图中,首先将参加交互的对象作为图的顶点,然后用这些对象之间的边线表示为图的边,再使用对象发送和接收的消息来修饰这些边。

顺序图和协作图对比

相同点 对同一个例子(对象一样)
不同点

1、协作图可以看到组织关系。

2、顺序图可以看到生命周期。

3、侧重点不同。

a、顺序图侧重时间顺序。

b、协作图侧重对象之间的关系。

联系

1、二者在语义上等价。

2、二者可以相互转化。

2 实现图

2.1 构件图

在面向对象软件开发范型中,类是最为基础的“模块化”元素,它封装了属性和成员方法,就像是物理世界的“分子”。但是,对于复杂的软件系统来说,往往拥有成百上千的各种类,因此,对于系统理解而言、复用而言,类的粒度太小了,因此引入了一个较粗粒度概念——“构件”,是一种泛指概念。

构件和类的对比
表示逻辑抽象,可以有直接的属性和操作。
构件 表示物理抽象,一般情况下,构件一般只拥有只能通过其接口访问的操作。

2.2 部署图

部署图和构件图都是对系统的物理方面建模的重要手段,它们之间最大的不同在于:构件图用来帮助开发人员了解系统的物理组织结构,部署图则用来帮助安装、部署人员掌握系统的拓扑结构。部署图的粒度比构件图的粒度大。

结语

通过学习UML,对面向对象的建模有了一定的了解,UML是我们从业余向专业的一个转折点,深刻的明白了,图的重要性,对于以后的C#、设计模式的学习有了一定的帮助。接下来加油!菜鸟一枚,如若有不合适的地方,望大神斧正!

若安好,便是晴!

浅谈UML——九种图(二)的更多相关文章

  1. 浅谈UML——九种图(一)

    前言 学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了.浅谈UML九种图. 实例 1.用例图: 什么是用例?描绘一个系统外在可见的需求情况,是 ...

  2. 【转】浅谈UML的概念和模型之UML九种图

    原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

  3. UML九种图-包图、类图

    UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...

  4. [UML]转:浅谈UML的概念和模型之UML九种图

    转自:http://blog.csdn.net/jiuqiyuliang/article/details/8552956 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UM ...

  5. [转]浅谈UML的概念和模型之UML九种图

    目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的细节问题: 1.用例图(use case dia ...

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

    转载:https://my.oschina.net/zhumenzhongren/blog/667353 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...

  7. 解析UML九种图

            UML作为设计工具,重在实践上,而这就离不开九种图了.绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系.理了 ...

  8. UML九种图作用简介

    UML(统一建模语言):是面向对象的可视化建模语言. UML中有3种构造块:事物.关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: ...

  9. UML 小结(6)- UML九种图的比较与学习

    UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...

随机推荐

  1. ssm+dubbo/zk

    1.原始 Connection conn = null; String url = "jdbc:mysql://localhost:3306/emps?user=root&passw ...

  2. 浏览器对应的selenium版本问题

    在selenium+python环境下查看selenium版本方法: cmd下输入:pip show selenium 卸载selenium版本: cmd下输入:pip uninstall selen ...

  3. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  4. 通俗解释glLoadIdentity(),glPushMatrix(),glPopMatrix()的作用

    通俗解释glLoadIdentity(),glPushMatrix(),glPopMatrix()的作用 (2012-04-02 09:17:28) 转载▼   对于glLoadIdentity(), ...

  5. linux命令学习笔记(8):cp 命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名, 在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果 ...

  6. linux命令学习笔记(40):wc命令

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. .命令格式: wc [选项]文件... .命令功能: 统计指定文件中的字节数.字数 ...

  7. 数据库的join查询

    假设我们有两张表. Table A 是左边的表. Table B 是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示: id name id name -- ---- -- ---- 1 ...

  8. HDU5768Lucky7(中国剩余定理+容斥定理)(区间个数统计)

    When ?? was born, seven crows flew in and stopped beside him. In its childhood, ?? had been unfortun ...

  9. 洛谷 2312 / bzoj 3751 解方程——取模

    题目:https://www.luogu.org/problemnew/show/P2312 https://www.lydsy.com/JudgeOnline/problem.php?id=3751 ...

  10. rsync 端口更换(默认873)

    一般使用默认端口的话, 在服务端的启动命令为: /usr/bin/rsync --address=192.168.1.23 --daemon 如果在客户端需要换另外的端口侦听, 则使用 /usr/bi ...