统一建模语言
统一建模语言(UML)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
1.UML的结构
UML的结构包括基本构造块、支配这些构造块如何放在一起的规则(体系架构)和一些运用于整个UML的机制。
(1)构造块。UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML中重要的组成部分,关系把事物紧密联系在一起,图是很多有相互相关的事物的组。
(2)公共机制。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制四种。
● 规格说明:规格说明是事物语义的文本描述,它是模型真正的核心。
● 修饰:UML为每一个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息。
● 公共分类:包括类元与对象(类表示概念,而对象表示具体的实体)、接口和实现(接口用来定义契约,而实现就是具体的内容)两组公共分类。
● 扩展机制:包括约束(添加新规则来扩展事物的语义)、构造型(用于定义新的事物)、标记值(添加新的特殊信息来扩展事物的规格说明)。
(3)规则。UML用于描述事物的语义规则分别是为事物、关系和图命名。给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。
UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分、它们的关联性、交互、机制和指导原则等这些提供系统设计的信息。而具体来说,就是指5个系统视图,分别是逻辑视图、进程视图、实现视图、部署视图和用例视图。
● 逻辑视图:以问题域的语汇组成的类和对象集合。
● 进程视图:可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描绘了所设计的并发与同步结构。
● 实现视图:对组成基于系统的物理代码的文件和构件进行建模。
● 部署视图:把构件部署到一组物理的、可计算的节点上,表示软件到硬件的映射及分布结构。
● 用例视图:最基本的需求分析模型。
另外,UML还允许在一定的阶段隐藏模型的某些元素、遗漏某些元素以及不保证模型的完整性,但模型要逐步地达到完整和一致。
2.事物
UML中的事物也称为建模元素,包括结构事物(structural things,结构元素)、行为事物(behavioral things,动作事物)、分组事物(grouping things,分组元素)和注释事物(annotational things,注解元素)。这些事物是UML模型中最基本的面向对象的构造块。
(1)结构事物。结构事物在模型中属于最静态的部分,代表概念上的或物理上的元素。总共有七种结构事物:
首先是类,类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。
第二种是接口,接口是指类或构件提供特定服务的一组操作的集合。因此,一个接口描述了类或构件的对外可见的动作。一个接口可以实现类或构件的全部动作,也可以只实现一部分。
第三种是协作,协作定义了交互的操作,是一些角和其他元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。
第四种是用例,用例是描述一系列的动作,这些动作是系统对一个特定角执行,产生值得注意的结果的值。在模型中用例通常用来组织动作事物。用例是通过协作来实现的。
第五种是活动类,活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相像,
只是它的对象代表的元素的行为和其他的元素是同时存在的。
第六种是构件,构件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,可能会遇到不同种类的构件。
第七种是节点,节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点。(2)行为事物。行为事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的行为事物。
uml图用什么软件画
第一种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接)。
第二种是状态机,状态机由一系列对象的状态组成。
内部活动和状态机是UML模型中最基本的两个动态事物,它们通常和其他的结构事物、主要的类、对象连接在一起。
(3)分组事物。分组事物是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包。包是一种将有组织的元素分组的机制。结构事物、行为事物甚至其他的分组事物都有可能放在一个包中。与构件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。
(4)注释事物。注释事物是UML模型的解释部分。
3.关系
UML用关系把事物结合在一起,UML中的关系有四种。
(1)依赖(dependencies):两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
(2)关联(association):一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系)。
(3)泛化(generalization):一种一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。
(4)实现(realization):类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
4.用例之间的关系
两个用例之间的关系可以概括为两种情况。一种是用于重用的包含关系,用构造型<<include>>表示;另一种是用于分离出不同行为的扩展关系,用构造型<<extend>>表示。
(1)包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例很重要的部分功能时,应该使用包含关系来表示它们。其中这个提取出来的公共用例称为抽象用例。
(2)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以将这个用例分为一个主用例和一个或多个辅用例进行描述可能更加清晰。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。