《软件建模与设计: UML、用例、模式和软件体系结构》一一2.10 UML扩展机制

简介:

本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第2章,第2.10节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.10 UML扩展机制

UML提供了三种语言扩展机制(Booch,Rumbaugh,and Jacobson 2005;Rumbaugh,Booch,and Jacobson 2005),它们是构造型(stereotype)、标记值(tagged value)和约束(constraint)。
2.10.1 构造型
一个构造型定义了一个从已有UML建模元素中派生出来的、且针对建模者问题进行裁剪的构造块(Booch,Rumbaugh,and Jacobson 2005)。本书广泛使用了构造型。UML已经定义了多种标准的构造型。另外,建模者可以定义新的构造型。本章包括了多个使用构造型的示例,既有标准构造型,也有COMET特定的构造型。构造型是用书名号(??)表示的。
图2-9的包图使用构造型?系统?(system)和?子系统?(subsystem)来区别这两种不同类型的包。图2-11则使用构造型来区别不同种类的消息。
在UML1.3中,一个UML建模元素只能具有一个构造型。然而,UML1.4及其后的版本扩展了构造型的概念,它们允许一个建模元素被附加多个构造型。因此,一个建模元素不同的、可能正交的特性可以通过不同的构造型被描绘出来。COMET方法就是利用了这个附加的功能。
UML构造型表示法允许一个建模者针对一个特定的问题对UML建模元素进行裁剪。如图2-14a所示,UML的构造型一般位于建模元素(例如类或对象)内部,并且使用书名号标记。然而,UML也允许将构造型表示为符号。其中一个最通常的表示方式是Jacobson提出的,它用于统一软件开发过程(Unified Software Development Process,USDP)中(Jacobson,Booch,and Rumbaugh 1999)。该过程使用构造型表示?实体?(entity)类、?边界?(boundary)类和?控制?(control)类。图2-14b展示了使用USDP的构造型符号所表示的Process Plan?实体?类、Elevator Control?控制?类以及Sensor Interface?边界?类。
image

图2-14 UML构造型的可选择的表示法
2.10.2 标记值
标记值扩展了一个UML构造块的属性(Booch,Rumbaugh,and Jacobson 2005),从而为其增加新的信息。标记值以{标记=值}的形式书写在大括号中。新添加的标记值用逗号分隔。image
如图2-15所示,一个类可具有标记值{版本=1.0,作者=Gill}。
2.10.3 约束
约束指定了一个必须为真的条件。在UML中,约束是一个UML元素语义的扩展,它允许新规则的加入或修改已存在的规则(Booch,Rumbaugh,and Jacobson 2005)。如图2-15中的Account类在其属性balance上具有约束{balance>=0},表示账户的余额不能为负数。另外,UML也提供了对象约束语言(Object Constraint Language,Warmer and Kleppe 1999)来表达约束。

相关文章
|
4月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
114 0
|
4月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
74 0
|
4月前
|
设计模式 关系型数据库 程序员
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
UML中常用设计模式OCP、单例模式、简单工厂模式等模式讲解及C#中代码实现(附源码)
64 0
UML 总结 类图的构成: Rational Rose:描述软件
UML 总结 类图的构成: Rational Rose:描述软件
|
测试技术 uml 开发者
UML基础与应用之用例视图
UML基础与应用之用例视图
124 0
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
810 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
649 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
930 0
【UML建模】(6) UML建模之状态机图
|
测试技术 uml
【UML建模】(5) UML建模之活动图
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
378 0
【UML建模】(5) UML建模之活动图
|
数据建模 Java 项目管理
【UML建模】(X) UML建模之Enterprise Architect 15的使用
Enterprise Architect (后面简称EA)是一款优秀的UML建模软件。它兼容UML2.0中的所有图表。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发与部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。
337 0
【UML建模】(X) UML建模之Enterprise Architect 15的使用