1、UML简介

  UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言。适用于以用例为驱动,以体系结构为中心的软件设计全程

2、UML模型的构成

  事务(Things):UML建模中最基本的构成元素,具有代表性的成分的抽象

  关系(Relationships):关系把事务紧密联系在一起

  图(Diagrams):图是事务和关系的可视化表示

3、事务

  UML包含4中事务:构件事务,行为事务,分组事务,注释事务

  3.1 构件事务

    UML建模的静态部分,表述概念或者物理元素,主要包括如下几种:

    类:具有相同属性、相同操作、相同关系、相同语义的对象的描述

    接口:描述元素的外部可见行为(服务集合的定义说明)

    协作:描述一组事务的相互作用的集合

    用例:代表一个系统或者系统一部分行为,是一组动作序列的集合

    构件:系统中物理存在,可替换的部件

    节点:运行时存在的物理元素

    另外:参与者、信号应用,文档库,页表都是上述基本事务的变体

  3.2 行为事务

    UML建模的动态部分,描述跨越空间和时间的行为

    交互:实现某功能的一组构件事务之间的消息的集合,涉及消息、运动序列、链接

    状态机:描述事务或者交互在生命周期内响应事件所经历的状态序列

  3.3 分组事务

    UML建模图的组织部分,描述事务的组织结构

    包:把元素组织成组的机制

  3.4 注释事务

    UML模型的解释部分,用来对模型中的元素进行说明,解释

    注解:对元素进行约束或者解释的符合

4、关系

  4.1 泛化(generalization):带三角箭头的实线,箭头指向父类

    可以说成是继承关系,它指定类子类如何特化父类的属性、行为

  4.2 实现(realization): 带三角箭头的虚线,箭头指向接口  

    是一种类与接口的关系,表示类是接口所有属性和行为的实现 

  4.3 关联(association):带普通箭头的实线,指向被拥有者

    是一种结构关系,表示拥有关系,它使一个类知道另一个类的属性和方法

    关联是可以双向的(可以两个箭头或者没有),单项的关联有一个箭头

  4.4 聚合(Aggregation):带空心菱形的实线,菱形指向整体

    是整体与部分的关系,并且部分可以脱离整体单独存在(汽车和轮胎)

    聚合也是关联的一种,是强关联

  4.5 组合(Composition):待实心的菱形实现,菱形指向整体

    是整体与部分的关系,但是部分不能脱离整体,整体的对象负责代表部分的对象的生命周期

  4.6 依赖(dependency):带普通箭头的虚线,指向使用者

    是一种使用关系,既一个类的实现需要另一个类的协助,所以尽量不要使用双向依赖(方法参数,静态方法)

  

5、图

  用例图

    从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元

  类图

    描述系统中类的静态结构,不仅定义系统中的类,表示类之间的关系(关联,依赖),也包括类的内部结构(属性,行为)。

    类图是以类为中心来组织的,类图中的其他元素或者属于类或者类相关联

  对象图

    对象图是类图的实例,几乎使用与类图完全相同的标识,他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。

  顺序图

    顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。

    顺序图的一个用途是用例表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应一个类操作或引起状态转换的触发事件。

  协作图

    协作图描述对象建的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系,除了显示信息交互外,协作图还显示对象以及它们之间的关系

    协作图的一个用途表示类操作的实现

  状态图

    状态图是一个类对象所可能经历的所有历程的模型图,状态图由对象的各个状态和连接这些状态的转换组成

  活动图

    活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动

    活动图描述了一组顺序或者并发的活动。

  构件图  

    结构图为系统的构件建模型(构件既构造应用软件单元),还包括各个构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响

  部署图

    部署图描述位于节点实例上运行构件实例的安排,节点是一组运行资源,如计算机,设备或存储器。这个视图允许评估分配结果和资源分配

6、各个UML图的关系

  需求分析:用例图-顺序图

  BD(基本设计):用例文档-用例图-类图-顺序图

  FD/DD(结构设计/详细设计):类图-顺序图

UML 建模 -- 基础知识的更多相关文章

  1. UML图基础知识

    一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...

  2. 【Microstation】三维建模基础及软件入门到精通实验教程目录

    @ 目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 MicroStation是一款非常不错的二维和三维设计软件,由奔特力(Bentley)工程软件系统有限公司开发的一款软件.在C ...

  3. UML uml基础知识

    uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...

  4. 推荐一本书:《UML面向对象建模基础》

    http://www.cnblogs.com/onlytiancai/archive/2006/10/13/528205.html 以前对UML呀,感觉用不上,不知道都干啥的,也就是知道有个用例图.类 ...

  5. 【二】、UML基础知识——图图解乾坤

    [二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...

  6. 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射

    使用Code First建模自引用关系笔记   原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...

  7. 使用Visio进行UML建模

    http://www.qdgw.edu.cn/zhuantiweb/jpkc/2009/rjkf/xmwd/Visio_UmlModel.htm#_Toc80417837 内容提纲: 1.VISIO中 ...

  8. 语义web基础知识学习

    最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...

  9. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

随机推荐

  1. shell使用变量的值,获取一个新的变量名的值

    [root@localhost ~]# cat s2.sh #!/bin/bash color_name="red" red=31 color=`eval echo '$'&quo ...

  2. Shell脚本 小程序演示

    一般的shell编程 场景贯穿了几个熟知的步骤: ●显示消息●获取用户输入●存储值到文件●处理存储的数据 这里写一个小程序 包含以上几部 #!/bin/bash while true do #echo ...

  3. 杭电-------2047阿牛的eof牛肉串(C语言写)

    /* 主要看最后一个是否为O,若为O,则倒数第二个不能为O,则为a[n-2]*1*2; 若不为O,则最后一个有两个选择则为a[n-1]*2 */ #include<stdio.h> ] = ...

  4. JS中this的几种情况

    1.给元素的某个事件行为绑定方法,事件触发,方法执行,此时方法中的this一般都是当前元素本身: <div id="div"></div> div.oncl ...

  5. asp.net abp模块化开发之通用树2:设计思路及源码解析

    一.前言 上一篇大概说了下abp通用树形模块如何使用,本篇主要分析下设计思路. 日常开发中会用到很多树状结构的数据,比如:产品的多级分类.省市区县,大多数系统也会用到类似“通用字典/数据字典”的功能, ...

  6. Linux 文件和目录操作命令(一)

    1.cd (change directory)切换到指定目录 - 返回上次目录 .. 返回上层目录 回车 返回主目录 / 根目录 2.cp (copy)复制文件或目录 -r -R 递归复制该目录及其子 ...

  7. [SDOI] 仪仗队

    SDOI仪仗队 序 迎面冷风袭来 ​  我又该何去何从     哪里       是我的安居之处 正文 我们这个题有一个是很显然的想法,我们可以想到是跟 \(\gcd\) 有关,事实上没有任何分析的, ...

  8. 清北学堂—2020.1提高储备营—Day 4 morning(数论)

    qbxt Day 4 morning --2020.1.20 济南 主讲:李奥 目录一览 1.一些符号与基本知识 2.拓展欧几里得,逆元与欧拉定理 3.线性筛法与积性函数(非重点) 总知识点:数论 一 ...

  9. 【46】谷歌 Inception 网络简介Inception(2)

    Inception 网络(Inception network) 在上节笔记中,你已经见到了所有的Inception网络基础模块.在本节笔记中,我们将学习如何将这些模块组合起来,构筑你自己的Incept ...

  10. ural 2124

    题意 ural 做法 求出一个原根\(\omega\),对于每个数\(x\)写成\(x=\omega^{k}\)的形式,\(\delta(x)=\frac{p-1}{k}\) 我们不关心群具体的东西, ...