【UML】UML基础知识

UML简介

统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。

它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。

UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。

它融入了软件工程领域的新思想、新方法和新技术。

不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。

UML模型、视图、图

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


主要的域


视图



主要概念



静态视图


类图


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


用例视图


用例图


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


实现视图


构件图


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


部署视图


部署图


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



状态视图


状态图


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



活动视图


活动图


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



交互视图


顺序图


交互、对象、消息、激活


协作图


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


模型管理


模型管理视图


类图


包、子系统、模型


扩展机制


所有


所有


约束、构造型、标记值

静态视图

1、  类元

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

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

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


类元


功能


表示法


参与者


系统的外部用户




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

最重要的特性是多重性



状态类


局限于某个给定状态的类



类元角色


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



构件


系统的一个物理组成单元


 

接口


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



节点


计算资源



信号


对象间的异步通信



子系统


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



用例


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


2、类元之间关系

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

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

 关系的种类


关系


功能


表示法


关联


类实例之间连接的描述



依赖


两个模型元素间的关系



泛化


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



实现


说明和实现间的关系



聚集


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



组合


一种特殊的聚集.


图举例:

用例视图

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

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

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

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

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

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


关系


功能


表示法


关联


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



扩展


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



泛化


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



包含


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


图举例:

用例图

用例关系图


交互视图

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

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

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

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

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

顺序图

     协作图


状态视图

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

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

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

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

活动视图

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

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

物理视图

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

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

构件图

部署图

模型管理视图

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

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

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

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

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

时间: 2024-08-01 18:13:59

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

UML图基础知识

一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式>,其中讲的很好,感兴趣的可以去查看.然后细细查看图中的每个符号.每个元素,思考之间的关系. 二.UML类图中包括常用的六种关系以及各自的表示形式 从上图中我们可以很明显的发现六种关系及各自如何表示, 1. 空心三角形+实线:继承关系 2. 空心三角形+虚线:实现接口 3. 空心菱形+实线箭头:聚合关系

关于‘UML’的基础知识

统一建模语言也就是我们常说的UML(Unified Modeling Language),是一种支持模型化的和软件系统开发的图形化建模语言,它能比较直观的让我们了解软件模块之间的关系.因此在这个系统开发的时候采用面向对象的开发方法也许是一个明智的选择,它的基本思想就是采用对象的角度来看待每一个具体的问题.这样制作出来的软件才是一个维护性好,可重用性高和模块功能具体的软件系统.UML事物包括四种:构件事物,行为事物,分组事物,注释事物. 构件事物:UML模型中的静态部分,它是用来表示系统的静态元素

UML基础知识

(这个是很久以前写的一篇关于UML的文章,现在放出来和大家共享) 了解一下类与类之间的关联基础知识很有必要,因为这些关系就像我们建造房子的基石,是面向对向编程的基础. 类中的关系有六种,分别是关联(Association)关系.聚合(Aggregation)关系.组合(Composition)关系.泛化(Generalization)关系.实现(Realization)关系以及依赖(Dependency)关系,下面分别介绍这六种关系. 依赖(Dependency)关系 依赖是对象之间最弱的一种关

《大话设计模式》笔记-基础知识1:UML类图基础知识

好多计算机技术书籍或者文章中常用到UML类图,本书作者介绍每一种设计模式就是用类图+面向对象语言小程序(用的C#,其基础知识另文介绍)+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到UML类图的基础知识. 上图是一个整体的图,特别要注意各种样式的箭头,下文分别用局部小图说明各知识点. 类 类图分三层: (1)      类名称,如果是抽象类就用斜体标识.本例,类名称是"动物",且其是一个抽象类. (2)      类特性,通常是字段和属性.本例,类特性是"

【转载】UML类图知识整理

原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize): 一条带空心箭头的线表示 实现(realize) : 一条带空心箭头的虚线表示 泛化在Java中表现为继承(extends) ,is-a的关系 实现在Android中表现为implements 接口,或者extends抽象类 依赖关系(dependency) 用一条带箭头的虚线表示:箭头的指向为

UML的基础元件之架构元件(三)

 Structural Things Anactive class is a class whose objects own one or more processes or threads and therefore can initiate control activity. An active class is just like a class except that its objects represent elements whose behavior is concurren

UML的基础元件之架构元件(四)

 Structural Things An artifact is a physical and replaceable part of a system that contains physical information ("bits"). In a system, you'll encounter different kinds of deployment artifacts, such as source code files, executables, and scrip

UML的基础元件之行为元件

 Behavioral thingsare the dynamic parts of UML models. These are the verbs of a model, representing behavior over time and space. In all, there are three primary kinds of behavioral things. 行为元件是UML模型的动态部分.它们是模型的动词,代表在时间和空间的行为.主要有三类行为元件 First, anin

设计模式-UML关系基础

UML关系基础 类之间的关系 泛化 类在继承中表现为泛化和实现. 继承关系为is-a的关系,两个对象之间用is-a表示为继承关系. eg,自行车是车,猫是动物. 泛化关系用空心箭头表示 如下图. A继承自B 用空心箭头表示A继承自B 泛化关系表示为继承抽象类. 抽象类可以继承一个具体的类的. 抽象类可以被实体类继承 抽象类可以被其他抽象类继承 实现关系 实现关系用空心箭头表示. 即指向C++中的抽象类(通过纯虚函数实现),java中的接口,表示实现关系. 即,无法直接定义对象的都被成为抽象类.

这些基础知识你都了解吗?——《松本行弘的程序世界》读书笔记(上)

1. 前言 半个月之前买了这本书,还是经园子里的一位网友推荐的.到现在看了一半多,基础的都看完了,剩下的几章可做高级部分来看.这本书看到现在,可以说感触很深,必须做一次读书笔记! 关于这本书,不了解的可以去网上查查.作者是Ruby语言的创始人,可谓是程序世界中的高手,开卷有益,不管你是哪个层次的编程人员,相信都能或多或少的汲取到你想要的营养. 下面将总结一下看完本书我记录下的一些知识点.有的是书中的原话,有的是我个人的理解,供参考. 2. 面向对象 2.1 多态性 面向对象三大原则:继承.封装和