UML顺序图的建模技术及应用示例

新书速览|《UML 2.5基础、建模与设计实践

顺序图是强调消息时间顺序的交互图,它描述了对象之间传送消息的时间顺序,用于表示用例中的行为顺序。顺序图将交互关系表示为一个二维图,横轴代表在协作中各独立对象的类元角色;纵轴是时间轴,时间沿竖线向下延伸。

顺序图主要用于展示对象间交互发生的顺序,通过这些交互来显示对象之间的动态关系。虽然开发者通常认为顺序图主要对他们有用,类似于类图的功能,但实际上,组织中的业务人员也会发现顺序图很有价值。顺序图能展示不同业务对象之间是如何相互作用的,这对于理解和交流当前的业务流程非常有帮助。

除了记录组织当前的活动之外,业务级别的顺序图还可以作为需求文档使用,传达实现未来系统所需的需求。在项目的需求分析阶段,分析师可以利用顺序图提供更正式和详细的表达,将用例推进到更深一层的详细设计阶段。在这种情况下,用例往往会被细化成一个或多个顺序图。

画顺序图的一般步骤

(1)确定交互的范围。

(2)确定参与交互过程的活动者与对象。

(3)确定活动者、对象的生命周期。

(4)确定交互中产生的消息。

(5)细化消息的内容。

下面看两个顺序图建模示例。

【例6.1】

家用汽车都会配备那种能够遥控锁车、开锁、打开后备箱的钥匙。当按下“锁车”按钮时,汽车会闪动一下车灯并发出一声蜂鸣,说明车门上锁了。这里涉及3个类:CarOwner(车主)、CarKey(车钥匙)和Car(车)。现在我们就用这样一个实例介绍顺序图的设计。

1)应用场景

该建模场景的描述如下:

(1)从CarOwner到CarKey的请求,要求CarKey实现getButtonPress(b)操作,登记CarOwner按下的按钮(通常用b引用)。

(2)CarKey发送消息给Car,通知Car实现其pressKeyMessage(b)操作,如果按下的按钮b是“lock”,Car就会向它自己发送执行lock()操作的请求。然后,Car发送两个信号BlinkLights和Beep给CarOwner。

2)实现

首先,绘出3个匿名对象,它们分别是CarOwner、CarKey和Car的实例。然后,把它们放在顺序图的最顶层,再为每个对象绘制一条生命线,如图6.17所示。

图6.17  顺序图的初始

根据场景描述,绘制的顺序图如图6.18所示。

图6.18  汽车和车钥匙顺序图

【例6.2】

ATM取款看起来是件很简单的事情,首先插入银行卡,然后按照提示输入密码,再选择“取款”,接着输入数额,最后提出现金,但是整个过程中各个对象之间要涉及很多的消息。

1)应用场景

ATM取款应用场景描述如下:

(1)银行储户将银行卡插入读卡机insertCard()。

(2)读卡机将信息传给客户管理acceptCard()。

(3)客户管理提出查询密码checkPass()。

(4)显示屏要求银行储户输入密码inputPassRequest()。

(5)储户在输入设备输入密码inputPass()。

(6)输入设备将输入的密码传递给客户管理transPass()。

(7)客户管理请求事务管理确认密码的合法性requestPassLegal()。

(8)事务管理确认密码的合法性并返给客户管理passLegal()。

(9)客户管理通过显示屏询问服务类别queryKind()。

(10)显示屏要求储户输入服务类别请求showServiceRequest()。

(11)储户输入取款请求inputTakeRequest()。

(12)输入设备向客户管理发出取款请求takeRequest()。

(13)客户管理提出取款金额qureyMoney()。

(14)显示屏向银行储户发出取款数额请求showMoneyRequest()。

(15)储户输入取款数额inputMoney()。

(16)输入设备将储户输入的数额传递给客户管理transMoney()。

(17)客户管理确认取款额数并返给显示屏queryMoney()。

(18)显示屏呈现给储户确认信息showOKRequest()。

(19)储户输入确认信息inputOK()给输入设备。

(20)输入设备将确认信息传递给客户管理OKInformation()。

(21)客户管理请求事务管理确认数额的合法性requestMoneyLegal()。

(22)事务管理确认数额的合法性并返给客户管理moneyLegal()。

(23)事务管理向点钞机发出出钞请求requestTake()。

(24)点钞机出钞票outMoney()。

(25)储户取出钞票takeMoney。

(26)取卡outCard()。

2)实现

在整个场景中,用到7个对象,分别是“银行储户”“读卡机”“显示屏”“输入设备”“客户管理”“点钞机”和“事务管理”。它们之间通过消息传递保障其功能正常运行。对应的顺序图如图6.19所示。

图6.19  ATM取款顺序图

《UML 2.5基础、建模与设计实践》(李波,姚丽丽,朱慧)【摘要 书评 试读】- 京东图书 (jd.com)

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值