火龙果●整理 uml.org.cn 3.应用举例 图16显示一个顾客在ATM机上取款的部分顺序图。它引用了顺序图“Balance Lookup'” 和“Debit Account'”。序列从左上角开始,客户传递一个消息给teller对象,teller对象传递 一个消息给theirBank对象。那时,调用Balance Lookup序列图,而accountNumber作为一 个参数传递。Balance Lookup序列图返回balance变量,然后检验选择项组合片断的约束条 件,确认余额大于金额变量。在余额比金额更大的情况下,调用Debit Account序列图,给 它传递参数accountNumber和amount。在那个序列完成后,withdrawCash消息为客户返回 cash。 ut:Qst如me teller:ATM therBank Bank withdrawCash accountNumber. amount getBalance accountNumber ref Balance Lookup(accountNumber): Real balance debit accountNumber,amount ref Debit Account (accountNumber, amount) cash 图16.顺序图示例 上海交通大学软件学院饶若楠,“面向对象分析与设计”课程资料,请勿外传上海交通大学软件学院 饶若楠, “面向对象分析与设计”课程资料 ,请勿外传 3. 应用举例 图 16 显示一个顾客在 ATM 机上取款的部分顺序图。它引用了顺序图“Balance Lookup” 和“Debit Account”。序列从左上角开始,客户传递一个消息给 teller 对象,teller 对象传递 一个消息给 theirBank 对象。那时,调用 Balance Lookup 序列图,而 accountNumber 作为一 个参数传递。Balance Lookup 序列图返回 balance 变量,然后检验选择项组合片断的约束条 件,确认余额大于金额变量。在余额比金额更大的情况下,调用 Debit Account 序列图,给 它传递参数 accountNumber 和 amount。在那个序列完成后,withdrawCash 消息为客户返回 cash。 图 16. 顺序图示例