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. gcc, ld

    GCC gcc除了具备基本的c文件编译功能外,还把其它工具的功能也集成了进来,比如as的汇编功能,ld的链接功能. 因此,gcc也可以通过-Wa, option,将option传给汇编器as:也可以通 ...

  2. web渗透步骤流程

    2013-11-13 23:03 (分类:网络安全) 这篇流程写的非常细,思路上很完整很全面,非常值得参考,做渗透思路要非常清晰,要不然我感觉真的容易乱,或者漏掉一些可能存在的点. 1.渗透目标 渗透 ...

  3. href的几个特殊值

    a href ="" :默认打开的还是当前页面,会刷新一下重新打开. a href ="#": 浏览器地址栏网址后面会多显示1个#.不会刷新页面,会回到页面顶部 ...

  4. JVM性能优化系列-(6) 晚期编译优化

    6. 晚期编译优化 晚期编译优化主要是在运行时做的一些优化手段. 6.1 JIT编译器 在部分的商用虚拟机中,java程序最初是通过解释器(Interpreter) 进行解释执行的,当虚拟机发现某个方 ...

  5. SpringBoot安全管理--(三)整合shiro

    简介: Apache Shiro 是一一个开源的轻量级的Java安全框架,它提供身份验证.授权.密码管理以及会话管理等功能. 相对于Spring Security, Shiro框架更加直观.易用,同时 ...

  6. IDEA 代码量统计(Statistic)

    IDEA 代码量统计(Statistic) 1.1 前言 项目到了一定阶段,都会想要看看项目的代码量情况,这里主要使用插件Statistic进行代码统计查看. 1.2 安装插件步骤 找到插件市场入口并 ...

  7. 网页DIV+CSS布局与ifame传统布局对比

    通常我们从设计师手上拿到设计稿,按照功能划分为很多小块,然后再利用div+css写成静态页面按照设计稿排列还原,最后把具体内容填充到小块里面.网页布局就是你想要的页面功能在你拿到设计图切块完成重新排列 ...

  8. Java对象拷贝备忘

    列举 //cglib net.sf.cglib.beans.BeanCopier.create net.sf.cglib.beans.BeanCopier.copy //spring-beans or ...

  9. SQL中的real、float、decimal、numeric数据类型区别

    概述: 浮点数据类型包括real型.float型.decimal型和numeric型.浮点数据类型用于存储十进制小数. 在SQL Server 中浮点数值的数据采用上舍入(Round up)的方式进行 ...

  10. window10家庭版解决IIS中万维网服务的安全性中无Windows身份验证

    首先在左下角输入cmd搜索->命令提示符->以管理员身份运行->然后复制下面一段命令: dism /online /norestart /add-package:%SystemRoo ...