所在位置:答疑 - 内容   
开通工单序列图
 

关于序列图的问题
冷风工作室
More options Aug 27 2010, 7:12 pm
潘老师:
您好,我在画时序图的时候,遇到2 个问题,麻烦帮我讲解一下。
如附件中的效果图:
1、在Page_Load(object, EventArgs)方法中会进行数据的合法性验证,请问我还需不需要画出来(如图中我已经画出:数据合法性验证())。
这个验证可能是一个函数,也可能是几条简单的if 语句。
2、在Message 线的属性窗口中可以设置"是否返回",这样线条变成虚线。
所以在"企业建站1.0 工单接口"(是一个页面)中如果验证不合法,则输出错误的XML 信息,我想画一条虚线指向渠道系统,但在这个为虚线的Message 线中 指定方法的话,那这个方法属于渠道系统这个Business Entity,这样不符合我要求。
因为返回错误XML 信息()是"企业建站1.0 工单接口"中的方法。
所以我只有画出返回错误XML 信息()为self-message,然后再在下面画上一个没有方法的虚线。
请问有无问题? 要如何画?
谢谢!
Best Regards!

UMLChina
More options Aug 27 2010, 10:28 pm
画也行不画也行。问题不在这里,问题可能是:
看你这个图是一个业务序列图,也就是说,研究的范围是组织内各系统之间的交互。
"客服人员"、"渠道系统",这个可以理解,都是一个系统,是一个抽象级别的。"工单接口"是这个级别的吗?还是只是相当于人的"手指", "眼睛"?
你看你图上:
渠道系统.查询需开通工单
渠道系统.开通工单(不是工单开通)
突然来一个
工单接口.Page_Load 还XML 什么的
就好像:
张三,你左边包抄
李四,你右边包抄
突然来一个
王五,你先后转身体,抬左腿,再抬右腿....
难道张三李四没长腿吗
从图上看,目的就是要开通工单嘛,Page_Load 的地方应该改为"开通工单","工单接口"要不要改成别的什么,其他乱七八糟的删掉,
改写在"工单接口"的 "开通工单"用例文档中(不知道你做的系统是哪一个)。
建模时,同一张图上的信息应该处在同一抽象级别上。

> 所以我只有画出返回错误XML 信息()为self-message,然后再在下面画上一个没有方法的虚线。
> 请问有无问题? 要如何画?
----就这样画。再点击一下旁边有个向右的小箭头,把这个返回消息附加到"返回××××"操作上

冷风工作室
More options Aug 28 2010, 12:28 am
第1 点估计是我没讲清楚,目前我个人觉得我这样理解应该是对的,我就这几个系统的关系讲解一下:
我们是做企业建站平台,就是企业可以注册使用我们的平台后可以搭建自己的企业网站。由于跟移动有点关系,那些企业数据都是移动调用我们的一个web service A 记录到企业建站平台的一些数据表中。
然后对这些数据,我们需要客服人员对它进行完善补充后进行开通。
所以目前就有一个"渠道系统"(客服人员用的),它是对企业的基础数据操作,有一个查询界面把需要开通的企业查出来,然后点开通按钮后,代码中会调用"企业建站 1.0 工单接口",这个接口是也是一个web service 页面,是放在企业建站系统中,跟"渠道系统"不是在一起
工单接口就是企业建站的一个asp.net 页面,用于接受传递过来的xml 数据和返回操作结果的xml 数据
除了上面说的"渠道系统"和"企业建站1.0 工单接口"以外,为了性能,另外还有一个winform 程序定时调用,然后现在又开发了一个企业建站2.0,是一个 全新独立的系统(有些数据跟1.0 有关联),开通时也需要开通一些数据,这2 个我画在右边,没截图出来(跟问题没关系)。
你说建模时同一张图上的信息应该处在同一抽象级别上,我这张图只想表现工单开通(说白了就是账号开通、初始化一些数据),只是关联的有几个系统模块,所以我就这样画。
讲了一大堆,也不知道我表述清楚没有。
第2 点还有点模糊,想再确认一下,你的意思是说"企业建站1.0 工单接口"下的"返回错误XML 信息()"和下面的那根虚线这样画没错?
然后再点虚线旁边向右的 小箭头??
非常感谢!
UMLChina
More options Aug 28 2010, 5:59 pm
还是没有看明白你的系统边界在哪里,我根据我的猜测说一下:
你的目的是要画你的系统(即企业建站平台)内的各个类之间的交互?那就没有什么业务工人图标,也不需要画客服人员和渠道系统之间的交互,渠道系统就是"企业建站 平台"的执行者,序列图从渠道系统和你的系统的边界类交互开始画起。
"工单接口"是用来接收"渠道系统"命令的一个类,这个类的名字是否应该改为"渠道系统接口"?
"××接口"能做"验证数据合法"(不是数据合法性验证)、"返回错误信息"(不用写XML 几个字)。。。这个可以理解,但"接口"能做"开通单处理"(可以改为"执行开通"),这个不好理解,它自己能搞定吗?是否需要委托某个类来搞定?
小箭头见附件 小箭头.jpg

冷风工作室
More options Aug 31 2010, 10:28 am
如附件中的图,就是有2 套系统:"渠道系统"、"企业建站平台"系统。它们都访问同一个数据库,在"渠道系统"中有一个页面Page 用于查询出需要开通工单的数 据,然后传递给"企业建站平台"中的一个web service(简单说就是一个页面),然后在这个web service 中执行开通操作。
我觉得应该是2 个系统间的交互,开始需要客服人员执行操作才能进行开通,所以我就认为业务工人应该是客服人员。
"工单接口"是用来接收"渠道系统"命令的一个类,这个类的名字是否应该改为"渠道系统接口"? --------------------------------------------------------------------- 嗯,觉得这样改也不错,只是我们同事之间习惯叫"工单接口",就是用于开通工单。
"验证数据合法"、"执行开通":
对,应该这样改,记得上课时好像给我们讲需要用类似动宾结构
"返回错误信息":
嗯,我当时加xml 是想说明详细点,表示错误信息是xml 结构的数据
但"接口"能做"开通单处理"....
我这儿说的"接口"不是类似c#中的interface 类型, 而是类似一种web service,用于渠道系统请求后开通/关闭/停用工单等处理。
非常感谢!

UMLChina
More options Aug 31 2010, 8:15 pm
有2 套系统:"渠道系统"、"企业建站平台"系统--【哪一套是你要做的系统?,看你说的意思似乎渠道系统是现有的?开通工单的
webservice 以及后面的 支撑组件也是现成的?那你做什么?】
在"渠道系统"中有一个页面Page 用于查询出需要开通工单的数据,然后【"渠道系统"中的什么负责调用这个webservice?是"查询出
需要开通工单的数 据"的page 吗?】传递给"企业建站平台"中的一个web service(简单说就是一个页面
整理一下你的表述:
客服人员--请求--"渠道系统的一个页面"--查询出需要开通工单的数据
然后
渠道系统--传递给--"企业建站平台"中的一个web service--开通工单
【还是老问题,说事情的时候,抽象级别跳来跳去。
应该是
客服人员--请求渠道系统--开通工单,渠道系统--请求企业建站平台--执行开通
Page,webservice 这些东西放到下一个抽象级别的图

"我觉得应该是2 个系统间的交互,开始需要客服人员执行操作才能进行开通,所以我就认为业务工人应该是客服人员。"【你已经谈
到页面、webservice、w inform 了,这个时候不需要再谈业务工人了,那是业务建模的概念】
见附件,两个抽象级别的图分开。


冷风工作室
More options Aug 31 2010, 8:40 pm
所有系统、功能都是现有的,我只是阅读文档和代码,对流程、思路进行整理一下,顺便用时序图表现出来。 后期要对现有功能进行开发修改。
邮件后面你说得很清楚,是我对抽象级别搞混了:想尽量多的把各个点都在一张图中表现出来,把自己想表述的都堆砌上去。
谢谢!