本文和大家重点讨论一下UML序列图,UML可能难以学习,主要因为它试图为相当广泛的情况提供建模标记法。每种建模标记法都采用一种图,而目前在UML规范中有九种图。
Java建模:UML序列图
统一建模语言(UML)是用于建立面向对象系统模型的标准标记法。在1995到1997年之间,UML登上了面向对象编程社区的舞台,而且在1997年后期受到了对象管理组织(OMG)的认可。虽然它最初颇受争议--因为它是在一片支持和反对声中提出的--但UML以后却成为系统标记法的行业标准。UML的当前版本是1.4,而且它将不断发展以满足面向对象开发人员的需要。
UML可能难以学习,主要因为它试图为相当广泛的情况提供建模标记法。每种建模标记法都采用一种图,而目前在UML规范中有九种图。幸好,学习UML可以是一个渐进过程;每次可以只学习一种图,***试用时不必包含图中非常复杂的东西。
在本专栏中,我将教您逐步学习基于Java应用程序开发的UML设计和标记法。我将以逻辑(可能是另人愉快的)方式介绍UML框架和其它建模技术的基础知识,您将通过建立现实示例的模型来学习实际操作。在***部分中,我们使用贷款处理应用程序作为示例,从建立序列图开始。请注意,假设您熟悉Java语言,而且掌握了面向对象方法和术语的基础知识。本专栏将简要说明面向对象的概念,但不会进行深入讨论。
关于序列图
UML没有排斥任何特殊的软件开发方法或过程;它只不过标准化了标记法的格式。然而,许多开发方法都合并了UML。Rational统一过程(RUP)就是这样一种方法;另一种方法是功能驱动的开发(FDD)。由于其直观性和通用性,UML序列图已成为这些过程的前端建模活动的一部分。序列图用于建立以下内容的模型:
◆用例方案
◆框架中的协议
◆子系统
◆类
◆方法逻辑
以下是上述每个功能的简要说明。
用例方案
对于示例应用程序,我们将使用UML序列图来建立单个用例方案的模型。用例是由参与者与应用程序交互为实现某个指定目标而执行的单个任务。参与者可以是与应用程序交互、在应用程序外部的任何最终用户、组织或系统。(要了解四种参与者角色,请参阅关于参与者角色;如需关于用例方案的深入讨论,请参阅参考资料。)
框架中的协议
协议位于框架及其称作集合体的可交换组件之间。了解框架必需的交互有助于开发新的集合体。UML序列图通常用于记录这些交互。
子系统
大的项目被分解成更小且易管理的部分,称作子系统。子系统之间的接口关于将它们集成成为更大的整体(即,系统)是至关重要的。UML序列图用于指定子系统边界上的类之间的交互。
类
某些类(如Socket和InetAddress)需要一个复杂的方法调用序列,以便正确交互。这些序列组成了用于与这样的某个类或一组类交互的协议。UML序列图可用于描述类或一组相互作用的类的使用,因而描述了交互所需的协议。
方法逻辑
UML序列图在记录方法逻辑方面非常优秀。实际上,只要给出了Java方法,某些CASE工具会自动生成一个序列图。序列图可用于设计未来方法或记录现有方法的流程。
【编辑推荐】
- 绘制UML序列图的六种技巧解析
- 专家解答 绘制UML序列图的良好习惯如何养成
- 专家指导 如何在UML序列图中表示分支
- 专家提醒 小心掉进UML建模误区
- UML学习心得 如何养成良好的绘制UML序列图的习惯