| 作者 |
内容 |
| wlzsbyj |
我想做一个火车票自动售票机的rose图,大家一起进来讨论一下呀
这个系统的需求描述基本是这样的:
这个系统有一堆硬件设备,主要用来完成接收人民币,找零钱,打印火车票等工作.它还需要连接到铁路客票中心的票库里面,从中取到要打印车票的信息,有了这些条件之后它就可以实现由客户自助买票的功能了.
具体过程是:
1.在程序界面的提示下:客户依次选择:乘车日期,始发站,终到站,所乘车次,座位类型,购票数量,这些信息后.
2.系统提示需要付的钱数.
3.用户投入应付的钱数.
4.系统打印火车票给用户.
5.系统找零钱给用户.
6.交易完成.
由于rose中导出的图不能显示中文,所以我在uml中都用英文表示,具体的名词解释如下:
Ticet network interface :连接到铁路部门的网络接口 .dll形式的
card reader: 卡读写器
cdm :找纸币的设备
ticket printer:打印火车票的设备
coin:找硬币的设备
ticket detector: 火车票检测设备
BNA: 收客户所投纸币的设备
相关的rose图形在 "图片共享"->"自动售票机" 里面用大家可以看一下.多多提意见呀
该系统的用例主要分两个部分,一部分是系统初始化的用例,角色是管理员
另一部分是 客户买票的过程,角色是客户.
就是不知道硬件设备是否也应该作为角色来表述呀.错的地方,请大家一定要不吝指正呀. |
| 04/05/28 11:50 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| wlzsbyj |
回复:
我想做一个火车票自动售票机的rose图,大家一起进来讨论一下呀
首先一个问题就是系统中的一些硬件设备是否应该做为一个角色来看待呀
,我的程序肯定要实现一个用来驱动这个硬件设备的类,那个这类在哪个图中应该反映出来呢,它的定位应该是什么呢,是实体类,还是边界类,还是控制类呢? |
| 04/05/28 15:48 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| daxiao888 |
回复:
我想做一个火车票自动售票机的rose图,大家一起进来讨论一下呀
边界类 |
| 04/05/30 00:28 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| wlzsbyj |
回复:
我想做一个火车票自动售票机的rose图,大家一起进来讨论一下呀
那么系统中的硬件设备是否应该出现在用例图中呀 |
| 04/05/31 10:28 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
除非系统是为某个硬件专做的,一便故意排斥其它兼容硬件,否则硬件不应出现在用例中.不要让人一看就认为你的分析太技术化,根本不懂业务.
|
| 04/05/31 13:37 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| sealw |
请参考"UML参考手册"
里面有个剧院售票的例子,包括各种图,可以看到对ATMKiosk和ATM-GUI的处理.这大概就是你所说的自动售票机吧. |
| 04/06/01 09:34 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| uberogre |
活动图没有对象,也没有泳道,那不就是流程图么?
泳道代表角色,对象要表达的是每个活动对这个“对象”做的处理,以及处理之后其状态的变迁。
里面的逻辑对错先不说,既然要画,那图就必须符合规范。你的用例图虽然没什么违反规范的地方,但我完全看不明白你要干什么。
建议你先看看书。
|
| 04/06/01 12:56 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| uberogre |
把你要做的事情想清楚,图不是关键,理解业务才是重点
象打印,出硬币,收钱这些动作,是硬件驱动程序。
而什么时候收硬币,收多少,选什么车票,怎么和后台系统传递消息等等,这是你的业务应用程序。
你要开发驱动程序,就要针对每个硬件单独开发,每个硬件只是单纯的接收命令然后做动作并返回结果。
你的业务应用程序,只应该负责与最终买票的客户和后台系统之间的业务逻辑上的连接,对硬件的驱动应该只是以一个消息来代表。
这两个是完全不同领域的东西,混在一起用一个图来表示,从根本上说就已经错了。
|
| 04/06/01 13:03 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
顾客输入abc的内容,系统就给出火车票上的xyz信息。在描述用例时,不要按照动作的顺序去描述它,不必描述所有输出(即使这些对用户有用——例如找出来的零钱数量——这完全可以用另外一个用例来描述)。一个项目通常必须有多个用例,每一个都比较简单通俗直接。
|
| 04/06/01 18:32 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| j2ee |
那些是在你系统内部,那些是在系统的外部?
|
| 04/06/01 18:39 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
用例与传统地面向数据加工的入手方法完全一样,分析数据的I/O。只是,面向对象方法并不靠分解这些用例来寻找动作流程。项目越复杂,依赖于分解的手段就越显得僵化,难以灵活地随着用例的增加继续大量复用设计出来的流程(活动、状态)图,最后只能频繁地失败、重做。
|
| 04/06/01 18:42 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
哦!我还要啰嗦一句。不要把用例写成“XXX管理”这种空洞的口号,而应该写成“点滴、细致”的东西,不要再一个用例中包含“完整”的需求,而应该让多个用例自由排列,每一个仅仅记录用户在“一瞬间”最关心的的东西。
|
| 04/06/01 18:51 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| wlzsbyj |
回复:
我想做一个火车票自动售票机的rose图,大家一起进来讨论一下呀
谢谢大家的指导.
我可能把用例画的太复杂了吧,请允许我说明原因,买火车票的流程是由很多提示用户输入信息的画面组成的,所输入的信息包括:乘车日期,到达站,所乘车次,座位类型,购票数据等信息.而每种信息的输入都是由一个对话框的界面和用户交互来完成的.那我是不是应该把
每个信息的采集过程都做为一个单独的用例呢,
比如: 用户输入乘车日期, 这个过程,能不能单独用一个用例图来表示呢?
如果这样表示的话,用例之间的相互关系可能就看不出来了,请大家多指教呀 |
| 04/06/03 14:47 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
不是描述“过程”,而是描述用户感兴趣什么结果。这些结果应该是很容易理解的具体业务对象,而不是“xx系统”这样的不直观的话。use
case之间没有直接的关系,并且一个项目往往需要随时增加新的use case。
|
| 04/06/11 20:44 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| j2ee |
当然不能那么做,用例是交互的整个过程
|
| 04/06/18 16:26 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| spide |
用学校里的考试题比喻use
case很恰当!use
case就是考试题,虽然对学生来说一个问题蕴含一个答案,但是你能认为它“就是”答案吗?你现在要完成的,不是怎么将平时的知识拼起来形成一个证明,而是研究怎么给别人(包括自己)写“题目”。
|
| 04/06/19 12:12 |
酷帖! 臭帖! 回复 |
|
酷帖评价: 臭帖评价: |
| 返回页首 |
|