ATM系统设计相关文档:
1. ATM系统问题陈述:https://blog.csdn.net/visionzheng/article/details/80710412
2. ATM系统词汇表:https://blog.csdn.net/visionzheng/article/details/80710555
3. ATM系统用况图及文档:https://blog.csdn.net/visionzheng/article/details/80710629
4. ATM系统分析类图及文档:https://blog.csdn.net/visionzheng/article/details/81023182
5. ATM系统顺序图及文档:https://blog.csdn.net/visionzheng/article/details/81023252
6. ATM系统活动图及文档:https://blog.csdn.net/visionzheng/article/details/81023375
7. ATM系统设计类图及文档:https://blog.csdn.net/visionzheng/article/details/81023469
ATM系统设计类图及文档
一、图形文档
1.主要类类图
2.界面类交互类图
二、文字说明
1. 类图综述
两个类图分别描述了ATM系统中实体类间的联系和界面之间的交互情况。
(1)实体类类图,包含了用户、客户、技术人员、银行职员、ATM机、凭条六个实体类。其中,客户、技术人员、银行职员继承自用户。用户,即客户,银行职员,技术人员都可以在ATM系统进行登录、获取帮助的操作,用户还可以进行存款、取款、转账、查询余额、修改密码的操作,技术人员可以对ATM系统进行维护和维修操作,银行职员可以进行资金调度操作。
(2)界面类类图,包含了主界面、存款界面、取款界面、转账界面、查询余额界面、修改密码界面、帮助界面、打印凭条界面、资金调度界面、维护界面、维修界面共十一个界面类。其中主界面根据所选择的不同操作(除打印凭条操作)跳转到各个对应的操作界面。在取款界面、存款界面、转账界面进行打印凭条操作可跳转到打印凭条界面。
2.类描述
(1)实体类:
类名 | User 用户 |
类的整体说明 | ATM系统的使用者,包括了客户、技术人员、银行职员三种角色 |
属性说明 | +name:名字 String +ID:身份证号 String +bankCardNumber:银行卡账号 String +password:银行卡密码 String |
操作说明 | +login登录():用户通过自己身份对应的账号和密码登录到系统 参数列表: Identity:身份 String account:账号 String password:密码 String 返回参数: loginMessage:登录成功与否的提示信息 String |
+exit退出():用户选择退出ATM系统 参数列表:无 | |
关系说明 | 是Customer客户类、technicalPersonnel技术人员类、bankClerk银行职员类所继承的一般类;与Login登录控制类关联 |
类名 | Customer 客户 |
类的整体说明 | ATM系统的用户角色之一,拥有自己的银行卡,执行与自己账户有关的操作 |
属性说明 | +name:名字 String +ID:身份证号 String +bankCardNumber:银行卡账号 String +password:银行卡密码 String |
操作说明 | +login 登录():客户通过银行卡账号和密码登录到系统 参数列表: bankCardNumber:银行卡账号 String password:银行卡密码 String 返回参数: loginMessage:登录成功与否的提示信息 String |
+help 查看帮助():用户选择查看帮助信息的功能,系统调取帮助信息 参数列表:无 返回参数: helpMessage:帮助信息 String | |
+deposit 存款():用户选择存款功能,系统进行存款的一系列操作 参数列表: cashAmout:存入现金的数量 Long 返回参数: depositMessage:存款成功与否的信息 Stirng currentBalance:存款后当前账户的余额 Long | |
+withdrawals 取款():用户选择取款功能,系统进行取款的一系列操作 参数列表: withdrawalsAmount:取款金额Long withdrawalsPassword:取款密码String 返回参数: withdrawalsMessage:取款成功与否的信息(包含密码验证的信息) String | |
+transfer 转账():用户选择转账功能,系统进行转账的一系列操作 参数列表: targetAccount:对方账号String transferAmount:转账金额Long transferPassword:转账密码String 返回参数: transferMessage:取款成功与否的信息(包含了验证合法性的信息和密码验证的信息) String | |
+queryBalance 查询余额(): 参数列表:无 返回参数: balance:账户余额Long | |
+passwordChange 修改密码(): 参数列表: oldPassword:旧密码String newPassword:新密码String 返回参数: passwordChangeMessage:修改密码成功与否的信息(包括密码验证信息)Stirng | |
+slipPrint 打印凭条(): 参数列表: userOperationRecord:用户操作记录 String 返回参数: slip:凭条对象 Slip | |
+exit 退出():客户选择退出ATM系统 参数列表:无 返回参数:无 | |
关系说明 | 继承自User用户类;与PasswordChange修改密码控制类、Deposit存款控制类、Withdrawals取款控制类、Transfer转账控制类、QueryBalance查询余额控制类、Help查看帮助控制类、SlipPrint打印凭条控制类关联 |
类名 | TechnicalPersonnel 技术人员 |
类的整体说明 | ATM系统的用户角色之一,对ATM系统进行维护和维修 |
属性说明 | +administratorNumber:技术人员编号String +administratorPassword:技术人员密码 String +name:名字 String +ID:身份证号 String +bankCardNumber:银行卡账号 String +password:银行卡密码 String |
操作说明 | +login 登录():技术人员通过技术人员编号和技术人员密码登陆系统 参数列表: administratorNumber:技术人员编号String administratorPassword:技术人员密码 String 返回参数: loginMessage:登录成功与否的提示信息 String |
+maintenance 系统维护():技术人员进行维护操作,ATM系统进行状态转换 参数列表:无 返回参数: currentState:系统当前状态信息 String | |
+repair 系统维修():技术人员进行维修操作,ATM系统进行状态转换 参数列表:无 返回参数: currentState:系统当前状态信息 String | |
+exit 退出():技术人员选择退出ATM系统 参数列表:无 返回参数:无 | |
关系说明 | 继承自User用户类;与Maintenance系统维护控制类、Repair系统维修控制类关联 |
类名 | BankClerk 银行职员 |
类的整体说明 | ATM系统的用户角色之一,作为资金调度人员,在ATM出现现金不足或过多的情况时进行资金调度 |
属性说明 | +bankClerkNumber 银行职员编号String +bankClerkPassword:银行职员密码 String +name:名字 String +ID:身份证号 String +bankCardNumber:银行卡账号 String +password:银行卡密码 String |
操作说明 | +login 登录():银行职员通过银行职员编号和银行职员密码登陆系统 参数列表: bankClerkNumber:银行职员编号 String bankClerkPassword:银行职员密码 String 返回参数: loginMessage:登录成功与否的提示信息 String |
+moneyScheduling 资金调度():银行职员进行资金调度操作 参数列表: depositORwithdrawals:选择存款或者取款 Boolean moneyAmount:存入或取出的金额数 Long 返回参数: Balance:当前ATM机中剩余的现金数额 Long | |
+exit 退出():银行职员选择退出ATM系统 参数列表:无 返回参数:无 | |
关系说明 | 继承自User用户类;与MoneyScheduling资金调度控制类关联 |
类名 | Slip 凭条 |
类的整体说明 | 记录用户本次操作的各种信息 |
属性说明 | +message_ID 凭条编号 String |
操作说明 | 无 |
关系说明 | 与SlipPrint打印凭条控制类存在关联关系 |
类名 | ATM机 |
类的整体说明 | 银行在不同地点设置的一种机器,利用银行卡让客户可以透过机器进行提款、存款、转账等服务。技术人员可以对ATM机进行维护维修操作。银行职员可以对ATM机进行资金调度操作。ATM机连接银行数据库接口。 |
属性说明 | +ATM_ID ATM编号 String |
+ATM_State ATM状态 String | |
+ATM_Balance ATM剩余现金数额 Long | |
+HelpMsg 系统帮助信息 String | |
操作说明 | +userOperationRecord 记录用户操作记录():ATM机记录用户本次操作信息,方便查看,也为打印凭条服务做准备 参数列表: userOperationMessage 用户本次操作信息 String 返回参数:无 |
+passwordAuthentication 密码验证():ATM机通过银行数据库接口对用户输入的各种密码进行验证,确认密码的正确性 参数列表: bankCardNumber:银行卡账号 String password:各项操作对应所需的密码 String 返回参数: passwordAuthenticationMessage:密码验证结果 String | |
+accounInformationtModification 账户信息修改():对账户的信息进行修改,例如账户密码的修改,存款、取款、转账等操作下对账户余额的修改 参数列表: projectName:要修改的项目的名称 String newValue:要设置的新值 String/Long 返回参数: modificationMessage:修改密码时返回修改密码成功与否的信息 String balance:存款、取款、转账等操作下返回操作后账户的余额 Long | |
+cashOut 吐出现金():客户进行取款操作或银行职员在资金调度时选择取出现金的情况下,根据输入取款金额,ATM机吐出对应的现金 参数列表: cashAmount:取款金额 Long 返回参数: balance:取款操作后账户余额或者资金调度后ATM机剩余现金数额 Long | |
+loadCard 读卡():ATM系统读取客户插入的银行卡信息 参数列表:无 返回参数: bankCardNumber:银行卡账号 String | |
+refundCard 退卡():用户选择退出银行卡,ATM机吐出银行卡 参数列表:无 返回参数:无 | |
+drawBack 吞卡():当用户操作违规或身份认证出现问题时,ATM系统对用户银行卡进行吞卡操作 参数列表:无 返回参数:无 | |
+stateTransiton 维护维修状态转换():当技术人员在进行维护/维修操作时,ATM机会根据操作进行自身状态的调整,为相应的操作做好准备 参数列表: operationName:操作名称 String 返回参数: ATM_State:当前状态信息,用于判断是否可以开始进行操作 String | |
+accountDataSearching 账户信息查询():进行存款、取款、转账、查询余额、修改密码等操作时,密码验证、合法性验证时,ATM机通过连接的银行数据库接口获取账户的各项信息,为各项操作服务 参数列表: projectName:所要查询的项目名称 String 返回参数: projectMessage:所查询的项目的信息 String | |
+getATMBalance 获取ATM剩余现金数额():银行职员进行资金调度时需先查看ATM机中剩余的现金数额,ATM机返回自己的ATM_Balance值 参数列表:无 返回参数: ATM_Balance:当前ATM机剩余现金数额,银行职员据此判断进行存款还是取款 String | |
+getHelpMsg 获得系统帮助信息():返回系统帮助信息 参数列表:无 返回参数: HelpMessage:ATM系统帮助信息 String | |
关系说明 | 连接着银行数据库接口;与Login登录控制类、Deposit存款控制类、Withdrawals取款控制类、Transfer转账控制类、PasswordChange修改密码控制类、QueryBalance查询余额控制类、Help查看帮助控制类、SlipPrint打印凭条控制类、Maintenance系统维护控制类、Repair系统维修控制类、MoneyScheduling资金调度控制类关联 |
(2)界面类:
类名 | 主界面 |
类的整体说明 | 用户登录后进入的ATM系统主操作界面 |
属性说明 | 无 |
操作说明 | +输入密码():登录时用户与输入密码 参数列表: password:账户密码 String 返回参数:无 |
+确认登录():用户确认登录ATM系统 参数列表: *客户登录: bankCardNumber:银行卡账号 String password:账户密码 String *技术人员登录: bankClerkNumber:银行职员编号 String bankClerkPassword:银行职员密码 String *银行职员登录 bankClerkNumber 银行职员编号 String bankClerkPassword 银行职员密码 String 返回参数:无 | |
+显示登录信息():显示用户登录是否成功的信息 参数列表: loginMessage:用户登录是否成功的信息 String 返回参数:无 | |
+修改密码():客户选择修改密码功能 参数列表:无 返回参数:无 | |
+存款():客户选择存款功能 参数列表:无 返回参数:无 | |
+取款():客户选择取款功能 参数列表:无 返回参数:无 | |
+转账():客户选择转账功能 参数列表:无 返回参数:无 | |
+查询余额():客户选择查询余额功能 参数列表:无 返回参数:无 | |
+帮助():客户选择查看帮助信息功能 参数列表:无 返回参数:无 | |
+维护():技术人员选择维护功能 参数列表:无 返回参数:无 | |
+维修():技术人员选择维修功能 参数列表:无 返回参数:无 | |
+资金调度():银行职员选择资金调度功能 参数列表:无 返回参数:无 | |
+退出():用户选择退出ATM系统 参数列表:无 返回参数:无 | |
关系说明 | 与修改密码界面、转账界面、存款界面、取款界面、查询余额界面、帮助界面、维护界面、维修界面、资金调度界面交互关联 |
类名 | 修改密码界面 |
类的整体说明 | 客户进行修改密码操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +输入旧密码():修改密码前用户需输入旧密码证明身份 参数列表: oldPassword:旧密码 String 返回参数:无 |
+显示密码验证结果():显示客户密码输入是否正确的结果 参数列表:无 返回参数: passwordAuthenticationMessage:密码验证结果 String | |
+输入旧密码(): 修改密码时用户需输入要设置的新密码两次 参数列表: newPassword:新密码 String 返回参数:无 | |
+验证密码一致性():比较用户两次输入的密码是否一致 参数列表: newPassword1:新密码1 String newPassword2:新密码2 String 返回参数: sameOrNot:密码是否一致的结果 String | |
+退出():客户选择退出修改密码功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
类名 | 转账界面 |
类的整体说明 | 客户进行转账操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +输入转账金额和对方账号():转账时客户需先输入转账金额和对方账号 参数列表: transferAmount:转账金额 Long targetAccount:对方账号 String 返回参数:无 |
+显示合法性验证结果():显示对用户输入的金额是否合法的验证结果 参数列表: transferAmount:转账金额 Long 返回参数:无 | |
+输入转账密码():转账时客户需输入自己账户的转账密码验证身份 参数列表: transferPassword:转账密码 String 返回参数:无 | |
+显示密码验证结果():显示客户转账密码输入是否正确的结果 参数列表:无 返回参数: passwordAuthenticationMessage:密码验证结果 String | |
+打印凭条():客户选择打印凭条功能 参数列表: operationMessage:操作信息 String 返回参数:无 | |
+退出():客户选择退出转账功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面、打印凭条界面存在交互关联关系 |
类名 | 存款界面 |
类的整体说明 | 客户进行存款操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +存入现金():客户选择存款操作时需存入现金 参数列表:无 返回参数: cashAmount:存入现金数额 Long |
+显示存款后账户余额():用户完成存款操作后,界面显示出当前账户余额 参数列表: currentBalance:当前账户余额 Long 返回参数:无 | |
+打印凭条():客户选择打印凭条功能 参数列表: operationMessage:操作信息 String 返回参数:无 | |
| +退出():客户选择退出存款功能 参数列表:无 返回参数:无 |
关系说明 | 与主界面、打印凭条界面存在交互关联关系 |
类名 | 取款界面 |
类的整体说明 | 客户进行取款操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +输入取款金额():客户进行取款时需输入取款金额 参数列表: withdrawalsAmount:取款金额 Long 返回参数:无 |
+输入取款密码():客户进行取款时需输入取款密码验证身份 参数列表: withdrawalsPassword:取款密码 String 返回参数:无 | |
+显示密码验证结果():显示客户取款密码输入是否正确的结果 参数列表:无 返回参数: passwordAuthenticationMessage:密码验证结果 String | |
+吐出现金():ATM机根据操作吐出对应数额的现金 参数列表: withdrawalsAmount:取款金额 Long 返回参数:无 | |
+打印凭条():客户选择打印凭条功能 参数列表: operationMessage:操作信息 String 返回参数:无 | |
+退出():客户选择退出取款功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面、打印凭条界面存在交互关联关系 |
类名 | 查询余额界面 |
类的整体说明 | 客户进行查询余额操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +显示账户余额():客户选择查询余额时界面显示客户所操作账户的余额信息 参数列表: bankCardNumber:银行卡账号 Sting 返回参数: balanceMessage:账户余额信息 String |
+退出():客户选择退出查询余额功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
类名 | 打印凭条界面 |
类的整体说明 | 客户进行修改密码操作时的ATM系统界面 |
属性说明 | 无 |
操作说明 | +显示要打印的凭条信息():显示出此时用户的操作信息,即打印的凭条将显示的信息 参数列表: operationMessage:操作信息 String 返回信息:无 |
+确认打印凭条():客户确认打印信息无误后,确认进行打印凭条的操作 参数列表: operationMessage:操作信息 String 返回信息:无 | |
+退出():客户选择退出打印凭条功能 参数列表:无 返回参数:无 | |
关系说明 | 与存款界面、取款界面、转账界面存在交互关联关系 |
类名 | 帮助界面 |
类的整体说明 | 客户选择查看帮助信息功能时,系统显示帮助信息的界面 |
属性说明 | 无 |
操作说明 | +显示帮助信息():界面显示出系统的帮助信息 参数列表: helpMessage:帮助信息 String 返回参数:无 |
+退出():客户选择退出帮助功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
类名 | 维护界面 |
类的整体说明 | 技术人员进行维护操作时的系统界面 |
属性说明 | 无 |
操作说明 | +显示ATM状态信息():技术人员进行维护操作时,ATM系统需进入维护状态,结束操作时需恢复正常状态。界面实时显示ATM系统的状态 参数列表: currentState:ATM系统当前状态 String 返回列表:无 |
+退出():技术人员选择退出维护功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
类名 | 维修界面 |
类的整体说明 | 技术人员进行维修操作时的系统界面 |
属性说明 | 无 |
操作说明 | +显示ATM状态信息():技术人员进行维修操作时,ATM系统需进入维修状态,结束操作时需恢复正常状态。界面实时显示ATM系统的状态 参数列表: currentState:ATM系统当前状态 String 返回列表:无 |
+退出():技术人员选择退出维修功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
类名 | 资金调度界面 |
类的整体说明 | 银行职员进行资金调度操作时的系统界面 |
属性说明 | 无 |
操作说明 | +显示当前ATM机中存有的现金数额():界面显示出当前ATM机中存有的现金数额 参数列表:无 返回参数: currentBalanceMessage:当前ATM机存有的现金数额信息 String |
+存入现金():当银行职员选择存入现金时,应向ATM机中存入现金 参数列表:无 返回参数: depositAmount:存入的现金数额 Long | |
+输入取款金额():当银行职员选择取出现金时,应输入取款金额 参数列表: withdrawalsAmount:取款金额 Long 返回参数:无 | |
+吐出现金():当银行职员选择取出现金时,ATM机根据用户输入的取款金额吐出对应数额的现金 参数列表: withdrawasAmount:取款金额 Long 返回参数:无 | |
+退出():银行职员选择退出资金调度功能 参数列表:无 返回参数:无 | |
关系说明 | 与主界面存在交互关联关系 |
3.关联描述
(1)主要类图:
①User用户类与Login登录控制类关联
②Customer客户类与PasswordChange修改密码控制类、Deposit存款控制类、Withdrawals取款控制类、Transfer转账控制类、QueryBalance查询余额控制类、Help帮助控制类、SlipPrint打印凭条控制类关联
③TechnicalPersonnel技术人员类与Repair系统维修控制类、Maintenance系统维护控制类关联
④BankClerk银行职员类与MoneyScheduling资金调度控制类关联
⑤ATM机类连接着银行数据库接口;与Login登录控制类、Deposit存款控制类、Withdrawals取款控制类、Transfer转账控制类、PasswordChange修改密码控制类、QueryBalance查询余额控制类、Help帮助控制类、SlipPrint打印凭条控制类、Maintenance系统维护控制类、Repair系统维修控制类、MoneyScheduling资金调度控制类关联
⑥Slip凭条类与SlipPrint打印凭条控制类关联
(2)界面类图:
主界面与修改密码界面交互关联
主界面与存款界面交互关联
主界面与取款界面交互关联
主界面与转账界面交互关联
主界面与查询余额界面交互关联
主界面与帮助界面交互关联
主界面与维护界面交互关联
主界面与维修界面交互关联
主界面与资金调度界面交互关联
打印凭条界面与取款界面交互关联
打印凭条界面与存款界面交互关联
打印凭条界面与转账界面交互关联
4. 继承描述
一般类 | 特殊类 |
User用户类 | Customer客户类 |
User用户类 | TechnicalPersonnel技术人员类 |
User用户类 | BankClerk银行职员类 |
5. 依赖描述
类图中不存在依赖关系。
6. 其他与类图有关的说明
无。