快速业务通道

Java建模: UML工作簿,第4部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

Java建模: UML工作簿,第4部分

时间:2011-01-25 IBM Granville Miller

今天绝大多数计算机系统都处在某种网络之中。大多数系统除了为内部的用户群体服务,还要为该群体以外的实体提供某种价值或服务。作为回报,大多数系统也用了其它系统(例如,客户机端操作系统、Web 浏览器、外部数据库和第三方服务提供者)提供的服务。随着 Web 服务的到来,我们很快就会发现,我们开发的系统要为越来越广泛的应用程序提供服务。

在 UML 工作簿系列的这一部分中,我们将来谈谈参与者在复杂系统的设计中的角色。为了便于讨论,我将介绍开发复杂系统时经常使用的两种设计模式,通过它们向您展示系统模型在从需求收集推进到分析和设计这个过程中的变化。这一部分通篇都将使用我们在 UML 工作簿系列的前几部分中开发的贷款申请用例。

为外部交互建模

谈到为我们的系统和外部元素(如其它系统)之间的交互建模,通常的做法是,创建一些类,它们表示这些元素和我们的系统之间的交互方式。把外部实体表示为类,这样一种设计模式称为 镜像映象(Mirror Image)模式。当我们援用镜像映象模式时,我们基本上是先分析某一外部实体的的行为特征,然后在我们自己的系统中创建它的相似体。这个相似体通常很简单,因为它只是想抽象出我们需要的服务(对于单次使用这一情况)或系统提供的服务(对于诸如 Java 联网类类库这一情况)。它并不试图以任何方式实现这些服务。

我们通过研究 TCP/IP 在 Java SDK(包 java.net )中的工作原理加以说明。TCP/IP 是大多数操作系统的基本功能。TCP/IP 是一个服务,它驻留在操作系统上,使流量得以跨网络流动。假如我们打算用 Java 代码写一个文件传输程序,我们可能要用到 Java 类库中的 TCP/IP 类,用它们来访问针对这个协议的操作系统服务。这些类将成为我们应用程序的一部分,但它们最终将驻留在操作系统中,而不是在应用程序中。

图 1是一张 UML 图,显示了一些表示 TCP/IP 服务的类,这些服务是针对 Java 联网类的。

这里重要的是要理解上图所示的类 表示了操作系统所提供的服务。它们并不是服务本身。我们之所以将这些表示纳入到我们的应用程序设计中,是因为它们使我们可以更容易地与操作系统交互。我们与这些表示交互,就 好像是在与服务本身交互一样。这些表示确保了交互被正确地传送至另一个系统,而且交互的任何结果都将按我们期望的方式返回。这就是 TCP/IP 类在 Java 类库中的角色。

识别外部交互

识别与外部实体的交互在构建用例模型的需求收集阶段进行。在前面的专栏文章中,我们构建了一个用例模型, 参与者在其中表示与系统交互的外部实体。在 UML 工作簿系列的前一个专栏中,我们设计了一个既能与参与人(贷款申请人)又能与外部系统参与者(征信所)交互的系统。

图 2 显示了贷款处理系统最初的用例模型。

图 2. 贷款处理用例模型

在我们最初概念化一个系统的时候,识别将影响系统的参与者是很重要的。理解了需求和服务在系统与其参与者之间的相互作用,我们就可以相应地分配系统资源。参与者在系统中的 角色决定了它对系统有多大程度的影响。

参与者的角色

我们在 UML 工作簿系列的 第一篇文章中讨论了参与者可以扮演的各种角色。您或许能回想起来,参与者在用例中可能扮演四种角色:启动器(initiator)、服务器(server)、接收器(receiver)以及代理(facilitator)。如果某个参与者的作用是启动用例,则它的角色就是 启动器。如果参与者提供实现用例目标所需的一个或多个服务,那它充当的就是 服务器。当某个参与者的作用是接收来自系统的信息时,我们就称它为 接收器,数据仓库就是系统接收器的一个例子。最后,当某个参与者代表系统中的另一个参与者执行操作时,我们就称它

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号