一、类图(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. 【原创】hdu1698 Just a Hook(线段树→区间更新,区间查询)

    学习线段树第二天,这道题属于第二简单的线段树,第一简单是单点更新,这个属于区间更新. 区间更新就是lazy思想,我来按照自己浅薄的理解谈谈lazy思想: 就是在数据结构中,树形结构可以线性存储(线性表 ...

  2. windows7安装docker

    因为本机已经安装了git,所以这里取消勾选 配置环境变量 进入到D:\DockerToolbox 将D:\DockerToolbox下的boot2docker.iso 复制到C:\Users\my\. ...

  3. 【php】php位运算及其高级应用

    我们之前学过逻辑与(&&)      条件1 && 条件2 当两边条件同时成立时候返回1 逻辑或(||)         条件1 || 条件2    当两边条件只要有一 ...

  4. 课后选做题:MyCP

    目录 CP命令了解 MyCP实现 CP命令了解 作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若 ...

  5. 构造器引用和直接用new创建对象区别

    万事用事实说话 package cn.lonecloud; /** * @author lonecloud * @version v1.0 * @date 上午11:22 2018/4/30 */ p ...

  6. JVM源码分析之一个Java进程究竟能创建多少线程

    JVM源码分析之一个Java进程究竟能创建多少线程 原创: 寒泉子 你假笨 2016-12-06 概述 虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从JVM源码角度来分析,更多的来自于L ...

  7. HEOI2019 游记——240秒处的起死回生

    我还没死 Day-1 最后一场模拟赛! T1:自然数幂次和再前缀和,还是O(k)次多项式,拉格朗日插值,,,,,不能总想斯特林数啊!!! T2:神仙DP预处理... T3:AC自动机+LCA处差分+暴 ...

  8. n+lognlogV查找最大值

    来自Blogewoosh #6. 啃了一下,写个翻译吧. 问题:你有一个数组,你不知道每个元素的大小,但是能够提出询问:a[x]是否>=v?你需要找出这个数组的最大值,只能询问n + lognl ...

  9. MVC相关问题归纳

    问题: 1.How MVC pattern flows 2.对象模型.关系模型 3.OR Framework 4.EF(Entity FrameWork)实体框架 5.模型驱动数据数据驱动模型的两种方 ...

  10. memset()函数及其作用(转)

    1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, c ...