系统架构20 - 统一建模语言UML(上)

统一建模语言

在目前的软件开发方法中,面向对象 的方法占据着主导地位。面向对象方法的主导地位也决定着软件开发过程模型化技术的发展 ,面向对象的建模技术方法 也就成为主导的方法。

公认的面向对象建模语言出现于20世纪70年代中期。从1989年到1994年,其数量从不到10种增加到了50多种。

面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此很难找到一种比较适合其应用特点的语言;其次,众多的建模语言实际上各有千秋,极大地妨碍了用户之间的交流。

因此,在客观上有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,统一建模语言工作,之后先后推出了 UML的多个版本。UML 的发展历史 如下图

它的作用不限于支持面向对象的分析与设计 ,还支持从需求分析开始的软件开发的全过程 。UML 成为"标准"建模语言的原因之一在于与程序设计语言无关 。而且, UML 符号集只是一种语言 而不是一种方法学,不需要任何正式的工作产品。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式

组成要素

UML 由三个要素 构成: UML 的基本构造块 (事物、关系)、 (支配基本构造块如何放置在一起的规则)和运用于整个语言的公用机制

事物

UML 中有4种事物:结构事物、行为事物、分组事物和注释事物。

(1)结构事物。

结构事物是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素。结构事物包括类 (Class)、 接口 (Interface)、 协 作 (Collaboration)、 用 例 (UseCase)、 主动类 (Active Class)、 构件 (Component)、 制 品 (Artifact) 和结点 (Node)。

(2)行为事物。

行为事物是 UML 模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为。行为事物包括交互 (Interaction)、 状态机 (State Machine) 和活动 (Activity)。

状态机描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。

活动是描述计算机过程执行的步骤序列,注重步骤之间的流而不关心哪个对象执行哪个步骤。

交互、状态机和活动是可以包含在UML 模型中的基本行为事物。

(3)分组事物。

分组事物是UML模型的组织部分 ,是一些由模型分解成的"盒子"。在所有的分组事物中,最主要的分组事物是包 (Package)。 包是把元素组织成组的机制,这种机制具有多种用途。结构事物、行为事物甚至其他分组事物都可以放进包内。包与构件(仅在运行时存在)不同,它纯粹是概念上的 ,即它仅在开发时存在 。包的图形化表示如图

(4)注释事物。

注释事物是 UML模型的解释部分 。这些注释事物用来描述、说明和标注模型的任何元素。注解 (Note) 是一种主要的注释事物 。注解是一个依附于一个元素或者一组元素之上,对它进行约束或解释的简单符号。注解的图形化表示如图。

关系

UML中有4种关系:依赖、关联、泛化和实现。

(1)依赖。

依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。在图形上,把一个依赖画成一条可能有方向的虚线。

(2)关联。

关联是一种结构关系 ,它描述了一组链,链是对象之间的连接。聚集是一种特殊类型的关联 ,它描述了整体和部分间的结构关系。在关联上可以标注重复度和角色。

(3)泛化。

泛化是一种特殊/一般关系 ,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为 。在图形上,把一个泛化关系画成一条带有空心箭头的实线,它指向父元素

(4)实现。

实现是类元之间的语义关系 ,其中一个类元指定了由另一个类元保证执行的契约 。在两种情况下会使用实现关系:一种是在接口和实现它们的类或构件之间 ;另一种是在用例和实现它们的协作之间 。在图形上,把一个实现关系画成一条带有空心箭头的虚线

相关推荐
科技互联人生9 小时前
云原生技术架构详解
云原生·系统架构
huaqianzkh17 小时前
大数据处理系统架构特征
大数据·网络·系统架构
吴代庄2 天前
MySQL中的MVCC解析
数据库·mysql·职场和发展·系统架构
秒尼科技术2 天前
MUNIK解读ISO26262--系统架构
系统架构
吴代庄3 天前
系统架构设计师——计算机体系结构
系统架构·系统架构设计师
xcg3401233 天前
【UML用户指南】-27-对体系结构建模-制品
uml·对体系结构建模·制品
Alex Gram3 天前
Windows怎么实现虚拟IP
系统架构·keepalived·高可用
xcg3401233 天前
【UML用户指南】-28-对体系结构建模-部署
部署·uml·对高级行为建模·结点与制品
Al_tair3 天前
系统架构设计师 - 计算机网络(1)
计算机网络·系统架构
程序员古德4 天前
“论单元测试方法及应用”精选范文,软考高级论文,系统架构设计师论文
系统架构·单元测试