UML 是由UML构造块、规则、通用机制三部分组成的。而UML构造块由建模元素(事物)、关系和图组成。

建模元素

建模元素是对模型中最具有代表性的成分的抽象。一般情况下,将建模元素分为结构元素、行为元素、分组元素以及注释元素。

结构元素

结构元素是模型的基本物理元素,它有7种类型,分别是类和对象、组件、接口、用例、节点、协作、活动类。在 UML中这7种元素都有自己的图形符号表示,用于组成各种图,描述系统功能

类和对象

类是具有相同属性、相同操作的一组对象的集合的抽象描述。对象是一个具体的内容。在图形中,类用一个矩形来表示,通常矩形中写有类的名称、类的属性和类的操作。

组件

组件是系统中物理的、可替代的部件,是一个描述了一些逻辑元素的物理包。在图形上,组件由一个带有小方框的矩形表示,通常在矩形中致谢该组件的名字

接口

接口是描述了一个类或组件的一个服务的操作集,或者说,接口描述了类或组件对外的、可见的动作。一个类可以实现一个或者多个接口。在图形上,使用一个带有名称的圆来表示。类图中接口用矩形表示,组件图中接口用圆来表示

用例

用例是对一组序列动作的描述,系统执行这些动作,将对用例参与者(actor)产生可以观察的结果。在图形上,用例用实线椭圆来表示,参与者用一个人形来表示

节点

节点是一个物理元素,它在运行时存在,代表一个可计算的资源,例如一台数据库服务器。在图像上,节点用一个立方体来表示

协作

协作是一组类、接口和其他元素的群体,他们共同工作,提供比个组成部分的功能总和更强的合作行为。协作与组件不同,协作不能拥有自己的结构元素,而只能引用其他地方定义的类、接口、组件、节点等结构元素,即协作是系统体系结构中的概念组块,而不是物理块。在图形,协作使用一个包含名称的虚线椭圆来表示。

活动类

活动类能够启动控制活动,因为它的对象至少拥有一个进程或线程。在图形上,活动类的表示方法与普通类相似,也是使用一个矩形,只是最外面的边框使用粗线

行为元素

行为元素是UML中的动词,它是模型中的动态部分。交互和状态机是UML中基本的动态行为元素,他们通常与其他结构元素、主要的类、对象连接在一起

交互

对象都不是孤立存在的,他们之间通过传递消息进行交互。在图形上,交互的消息通常用带有箭头的直线来表示。

状态机

状态机是一个对象或交互在生命周期内响应时间所经历的状态序列。一个状态机是一个行为,它说明对象在它的生命周期中响应事件所经历的状态序列以及它们对那些事件的响应

分组元素

分组元素是UML中的容器,用来组织模型,是模型更加结构化,最主要的分组元素是包,包是把元素组成成组的机制。结构元素、行为元素甚至其他分组元素都可以放进包内。在图形上,包用一个左上角带用一个小矩形的大矩形表示。

注释元素

注释元素是UML中的解释部分,与代码中的注释语句一样,是用来描述模型的。

关系

建模元素之间包含着多种关系,UML中将关系分为4中:依赖关系、关联关系 、泛化关系、实现关系。

依赖关系

依赖是两个元素件的语义关系,其中一个元素(独立元素)发生变化,会影响到另一个元素(依赖元素)的语义。例如,电视机和频道之间就存在一个依赖关系。

关联关系

关联表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,在图形上是用一条实线来表示关联关系。举例来说,人和汽车之间存在着关联。

泛化关系

泛化关系是一般元素(父类)和该元素较为特殊的子类之间的关系。子类继承父类的属性和操作。可以将泛化关系理解成为继承关系。

实现关系

实现关系将一种模型元素(例如类)与另一种模型元素(例如接口)连接起来,其中接口只是行为的定义而不是结构或实现。也就是说,实现关系中的一个模型元素只具有行为的定义,而行为的具体实现则是由另一个模型元素给出。

类图

对象图

用例图 (Use Case Diagram)

顺序图

通信图

状态机图

活动图 (Activity Diagram)

组件图

部署图

包图

组合结构图

交互概览图

时间图

UML 的基本组成的更多相关文章

  1. UML课程复习重点

    第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...

  2. UML图中经常用到几种的关系图例

    学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...

  3. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  4. UML类图(上):类、继承和实现

    面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...

  5. UML

    UML:1.继承关系用空心三角形+实线来表示2.实现接口用空心三角形+虚线来表示3.关联关系用实线箭头来表示4.依赖关系用虚线箭头来表示5.聚合关系用空心菱形+实线箭头来表示6.组合关系用实心菱形+实 ...

  6. UML类图与面向对象设计原则

    1. 引言     从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模 ...

  7. 浅谈UML的概念和模型之UML九种图

    1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...

  8. UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  9. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  10. UML类图关系全面剖析

    UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...

随机推荐

  1. Docker安装Gitlab

    一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...

  2. Sharepoint 问题集锦 - external list (外部列表)

    使用Sharepoint开发过程中遇到的问题总结. 错误1: Unable to display this Web Part. To troubleshoot the problem, open th ...

  3. 第三方:GDataXMLNode:xml解析库--备用

    一.GDataXMLNode说明   GDataXMLNode是Google提供的用于XML数据处理的类集.该类集对libxml2--DOM处理方式进行了封装,能对较小或中等的xml文档进行读写操作且 ...

  4. BZOJ 4011 开店

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的想法当然非常好啦,但是她们也发现她们 ...

  5. In machine learning, is more data always better than better algorithms?

    In machine learning, is more data always better than better algorithms? No. There are times when mor ...

  6. Immutable Object模式

    多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁.而锁本身又会带来一些问题和开销.Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线 ...

  7. Android的系统架构

    转自Android的系统架构 从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下:     1)应用程序层 ...

  8. Android 每天定时提醒功能实现

    android要实现定时的功能那肯定就要用到闹铃相关的技术, 那么android闹铃实现是基于 AlarmManager 这个类的,首先我们来看一下它的几个主要的方法. 打开AlarmManager的 ...

  9. 14.7.4 InnoDB File-Per-Table Tablespaces

    14.7.4 InnoDB File-Per-Table Tablespaces 从历史上看,所有的InnoDB 表和indexes 是存储在system 表空间. 这个整体的方法是针对机器是整个用于 ...

  10. bzoj2120 2453

    明显的数据结构题这道题的特殊性在于n只有10000,修改的操作只有1000那么就是说即便是O(n)的修改也没有太大的问题,只要常数写小一点即可考虑到以前对同色点的处理pre[i]表示与这个位置同色的前 ...