UML交互图绘制及其应用说明

开发 架构
在学习UML的过程中,你可能会遇到UML交互图问题,这里就向大家介绍一下交互与UML交互图,希望通过本文的介绍你对UML交互图以一定的认识。

本节和大家一起学习一下交互和UML交互图方面的知识,主要包括如何绘制UML交互图和UML交互图应用说明,相信通过本节的介绍你对UML交互图有深刻的理解。下面就是详细介绍。

交互与UML交互图

交互的概念

一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为

消息

UML中的4种UML交互图

顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹

通信图:UML2.0中的通信图实际上就是UML1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹

定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序

交互概述图:是交互图和活动图的混合物

如何绘制UML交互图

准备工作

首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。不过由于它们在语义上是等价的,因此可以绘制出一种,再通过建模工具来自动转换成另一种图

分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制

先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构

鲁棒分析

鲁棒图可以很多的解决需求分析和架构设计之间的差别。更详细的说明请看***的解释。

Robustness分析不是UML模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具

在Robustness分析中,将应用边界类、控制类和实体类,分别对应MVC架构的3个层

从一个用例中抽取三类对象的方法:

鲁棒分析—寻找边界对象

图书管理员向系统发出“新增书籍信息”请求——主窗口、“新增书籍信息”按钮

系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类——书籍类别列表框。

图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号——“新书信息录入”窗口及辅助的“提交”按钮

UML交互图应用说明

分析阶段的交互模型

工作方法:针对用例图中的每个用例,并结合领域模型中的类,寻找分析类,并通过Robustness分析来理清业务逻辑流程,再用交互模型将其确定下来

注意:主要关注于区分出边界对象、实体对象和控制对象,暂时不要考虑其具体的实现类

说明:对于较复杂的用例,可以按上述的流程逐渐地进行分析、设计、实施;但对于比较简单的用例而言,也是可以直接从用例描述中导出设计阶段交互模型

分析阶段的交互模型之后

引入基础类:包括基础框架、程序库等

质量评审:
--低耦合:耦合性是指两个类之间的连接强度
--高内聚:内聚性是指一个类的属性与方法高度集成
--效率:解决方案的执行效率是否满足系统的需求
--完整性:是指在任何环境下都可以重复使用
--简单性:类越简单,出错的可能性越小,系统的灵活性和可维护性也越好

优化类设计:阅读《设计模式与重构》

设计阶段的交互模型&交互建模要点

在分析模型的基础上引入基础类、优化类设计之后,必然会获得新的类模型(类图)(设计模型),因此就可能需要基于新引入的“设计类”来更新交互模型,以获得与实际代码相吻合的模型

给出一个能表达其目的的名称;通过修改元素的布局,尽量避免交叉线的存在;可以通过注解和颜色作为可视化提示,以突出图形中的重要特性;尽量少用分支,对于分支很多的场景,可以考虑用活动图来补充

【编辑推荐】

  1. Java与UML交互图
  2. UML中各种UML图形的建立步骤简明介绍
  3. UML图中用例图和活动图简介
  4. 教你绘制整洁的UML图
  5. UML用户指南--UML图简介

 

责任编辑:佚名 来源: chinaunix.net
相关推荐

2010-06-18 13:15:07

UML状态机图

2010-07-02 09:32:19

UML部署图

2010-07-02 13:34:06

UML交互图

2010-06-09 08:59:30

UML活动图

2010-06-17 15:07:12

UML构件图

2010-06-08 10:51:48

UML活动图

2010-06-08 10:35:38

UML图

2010-06-09 18:56:44

UML用例图

2010-07-02 13:22:25

UML交互图

2010-07-12 09:30:34

UML模型图

2010-07-08 10:13:54

UML交互图

2010-06-09 09:53:44

UML活动图

2010-07-12 11:36:32

UML活动图

2010-06-13 16:53:15

UML类

2010-07-02 10:11:15

UML模型图

2010-06-10 13:14:48

UML状态图

2010-07-09 15:13:42

UML对象图

2010-06-17 12:48:08

UML用例模型

2010-06-29 19:23:20

UML活动图

2010-06-09 19:25:54

UML活动图
点赞
收藏

51CTO技术栈公众号