关于地铁自动售票系统的业务建模(1)
2010-12-29 08:47
393 查看
在下用UML做了一个地铁自动售票系统的business use case diagram。
总的用例描述如下:
1。自动售票系统是为T城市开发的,所以该城市的所有年纪大于12的都有一张电子卡,他们可以使用这个售票系统来充值电子卡。T城市居民的这张卡是可以重复充值的。他们可以选择天票的方式充值或则次票的方式充值或则两者
2。每一个访客(非该城市的居民)使用售票系统首先要买一张电子卡并且在买卡的同时就要给这张卡充值。访客的张卡不能重复充值并且在充值的时候要么选择天票要么选择次票。
3。 给电子卡充值的方式有两种:
3.1 天票的方式:以这种方式充值,用户必须指明起始的时间和终止时 间。(用户可以在起始时间到终止时间里,任意次数的乘坐地铁)
3.2 次票的方式:以这种方式充值,用户选择充值的次数。(用户乘坐地铁的次数)
在我的business use case里:
1。将Vistor(访客)作为Inhabitant(居民)的泛actor
2。一个 Buy card ,一个 Charge card。 两个业务用例,然后Buy card 必须要包含 Charge card 这个业务用例。
问题1 : 大家觉得这个 包含 用的恰当么 ? 由于用了包含,我在写Charge card 这个用例的流程的时候不是很通顺,因为T城市居民的卡可以在充值的时候选两种方式(比如,某居民在充值的时候首先选了天票,这个过程结束后,他表明想要在充值个次票,这是允许的。但是对于访客来说,他在买票的同时就必须选择是要充值天票还是次票,不能一次性充值两次)
Charge card的业务流程:
参与者:访客
正常流程:
1。访客想要充值
2。访客可以有两种方式充值:天票,次票
3。访客选择充值的方式
4。访客确认充值
5。如果访客的卡是可充值的并且访客想继续充值,那么重复2到4步
6。访客付钱
Buy card 的业务流程:
1。访客想要买卡
2。访客拿到卡
3。访客给卡充值
跳转到Charge card的业务流程
我曾想过将include(包含)的关系去掉,然后Charge card 作为只与Inhabitant(居民)有关系的一个用例;Buy card 作为只与 Visitor(访客)有关系的用例;然后在将Visitor 和 Inhabitant 间的泛化关系去掉,引入一个新的泛化 Traveler ,然后将 Visitor 和 Inhabitant作为Traveler的子类。
经过以上的变形后,我写Charge card 的流程的时候,如下:
参与者:居民
正常流程:
1。居民想要充值
2。居民可以选择充值方式:天票,次票
3。居民选择了充值方式
4。居民确认了充值
5。如何居民想要继续充值,那么重复2到4步
6。居民付钱
Buy card 的流程
参与者:访客
1。访客想要买票
2。访客那到了票
3。访客可以选择充值方式:天票,次票
4。访客选择了充值方式
5。访客确认了充值方式
6。访客付钱
个人觉得变形后的业务流程更清晰,但业务图不如前面的那个(有包含关系的)。当增加了 包含关系后表明在Buy card后必须执行Charge card。变形后的业务图不能很清楚的表明这点,只能在业务流程里看到。
但是前面那个的Charge card的业务流程的参与者比较模糊(T居民和访客),但它的优点是Charge card的这个业务流程得到了重复利用(Buy card里的充值部分其实和Charge card里的大同小异)
相关文章推荐
- 关于XXXX重要业务系统灾难恢复演练的相关提案
- 关于非行业服务软件的业务建模问题
- 工作流系统之三十九 利用工作流引擎给业务系统建模
- 关于业务建模
- 关于核心系统日终扎帐控制外围系统当天未处理的业务
- 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
- 【转】使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
- 数据仓库 数据库 建模:关于业务主键和逻辑主键的取舍 - [s00n原作]
- 关于业务系统可审计的操作记录设计建议
- 关于一个简单ATM系统的UML建模——问题描述&词汇表&领域类图
- 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
- 易普优APS高级计划排程系统系列提纲:行业知识,业务建模,排程算法,计划可视化,平台框架,案例分享
- 主数据和关系数据-业务系统建模系列
- 关于业务系统中代码的管理
- 关于业务管理系统
- 多场景业务建模系统
- 和小贺的聊天记录,关于业务用例和系统用例的一些迷惑
- [全程建模]系统用例与业务用例的讨论之二——系统用例是如何产生的
- 一个关于系统建模的探讨(一)
- 关于业务用例和系统用例区别