乡下小老鼠(250****30)11:21:08
大家好,学习UML一段时间了,在自己的日常开发中也有了一些应用,各种图和元素的用法也有了一定的掌握,正在沾沾自喜的时候,老大跟我开了一个玩笑,让我写出他随手拿起的茶叶盒的用例,这引起了我的一些思考:1、UML可以对我们日常生活中的各种系统建模,但是能对任意事物(如上面的茶叶盒)进行建模吗?在某一场景下可以用类图表示茶叶盒的一些属性信息,可对于茶叶盒这个没有输入、加工、输出的家伙会有表示他的用例吗?换言之,我认为茶叶盒不是一个系统(我考虑不出它作为系统的场景)怎么会有用例?2、我回答老大的时候说用例是的系统功能的描述,茶叶盒没有任何操作,怎么能写用例,他说,我可以打开和关闭啊,我认为打开和关闭不是茶叶盒提供的服务(而是人手这个系统),说得牵强一点茶叶盒的服务只有盛放茶叶,我认为即使是盛放茶叶也不应该是一个用例,希望大家指导一下我的看法有问题吗?
向日葵(100***61)11:23:09
潘老师说过,分析业务需求的时候要把产品当做项目来做
乡下小老鼠(250****30)11:23:18
说得有点乱,我就是想弄明白两问题:1、UML适用的范围;2、没有输入、加工、输出的物品可以看到一个系统吗?
向日葵(100***61)11:23:50
上课的时候都举过百事可乐的例子
大猫(316*****0)11:27:41
本来老大说的没错呀,至少有打开,关闭,盛放茶叶功能呀。不能说人打开,那人还能收款呢,就不要收费系统了?
老虎么牙子(124***576)11:29:30
我喜欢用会计分录来解释一切现象的成本和利益
neu-小五哥(16****16)11:29:54
你把uml看成什么了?他表面上是一个画图的方式。。实际上背后是一种思考问题的方式
neu-小五哥(16****16)11:30:32
没有输入、加工、输出的物品可以看到一个系统吗?
neu-小五哥(16****16)11:31:21
什么叫系统? 其实把什么东西看成系统,只不过是你自己给自己设定一个边界而已
老虎么牙子(124***576)11:32:07
一切都有输入和输出
老虎么牙子(124***576)11:32:15
大自然是最大的系统
老虎么牙子(124***576)11:32:40
只不过以不同的形态存在
乡下小老鼠(250****30)11:34:02
那请问对茶叶盒进行建模后他的输入、输出是什么?
广李福财(747****1)11:34:25
用例(英语:use case),或译使用案例、用况,是软体工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术
广李福财(747****1)11:34:51
让我写出他随手拿起的茶叶盒的用例
------------------
茶叶盒的用例?还是拿起茶叶盒的用例?
乡下小老鼠(250****30)11:35:08
茶叶盒,没有拿起
乡下小老鼠(250****30)11:35:36
我是想知道茶叶盒会有用例吗?
大猫(316*****0)11:35:49
对于茶叶盒建模太笼统,是不是说建立用例?
大猫(316*****0)11:36:11
装茶叶、打开、关闭不是?
乡下小老鼠(250****30)11:36:21
在这个群里的人大都是接触过UML的,希望大家仔细考虑一下这个问题
乡下小老鼠(250****30)11:36:48
嗯,可以这么说
乡下小老鼠(250****30)11:37:05
我想知道茶叶盒可以作为一个系统吗?
老虎么牙子(124***576)11:37:08
不是打开和关闭
乡下小老鼠(250****30)11:37:17
从什么角度可以作为一个系统
老虎么牙子(124***576)11:37:18
是取茶叶,放茶叶
老虎么牙子(124***576)11:37:25
携带
老虎么牙子(124***576)11:37:46
了解剩余茶叶的数量
乡下小老鼠(250****30)11:37:51
用例是系统提供的功能,茶叶盒可以提供打开、关闭的功能吗?
乡下小老鼠(250****30)11:38:05
还是说茶叶盒根本就不能作为一个系统
大猫(316*****0)11:39:12
茶叶盒不是软件系统
乡下小老鼠(250****30)11:39:24
这是老大消遣我的一个问题,我也不知道答案
大猫(316*****0)11:39:25
但是可以用用例的思路考虑
大猫(316*****0)11:39:38
装茶叶的用例
干系人利益:
1、茶叶商:防止跑味,防水,防压,便于装?
2、使用者(这个词不好):好看。。。
乡下小老鼠(250****30)11:39:52
不对吧?用例可以脱离系统吗?
大猫(316*****0)11:39:54
至于用例步骤可能比较难
老虎么牙子(124***576)11:39:59
其实思路都一样,软件系统是解决问题的方法,而不是目的
老虎么牙子(124***576)11:40:22
如果茶叶盒不能有效率的满足用户需求,那么不排除设计出一套系统
乡下小老鼠(250****30)11:41:00
软件系统是解决问题的方法,而不是目的?没看明白
老虎么牙子(124***576)11:41:12
同样,抛开软件系统,回到50年前,企业不是一样运作,吃饭,收钱
老虎么牙子(124***576)11:41:22
买东西,银行存款
大猫(316*****0)11:41:33
如果以后茶叶盒可以根据声音自动拿出适量的正确的茶叶,也许就是系统
@源人@(351****784)11:41:52
脱了裤子放屁的事,何必呢?学以致用,要灵活对待问题。
乡下小老鼠(250****30)11:42:07
可惜老大只拿了一个纸盒子
乡下小老鼠(250****30)11:42:31
说话能不能文明点?
大猫(316*****0)11:42:37
只不过现在的茶叶盒功能太简单,不需要自动化,但是并不妨碍你用用例的思想去考虑
老虎么牙子(124***576)11:42:42
软件系统是解决问题的方法,而不是目的?没看明白
意思是,不会为了要软件系统而做系统,做系统的目的一定是为了解决一个业务问题,达到业务目标
大猫(316*****0)11:43:36
当然如果把茶叶盒作为一个工件去考虑是另外的事情
大猫(316*****0)11:44:06
就是当作一个企业运作中的实体考虑
龙盘虎踞(3518****4)11:44:43
我觉得大家可能忘了先要选定建模的业务单元,如果选择"手"为建模单元,那么 拿起茶叶盒,确实是"手"的用例,如果选择 人,则不是,选择茶叶盒,更加不是
老虎么牙子(124***576)11:45:06
茶叶盒也是系统,又一系列的部件和操作配合完成一个业务目标
乡下小老鼠(250****30)11:45:36
不同意,茶叶盒能完成什么操作?
老虎么牙子(124***576)11:45:55
打开,关闭
大猫(316*****0)11:46:01
其实主要看茶叶盒是啥?如果是茶叶工厂的一个实体是一回事儿,如果就是茶叶盒本身是另外一回事儿。系统边界要注意
老虎么牙子(124***576)11:46:23
属于操作吗?
龙盘虎踞(3518****4)11:46:44
大脑 命令 手 拿起茶叶盒
大猫(316*****0)11:47:08
那要是机器人打开茶叶盒呢?
乡下小老鼠(250****30)11:47:10
我的提问是想解决这么一个问题,如果老大随便拿一个东西让你建模(这里是写用例),应该怎么回复?
龙盘虎踞(3518****4)11:47:42
要看选择的 建模单元,不能一概而论的
大猫(316*****0)11:48:03
如果不是消遣你的话,我建议从用例的干系人利益考虑
乡下小老鼠(250****30)11:48:07
龙盘虎踞(3518****4) 11:46:44
大脑 命令 手 拿起茶叶盒
这个系统不是茶叶盒系统
大猫(316*****0)11:48:21
这样能体现用例的思考模式
乡下小老鼠(250****30)11:48:40
不好意思,我要去吃饭了,大家接着吵啊
老虎么牙子(124***576)11:48:55
大脑,命令,手,是人这个系统
老虎么牙子(124***576)11:49:01
打开和关闭,是茶叶盒系统
乡下小老鼠(250****30)11:49:07
对
乡下小老鼠(250****30)11:49:27
不对,茶叶盒能提供打开、关闭功能吗?
大猫(316*****0)11:49:29
老虎么牙子(124***576) 11:48:55
大脑,命令,手,是人这个系统
这个也不是人系统,暴露了内部大脑
龙盘虎踞(3518****4)11:49:34
以茶叶盒为建模单元,如果它能自动打开和关闭 就是
老虎么牙子(124***576)11:49:54
那么登录,退出
老虎么牙子(124***576)11:49:57
需要人去做吗
老虎么牙子(124***576)11:50:05
如果这么说,抛开人的参与
大猫(316*****0)11:50:11
那取款机能把钱自动放到你手上?
老虎么牙子(124***576)11:50:14
还有几个用例?
龙盘虎踞(3518****4)11:50:26
登录、退出当然是自动的,只是需要人去请求系统登录,人只是发出命令
老虎么牙子(124***576)11:50:43
我也去吃饭了
老虎么牙子(124***576)11:50:49
大家好胃口
龙盘虎踞(3518****4)11:52:47
如果 你能喊一声"茶叶盒快快打开",茶叶盒就打开了,那么"打开"确实是茶叶盒系统的用例
老虎么牙子(124***576)11:54:08
只是输入的区别
老虎么牙子(124***576)11:54:17
一个输入的是语音,一个输入的是动作
龙盘虎踞(3518****4)11:54:55
输入 没有 动作,有动作就不是输入了
龙盘虎踞(3518****4)11:56:23
取款、存款,也只是我们向存取款机发出命令而已,并不能实际去完成这项操作。当然如果你能撬开机器,用手把钱拿出来除外
向日葵(100***61)11:56:35
如果说以茶叶盒作为系统的话,那么用例应该是"保存茶叶"
向日葵(100***61)11:57:09
或者要储存茶叶
向日葵(100***61)11:58:12
打开、关闭茶叶盒属于另一个系统的用例,在这个系统中茶叶盒是一个业务实体
龙盘虎踞(3518****4)11:58:35
向日葵(100***61)12:00:14
不是系统的用例,是业务的用例
neu-小五哥(16****16)12:02:03
为个茶叶盒何必呢,老板的意思可能只是消遣一下他而已。然后大家又都被消遣了
北京-张攀攀(369****82)12:44:36
比较认同 @向日葵 说的
@乡下小老鼠 我个人认为 对任何物件 都可以看做系统 从用例的角度进行分析的 重点思考与物体相关的涉众的利益 从业务(使用)场景推导出用例
北京-高原(477***59)12:48:32
一大堆人被消遣了
向日葵(100***61)13:18:16
老板一开始可能确实想消遣一下他,但是如果他真的用UML严肃而又严谨的描述罗列出茶叶盒的一系列功能和用途,甚至在此基础上提出制作新茶叶盒能够解决一些实际问题,让茶叶盒的功能更加优化的方案来的话,他在他们老板心目中的印象恐怕就大大不一样了。细节是魔鬼啊,骚年
老虎么牙子(124***576)13:21:14
老板是不是消遣无所谓,其实都可以作为实例去分析
北京-张攀攀(369****82)13:46:11
产品经理 眼中 一切皆产品
潘加宇(3504847)13:59:05
@乡下小老鼠(250****30) 任何东西都可以作为研究对象的,茶叶盒当然有用例,特别是要做出"好卖"的茶叶盒,更需要建模思维。"打开","关闭"是目前大多数茶叶盒能提供的服务,但这样的茶叶盒很难有竞争优势。
潘加宇(3504847)13:59:40
如果你用了业务建模的技能,对业务流程建模,发现人打开茶叶盒,还要思考取多少茶叶,然后再取茶叶
潘加宇(3504847)14:01:19
如果能把这些领域逻辑封装在茶叶盒中,用例变成"取茶叶",茶叶盒封装了茶客平时喝茶的习惯,这样的茶叶和就好卖了
龙盘虎踞(3518****4)14:01:44
乡下小老鼠(250****30)14:02:13
明白了不少
潘加宇(3504847)14:02:49
如果,不是从"要做出好卖的茶叶盒"的角度思考,建模就沦为学生玩的的思维游戏,竞争很残酷,建模是为了在竞争中生存
乡下小老鼠(250****30)14:03:29
嗯,经理不懂UML他让我用通俗的语言给他解释一下
乡下小老鼠(250****30)14:03:34
结果我很糗啊
潘加宇(3504847)14:03:58
就拿我说的再试试
乡下小老鼠(250****30)14:04:17
谢谢,我知道怎么解释了
乡下小老鼠(250****30)14:06:25
还要请教潘老师一个问题,我认为UML中用例是存在于系统中的,脱离了系统,是不是讨论用例就没有意义了
#幽竹#(359***950)14:06:56
业务用例
#幽竹#(359***950)14:06:59
那是
#幽竹#(359***950)14:07:18
系统用例当然不能脱离了系统
潘加宇(3504847)14:07:40
所有的东西都是系统啊
乡下小老鼠(250****30)14:12:40
不是吧,应该是一切可以卖钱的东西才有变成系统的价值吧?
乡下小老鼠(250****30)14:13:35
我们不关心的东西,不应该是我们研究的对象,也不应该成为我们关注中的"系统"
潘加宇(3504847)14:14:08
任何东西,只要有人买,都值钱的。茶叶盒也值钱,而且也得用材料造出
潘加宇(3504847)14:15:01
你做A软件,别人做B软件甚至做茶叶盒,各有各的赚钱道路,这就市场经济
乡下小老鼠(250****30)14:17:38
我强调的是以我为中心,或者以我所在的行业为中心,只要我们不关心它,就不应该在我们的UML中形成系统而出现
潘加宇(3504847)14:20:11
《软件方法》4.2.3 只画核心域相关的系统
广劳学礼(43***03)14:21:14
潘老师说的"所有的东西都是系统啊"是在广义上的系统,人是系统,茶叶盒也是一个系统
Katherine(534***660)14:24:08
茶叶盒也可以变成一个茶饮机啊·~
那就要写茶饮系统,
比如出什么口味的什么茶就要根据口味选择或搭配茶叶的种类,
根据杯子的容量以及用户选择的口味浓度选择茶叶的重量。。。
Katherine(534***660)14:27:22
任何一个生活中的案例,都有可能通过建模,把用户活动转变为机器来实现。就是那些不可能的奇思妙想,才成就了现代文明的飞速发展,O(∩_∩)O~
乡下小老鼠(250****30)14:30:26
有道理,不过我还是不能理解一切皆系统
乡下小老鼠(250****30)14:30:46
有点笨哈
Katherine(534***660)14:32:34
找个机会好好听听潘老师讲课你就懂了
成都-CA-李旗风(287***89)14:33:11
就是外是万物都有外部特性,内部特性
乡下小老鼠(250****30)14:35:07
我好久之前听过,但是很多东西要经过一段时间的实践才能加深印象 |