1/8案例本案例实现一个简化了的银行储蓄账户管理系统,该系统是在银行的柜台上对客户办理活期储蓄业务。系统的需求陈述如下:一个客户可以在多个银行中开设账户,一个客户也可在同一银行中开设多个不同的账户。客户可以通过银行职员进行开户、存款、取款、转账、注销账户等活动。其中转账指客户将自己的某个账户上的钱款转入同一银行的不同账户(称为银行内转账)或转入不同银行的账户(称为银行间转账)。系统管理员负责系统的账户管理及业务报表的生成。2/8识别执行者客户:到银行办理储蓄业务的人,负责输入密码银行职员(客户代理):银行工作人员,代表客户进行储蓄业务的操作银行职员(管理人员):银行工作人员,根据客户的储蓄业务更新账户管理员:银行计算机的管理人员,负责账户的管理和业务报表的生成3/8识别用例从系统的需求陈述可知,银行职员(客户代理)需要系统提供开户、存款、取款、转账、注销账户等功能,这些功能都包含了校验密码的功能。系统管理员需要系统提供账户管理和报表生成功能。银行职员(管理人员)则参与了账户管理中的更新账户的功能。此外,转账功能可分为银行内转账和银行间转账,可将它们设计成三个用例,其中银行内转账用例和银行间转账用例都继承了基本转账用例。据此分析,得到该系统的用例图如下图所示。4/260银行储蓄账户管理系统《包含》《包含》《包含》银行职员(用户代理)账户管理银行间转账开户取款银行内转账注销存款校验密码转账报表生成其它银行账户管理系统客户系统管理员银行职员(管理人员)5/8开户用例描述用例名称:开户参与的执行者:银行职员(客户代理),客户前置条件:一合法的银行职员(客户代理)已登录到该系统事件流:1.当选择开户功能时用例开始2.输入客户信息(姓名、地址、身份证号等)3.从账户管理系统获取新的账号4.请客户输入密码5.请客户再次输入密码6.如果两次密码不一致则回到第4步,否则继续7.在账户库中添加新账户8.打印存折,用例结束后置条件:在账户库中增加了一个新账户,得到一张新存折6/8取款用例描述用例名称:取款参与的执行者:银行职员(客户代理)前置条件:一合法的银行职员(客户代理)已登录到该系统事件流:基本路径:1.当选择取款功能时用例开始2.当输入客户信息(姓名、账号等)后a)如果客户信息与账户不一致,显示错误信息,可以重新输入或结束用例b)如果该账户被冻结(如因挂失而冻结),显示冻结信息并结束用例3.输入并校验密码7/84.输入取款金额,若该账户的余款小于取款金额,显示错误信息,要求重新输入5.打印取款单,交客户签字6.建立取款事件记录,更新账户信息7.打印存折,用例结束可选路径:1.在第5步客户签字之前的任何时刻,客户可以取消本次取款,用例结束2.第3步校验密码时,如发现密码不一致,则重新输入密码,或用例结束后置条件:如果取款成功,客户账户中的余额被更新(减少),否则余额不变。8/260描述取款用例的活动图[客户不确认][客户确认][余额≥取款额][未冻结][不一致][一致][选择重新输入][选择结束][冻结][余额<取款额]●··●··打印取款单输入客户信息显示错误信息建立取款记录更新账户信息打印存折显示错误信息输入取款金额输入并校验密码显示冻结信息●··