aC
More options Aug 4 2010,
4:37 pm
老师,你好;
我正在为了一个单位设计一套这样的系统。这个单位有责任在他们完成某些项目后需要编制一份数据。也就是说这个单位有"编制数据"这样的一个业务用例;可我总是很难找到这个业务用例的业务执行者。
UMLChina
More options Aug 4 2010,
9:56 pm
我猜测 "完成项目"是该单位的用例,"编制数据"只是用例的步骤
就像
"取款"是取款机的用例,"打印凭条"只是用例的步骤。
单位的用例是什么就是什么,关你的系统什么事。
很可能你的大脑不知不觉把研究对象从单位转成你的系统了,可能有人找你搞一个系统帮忙编制数据(以前是人肉系统编制的),所以你就不知不觉以为"编制数据"是该单位的用例?
就像课上说到的,我们开发的系统,地位和一个智能马桶一样的。国土资源局买了一个智能马桶,以后不用人工清理冲水,总不能因为这个,把国土资源局的用例定为"上厕所"吧。
aC
More options Aug 6 2010,
5:25 pm
谢谢老师的回复。不过,我的问题应该没有说清楚。
这个单位本身有"编制数据"这样的业务用例,说具体点他们有提供"数据"的责任,但是"数据"是通过编制而来的;但是问题是,并没有人催促他们什么时候编制。
而是他们自己去判断什么时候开始这样一个事情。
这样没有了外部的具体的人来驱动,我就总是找不到这个"业务执行者"?
比如说,卖盒饭的,他们不是等到有人来买盒饭才开始做盒饭;而是自己先做好,这样别人来买的时候直接来就可以了。那么就他们做盒饭这个业务来看,他们的业务执行者是谁了?
UMLChina
More options Aug 6 2010,
6:02 pm
有一种做法是,两个业务用例:
业务用例一:老板-->做盒饭 展开即是生产的流程
业务用例二:打工仔-->买盒饭 展开即是销售的流程
但是我认为这样不是从市场的角度看问题,任何一个公司,不管做什么产品(盒饭、软件),不都是老板要求做才做的吗,这样的回答,是正确的废话。所以必须深入思考 到"为什么老板要这样做",尽量找到外部的动因,生产由市场来驱动。
--------------------------------
研究对象是组织,对应的业务执行者也是一个组织(人群)。组织由许多系统组成。
以盒饭店铺为研究对象,业务执行者是"打工仔"这个人群(组织),我们可以这样看这个组织,里面有人肉系统(一个一个的打工仔个体),还有手机...等系统,还有一个各个组织共享的系统"时间"。
业务序列图可以这样描述:
"时间"(这时它代表打工仔组织出面)通知经理到了该做盒饭的时间
经理命令厨师做盒饭
厨师做盒饭
厨师请求营业员摆放盒饭
"时间"通知打工仔买盒饭时间到了
打工仔请求营业员。。。。。
可参照以上画图。引入时间系统的好处是,如果以后该单位编制数据的工作,所有业务工人都已经被业务实体取代,时间系统就直接和各种业务实体打交道了(也许现在已经打了一部分交道)。
---------
也就是说组织派出来和另一个组织打交道的系统不一定是人肉做的,例如你提到的某单位,它的上级单位需要调阅数据时,传统是上级组织的一个人肉打电话要求,某单位的一个人肉送过去,现在可能人肉不出面,改为上级组织的一个计算机系统请求,某单位的一个计算机系统送过去。两个组织之间服务的关系没有变。
aC
More options Aug 9 2010,
10:06 am
谢谢老师的回复。
确实在这几天的思考这个问题的过程中,我也想到使用时间作为驱动的业务执行者;
只是一直困惑:时间能否这样用。
有时候时间是明确的:比如说 月底财务结算,比如说午饭时间到了;
像我遇到的情况,就是这个时间不明确,比如 老师提到:["时间"(这时它代表打工仔组织出面)通知经理到了该做盒饭的时间 ],这种其实依赖老板自己的判断,而总觉得既然老板是业务工人,我这样地使用时间会不会有什么不妥。
现在,单位提供服务一般都是被动的,就是你来我这里办事我就一步一步给你办;但是有的时候,有些单位也会是主动的,我知道总有一天你会来办事的,所以我之前就准备好了的很多事情;像这样主动的情况,就总是觉得他们在那里做了很多事情,却并没有一个驱动的业务执行者;如果用时间来担任这个角色,确实可以也十分恰当,就是总觉得有点绕不过去。原因就是时间不明确吧,还有总是不习惯使用时间这个的业务执行者。
再次谢谢老师。我的问题应该比较完满地解决了。只是用得还是少了些,有点不习惯。
yan li
More options Aug 9
2010, 10:44 am
Ac 同学:
我对这个问题是这样理解的,我们用STO 生产来解释类似问题,sto 是销售部门为了能够及时供应客户产品而要求生产部门提前生产部分产品,存放在仓库中,供销售时使用。到底这些产成品的存货什么时间卖出去,是由销售订单来决定的。
用例为:销售部->(生产部)生产库存产品 。 换做Ac 同学的用例应该是: 项目的业务执行者->(xx 部门)编制数据
个人观点,仅供参考。
UMLChina
More options Aug 9 2010,
11:45 pm
时间不是业务执行者,是一个系统(业务实体),业务执行者还是单位的服务对象。你可以想象成客户不是派一个办事员来提要求,而是派一个"时间机器人"来提要求。
aC
More options Aug 10 2010,
4:31 pm
这个想象很好,谢谢老师;这个问题已经解决了。
|