(1)Clerk(银行职员)
描述:Clerk 可以创建、删除账户,并可以修改账户信息。
示例:银行的工作人员。
(2)CustomerActor(客户)
描述:CustomerActor 可以存钱、取钱,并在不同的账户之间转账。
示例:任何在银行中开有账户的个人或组织。
(3)BankActor(银行)
描述:客户可以在 BankActor 中设立或关闭账户。
示例:任意一个提供存款、取款、转账等业务的银行。
2.2 识别用例
通过对需求的进一步分析,可以确定系统中有如下用例存在:
(1)Login(登录)
本用例提供了验证用户身份的功能。
(2)Deposit fund(存款)
本用例提供了存钱到账户的功能。
(3)Withdraw fund(取钱)
本用例提供了从账户中取钱的功能。
(4)Maintain Account(管理账户)
本用例提供了创建、删除账户,以及修改账户信息的功能。
由于“转账”既可以在属于同一银行的账户之间发生,也可以在属于不同银行的账户之
间发生,而发生于不同银行的账户之间的转账需要与参与者“ BankActor”交互,因此需要用
两个不同的用例来描述银行内的转账和银行之间的转账:
(5)Transfer fund within a bank(在银行内转账)
本用例提供了在属于同一银行的账户之间转发的功能。
(6)Transfer fund between banks(在不同的银行之间转账)
本用例提供了在属于不同银行的账户之间转账的功能。
由于用例(5)和(6)具有公共行为,因此可以抽象出一个父用例“Transfer fund”。
(7)Transfer fund(转账)
本用例描述了转账的通用行为,是用例(5)和(6)的父用例。
系统的用例图如图 1 所示,参与者“Clerk”与用例“Login”、“ Maintain Account”交互,
参 与 者 “ Clerk” 作 为 参 与 者 “ CustomerActor” 的 代 理 与 用 例 “ Deposit fund” 、 “ Withdraw
fund”、“ Transfer fund”交互,也即参与者“CustomerActor”依赖参与者“Clerk”完成存款、取
钱、转 账的 动作 。用例 “ Transfer fund” 具有 两个子 用例 “ Transfer fund within a bank” 和
“Transfer fund between banks”,因此它们之间存在类属关系。另外,用例“ Transfer fund
between banks”要与代表另一个银行的参与者“BankActor”交互。