| 编辑推荐: |
文章主要介绍UML的要点与应用,希望可以让大家有个新的认识。
本文来自于网络,由火龙果软件Alice 编辑、推荐。
|
|
本系列文章介绍面向对象的分析与设计方法。标准建模语言的特征,标准建模语言在软件开发的利用。并介绍了建模的方法用视图在建模中的作用。本节中我们会比较四种UML依赖关系异同,并进行全篇总结。
一、 四种UML依赖关系异同
-
绑定关系位于模板(如C++模板)和用其生成的模型元素之间,该元素完全是模板的实例化,为添加任何新的东西。
-
可溯关系是两个元素或元素集合之间的概念连接,用于描述位于不同语义层或多种视点下的同一个概念。这些元素间并没有任何特定的映射关系,关系的方向可被忽略。通常用于跟踪需求,或帮助建模者跟踪多个模型的变化。
-
使用关系表示一个元素为了实现或完成其全部的功能需要其它元素或元素集合的配合,例如类与类之间的多种方法调用关系。
-
细化关系是不同语义层(如分析和设计)之间模型元素的依赖关系,表示客户可由供应者导出。这一导出关系不一定非要用算法来描述,可以完全人为决定,因此细化关系可描述的语义范围较广,包括:模型的逐步细化、优化、变换、模板、模型合成、框架组成等等。
-
绑定和使用关系只能用于同一模型中元素的连接,而可溯和细化关系可用于连接多个模型的元素。

图6:关系
1. 对象图
是类图的变体,表示类的对象实例,是类图的一个范例

图7:对象图
2.状态图
显示类的所有对象可能具有的状态,以及引起状态变化的事件,可以为系统描述整体状态图

图8.1:状态图

图8.2:状态图

图8.3:状态图

图8.4:状态图
3.序列图
-
反映随时间对象之间的动态协作关系
-
反映对象之间已发送消息的先后顺序
-
说明对象之间的交互过程
-
以及在某一具体位置有何事件发生

图9.1:序列图

图9.2:序列图

图9.3:序列图

图9.4:序列图 4.协作图 动态协作,显示对象和它们之间的关系(上下文相关)

图10.1:协作图

图10.2:协作图

图10.3:协作图
5.活动图
-
反映一个连续的运动流
-
某个操作的执行时的活动状况
-
描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作)。
-
描述对象内部的工作。
-
显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
-
显示用例的实例是如何执行动作以及改变对象状态。
-
说明一次商务活动中的工人(角色)、工作流、组织和对象是如何工作的。
-
动作、转移、泳道、对象、信号

图11.1:活动图

图11.2:活动图

图11.3:活动图

图11.4:活动图

图11.5:活动图
6.组件图
-
组件包含逻辑类及逻辑类的实现信息
-
用来反映代码的物理结构
-
源组件、二进制组件、可执行组件
-
链接时的组件、运行时的组件
-
Main programs,主程序
-
Packages,构件包
-
Subprograms,子程序
-
Tasks,独立线程
-
EXE,可执行文件
-
DLL,动态连接库

图12.1:组件图

图12.2:组件图 7. 部署图
-
显示系统中软件和硬件的物理架构
-
节点、连接、组件、对象

图13.1:部署图

图13.2:部署图

图13.3:部署图
8. 模型元素

图14:模型元素
9.通用机制
-
修饰、笔记、规格说明
-
扩展机制
-
版类、加标签值、约束

图15:通用机制
Rose Stereotype

Association:extend
Association:extend
Association:include
Association:communicate
Association:subscribe
Association:realize
Class:Table
Component:Database
UML的图与模型的对应关系
-
用例模型--用用例图、顺序图、协作图、状态图和活 动图描述。
-
分析、设计模型--用类图和对象图、顺序图、协作图、状态图和活动图描述。
-
实现模型--可用组件图、顺序图和协作图描述。
-
实施模型--配置图
-
测试模型--测试模型引用了所有其他模型,所以它使用他们对应的所有图。

图16:图与模型的对应关系
七 总结
建模工具是帮助设计者实现任何复杂的工程项目的有力工具,在软件工程中,它能够把模型与实际应用紧密地联系起来。通过模型与代码之间的映射,可以直接为不同的程序开发环境生成系统结构的框架,通过建立模型和代码间的映射,可以确保代码改进时模型也随之更新了,而且通过模型与代码间的自动连接,建模工具可以确保良好的设计实施。
|