[全程建模]extend关系的深入讨论分析
来源:互联网 发布:linux下启动oracle 编辑:程序博客网 时间:2024/05/17 23:02
有人说,extend关系如果和if-else类似,如果是这样的话,那么if后面的条件中就是多个内容,非常之多,而不能用简单的if-else就能表示清楚。
卡恩NO.1 21:59:53
卡恩NO.1 22:00:28
原来 扩展用例是一种 if -else 关系,就是某个条件分枝,而不是我原来理解的可有可无的东西
青润 22:01:20
扩展用例不是if else关系。只是在这里正好符合。
卡恩NO.1 22:02:03
额。。面试我的淘宝技术人说是 if-else ,比如另外附加了某个条件,就是作为他们的扩展用力
青润 22:02:09
extend关系,表示的是后者对前者不是必须的,也就是前者发生,后者不一定必须发生。仅此而已,如果是if else那这个条件会非常多,不是简单的一个条件。
青润 22:02:21
呵呵,那个人的理解也有问题。
卡恩NO.1 22:02:37
extend关系,表示的是后者对前者不是必须的,也就是前者发生,后者不一定必须发生。我也是这么理解的
卡恩NO.1 22:02:41
我给他举例子
青润 22:02:42
taobao里面的人应该没有比我对uml的理解更深入的了。
青润 22:03:31
他的理解是有问题的,或者说,有些片面。
Destroyer 22:03:47
卡恩NO.1 22:03:56
说:比如我和你在电话面试,这时候我手机就有通话功能,如果这时候别人一个电话打过来给我,我可以选择接或者不接,这个就似乎一个扩展用例,因为即使我不接也不影响通话这个用例
卡恩NO.1 22:04:15
他说是 if-else
青润 22:05:13
是的,这个说法的确是extend的一种。
但是,还有别的可能,比如你无意间按错了键,也造成了接电话的事实。
或者,你正在接听的电话突然断掉,手机自动转接了新的来电。这都可能造成这个新用例的执行。
青润 22:05:36
而不是简单的你这个人主观是否接这个电话。他的条件是多样性的,不是一个条件必然结果。
卡恩NO.1 22:07:03
大象里说他可以表示出一个复杂用例的各个“分支”
青润 22:07:23
这句话没有错误,但是表现不出这个关系的存在。
青润 22:09:32
卡恩NO.1 22:00:28
原来 扩展用例是一种 if -else 关系,就是某个条件分枝,而不是我原来理解的可有可无的东西
针对你的这后半句话,extend关系不是可有可无的东西,不能如此理解。
青润 22:12:04
对于你给的那张图来说,有一个问题,这个客户就是不想建立自己的档案,即使第一次也不想建立,这种情况是存在的,也发生过。
所以,他那个说明标签表达的业务内容本身就存在一个不完善的地方。
在这里,应该是提醒用户建立个人档案,而用户是否会接受建立个人档案要要看用户的选择。
这样的业务过程才是完整的,才是为用户考虑过的。
卡恩NO.1 22:14:20
想请教下青润,我觉得包含或者扩展用例的用例粒度很可能和基本用例不一致,比如以 ATM 为边界,有取钱和转账业务用例,而他们可以归纳出 密码验证的包含用例来,但是包含用例属于系统用例了,和取钱和转账的粒度不同,也出现在业务模型中么?
青润 22:17:04
这个要看用户方的业务描述。
如果用户要求的取钱和转帐业务是在用户输入密码后,而不是先选择业务后输入密码,那就会出现不同。
如果是输入密码后,选择取钱还是转帐,那么这个输入密码就必须独立出来。
如果是先选择业务,后输入密码,那就不需要独立出来了。
因为在部分atm上面,如果是存钱,就可以不输入密码,甚至输入错误也可以存钱成功,具体的可以去看广发银行的atm就是如此实现的。
卡恩NO.1 22:19:13
如果是输入密码后,选择取钱还是转帐,那么这个输入密码就必须独立出来。
这里的输入密码是取钱和转账业务用例实现场景中的一个步骤,独立出来的话其粒度和取钱转账是不同的
青润 22:21:13
我说的是用户的业务要求。
atm的业务实现有所不同,各个银行要求也不一样。
有些atm是插卡后先输入密码,而有些是先选择业务。
广发银行的可存钱的atm,他的开始的密码输入就是一个过场,你即使输入错误,也可以进入,关键看你下一步的业务操作选择。
青润 22:22:16
我那句话是说,要求必须输入密码而且密码正确后才能进行后续业务选择的时候,这个密码验证就必须独立出来,密码验证用例和后面的所有业务用例之间的关系就是extend,而绝不是include。
破碎虚空 22:22:40
在ATM边界里面不可能有密码输入 业务用例. 没有人会为了"密码输入"而去ATM
卡恩NO.1 22:23:19
哈哈,虚空 把大象搬出来了
青润 22:23:23
盗窃密码的人,有可能。
任何都有可能。
还有可能他刚输入密码,就接到一个紧急电话,然后就离开了。
青润 22:23:40
所以,这个独立出来,是完全有可能的,而不是不可能。
破碎虚空 22:24:05
盗窃密码的人的目标是为了盗钱.
青润 22:24:59
不管是为了什么,你不能忽视这个密码验证本身是一个独立用例存在的。
例子刚才举过了
破碎虚空 22:25:58
是的.我这觉得这是个边界问题.
青润 22:27:10
对于atm来说,无论你如何划分业务边界,都会有这个现象出现。
除非你设置先选择业务,然后输入密码。
否则,都会让密码验证独立成为一个单独的业务用例出现。
卡恩NO.1 22:28:08
呼叫谭老师。。。。 出来
破碎虚空 22:28:29
- [全程建模]extend关系的深入讨论分析
- [全程建模]元用例和需求与绩效之间的关系讨论
- [全程建模]元用例和需求与绩效之间的关系讨论
- [全程建模]UML中actor和uc之间关系的讨论
- [全程建模]有人认为《软件工程之全程建模实现》前两章是废话的讨论
- [全程建模]用例的子流和分析类的关系
- [全程建模]关于时序图问题的一次讨论
- [全程建模]关于UML与新概念名词的问题讨论
- [全程建模]需求与编码的对应关系——全程建模技术新进展
- [全程建模]用例图中角色与包之间的关系
- 杂话用例建模【5】:用例间的关系:include和extend
- [全程建模]类图和时序图的开发关系,从用例谈起的全程建模
- [全程建模]分析模型的必要性和重要性
- [全程建模]需求变更的分析与应对
- [全程建模]业务建模和用例模型以及需求规格说明书的关系
- [全程建模]关于原型法的讨论——与Wonder的对话
- [全程建模]与一个朋友讨论的关于书上的两个问题
- [全程建模]绩效管理模型在itsp组内的对话讨论
- 开张了
- 在js中判断一个对象是否是undefined
- Struts2深入详解目录
- 周一最有可能的走势
- 感受CSDN
- [全程建模]extend关系的深入讨论分析
- window服务uninstall后 无法实现删除
- 从SERVER返回数据中提取数据
- 由一道笔试题想到的:原码反码和补码
- mpeg4 vol header文件格式分析
- Ghost误操作之后--硬盘维护工具Diskgenius
- java包名的约定:PO VO TO BO DAO POJO
- $在COS的用法
- oracle job