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. 添加AD验证(域身份验证)到现有网站

    每个网站几乎都会有用户登录的模块,登录就会涉及到身份验证的过程.通常的做法是在页面上有个登录的Form,然后根据用户名和密码到数据库中去进行验证. 而验证后如何在网站的各个页面维持这种认证过的状态,有 ...

  2. android tv 全屏幕垂直画

    它们的定义view 采纳canvas双缓冲方式,它可以减少呈现时间.提高性能. StaggeredView.java 源码例如以下: package com.xxx.demo; import andr ...

  3. Git 命令速查表

    Git 命令速查表 1.常用的Git命令 命令 简要说明 git add 添加至暂存区 git add-interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 ...

  4. python 时间处理

    在实践中,时间处理遇到的问题,需要 Sep 06, 2014 19:30 (UTC 时间) 和 比较当前时间,早晚.知道 此 2014-09-06 19:30 格时间表达式.因此,在处理,通缉 先将s ...

  5. linux下一个eclipse组态jdk

    今天ubuntu12.04安装eclipse,安装该想法eclipse后.还需要配置jdk.但没想到eclipse我有自己主动做好(但最主要的原因是我的linux在刚刚安装了一个jdk,假设有两个或更 ...

  6. JavaScript模块化编程之require.js与sea.js

    为什么要模块化:当今,网站以不再是一个简单的页面,JavaScript也不再是做一些简单的脚本验证,随着WEB.20时代到来,前端工程师面临的必将是越来越庞大的JavaScript代码,越来越复杂的内 ...

  7. HDU 4303 Hourai Jeweled 树dp 所有权利和航点 dfs2次要

    意甲冠军: long long ans = 0; for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) ans += F(i, ...

  8. NYOJ 330 一个简单的数学

    一个简单的数学题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 zyc近期迷上了数学,一天,dj想出了一道数学题来难住他.算出1/n,但zyc一时答不上来希望大家能 ...

  9. oracle_修改连接数

    修改Oracle最大连接数 1.查询Oracle会话的方法   select * from v$session 2.修改Oracle最大连接数的方法      a.以sysdba身份登陆PL/SQL ...

  10. json 解析解乱码

    1. 该法的字符编码: 串店txt文档文档都有自己的编码,例如utf-8,ansi等待,但当 存款txt文件.其编码将和txt编码文件本身一致.  例如,之前的字符编码ansi.txt该文件的编码是u ...