软件方法(下)分析和设计第8章分析 之 分析类图——知识篇(20211227更新)

软件方法(下)分析和设计第9章分析 之 分析类图——案例篇(20211228更新)

问题时间:2013/5/29

杭大伟(289***723)21:40:26

[答疑]举报卖家、举报买家还是举报_用例

(202201注,此图有更新,更新类图见最新版《软件方法》)

杭大伟(289***723)21:40:38

用例与主执行者的关系 为什么是n对1

杭大伟(289***723)21:41:01

难道执行者只能执行一个用例?

刘用军(154****88)21:42:02

看错方向了吧

刘用军(154****88)21:42:47

这不刚好说明是一个执行者能执行多个用例吗?还是我看反了

杭大伟(289***723)21:43:23

按我的理,一类执行者可以执行多个用例,一个用例也可以被多类执行者执行,

杭大伟(289***723)21:43:29

所以我觉得多对多的关系。

刘用军(154****88)21:45:01

这跟你的具体场景而定吧,我说的是你的这话

杭大伟(289***723)21:47:47

不知道 潘老师在做画这个图时,主执者与用例是1:n, 辅执行者与用例是n:n

杭大伟(289***723)21:48:00

这样的多重关系,是怎么考虑的

潘加宇(3504847)21:53:57
参见《软件方法》5.4.1 错误:玩弄"复用"

杭大伟(289***723)21:55:14

看过,您的意思是,用例要站在卖的角度来看,

潘加宇(3504847)21:55:26
​http://www.umlchina.com/qa/Content/121.htm​

杭大伟(289***723)21:55:30

系统的一个用例,可以卖给多类Actor呀

杭大伟(289***723)21:55:41

一类Actor可以买个用例。

潘加宇(3504847)21:56:43
"系统的一个用例,可以卖给多类Actor呀"--这个想法已经不对了

杭大伟(289***723)21:56:57

为什么呢?

潘加宇(3504847)21:59:34
因为这样的想法,对做出好卖的产品没有帮助。
从第二章开始讲愿景开始就不断强调这一点,需要再复习一下

潘加宇(3504847)22:00:12
"也可以"之类是不行的
潘加宇(3504847)22:00:45
猪也可以喝可乐,小偷也可以用取款机,屌丝也可以买宝马

杭大伟(289***723)22:01:14

比如一个电商网站, 提供系统用例:举报。Actor:买家,卖家。举证这个用例可以为买家使用,也可以卖家使用。

刘用军(154****88)22:01:35

只卖给最有价值的客户,只对坐在最前排的观众负责?

杭大伟(289***723)22:01:38

买家可以举证卖家,因为买家发现卖家有作弊行为。潘加宇(3504847)22:01:40
举证这个用例可以为买家使用,也可以卖家使用。--分开两个
潘加宇(3504847)22:02:02
两种用法

杭大伟(289***723)22:02:16

卖家也可能举报买家,因为卖家发现买家可能来捣乱的

潘加宇(3504847)22:03:10
参见
​http://www.umlchina.com/qa/Content/025.htm​

杭大伟(289***723)22:03:12

您是说把 举报这个用例拆分2个:举报卖家, 举报买家

杭大伟(289***723)22:03:15


潘加宇(3504847)22:03:33

潘加宇(3504847)22:04:11
如果确认没有任何区别,那么买家卖家之分对这个用例而言没有意义,应该抽象出另一个执行者
潘加宇(3504847)22:04:23
请阅读我给你的链接以及复习软件方法
潘加宇(3504847)22:05:02
但是,绝大多数情况下,这两个举报涉及到的涉众利益,以及具体的需求细节都有区别。

杭大伟(289***723)22:05:28

是不是说找用例的,可以完全不考虑用例的复用?

潘加宇(3504847)22:07:50
是的

小飙(676480)22:08:25

潘老师好搞笑啊。。

杭大伟(289***723)22:08:39

在分析设计时,就需要把可以复用的用例,复用起来,

潘加宇(3504847)22:08:50

如果,两种人使用系统的期望,涉众利益,需求细节都完全一样,就是同一个用例,同一个执行者,不存在复用问题

杭大伟(289***723)22:08:51

以实现最少的实现成本

杭大伟(289***723)22:08:51


潘加宇(3504847)22:08:58
复习
潘加宇(3504847)22:09:16
我通篇说的就是这两个问题
潘加宇(3504847)22:09:43
[答疑]举报卖家、举报买家还是举报_实验报告_02

杭大伟(289***723)22:10:25

所以 一个用例的执行者就一个了,

潘加宇(3504847)22:10:34
主执行者
潘加宇(3504847)22:10:47
一个东西,卖给他的目标客户
潘加宇(3504847)22:11:07
其他人爱买就买,但我不是为你而做的

杭大伟(289***723)22:14:52

我有点懂了,一个用例就是为一类主执行者定制的,谁可以使用这个用例,谁就是这一类主执行者中一个实例。

潘加宇(3504847)22:15:09
不是"可以使用"
潘加宇(3504847)22:15:25
是我这个功能是为谁而做
潘加宇(3504847)22:18:47
就像我们UMLChina的公开课,谁都可以来上,交钱就行,小学生照收,但我们的目标人群是"已经有项目经验的开发人员",需求首先为他们而改变,不会因为小学生听得不爽而改变

杭大伟(289***723)22:19:54

但是现实中, 我这个功能,可以为A类人群做的,

杭大伟(289***723)22:19:59

也可以为B类人群人做的。潘加宇(3504847)22:20:38
现实就是喝西北风还是吃肉啊
潘加宇(3504847)22:20:49
"也可以"这样的思路是不行的

杭大伟(289***723)22:21:11

比如,学校实验室管理系统,在上课时,要做一个聊天室 供学生和老师一起在里聊实验相关的问题。

杭大伟(289***723)22:21:32

这个聊天室功能,的actor 可以是学生,

杭大伟(289***723)22:21:36

也可以是老师。

杭大伟(289***723)22:21:54

我这样的理解,错在哪里?潘加宇(3504847)22:22:06
我刚才不是说了吗,如果学生和老师使用系统没有任何区别,根本不存在学生和老师,就是实验人员

刘用军(154****88)22:22:34

老师学生的真正区别在那?跟他们现实的身份没有关系,只和使用这个系统有关系潘加宇(3504847)22:22:42
学生还要不要分男生女生,老师还要不要分年轻老师,老老师,讲师,教授?

杭大伟(289***723)22:23:01

以学校实验室管理系统 为考察对象,学生可以上传实验报告 ,老师可以做检查实验报告 ,

杭大伟(289***723)22:23:10

确实有学生,老师这2个不同的actor潘加宇(3504847)22:23:18
"实事求是"就行,哪来这么多花花肠子
潘加宇(3504847)22:23:28
学生可以上传实验报告 ,老师可以做检查实验报告
潘加宇(3504847)22:23:38
你不是说的很清楚了吗
潘加宇(3504847)22:24:02
有学生,有老师,不妨碍有实验人员啊

杭大伟(289***723)22:24:08

那现在多出一个实验人员这个actor,面对这种情况,要如果梳理actor的关系

杭大伟(289***723)22:24:16

要如何梳理actor的关系潘加宇(3504847)22:24:19
复习
潘加宇(3504847)22:24:49
但是,绝大多数情况下,"实验人员"是有问题的
潘加宇(3504847)22:25:31
你要去观察实验的交流中,老师和学生扮演的不同角色,做的不同事情
潘加宇(3504847)22:26:14
但是,大多数人的问题就在于,问了追求"复用",把"实验的交流中,老师和学生扮演的不同角色,做的不同事情"视而不见了,统统称为"聊天"
潘加宇(3504847)22:26:34
因为这样,这样可以少做点工作
潘加宇(3504847)22:27:03
但是,大多数人的问题就在于,为了追求"复用",把"实验的交流中,老师和学生扮演的不同角色,做的不同事情"视而不见了,统统称为"聊天"

杭大伟(289***723)22:30:12

这个问题能否给我一个答案 。在学校实验室管理系统里面,学生要与老师聊实验过程,学生做完实验要上交实验报告 ,老师要对检查实验报告并给出成绩。潘加宇(3504847)22:31:34
"学生要与老师聊实验过程"如果你的系统不关心学生老师的区别,就是实验人员--发表意见
潘加宇(3504847)22:31:51
学生---上交实验报告
潘加宇(3504847)22:32:02
老师---给出成绩
潘加宇(3504847)22:32:31
老师、学生泛化到实验人员
潘加宇(3504847)22:32:40
我给的链接你看了吗

杭大伟(289***723)22:34:18

看了。

杭大伟(289***723)22:34:20

[答疑]举报卖家、举报买家还是举报_实验报告_03

杭大伟(289***723)22:34:27

这样画么?潘加宇(3504847)22:34:45
检查。。。。可能不对,
潘加宇(3504847)22:34:57
老师是不是检查了,系统能知道吗?
潘加宇(3504847)22:35:11
我上面写的"给出成绩"还差不多

杭大伟(289***723)22:35:28

其实就是把实验报告打开,然后看学生做得怎么样,

杭大伟(289***723)22:35:32

然后给一个成绩。潘加宇(3504847)22:36:24
那怎么能说检查实验报告是系统的用例呢,检查的逻辑都在老师的大脑里面

杭大伟(289***723)22:37:27

改成批改实验报告,行得通了吧,潘加宇(3504847)22:37:31
系统根本无法承诺老师检查了,随意一画,让人误解以为用了这个系统,报告肯定会得到认真检查了

杭大伟(289***723)22:37:28

[答疑]举报卖家、举报买家还是举报_实验报告_04

潘加宇(3504847)22:37:45
可以

杭大伟(289***723)22:38:33

我大致懂了用例与ACTOR的关系了,我再揣摩揣摩。潘加宇(3504847)22:38:51
每个细节背后都有它的道理的