新书速览|《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)