中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 软件工程 > UML > UML基础
有关顺序图的问题
作者:佚名 时间:2005-09-04 09:50 出处:互连网 责编:hxy
              摘要:有关顺序图的问题
老师:

你好。
有一些问题请教你,看图:

1 单向关联与双响关联:
计费器向控制对象发送信息,内涵计费器的时钟,控制对象给“时钟信息”对象发送校验时钟指令,当计费器时钟与标准时钟相差较大时,要向计费器发送校时命令。
问题:由谁向计费器发送校时命令,控制对象?“时钟信息”对象?
(1) 如果由控制对象发出,则两者是双向关联,还有一些其它命令(未标出)也要向计费器发送,我觉得这种关系不妥,会导致计费器类与控制类很难设计
(2) 如果由“时钟信息”对象发出,则其它对象也要这么做(因为由很多命令),其它对象都要与计费器关联,这些对象的设计也比较难,计费器的类也很难设计,违背了对象复用的原则
(3) 能不能把计费器拆成两个类:一个管发送信息(计费状态信息,计费记录信息),一个管接收信息(校时、挂失等)?实际上“真实计费器”是通过串口向系统发送信息,系统收到windows消息后把该信息取出再分析,如是否需要校时,是否需要挂失那张ic卡

注:图中虚线消息不是返回消息,是我特意给你看的

回答:“由控制对象发出”比较合理,因为控制类一般用来封装业务逻辑,控制类和实体类之间一般是单向关联“控制对象操作实体对象”。
的确“还有一些其它命令(未标出)也要向计费器发送”,这也就是为什么建立控制类的原因,封装业务逻辑,业务逻辑集中管理、应用,便于维护和复用。
这样会导致“控制类中有许多操作”,没关系,用到那个调用那个就行了,其他得并不会干扰你的工作。

2 关联与依赖

控制对象向“上网记录”对象发送保存上网记录save_website,然后“上网记录”对象调用com+接口的save_website(list1)

问题:“上网记录”对象与com+对象是什么关系:关联? 依赖?
com+是在系统启动时创建,是一个全局变量,我认为是依赖
如何界定关联与依赖?

回答:关联的定义:描述类元之间的实例联接,即通过类的属性建立起来的关系,如公司和雇员,用户和口令

依赖的定义:两个元素之间的一种关系,其中一个元素(提供者)的变化会影响到另一个元素(客户)。关联和泛化关系满足依赖关系的一般定义,但是它们有更为独立的语义,所以单独抽取出来。
所以从以上定义可以看出:“上网记录”对象与com+对象是依赖关系,更具体的讲“是函数调用关系”

3 控制对象的责任
控制对象向ic卡发送是否ic卡计费出现异常,如果异常,则将此异常报告服务器(即com+的save errrlogdb)
问题:应该由谁去报告:ic卡?控制对象?

我理解双方都可以报告,但那种方式更合理呢?

回答:由控制对象报告更合理,因为现在是一个用例实现的过程。当然控制对象要调用ic卡的check操作进行具体的判断,异常的直接来源还是ic卡,但是因为是具体的功能实现,所以有关业务逻辑应该有控制对象来操作。

李先生
2002.10.19

顺序图如下:

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有