[全程建模]关于UML时序图箭头方向的问题
饼子堂的一个老程序员2017/10/12 9:40:59
清润
请教个问题哦
青润 2017/10/129:44:47
说
咱们这边客气什么呀?有问题你直接说,只要我有时间,我就直接回复了。
饼子堂的一个老程序员2017/10/12 9:45:31
那怎么行啊,你比较忙的
我知道,
是关于UML时序图的
一般消息都是从左到右的
能不能从右到左
青润 2017/10/129:46:16
行了,别虚假客套了啊。
饼子堂的一个老程序员2017/10/12 9:46:16
比如这样
青润 2017/10/129:46:39
时序图,其实你从左向右左还是从右向左做都不重要,重要的是你的团队内达到一致。
饼子堂的一个老程序员2017/10/12 9:46:56
了解
青润 2017/10/129:47:13
从左向右的原因是,因为从欧洲产生的信息,发生方式是由左向右的。
青润 2017/10/129:48:10
蚊子出来了,好吧,我刚才这边没有看到蚊子出来了,就发了一段语音。
另外在消息发送的过程中,可以由右向左,但大部分由右向左默认是,返回。
其实在这里面并不禁止由右向左的指令发送或者方法调用,这里面就要看你的系统结构,或者架构层的展现了。
饼子堂的一个老程序员2017/10/12 9:49:08
恩,
我是一个时序图,并存两个
青润 2017/10/129:49:35
一个较好的架构,不是强制性的,由左向右,而是大家都会觉得,由左向右可以比较好的展现出这个消息推进的层级,以及方法调用的层级,这才是最好的。
没关系的,一个数据库里面并存了两个,业务流程,这也是可以做的,我以前也有这样做过。
饼子堂的一个老程序员2017/10/12 9:51:16
哈
青润 2017/10/129:53:28
时序图,不是数据库。
饼子堂的一个老程序员2017/10/12 9:55:31
我之前可能没说清楚,我想表达的是这样的图
青润 2017/10/129:56:49
哦。这样的话,设计上一定出了问题,不建议如此操作。
而且一定有更合理的方式解决这样的表现。否则,系统会出现循环调用的锁死情况,未来不好解决。
饼子堂的一个老程序员2017/10/12 9:57:25
没这么严重
青润 2017/10/129:57:39
操作不好,就会很严重。将来补丁也不好打。
饼子堂的一个老程序员2017/10/12 9:57:58
我现在的问题是,你看我中间那根线,按照传统,一般是向右发出调用
我这里也想向左边发出调用
就这个纠结,你又是UML专家,所以来请教一下
青润 2017/10/129:58:39
业务实现逻辑上是不是出了问题,你的架构是怎么做的?
我觉得这上面肯定有可以解决的地方。
饼子堂的一个老程序员2017/10/12 9:58:53
这个图目前不涉及具体设计,也就是表达初步想法的东西而已
青润 2017/10/129:59:34
如果没有具体设计,这样的想法,会有问题的,我以前做培训和项目中都讲过,确实不见一,甚至不应该出现这种情况。
饼子堂的一个老程序员2017/10/12 9:59:46
?
青润 2017/10/1210:00:03
系统的分层结构和调用,除了消息发送和紧急的临时存储,一般不会有跨越多层的形态。
饼子堂的一个老程序员2017/10/12 10:01:57
我来想个场景,我们来他偶你
我来想个场景,我们来讨论
饼子堂的一个老程序员2017/10/12 10:05:05
模块2在调用模块3完成了一个操作以后,通知模块1,
然后模块1,来调用模块2获取操作结果
这样的场景
青润 2017/10/1210:06:18
这个图,模块2就是主动方,没问题。
饼子堂的一个老程序员2017/10/12 10:06:26
好的好的
青润 2017/10/1210:06:27
如果1对2还有调用,就不对了。
饼子堂的一个老程序员2017/10/12 10:07:36
我模块1对模块2还是有调用的....
青润 2017/10/1210:07:53
是的,如果出现4,就有问题了。
饼子堂的一个老程序员2017/10/12 10:07:57
为什么呢
青润 2017/10/1210:08:28
我用语音了,文字不好打。
饼子堂的一个老程序员2017/10/12 10:08:43
当然,调用方法4,一定是在调用方法3之后的
青润 2017/10/1210:08:52
饼子堂的一个老程序员2017/10/12 10:10:21
我是从上到下 按照时间顺序啊
青润 2017/10/1210:11:03
稍等,别着急,我找下图给你看。
青润 2017/10/1210:12:16
注:此图来自拙著《软件工程之全程建模实现》一书中的插图
饼子堂的一个老程序员 2017/10/1210:14:13
没关系,我消化消化
青润 2017/10/1210:14:53
好的。你的问题,在我的书中有介绍,是一种使用错误,这样的错误,在表达和信息传递中会造成不好的问题