(华侨大学信息学院计算机科学系福建泉州$)!"**)
统一建模语言+&’(, 是一种面向对象的建模语言- 本文简要介绍了&’( 的建模机制,并以&’(
为工具进行了在线图书销售系统的实际建模简要演示了应用&’( 建模的思路和过程。
统一建模语言面向对象系统分析与设计
面向对象的分析与设计+../01, 是继传统的过程化程序
设计之後软件技术发展的又一重大变革。面向对象程序设计提
出了一种新的系统设计模型他将系统看成通过交互作用来完
成任务的对象的集匼,每个对象用自己的方法管理数据而统一
象编程的极致所成。&’( 是一种用于系统软件规约化、可视化
的构造及建模表示而其中的图形标记,尤其适用于面向对象的
软件设计代表了面向对象方法的软件开发技术的发展方向。
本文在讨论&’( 面向对象建模的基础上用&’( 針对某
一在线图书销售系统进行面向对象的建模,给出其用例图、类
图、顺序图、协作图及状态图并详细分析了创建这些图的要点
及过程,相信对于基于&’( 进行面向对象系统的开发具有一定
!、统一建模语言(&’()概述
&’( 是一个通用的标准建模语言- 它将系统描述为一些离
散嘚相互作用的对象并最终为外部用户提供一定的功能的模
型结构。它适用于对任何具有静态结构和动态行为的系统进行
面向对象的建模其中静态结构定义了系统中的重要对象的属
性和操作以及这些对象之间的相互关系,而动态行为定义了对
象的时间特性和对象为完成目標而相互进行通信的机制
统一建模语言&’( 由各种不同的、彼此关联的图组成,他
们共同描述了一个系统的静态结构和动态行为这些图鈳分为
述了系统的结构和职责。主要用于说明存在于系统中物理元素
的关系其中最主要的有用例图和类图。其中用例图从用户角度
描述系统功能- 并指出各功能的操作者类图则描述系统中类的
静态关系。不仅定义系统中的类还表示了类之间的联系如关
联、依赖、聚合等- 吔包括类的内部结构+ 类的属性和操作, 。
描述了静态图中的结构性元素之间的交互主要用于指定满足
系统需求行为的元素间的合作关系。其中最主要的为顺序图、协
作图和状态图其中顺序图显示对象之间的动态合作关系- 它强
调对象之间消息发送的时间顺序- 同时显示对象之間的交互C
跟顺序图相似- 协作图描述对象间的协作关系,侧重于对象交互
的空间布局也显示对象间的动态合作关系。这两种图合称为交
图描述类的对象所有可能的状态以及事件发生时状态的转移条
件通常,状态图是对类图的补充
从应用的角度看- 当我们采用面向对象技术來设计系统时-
首先进行的是描述系统需求;其次根据需求建立系统的静态模
型- 以构造系统的结构;第三步是描述系统的行为。如果我们采
鼡&’( 来对这一过程进行面向对象建模的话其在第一步与第
二步中所建立的模型都是静态的- 包括用例图、类图和部署图
等,是标准建模语訁&’( 的静态建模机制而其中第三步中所
建立的模型或者可以执行- 或者表示执行时的时序状态或交互
关系。它包括顺序图、协作图和状态圖等图形- 是标准建模语言
&’( 的动态建模机制
$、在线图书销售系统&’( 建模
随着电子商务时代的到来,各商家为了适应激烈市场竞争
的需求纷纷将其传统的商务过程转移到D2>5@25> 上,以扩展其
业务范围并为顾客提供更好的服务因此如何建立一个可扩展
的、灵活的、强健的电子商務系统对于一个企业的成功与否起到
了至关重要的作用。基于此要求和上述对&’( 建模的讨论本
文拟建立一个在线的图书销售系统,并采鼡&’( 对其进行面向
对象的设计与分析希望能对面向对象电子商务系统的设计起
$F * 建立用例模型
分析中的第一步就是指出系统能被用来做什麼,谁将去使
用它这些分别叫角色(:?>7@G)和用例(;G5 ?:G5G)。角色是位于你
所工作的系统外部的人或其他系统而用例是用户由于某种外
部事件洏与计算机之间进行的一次交户。通过对用户需求的分
析我们得出了在线图书销售系统的用例图:
图* 在线图书销售系统的用例图
该系统具有多个不同的角色和用例。各个角色的定义依据
于其与系统之间进行的不同交互系统管理员是软件系统的用
户,主要负责系统的用户管理;而客户、供应商和经理则是系统
的具体使用者分别利用系统来实现不同的功能。时间角色定时
触发对销售状况的分析产生相关嘚报告以帮助经理进行销售
决策的分析。在线图书销售系统中的各个用例用来表达来表达
角色和系统之间的交互每一个用例都附带有文夲文档,描述用
例和客户交互的细节由于系统的用例的很多- 我们仅以订单处
理用例为例,给出该用例的详细描述:
在新建(初始化)或查询一个订单时启用该用例它负责处
理一个订单的初始化定义,涵盖了订单接收处理的所有方面从
最初的接收到最终的报价。
前置条件:客户登陆系统进行选购
后置条件:订单进入到系统中通知供应商发货,减少库存
主路径:客户选择某一商品下订单,使用信用卡付款
% 系统对客户进行确认
# 对于客户需要的每一种产品:
#& % 获得所需商品的’( 和商品描述
#& # 所需产品的数量
$ 计算附加费用(包括税和运输费)
) 將最终价格报给客户
# 客户使用信用卡下订单,但信用卡是无效的
# 客户订货,而所需的商品无货
用例图只考虑系统应该提供什么样的功能,而对这些功能
的内部运作情况则不予考虑为了揭示系统的内部关系,需要建
立系统的静态结构模型静态结构是从系统的内部结构囷静态
角度来描述系统的,它定义了系统中的对象和类以及他们内部
和彼此间的关系,如关联、聚合、依赖等关系在./0 中,系统的
静态結构主要用类图894:; 来描述类图设计是面向对
象方法的核心技术,通过类图将用例的实现具体到每个类中从
而完成设计走向细化的过程。甴于类图是整个系统的中枢性图
是定义其它图的基础。本文将给出在线图书销售系统的局部类
图# 在线图书销售系统的局部类图
该局部类圖详细说明了在线图书销售系统中的关键类及其
之间的关联图中每一个类由三部分组成,最顶层包括类的名
称中间一层是类的属性,朂底层是类的方法类之间的直线是
类的关联,它定义了类之间的消息传递路径说明了一个类的对
象如何连接到另一个类的对象。在此局部类图中除了一般的关
联之外还包括以下几种关系:%)复合关联:复合意味着任一部
间为复合关联。在复合关联中若销毁整体,则蔀分也会被销
毁# ; 链接关联:链接是关联的运行时版本。地址类(?((9=55)和
客户类(2@5AB:=9)之间为链接关联其关联类为角色类(CB3=)。
例如?((9=55 类的┅个实例可能既包含了顾客? 的实际发货地
址,同时也包含了顾客D 的付款地址则2@5AB:=9 类的实例对象
则根据关联角色的不同关联到正确的地址实唎对象上。!)自反
关联:是一个类的两个对象之间建立的关联书类(DBBE)上建立
了一个自反关联,可用于顾客在购买某一商品时网站推薦一些
相关的书籍。$)泛化:定义了超类与子类之间的关系在书类
(DBBE)和计算机类图书类、经济类图书类、文学类图书类之间存
在一种泛化关系,DBBE 类是一般类而其他的三个类则是DBBE
类的特化。在DBBE 类中定义的一些通用方法对所有的特化类都
适用所有这些关系共同定义了在線图书销售系统的各关键类
如何形成一个整体,以发挥其功能
动态建模主要描述系统对象之间的相互作用及其消息的交
换,./0 以图的形式提供了四种动态模型从动态视角提供了应
用程序的不同视图。主要包括交互图(顺序图和协作图)、状态图
交互图是其中最为重要的形式因为交互图为系统的一系
列对象之间的交互完成建模,能帮助我们捕获对象间传递的消
息掌握跨越多个对象的系统控制流程。为此峩们将用./0 交
互图来描述在线图书销售系统内部各个对象间的通信从而建
立系统的动态模型。交互视图可用两种图来表示:顺序图和协作
圖它们各有不同的侧重点。顺序图用来描述对象之间动态的交
互关系F 着重体现对象间消息传递的时间顺序协作图用来描述
发送和接收消息的对象的组织分布,侧重于对象交互的空间布
通常顺序图可由先前建立的类图和对用例路径的详细描述
得出为此我们通过对在线图書销售系统的类图及其订单处理
用例详细路径(主路径)的分析,得出了在线图书销售系统订单
图! 在线图书销售系统订单外理的顺序图
顺序图强制我们将注意力集中到良好的面向对象设计概念
上随着消息发送模式的涌现,我们需要应用一些合理的面向对
象设计惯例在生荿订单处理顺序图时,我们发现由订单类
(<9(=9)来维护费用的计算并不符合面向对象设计中对类应该是
松耦合、高类聚的要求为此我们创建一个新类(2G498=)用来管
理费率和提供专门的算法来计算各种费用。同时我们也发现由
订单类(<9(=9)来进行信用卡的验证也不是非常的合适峩们采
协作图可由顺序图直接生成。其内容更多的集中在实际对
象及其在交互中的角色而不是顺序图中表达的线性时间流。协
作图提供嘚视角表现了一个对象的繁忙程度:发送消息、接收消
息或两者兼备。下图给出了订单处理主路径的协作图
图$ 在线图书销售系统订单處理的协作图
像大多数面向对象技术一样,./0 动态模型中用状态图来
对一个类的生命周期进行建模具体的它来描述一个特定对象
的所有可能状态及其引起状态转移的事件。通常应用程序中的
许多类没有什么值得关注的有趣状态所以并不需要为其建立
状态图。例如对在线圖书销售系统中客户类(2@5AB:=9)就不需
使用状态图为其进行建模。而另一些类则呈现了有趣和复杂的
动态行为通过为其绘制状态图能帮助我們更好的理解其状态
转换过程中所执行的相关动作。例如在线图书销售系统中的订
单类(<9(=9)在其生存周期中会经历许多不同的状态,并受到系
统中许多不同事件的影响为此我们为订单类(<9(=9)创建一个
状态图来追踪其从诞生到消亡的全过程。1 下转第!! 页;
% & ’ 肖萍萍吴健学,周芳胡春琳( )*+ 原理与技术。北京:北京邮电大学出版社!""!
% ! ’ 孙学康,毛京丽)*+ 技术( 北京:人民邮电出版社,!""!
% $ ’ 吴彦文郑大力,仲肇伟( 光網络的生存性技术( 北京:北京邮电大学出版社!""!
% # ’ 顾畹仪,李国瑞( 光纤通信系统( 北京:北京邮电大学出版社!""!
% ! ’ % 美’J/37; I3/234 著姚淑珍等译(《EGI 和模式应用面向对象分析与设计导论》( 机械工业出版社( !""!
% $ ’ 冀振燕(《EGI 系统分析设计与应用案例》( 人民邮电出版社( !""$
% # ’ 汪成亮(《EGI 技术在实际工程中的應用》( 计算机工程与应用( !""!
0
光缆连接纽约和斯德哥尔摩,从&KKL 年K 月开始也开展了C-
1=./ )*+ 业务。目前全世界很多电信公司和大众业,也在建设
在图, Φ)*+ 光纤环由光纤双向环组成;路由器可有各种
不同的等级,分别连接各自的C- 子网在图,( & 中,如路由器&
与路由器! 通信接入线路速率为M&,欲实现C- 1=./ )*+则在
的支持(信号),由)*+ 网管系统设置这条支路类似于NDG 网
中设置的永久虚电路(图, 中以虚线表示)固定连接于路由器&
L、-O) 技术的發展趋势
目前在-O) 技术中,帧结构比较复杂)*+ 帧结构中有大
量的段开销和通道开销,对于C- 网络来讲这些开销是多余的,
未来的)*+ 帧结构将会簡化即使最终独立的)*+ 层也可能会
消失,但其基本功能仍将会融合到P*G 层中去
-O) 在网络链路带宽紧张时,位于长包之后的短包时延变
化会較大,而大的时延变化使得-O) 更难支持对时延敏感的应
用。也许下一步-O) 会利用新的技术如采用“9672Q )*+ 格式,
来解决这些问题另外C- 结构信号茬)*+ 中传输常规的方法是
C- 包需要分到多个M&(或M#)链路,即需同时建立多条--- 链
路这会增加配置的复杂性,在多个M& 中难于负载平衡也不利
于保證多个M& 有相同的传送时延因此需要在)*+ 设备中增
加支持SJ 级联功能,用级联的多个SJ 承载单个--- 链路为
了更有效地传送C- 信号,在)*+ 设备中增加以呔网接口也是增
强功能的一种发展趋势
L( $ 产品性能更高
随着因特网的继续膨胀,网上的路由表也在膨胀尽管采用
了TU- < # 和JC*F 等技术使路由收敛囷路由聚合,减少了路由
表项但仍有几十万行的规模。同时当前的U:78 路由所采用的
体系结构不能支持未来网络的性能要求。如果使用的接口速度
超过路由器本身的容量那么路由器将无法将原始带宽全部有
效地转换为可用带宽。路由器需要D:78 的交换速度才能经济有
效地伸展箌更高的接口速度同时未来网络也需要具有高性能、
高密度和可伸缩性的D:78 交换路由器。
L( # 应用逐步靠近边缘
随着核心网被基于P*G 的光网络所替代在核心网中将
广泛地采用-OP 技术,-O) 技术将更多地在接入网和城域网中
应用其原因在于接入网的速率较低,故采用-OP 技术不经济
而使鼡信号速率较低的-O) 技术则可以利用进行较小的包交换
和分配,以满足用户的要求
为了适应数据通信网,尤其是C48./4.8 上急剧增长的业务需
求以忣解决随之而生的网络拥塞、时延和服务质量问题C48./4.8
骨干网需要重新设计,以具备高速、扩展、安全和适应多类型业
务的特点随着吉比特和太比特路由器技术的不断完善,G-I)
的采用以及C- 业务的不断发展-O) 正得到越来越多的应用。
图, 在线图书馆系统订单类WO/>./X 的状态图
至此我们完荿了对在线图书销售系统基于EGI 的动态建
模建立的各种视图不仅能将设计者对系统组件交互序列的思
考过程可视化的表现出来,还能直观嘚帮助设计者设计出系统
面向对象系统分析和设计(OO)N*)就是用面向对象的方法
和设计语言来为系统的实现提供工程蓝图由于面向对象技術
的封装性和继承性等特点,使得采用OON R * 方法建立的系统
具有可复用、易于维护和可扩展的特点受到了业界的极大推
崇。而EGI 集中了近年来媔向对象软件开发和设计的许多先进
经验及创新思想它不仅支持面向对象分析与设计,而且还支持
从需求分析与设计到实现软件开发的铨过程已经成为了面向
对象分析和设计的标准建模工具。在对面向对象和EGI 讨论的
基础上本文用EGI 对在线图书销售系统进行了面向对象的建
模开发工作,基于EGI 的建模为整个系统的开发过程提供灵
活、一致和易读的表达保障了系统分析的正确性。同时通过
EGI 的静态与动态建模機制从系统分析的若干角度阐述了在线
图书销售系统的静态结构和动态行为通过这一实际的建模过
程, 我们对用EGI 进行面向对象分析和设計建立了深刻地认
如果还没解决你的问题可以加我百度HI账号。