关于sequence diagram中的问题

JeffHe 2002-04-10 09:29:26
假设有如下sequence diagram:
A B C
---------b( )-------->
------------c( )--------->
---------> 在sequence diagram中指的是message flow,但在rose中好象b( )这个message就必须是B类中的一个function了,可在很多情况下,由A ----> B时,只是发送了一个消息,而不是去调用B中的一个function,不知如何理解?还有,如何理解---------->的方向问题?
...全文
132 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
laimj 2002-04-13
to jeffhe(雅永紫) :

从我的理解,手机应该是actor,手机中肯定会有类似getPosition()的方法,当然程序不可能直接调用手机的getPosition,但肯定会有相应的可编程访问的设备提供类似接口(如交换机)。

web server 交换机(actor) 手机
|----
| |getPos()
|《--
|
|------getPos2------->|
| |------getPos3----->|

getPos() implement in your code, calles the getPos2
getPos2() provided interface by 交换机
getPos3() provided interface by 手机 (). You don't care it.

UML中的message flow 和一般所说的“消息”是两回事,而且正如aileen_long(期待2002) 所说,就算是发消息,不也得调用方法吗?!

回复
青润 2002-04-13
下面这个问题,应该是手机作为Actor的。是Actor接收了一条消息,而不是别的。仍然可以考虑作手机调用usecase中的某一个具体的类获得了消息。
__________________________________________________
(2)如果不是手机类,而是手机actor
getPosition()
web server----------------- >手机actor
又怎样解释呢?把手机作为一个actor时,就不应该算作系统的一部分了,这时又如何做呢?
回复
aileen_long 2002-04-11
由A ----> B时,只是发送了一个消息,而不是去调用B中的一个function???
对象之间消息的发送和接收,本质上还是通过函数的调用和处理来实现的。也许是被windows消息驱动的那些抽象的术语所迷惑了。
回复
colababy 2002-04-10
A发消息给B,

B接收消息也是一个Function吧
回复
JeffHe 2002-04-10
help
回复
initcsdn 2002-04-10
A,B,C是对象,b(),c()是类,它不是去调用B中的函数,而是调用自己内部写的类。类分为控制类,边界类,实体类。若b是message,一般指控制类,边界类。sequence diagram是顺序图,----------》要从时间上去理解。
回复
initcsdn 2002-04-10
A,B,C是对象,b(),c()是类,它不是去调用B中的函数,而是调用自己内部写的类。类分为控制类,边界类,实体类。若b是message,一般指控制类,边界类。sequence diagram是顺序图,----------》要从时间上去理解。
回复
initcsdn 2002-04-10
A,B,C是对象,b(),c()是类,它不是去调用B中的函数,而是调用自己内部写的类。类分为控制类,边界类,实体类。若b是message,一般指控制类,边界类。sequence diagram是顺序图,----------》要从时间上去理解。
回复
JeffHe 2002-04-10
(1)
getPosition()
web server----------------->手机类

作为手机类,getPosition()确实可在其中,可手机类在哪实现呢?最后的消息流还要依靠真正的手机来决定其位置的,我这里把真正的手机和手机类搞混了,还望指教

(2)如果不是手机类,而是手机actor
getPosition()
web server----------------->手机actor
又怎样解释呢?把手机作为一个actor时,就不应该算作系统的一部分了,这时又如何做呢?

回复
发动态
发帖子
研发管理
创建于2007-08-27

1176

社区成员

软件工程/管理 管理版
申请成为版主
社区公告
暂无公告