所在位置:答疑 - 内容   
是专门有一个设置用例,然后再搞一个系统运行的用例呢
 

2013-01-07 22:15:20 灯火阑珊(58727***)
在系统中,我们往往有一个设置界面,然后系统会根据这些设置进行某些操作,请问这样的用例应该如何写?
2013-01-07 22:16:28 灯火阑珊(58727***)
是专门有一个设置用例,然后再搞一个系统运行的用例呢
2013-01-07 22:17:00 灯火阑珊(58727***)
还是在一个用例中将相关的设置和系统相关的运行步骤写在一起比较好点呢
2013-01-07 22:17:36 灯火阑珊(58727***)
如果分为两个用例,感觉设置那个用例没有价值,有割裂步骤为用例的感觉
2013-01-07 22:19:27 灯火阑珊(58727***)
但是合在一起写吧,同样也觉得比较别扭
2013-01-07 22:20:29 勤瘦(21624***)
什么情况下执行者会使用这个系统用例?
2013-01-07 22:20:50 勤瘦(21624***)
系统用例的执行者在研究组织内,还是外?
2013-01-07 22:21:04 灯火阑珊(58727***)
例如,我需要设置某个程序自动启动
2013-01-07 22:21:25 灯火阑珊(58727***)
为了完成这个功能,我们需要先访问设置界面,设置需要启动什么
2013-01-07 22:21:39 灯火阑珊(58727***)
然后在系统启动的时候去读配置文件启动该程序
2013-01-07 22:21:42 勤瘦(21624***)
那系统用例的执行者就是"时间"了
2013-01-07 22:21:59 灯火阑珊(58727***)
但是用户也有份啊
2013-01-07 22:22:04 灯火阑珊(58727***)
他做设置啊
2013-01-07 22:22:22 灯火阑珊(58727***)
现在我还是分成两个用例来写
2013-01-07 22:22:43 灯火阑珊(58727***)
但是感觉那个设置部分,没有什么价值
2013-01-07 22:22:54 勤瘦(21624***)
用户只是设置了启动配置
2013-01-07 22:22:55 灯火阑珊(58727***)
设置用例的执行者是用户
2013-01-07 22:23:08 灯火阑珊(58727***)
启动过程这个用例的执行者是时间
2013-01-07 22:23:40 灯火阑珊(58727***)
实际在大部分系统中都有这个问题,你平常如何解决的呢?
2013-01-07 22:24:39 潘加宇(3504847)
按照业务建模的结果映射,是什么就是什么。可能是A,可能是B,也可能是AB,也可能三个都是

2013-01-07 22:25:03 灯火阑珊(58727***)
例如在各种软件中都有一个相当庞大的Setting UI,然后这里的设置项会牵涉到多个运行操作的行为
2013-01-07 22:25:22 灯火阑珊(58727***)
一般来说运行操作行为序列我们更容识别它是一个用例
2013-01-07 22:25:30 灯火阑珊(58727***)
但是设置这一块如何?
2013-01-07 22:25:41 潘加宇(3504847)
设置是一个事情 启动是一个事情

2013-01-07 22:26:03 勤瘦(21624***)
用户在什么情况下会进行设置呢?
2013-01-07 22:26:10 灯火阑珊(58727***)
我同意,我现在也是这么做的,就是感觉设置这个用例没有太大的价值
2013-01-07 22:26:28 勤瘦(21624***)
不会平白无故就去设置吧 总会有原因的吧
2013-01-07 22:26:30 深圳-Stupig(503685***)
要看业务上有没有"设置"这个东西,还是系统为了灵活性而提供的
2013-01-07 22:26:34 潘加宇(3504847)
你提这个问题,可能还是需要再阅读《软件方法》和以往答疑记录。
2013-01-07 22:26:57 潘加宇(3504847)
勤瘦(21624***)已经基本掌握

2013-01-07 22:27:05 灯火阑珊(58727***)
而且一般在我们会有很多设置项,那我是针对各组设置项都做用例,还是一个整体的用例来描述所有设置内容
2013-01-07 22:27:56 勤瘦(21624***)
当我遇到这类问题的时候 会回顾我的业务建模
2013-01-07 22:28:14 潘加宇(3504847)
一样,该是什么,不是你能决定(捏面团)的。观察,业务建模,映射。

2013-01-07 22:28:29 灯火阑珊(58727***)
勤瘦(21624***) 22:26:03 用户在什么情况下会进行设置呢? 用户需要自动执行程序的时候,他就会去设置
2013-01-07 22:29:18 勤瘦(21624***)
是类似于Windows操作系统的定时任务吗?
2013-01-07 22:29:27 灯火阑珊(58727***)
是啊
2013-01-07 22:29:31 灯火阑珊(58727***)
可以这么理解
2013-01-07 22:31:11 勤瘦(21624***)
定时任务是windows的系统用例
2013-01-07 22:31:32 灯火阑珊(58727***)
再好比说,我们的软件中往往都会有基础数据维护,是否实际上来说这些东西不应该反映在用例中呢,实际上这些过程并不构成一个完整的价值。他必须要和其他的操作系统一起构成意见有价值的事情。
2013-01-07 22:32:07 灯火阑珊(58727***)
或许这些事情不应该在域模型中处理,而是在设计模型中进行处理
2013-01-07 22:33:21 灯火阑珊(58727***)
勤瘦(21624***) 22:31:11 定时任务是windows的系统用例,那么那个设置呢,在哪里
2013-01-07 22:33:50 灯火阑珊(58727***)
他们具有不同的主执行者,从这个方向上看是应该分两个
2013-01-07 22:34:16 勤瘦(21624***)
确实是两个系统用例呀
2013-01-07 22:34:31 灯火阑珊(58727***)
或者我把用户作为主执行者,时间作为辅助执行者,这样也可以看起来是一个用例
2013-01-07 22:35:07 勤瘦(21624***)

2013-01-07 22:35:19 向日葵(10078***)
这个还是不能归为一个用例的吧
2013-01-07 22:35:30 勤瘦(21624***)
肯定是两个用例
2013-01-07 22:35:51 灯火阑珊(58727***)
嗯,谢谢,我目前也是这样做的
2013-01-07 22:36:33 勤瘦(21624***)
你困惑的是"配置定时任务"价值所在?
2013-01-07 22:36:43 灯火阑珊(58727***)
是的
2013-01-07 22:36:44 勤瘦(21624***)
"UC:配置定时任务"
2013-01-07 22:37:13 深圳-Stupig(503685***)
系统用例聚焦的是系统边界,需要观察系统与外部的交互,最好还是从业务序列图入手看看
2013-01-07 22:37:29 向日葵(10078***)
这个就看你做配置这个用例的粒度了
2013-01-07 22:37:42 灯火阑珊(58727***)
用例没有粒度啊
2013-01-07 22:37:51 灯火阑珊(58727***)
按潘老师的话来说
2013-01-07 22:38:13 灯火阑珊(58727***)
该那么大就那么大
2013-01-07 22:38:23 勤瘦(21624***)
你的业务用例有哪些?
2013-01-07 22:38:37 深圳-Stupig(503685***)
要把业务流程走通,看看有没有这个"设置"以及它的位置在哪里
2013-01-07 22:38:46 深圳-Stupig(503685***)
就一清二楚了
2013-01-07 22:39:16 向日葵(10078***)
这个,我觉得你如果建立一个"系统配置"用例,然后用一个note说明会有那些东西需要配置,也是可以的
2013-01-07 22:40:16 向日葵(10078***)
如果你把每一种需要具体配置的信息都画一个用例,也可以,就是有点繁琐了
2013-01-07 22:40:26 深圳-Stupig(503685***)
用户不会因为系统提供这个功能就会去使用这个功能的,还是要结合业务建模啊
2013-01-07 22:40:42 灯火阑珊(58727***)
这句话说的有理
2013-01-07 22:41:05 向日葵(10078***)
那是当然,整个流程当然是先业务建模再系统建模
2013-01-07 22:41:10 灯火阑珊(58727***)
我们是做嵌入式的
2013-01-07 22:41:19 向日葵(10078***)
先系统分析再系统设计
2013-01-07 22:41:28 灯火阑珊(58727***)
实际上需要业务建模的部分相当少
2013-01-07 22:41:34 勤瘦(21624***)
我觉得你应该有一个称为"定时执行任务"的业务用例
2013-01-07 22:42:09 灯火阑珊(58727***)
然后在定时执行任务用例文档中出现了设置,和运行两个步骤
2013-01-07 22:42:25 向日葵(10078***)
这个定时执行的任务,可以是执行很多个内容了?
2013-01-07 22:42:26 勤瘦(21624***)
稍等 我画个草图
2013-01-07 22:42:27 灯火阑珊(58727***)
而这个步骤就被映射为系统内部的设置用例和运行用例
2013-01-07 22:42:53 灯火阑珊(58727***)
可以一个或多个程序
2013-01-07 22:43:02 向日葵(10078***)
哦,设置不需要定时实现,只是需要制定执行的频率
2013-01-07 22:43:23 向日葵(10078***)
这个说的有点具体了
2013-01-07 22:43:58 灯火阑珊(58727***)
做嵌入式的东西,业务建模的机会比较少,由于客户的种类非常多
2013-01-07 22:44:27 深圳-Stupig(503685***)
具体是什么系统
2013-01-07 22:44:28 灯火阑珊(58727***)
你所能知道的不是一个整体的系统,而是比较零散的功能
2013-01-07 22:44:40 灯火阑珊(58727***)
一款称重仪表
2013-01-07 22:45:08 向日葵(10078***)
嗯,其实图是死的,人是活的,如果用户很复杂不好分类,完全可以不画用例图的
2013-01-07 22:45:40 灯火阑珊(58727***)
也就是说我们不能获得用户的业务流程,我们仅仅能知道自身可以做什么
2013-01-07 22:45:58 灯火阑珊(58727***)
所以嘛,业务建模就没有做,从用例直接开始了
2013-01-07 22:46:50 向日葵(10078***)
这个,我只是说不方便画用例图的话,可以不画,但是没说不需要做业务建模啊~~~
2013-01-07 22:47:13 勤瘦(21624***)

2013-01-07 22:47:29 灯火阑珊(58727***)
没有什么办法做业务建模,有成百上千个行业用称重仪表的
2013-01-07 22:47:45 灯火阑珊(58727***)
我们无法知道各个行业如何去用
2013-01-07 22:47:56 深圳-Stupig(503685***)
没有具体的客户,也是有目标客户群的吧,这些客户群有什么特点
2013-01-07 22:47:59 潘加宇(3504847)
需求,要把产品当成项目来做

2013-01-07 22:49:16 潘加宇(3504847)
深圳-Stupig(503685***) 、勤瘦说的是对的
2013-01-07 22:50:48 潘加宇(3504847)
@勤瘦(21624***) 画的这个也不是业务建模,只是把设想的几个用例凑在一起而已。 业务建模是观察农贸市场各色人等的行为,然后找到你的电子秤的位置

2013-01-07 22:51:21 灯火阑珊(58727***)
是的,农贸市场仅仅是一个很小的一个行业应用
2013-01-07 22:51:42 灯火阑珊(58727***)
我做的产品是他们项目的基础
2013-01-07 22:51:47 勤瘦(21624***)
业务序列图来自于真实的业务流程
2013-01-07 22:52:16 灯火阑珊(58727***)
我需要面对多个行业的多个应用模式
2013-01-07 22:52:46 深圳-Stupig(503685***)
很多行业都会用,那就找出主要的来分析
2013-01-07 22:53:00 勤瘦(21624***)
我不了解你的业务流程 所以帮不了你太多。。
2013-01-07 22:53:55 潘加宇(3504847)
需求要具体,你先证明你的东西能给农贸市场带来好处再说吧

2013-01-07 22:54:19 潘加宇(3504847)
还是要先复习群共享里的资料,再继续做

2013-01-07 22:54:48 灯火阑珊(58727***)
这么说吧,我相当于在做API,而不是做一个系统
2013-01-07 22:55:14 勤瘦(21624***)
如果这是上级拍脑袋想出的一个需求呢。。。。
2013-01-07 22:55:32 潘加宇(3504847)
那你就是为开发团队提供组件了?

2013-01-07 22:56:00 灯火阑珊(58727***)
可以这么说
2013-01-07 22:56:10 潘加宇(3504847)
一样的,那就去研究开发团队目前的痛苦,证明你做的东西能给各个开发团队确实带来好处

2013-01-07 22:56:59 勤瘦(21624***)
先确定研究目标
2013-01-07 22:58:34 灯火阑珊(58727***)
以前做业务系统的话,这些需求比较好分析
2013-01-07 22:59:04 潘加宇(3504847)
一样的,所有的都是"业务系统",只不过领域不同而已

2013-01-07 23:00:06 勤瘦(21624***)
现在 我的项目周期中 有一半多用来对需求分析和设计