UML简介

    统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。
    它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。
       UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。
    它融入了软件工程领域的新思想、新方法和新技术。
    不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。

UML模型、视图、图

UML的概念和模型可以分成以下几个概念域:静态结构、动态行为、实现构造、模型组织、扩展机制

主要的域

视图

主要概念

静态视图

类图

类、关联、泛化、依赖关系、实现、接口

用例视图

用例图

用例、参与者、关联、扩展、包括、用例泛化

实现视图

构件图

构件、接口、依赖关系、实现

部署视图

部署图

节点、构件、依赖关系、位置

状态视图

状态图

状态、事件、转换、动作、

活动视图

活动图

状态、活动、完成转换、分叉、结合

交互视图

顺序图

交互、对象、消息、激活

协作图

协作、交互、协作角色、消息

模型管理

模型管理视图

类图

包、子系统、模型

扩展机制

所有

所有

约束、构造型、标记值

静态视图

1、  类元

类元是模型中的离散概念,拥有身份、状态、行为和关系。有几种类元包括类、接口和数据类型。

其他几种类元是行为概念、环境事物、执行结构的具体化。这些类元中包括用例、参与者、构件、节点和子系统。

图列出了几种类元和它们的功能。元模型术语类元中包括了所有这些概念。

类元

功能

表示法

参与者

系统的外部用户

类代表了被建模的应用领域中的离散概念。

最重要的特性是多重性

状态类

局限于某个给定状态的类

类元角色

在合作中局限于某个使用的类元

构件

系统的一个物理组成单元

 

接口

刻划行为特征的操作命名集.

节点

计算资源

信号

对象间的异步通信

子系统

作为且有规范、实现和身份的单元的包

用例

与外界代理交互中的实体行为说明

2、类元之间关系

类元之间的关系有关联、泛化、各种形式的依赖关系,包括实现关系和使用关系。

  • 关联:对象通常要和其他对象发生关联,关联可以具有多层形式。多重性问题(一对一、一对多)。在UML中关联用一条直线来表示。
  • 泛化:一个类继承了其他类的属性和操作。在UML中泛化用“从之类画一条带空心三角形箭头的连线指向父类”来表示。
  • 依赖:一个类使用了另一个类。在UML中依赖用“从依赖类到被依赖的带箭头的虚线”表示。
  • 聚集是关联的一种,聚集对象由部分对象组成。也就是整体与部分关联。在UML中用“整体和部分之间用带空心菱形箭头的连线连接”来表示。
  • 组合是一种特殊的聚集,在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。在UML中用“整体和部分之间用带实心菱形箭头的连线连接”来表示。
  • 实现:类和接口之间的关系被称为实现。在UML中实现关系用一个带空心三角形箭头加虚线来表示,箭头指向接口。

 关系的种类

关系

功能

表示法

关联

类实例之间连接的描述

依赖

两个模型元素间的关系

泛化

更概括的描述和更具体的种类间的关系,适用于继承

实现

说明和实现间的关系

聚集

聚集对象由部分对象组成。也就是整体与部分关联。

组合

一种特殊的聚集.

图举例:

用例视图

当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行为。

它将系统功能划分成对参与者(即系统的理想用户)有用的需求。

而交互功能部分被称作用例。

用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用。

参与者可以是人,也可以是外部计算机系统和外部进程。

用例之间的关系:关联、扩展、泛化、包含。

关系

功能

表示法

关联

参与者与其参与执行的用例之间的通信途径

扩展

在基础用例上插入基础用例不能说明的扩展部分

泛化

用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性

包含

在基础用例上插入附加的行为,并且具有明确的描述

图举例:

用例图

    用例关系图

交互视图

交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系。

类元是对在系统内交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象。

交互视图显示了跨越多个对象的系统控制流程。

交互视图可用两种图来表示:顺序图和协作图,它们各有不同的侧重点。

  • 协作图也展示对象之间的交互关系,强调交互的语境和参与交互的对象的整体组织。
  • 协作图按照空间组织布图,而顺序图按照时间顺序布图。
    顺序图
     协作图

状态视图

状态视图是一个类对象所可能经历的所有历程的模型图。

状态图由对象的各个状态和连接这些状态的转换组成。

状态图是对单个对象的“放大”,它说明对象所经历的状态变化。

强调单个对象内状态的变化。

 

活动视图

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

活动状态代表了一个活动:一个工作流步骤或一个操作的执行。活动图描述了一组顺序的或并发的活动。活动视图用活动图来体现。活动图很像流程图,它显示出工作步骤,判定点和分支。可用于表达一个对象的操作和一个业务过程。

物理视图

物理视图对应用自身的实现结构建模,例如系统的构件组织和建立在运行节点上的配置。

这类视图提供了将系统中的类映射成物理构件和节点的机制。物理视图有两种:构件图和部署视图。

构件图

 
    部署图
 

模型管理视图

模型管理视图对模型自身组织建模。

一系列由模型元素(如类、状态机和用例)构成的包组成了模型。

一个包(package)可能包含其他的包,因此,整个模型实际上可看成一个根包,它间接包含了模型中的所有内容。

包是操作模型内容、存取控制和配置控制的基本单元。

每一个模型元素包含于包中或包含于其他模型元素中。

 
 

【UML】UML基础知识的更多相关文章

  1. UML图基础知识

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

  2. UML 建模 -- 基础知识

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

  3. UML uml基础知识

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

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

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

  5. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  6. 语义web基础知识学习

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

  7. JAVA相关基础知识

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

  8. 【数据库上】 第四讲 E-R模型基础知识

    第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...

  9. [UML]UML系列——类图Class

    相关文章       [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...

  10. [UML]UML系列——类图class的泛化关系

    系列文章       [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图C ...

随机推荐

  1. scala学习:apply方法

    摘抄两段话: 在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号.如 " to ",实际完整调用是 ".to()".但 &qu ...

  2. The string "--" is not permitted within comments

    ibatis中SAXParseException异常:The string "--" is not permitted within comments 这个异常是说sqlmap里面 ...

  3. grep 和 wc命令 --- !管道命令!

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expr ession Print,表示全局正则表 ...

  4. Hdu OJ 5115 Dire Wolf (2014ACM/ICPC亚洲区北京站) (动态规划-区间dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:前面有n头狼并列排成一排, 每一头狼都有两个属性--基础攻击力和buff加成, 每一头 ...

  5. [转][MSSQL]SQL Server 2008 记住密码功能

    本文转自:http://zhidao.baidu.com/link?url=V_laNOvutMin0kU3DUaMhLSFAYfgtz2IoEAjh8grNVPOZLpd8Pudb4iqZl88Tn ...

  6. GridView中 LinkButton两种方式

    <asp:TemplateField HeaderText="操作" ShowHeader="False"> <ItemTemplate> ...

  7. UIImageView、UISlider、UISwitch、UIStepper、UISegmentControl

    UIImageView——图像视图 作用:专门用来显示图片的控件 . 设置图像 [self.imageView setImage:[UIImage imageNamed:@"abc.png& ...

  8. [php-src]窥探Php内核中的变量

    内容均以php-5.6.14为例. 在看各种组合数据类型之前,有必要先熟悉下 Zend/zend_types.h 里面的自定义数据类型. #ifndef ZEND_TYPES_H // 防止多次 in ...

  9. cocos2d-x 之 内存管理(5)

    上一篇文件讲到了CCObject中实现的内存自动管理内存 下面介绍两个很重要的类,一个是内存池类 CCAutoReleasePool ,另一个类是内存池管理类 CCPoolManager 这两个类结合 ...

  10. [VBS]脚本中的字典、动态数组、队列和堆栈

    今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...