一、类图(Class Diagram)
描述一组类、接口、协作已经它们之间的图,用来显示系统中各个类的静态结构图。

类之间的关系(relationship)
*依赖(dependency)
*泛化(generalization)
*关联(association)
*实现(realization)

(1)依赖(dependency)
*依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物。大多数情况下,依赖关系体现在某一个类的方法使用另一个类的对象作为参数。

*在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

(2)泛化(generalization)
*一般元素和特殊元素之间的关系。

*泛化关系是继承关系的反关系,子类从父类中继承,父类是子类的泛化。

(3)关联(accociation)
*表示两个类之间存在某种语义上的联系。一个人为一家公司工作,一家公司有许多办公室。

*关联关系是所有关系中语义最弱的。

*可以分为聚合关系、组合关系。
a.聚合关系
关联关系的一种特例,是强的关联关系。聚合表示类之间的关系是整体与部分的关系,但整体与部分之间是可分离的,他们可以具有各自的生命周期。
在UML中,使用 ——————空菱形表示聚合关系,空心菱形指向的是代表“整体”的类。

b.组合关系
也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
在UML中,使用带有实心菱形的实现——————实心菱形表示组合关系。

(4)实现(realization)
*一个元素完成另外一个元素的操作功能,则二者构成实现关系。

*如接口类及其实现;接口是操作的集合,只声明了操作方法(没有实现该方法),而由实现类具体定义实现部分。

二、对象图(Object Diagram)
描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。
在UML中,对象图使用的是与UML类图相同的符号和关系,因为对象就是类的实例。

三、状态图(state chart diagram)
*状态图用来描述一个特定对象的所有可能状态及引起状态转移的事件。

*它由状态、转移、事件和活动组成。

*状态图给出了对象的动态视图。

四、活动图(activity diagram)
将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。
*活动图侧重于行为的动作来描述
*状态图侧重从行为的结果来描述

五、顺序图(sequence diagram)
是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或角色以及它们之间可能发生的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。

六、协作图(通信图,UML2.0后的名称)
是一种交互图,强调的是发送和接受消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。

七、构件图(component diagram)
*构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。由源代码文件、二进制文件、可执行文件或动态链接库(DLL)等构件构成,并通过依赖关系相连接。

*构件图用于表示系统的静态设计实现视图。

*是物理方面进行建模的两种图之一。

八、部署图(deployment diagram)
*用来显示系统中软件和硬件的物理架构。

*从部署图中,可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。

*是物理方面进行建模的两种图之一。

模型图分为两大类:
*静态模式(系统结构)
用例图、类图、对象图、构件图、部署图

*动态模式(系统行为)
状态图、活动图、顺序图、协作图

****** 五十 ******、软设笔记【UML分析和意义】-类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图,动静态模式的更多相关文章

  1. ****** 四十九 ******、软设笔记【UML分析和意义】-建模的意义,UML的特点、结构,用例图

    UML UML又称同一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,它的作用域不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程. 建模的意义: 模型是对现实的 ...

  2. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

  3. ****** 四十二 ******、软设笔记【软件知识产权保护】-Internet和Intranet基础

    知识产权保护 著作权法及实施条例 <中华人民共和国著作权法>及其实施条例,明确了保护文学.艺术和科学作品作者的著作权,以及与其相关的权益. 依据改法,我国不仅对文字产品,口述作品,音乐.戏 ...

  4. ****** 四十 ******、软设笔记【网络基础】-Internet和Intranet基础

    Internet和Intranet基础 一.网络地址及子网掩码 1.IP地址结构及类别 IP地址是由32位二进制数,即4个字节组成的,由网络号和主机号两个字段组成. 网络号的位数决定了可以分配的网络数 ...

  5. ****** 三十四 ******、软设笔记【存储器系统】-Cache存储器

    Cache存储器 Cache(高速缓冲存储器) 高速缓冲存储器是位于主存与CPU之间的一级存储器,有静态存储芯片(SRAM)组成,容量比较小,速度比主存高得多,接近于CPU的速度,单位成本比内存高.C ...

  6. ****** 三十 ******、软设笔记【计算机体系结构】-循环冗余校验码(CRC)

    循环冗余校验码(CRC)  广泛地在网络通信及磁盘存储时采用.  1.多项式  在循环冗余校验(CRC)码中,无一例外地要提到多项式的概念.一个二进制数可以以一个多项式来表示.如1011表示为多项式X ...

  7. ****** 二十八 ******、软设笔记【数据库】-分布式数据库、特点、数据存储、DBMS组成

    分布式数据库    一.分布式数据库        分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(场地)上,逻辑上是属于同一个系统.每个结点可以执行局部应用,也能通过网络通信子 ...

  8. ******十三 ******、软设笔记【操作系统】-磁盘管理、虚设备与SPOOLing系统

    五.磁盘管理 1.磁盘的访问时间 *寻道时间Ts:把磁臂从当前位置移到指定磁道上所经历的时间 *选择延迟时间Tr:指定扇区移动到磁头下面所经历的时间. *传输时间Tt:数据从磁盘读出或向磁盘写入数据所 ...

  9. ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树

    五.KMP算法:    *KMP算法是一种改进的字符串匹配算法.    *KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.具体实现就是实现一个next()函 ...

随机推荐

  1. 使用unittest单元测试框架对加法做单元测试

    import unittest from parameterized import parameterized def cacl(a, b): return a+b class MyCacl(unit ...

  2. bzoj2288 生日礼物 (线段树)

    我当然想选最大的子段和啦 但要选M次 那不一定就是最好的 所以提供一个反悔的选项,我选了一段以后,就把它们乘个-1,然后再选最好的(类似于网络流的思路) 这个可以用线段树来维护,记一个区间包含左端点/ ...

  3. pandas to_excel

    报错:IllegalCharacterError 其原因是字段中包含了unicode字符. 解决方案: # 首先,安装python包xlsxwriter pip install xlsxwriter ...

  4. Java复习总结——数据类型

    包装类型 八个基本类型: Boolean/boolean/1 Byte/byte/8 Character/char/16 Short/short/16 Integer/int/32 Float/flo ...

  5. 可以精准解析国内外网站的DNS

    Pure DNS https://puredns.cn/ XsicoDNS https://dns.xsico.cn/ Fun DNS http://www.fundns.cn/ Bai DNS ht ...

  6. poj1442 Black Box

    The Black Case 好啊! 首先,读题很艰难... 读完题,发现是求第k小的数,那么我们用splay水过对顶堆水过即可. #include <cstdio> #include & ...

  7. 编译:ffmpeg,精简ffmpeg.exe

    网上下载的各种 ffmpeg.exe ,最少都有11M+ 而我只需要处理 mp4 和 mp3,在网上搜索了一下精简ffmpeg的文章,折腾一天,也没有完全搞定,但多少有些收获,记录一下: 从 www. ...

  8. 第三十五篇-AppBarLayout的使用

    效果图: 添加appbarlayout到xml文件中,然后在toolbar下面添加一个imageview并设置居中放置,我放置的是上面那个安卓的图标. 根据之前学过的toolbar那一节,结合view ...

  9. 第三十四节,目标检测之谷歌Object Detection API源码解析

    我们在第三十二节,使用谷歌Object Detection API进行目标检测.训练新的模型(使用VOC 2012数据集)那一节我们介绍了如何使用谷歌Object Detection API进行目标检 ...

  10. java 中,new一个新对象时,是先给成员变量赋上初值后 再来调用类中的构造函数的。

    今天学习时法现一个问题,我们定义了一个Test类,在主类中new了一个他的对象,发现:在新建对象中所有的成员变量是先给定了默认初值的:0,null或者false, 之后再调用的构造函数.(如果变量是由 ...