文档介绍:网上报名系统——第2次课
我们的进度,在这里
工作任务
根据访谈内容,进行业务用例建模
提交内容
业务用例图
我们的进度,在这里
我们的进度,在这里
工作任务1:业务用例建模交付的工作产品:业务用例图
关系是把新行为插入到已有用例的方法。
:关联关系表示参与者与用例之间的通信。
四种关系的UML图释
包含关系
扩展关系
泛化关系
关联关系
用例之间的关系
泛化:同一业务目的的不同技术实现
包含:提取公共交互,提高复用
扩展:“冻结”基用例以保持稳定
*通过关系提高用例复用
泛化(generalization)
当多个用例共同拥有一种类似的结构和行为的时候
我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。
泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在下图中,订票是电话订票和网上订票的抽象。
泛化关系
泛化(generalization)
泛化举例(一):
泛化(generalization)
泛化举例(二):
包含(include)
包含是指基本用例(base use case)会用到包含用例
(inclusion),具体地讲,就是将包含用例的事件流
插入到基础用例的事件流中。包含用例是可重用的
用例──多个用例的公共用例。
包含(include)
包含(include)
包含举例(一):
包含(include)
包含举例(二):
扩展(extend)
将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础用例中。
基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点。
扩展用例的行为是否被执行要取决于主事件流中的判定点。
扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:
(这样,您就可以将模型中的可选行为和必选行为分开);
(如例外条件)下才执行的分支流;
扩展关系
扩展(extend)
扩展(extend)
扩展举例(一):
扩展(extend)
扩展举例(二):
用例之间的关系
包含用例与扩展用例的区别
①相对于基础用例,扩展用例是可选的,而包含用例则不是。
②如果缺少扩展用例,基础用例还是完整的,而缺少包含用例,则基础用例就不完整了。
③扩展用例的执行需要满足某种条件,而包含用例不需要。
④扩展用例的执行会改变基础用例的行为,而包含用例不会。
例:自动售货机
供货
买饮料
取货款
客户
供货人
收银员
自动售货系统
售货
供货
取货款
顾客
供货人
收银员
售散装
饮料
打开机器
关闭机器
打开机器
关闭机器
<<扩展>>
<<包含>>
<<包含>>
<<包含>>
<<包含>>
自动售货机系统
网上报名系统的业务用例建模
现在我们要对网上报名系统进行业务用例建模。在上次进行的访谈中,我们得知:
该系统的使用者:各省队参赛报名负责人(各省队用户)和中国赛艇协会管理人员。
各省队用户的主要业务:
(1)查看赛事信息
(2)报名:
i)参赛单位报名
ii)参赛运动员报名
我们的进度,在这里
网上报名系统的业务用例建模
中国赛艇协会管理人员的主要业务:
(1)各省队用户管理
(2)单位管理
(3)运动员管理
(4)竞赛项目管理
(5)报名管理
i)报名单位
ii)报名运动员
(6)赛事管理
i)赛事基本信息
ii)主要比赛项目
我们的进度,在这里
根据以上访谈内容,我们识别出参与者和用例。
在Rational Rose中建模。
打开模型:网上报名系统
在UseCase中新建一个包,命名为“领域分析”,在其中创建一个用例图(UseCase Diagram,命名为:业务用例图
我们的进度,在这里
我们的进度,在这里
注意:这个用例图是从用户业务的视角出发,用来进行业务用例建模的。
在今后的需求分析阶段,我们会从系统的视角来进行系统用例建模。
我们的进度,在这里
注意:这个用例图是从