【UML】UML基础知识
UML简介
UML模型、视图、图
UML的概念和模型可以分成以下几个概念域:静态结构、动态行为、实现构造、模型组织、扩展机制
|
主要的域 |
视图 |
图 |
主要概念 |
|
静 态 结 构 |
静态视图 |
类图 |
类、关联、泛化、依赖关系、实现、接口 |
|
用例视图 |
用例图 |
用例、参与者、关联、扩展、包括、用例泛化 |
|
|
实现视图 |
构件图 |
构件、接口、依赖关系、实现 |
|
|
部署视图 |
部署图 |
节点、构件、依赖关系、位置 |
|
|
动 态 |
状态视图 |
状态图 |
状态、事件、转换、动作、 |
|
行 |
活动视图 |
活动图 |
状态、活动、完成转换、分叉、结合 |
|
为 |
交互视图 |
顺序图 |
交互、对象、消息、激活 |
|
协作图 |
协作、交互、协作角色、消息 |
||
|
模型管理 |
模型管理视图 |
类图 |
包、子系统、模型 |
|
扩展机制 |
所有 |
所有 |
约束、构造型、标记值 |
静态视图
1、 类元
类元是模型中的离散概念,拥有身份、状态、行为和关系。有几种类元包括类、接口和数据类型。
其他几种类元是行为概念、环境事物、执行结构的具体化。这些类元中包括用例、参与者、构件、节点和子系统。
图列出了几种类元和它们的功能。元模型术语类元中包括了所有这些概念。
|
类元 |
功能 |
表示法 |
|
参与者 |
系统的外部用户 |
|
|
类 |
类代表了被建模的应用领域中的离散概念。 最重要的特性是多重性 |
|
|
状态类 |
局限于某个给定状态的类 |
|
|
类元角色 |
在合作中局限于某个使用的类元 |
|
|
构件 |
系统的一个物理组成单元 |
|
|
接口 |
刻划行为特征的操作命名集. |
|
|
节点 |
计算资源 |
|
|
信号 |
对象间的异步通信 |
|
|
子系统 |
作为且有规范、实现和身份的单元的包 |
|
|
用例 |
与外界代理交互中的实体行为说明 |
|
2、类元之间关系
类元之间的关系有关联、泛化、各种形式的依赖关系,包括实现关系和使用关系。
- 关联:对象通常要和其他对象发生关联,关联可以具有多层形式。多重性问题(一对一、一对多)。在UML中关联用一条直线来表示。
- 泛化:一个类继承了其他类的属性和操作。在UML中泛化用“从之类画一条带空心三角形箭头的连线指向父类”来表示。
- 依赖:一个类使用了另一个类。在UML中依赖用“从依赖类到被依赖的带箭头的虚线”表示。
- 聚集是关联的一种,聚集对象由部分对象组成。也就是整体与部分关联。在UML中用“整体和部分之间用带空心菱形箭头的连线连接”来表示。
- 组合是一种特殊的聚集,在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。在UML中用“整体和部分之间用带实心菱形箭头的连线连接”来表示。
- 实现:类和接口之间的关系被称为实现。在UML中实现关系用一个带空心三角形箭头加虚线来表示,箭头指向接口。
关系的种类
|
关系 |
功能 |
表示法 |
|
关联 |
类实例之间连接的描述 |
|
|
依赖 |
两个模型元素间的关系 |
|
|
泛化 |
更概括的描述和更具体的种类间的关系,适用于继承 |
|
|
实现 |
说明和实现间的关系 |
|
|
聚集 |
聚集对象由部分对象组成。也就是整体与部分关联。 |
|
|
组合 |
一种特殊的聚集. |
|
图举例:






用例视图
当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行为。
它将系统功能划分成对参与者(即系统的理想用户)有用的需求。
而交互功能部分被称作用例。
用例使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互作用。
参与者可以是人,也可以是外部计算机系统和外部进程。
用例之间的关系:关联、扩展、泛化、包含。
|
关系 |
功能 |
表示法 |
|
关联 |
参与者与其参与执行的用例之间的通信途径 |
|
|
扩展 |
在基础用例上插入基础用例不能说明的扩展部分 |
|
|
泛化 |
用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性 |
|
|
包含 |
在基础用例上插入附加的行为,并且具有明确的描述 |
|
图举例:
用例图


交互视图
交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系。
类元是对在系统内交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象。
交互视图显示了跨越多个对象的系统控制流程。
交互视图可用两种图来表示:顺序图和协作图,它们各有不同的侧重点。
- 协作图也展示对象之间的交互关系,强调交互的语境和参与交互的对象的整体组织。
- 协作图按照空间组织布图,而顺序图按照时间顺序布图。


状态视图
状态视图是一个类对象所可能经历的所有历程的模型图。
状态图由对象的各个状态和连接这些状态的转换组成。
状态图是对单个对象的“放大”,它说明对象所经历的状态变化。
强调单个对象内状态的变化。

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

物理视图
物理视图对应用自身的实现结构建模,例如系统的构件组织和建立在运行节点上的配置。
这类视图提供了将系统中的类映射成物理构件和节点的机制。物理视图有两种:构件图和部署视图。
构件图


模型管理视图
模型管理视图对模型自身组织建模。
一系列由模型元素(如类、状态机和用例)构成的包组成了模型。
一个包(package)可能包含其他的包,因此,整个模型实际上可看成一个根包,它间接包含了模型中的所有内容。
包是操作模型内容、存取控制和配置控制的基本单元。
每一个模型元素包含于包中或包含于其他模型元素中。

【UML】UML基础知识的更多相关文章
- UML图基础知识
一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...
- UML 建模 -- 基础知识
1.UML简介 UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言.适用于以用例为驱动,以体系结构为中心的软件设计全程 2.UML模型的 ...
- UML uml基础知识
uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...
- 【二】、UML基础知识——图图解乾坤
[二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...
- 【转载】UML类图知识整理
原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...
- 语义web基础知识学习
最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...
- JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- 【数据库上】 第四讲 E-R模型基础知识
第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...
- [UML]UML系列——类图Class
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...
- [UML]UML系列——类图class的泛化关系
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图C ...
随机推荐
- 客户端连接linux经常间隔性断开链接
起因 在使用SecureCRT通过telnet或SSH访问linux时,总是出现过段时间操作就会断开连接提示重连的问题.起初以为是网络不稳定造成的,但我测试发现在服务器端一直可以ping通客户端IP, ...
- hdu 2669 Romantic (乘法逆元)
Romantic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Intellij Idea使用技巧、快捷键
1.Idea设置字体大小:file -> setting -> editor -> colors&font -> save as并自定义 -> font -> ...
- 一个使用高并发高线程数 Server 使用异步数据库客户端造成的超时问题
现象 今天在做一个项目时, 将 tomcat 的 maxThreads 加大, 加到了 1024, tomcat 提供的服务主要是做一些运算, 然后插入 redis, 查询 redis, 最后将任务返 ...
- hdu 5826 (物理) physics
题目:这里 题意:光滑的水平直线上有n个质量相等的小球,已知每个小球的初始位置,初始速度和方向,每个小球的每个时刻的加速度a都满足a*v=c,v是该时刻的速度,c是已知的 常数,小球之间的碰撞是完全碰 ...
- 学习springMVC框架配置遇到的问题-数据写入不进数据库时的处理办法
配置完了,运行,数据写入不到数据库中,就应该想UserAction 中的handleRequest()方法有没有进去,然后就设置断点.如果发现程序没有进去,就再想办法进去.
- [VBS]带参数删除扩展名不是*.h、*.c、*.cpp的全部文件
脚本使用例程CleanFolder遍历一个文件夹 1)使用CleanFolder递归遍历该文件夹下的所有子文件夹 2)如果该子文件夹的大小为0,则删除这个文件夹 3)遍历该文件夹下的所有文件,扩展名不 ...
- 将html页改成jsp的两种方式
将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...
- SQL语言和DML相关操作以及相应的运算符
SQL 1.结构化查询语言 2.特点 a.第四代编程语言,更接近自然语言 b必须有数据库系统解释执行 c.对象名,关键字不区分大小写 d.字符串必须要用单引号引起来,不能用双引号 e.每条语句最后用分 ...
- List的使用
List<string> AllFilesPath = new List<string>(); ) // get all files path { ; i < files ...

















