UML概述

  uml简介

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

  uml的定义包括UML语义和UML表示法两个部分。

  (1)UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除因人而异的表示方法造成的影响。

  (2)UML表示法:UML表示法定义UML符号的表示法,为开发者或者开发工具使用这些图形符号和文本语法为系统建模提供了标准。

 UML模型图的构成

事物(things):UML模型中的最基本的构成元素,是具有代表性的成分的抽象。

关系(relationship):关系把事物紧密联系在一起。

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

UML事物

UML包含4种事物:构件事物、行为事物、分组事物、注释事物。

构件事物:UML模型的静态部分,描述概念或者物理元素。

它包含以下几种:

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

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

  协作:描述了一组事物间的相互作用的集合。

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

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

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

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

行为事物:UML模型图的动态部分,描述跨越空间和时间的行为。

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

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

分组事物:UML模型图的组织部分,描述事物的组织结构

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

注释事物:UML模型图的解释部分,用来对模型中的元素进行说明,解释

  注解:对元素进行约束或解释的简单符号。

UML关系

  依赖(Dependecy):是两个事物之间的语义关系,其中的一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义。

  关联(association):是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。

  泛化(generalization):是一种特殊/一般的关系。也可以看作是常说的继承关系。

  实现(realization):是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约。

各UML图及特征

  用例图(use case Diagram):是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。

  类图(Class Diagram):描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联

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

  顺序图(sequence Diagram):显示对象之间的动态合作关系,它强调对象之间的消息发送的顺序,同时显示对象之间的交互。顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件。

  协作图(Collaboration Diagram):描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系 其用途是表示一个类操作的实现。

  状态图(State Chart Diagram):是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成

  活动图(Activity Diagram):是状态图的一个变体,用来描述执行算法的工作流程中涉及到的活动。 描述一组顺序的或者并发的活动。

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

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

各UML图的关系

UML语法描述

UML基础概念的更多相关文章

  1. UML基础概念(转)

    UML基础概念 UML概述 uml简介 uml(unified Modeling Language )为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的 ...

  2. 【UML】NO.70.EBook.9.UML.4.001-【PowerDesigner 16 从入门到精通】- 基础概念

    1.0.0 Summary Tittle:[UML]NO.70.EBook.9.UML.4.001-[PowerDesigner 16 从入门到精通]-  基础概念 Style:DesignPatte ...

  3. UML基础与Rose建模实训教程

    目  录 第1章  初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章  Rational Rose工具... 6 2.1 安装与配置Rational Ro ...

  4. 【UML】UML基础知识

    UML简介     统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述.可视化处理.构造和建立软件系统制品的文档.     它记录了对必须构造的系统的决定和理解,可用于对系统的理解. ...

  5. 【UML】概念、关联、画画(一)

    最近画UML画画,于UML观看视频后还没有学会.它是的结果UML九图是不是太懂,我想加深绘制过程的理解,我一个新的水平. 现在我觉得是时候..地介绍一下UML.了解一下它的基本内容.达到深入浅出的效果 ...

  6. UML uml基础知识

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

  7. UML基础与应用总结

          敲响一段键盘的乐响曲,一段路程留下一些足迹.       UML.是Unified-Modeling-Language的缩写. 首先要明白知道它是一种可视化的建模语言.   什么是UML基 ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

随机推荐

  1. SQLSERVER复制优化之一《减少包大小》

    原文:SQLSERVER复制优化之一<减少包大小> SQLSERVER复制优化之一<减少包大小> 自从搭了复制之后以为可以安枕无忧了,谁不知问题接踵而来 这次遇到的问题是丢包, ...

  2. Xcode5和6共处,如何发布应用程序存储

    怎样你和我一样手贱安装了Xcode6,同一时候又须要公布应用到商店时,你会发现打好的包是通只是审核的. 验证报错: unable to validate application archives of ...

  3. oracle 监控执行的sql语句

    oracle 监控执行的sql语句 select * from v$sqlarea a where module='PL/SQL Developer' order by a.FIRST_LOAD_TI ...

  4. 【UVA】11137-Ingenuous Cubrency

    DP问题,须要打表. dp[i][j]代表利用大小不超过i的数字组成j的方法. 状态方程是 dp[i][j] = d[i - 1][j] + sum{dp[i - 1][j - k * i * i * ...

  5. 实现双8bit数据指定的位置0要么1

    <pre name="code" class="cpp"> 方法一 #include<stdio.h> #include<math ...

  6. linux_常用压缩,解压缩命令

    01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩! ...

  7. python_在windows下安装配置python开发环境及Ulipad开发工具

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  8. 【IOS】 遍历info 所有内容 &amp;&amp; 唯一的节能设备UUID

    /**获取装置imie*/ std::string DeviceInfo::getIMIE() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) NSStri ...

  9. hdu(2062)-Subset sequence 组合数学

    意甲冠军:查找集合{1,2,3...n}第一m一个排列子. 收集的线索所行的大小. 例两个元素的排列子集合按字典树排列是:{1},{1,2},{2},{2,1}: 解法:一个一个元素来确定,每次把剩余 ...

  10. 【百度地图API】如何制作多途经点的线路导航——驾车篇

    原文:[百度地图API]如何制作多途经点的线路导航--驾车篇 摘要: 休假结束,酸奶小妹要从重庆驾车去北京.可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢? ----- ...