Java与UML交互图
日期:2007年6月10日 作者: 查看:[大字体 中字体 小字体]-
本文讨论的是一种UML图——交互图(Interaction Diagram)。交互图描述的是一组对象之间的交互过程,或者说,这里我们实际上要回答这样一个问题:“方法调用过程在UML中怎样表示?”
UML交互图
本文将通过一个非常简单的交易系统来说明UML交互图。这个系统包含六个Java类。从前面几篇文章中,我们已经知道UML类图是分析Java程序结构的有效方法,图一显示了这个交易和支付系统的类图。为了更清楚地说明各个类的职能和角色,图一利用了前面介绍过的彩色类原型表示法。
图一 一个简单交易系统的UML类图
如果我们跟踪任意一个Java程序的执行过程,就会发现,这个过程包含了一个或者多个对类和对象的方法调用。我们通过调用对象的方法来寻求特定问题的答案或执行一个特定的动作。很多时候,被调用的方法还会调用其他方法——或者是同一对象的方法,或者是同一类的其他对象的方法,或者是其他类的对象的方法。类似地,这些被调用的方法又会继续调用其他方法,直至问题得到了明确的答案或动作全部执行完毕(或者出现异常,这时问题将没有答案或动作不能完成)。
UML交互图以图形的形式表示出方法调用过程,它有两种形式:序列图(Sequence Diagram)和协作图(Collaboration Diagram)。
序列图
要达到某个特定的目标,必然要执行一系列的方法调用。UML序列图的典型用途就是显示出方法调用过程。图二显示了一个交易事务中计算累计金额的序列图,调用从Sale类的calcTotal()方法开始,相关的代码片断在序列图之后给出。
术语说明:UML把操作(Operation)定义为方法的特征(Signature)。“方法”(Method)这一术语被保留给实现操作的代码。但在Java环境中,“方法”这一术语的应用范围更广泛一些。在UML序列图中,调用一个操作就叫做发送一个消息(Message)。序列图实际上阐述了操作的具体实现,所以下面我们会较多地用到“方法”这个术语(偶尔也会用到“消息”这个术语)。
图二 计算交易总金额的序列图
/** 属于Sale类:
* 从lineItem的单项金额计算交易总金额
* @return 交易总额 */
public double calcTotal() {
total = 0.0;
Iterator i = lineItems.iterator();
while (i.hasNext()) total += ((LineItem)i.next()).calcTotal();
return total;
}
/** 属于LineItem类:
* 计算当前项目的交易金额
* @return 交易金额
*/
public double calcTotal() {
total = prodUCt.calcTotal(this);
return total;
}
/** 属于Product类:
* 计算指定数量的产品价值多少
* @return 金额
*/
public double calcTotal(LineItem li) {
return amount * li.getQuantity();
}
为了便于把握序列图的总体情况,图一只显示了方法的名称。 - [1] [2] [3] 下一页
-
- Java与UML交互图 相关文章:
- ·Java与UML交互图
- Java与UML交互图 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:需求管理详解
下一篇:Deming的质量管理十大原则
精品推荐
热点TOP10
- ·深入浅出.NET泛型编程
- ·如何为嵌入式开发建立交叉编译环境
- ·SVG与UML图详解
- ·使用ADS1.2进行嵌入式软件开发
- ·Linux 系统内核的调试
- ·UML类图详解(1)
- ·统一建模语言(UML)的现状及发展
- ·微软WCF给SOA带来的影响
- ·.NET 数据访问架构指南
- ·Tomcat中用web.xml控制Web应用详解
- ·质量管理新七种工具简介(1)
- ·利用UML类图设计Java应用程序详解(1)
- ·VC中利用多线程技术实现线程之间的通信
- ·WinCE嵌入式开发程序入门
- ·用WPF构建强大的用户体验
- ·ISO9000:2000 质量管理八大原则(1)
- ·质量意识概述
- ·Apache APR可移植运行库简介(1)
- ·掀起你的盖头来:WPF开发简介
- ·.NET下可复用的TCP通信层实现之TCP组件
