ATM机问题域及词汇表:https://blog.csdn.net/ashdkl/article/details/80510951
ATM机用况图:https://blog.csdn.net/ashdkl/article/details/80511045
ATM机领域类图:https://blog.csdn.net/ashdkl/article/details/80511191
ATM机顺序图:https://blog.csdn.net/ashdkl/article/details/80511253
一.文字说明
1. 类图综述
类图是对系统所抽象出来的实体的属性行为的描述以及实体与实体间的关联关系。该设计类图主要描述了ATM机的实体类与操作类之间的关系,说明了ATM机的一些基本功能,如登录操作,转账,存款,取款,打印凭条,查询余额及银行职员对ATM机的维护等功能。
2.类描述
2.1、Client_Cardinfo类是银行用户卡信息的实体类,存储着有关用户账号内的一些基本信息,用于客户登录ATM机进行账户上的操作。
类名:Client_Cardinfo
属性:ID(String,public),Password(long,private)
多重性:都为(1..1)
操作:setPassword(long):修改密码;
getPassword():long获取密码以便登录表进行数据更新及校验
关系:与BankClerk_Cardinfo聚合成Cardinfo_form类,与ATM_Client为二元关联
2.2、BankClerk_Cardinfo类是银行工作人员的卡信息的实体类,存储着工作人员的登录信息
类名:BankClerk_Cardinfo
属性:ID(String,public),Password(long,private)
多重性:都为(1..1)
操作:setPassword(long):修改密码;
getPassword():long获取密码以便登录表进行数据更新及校验
关系:与Client_Cardinfo聚合成Cardinfo_form类,与ATM_bankclerk为二元关联
2.3、Cardinfo_form类为登录信息表,存储着客户和工作人员卡信息的账户和密码
类名:Cardinfo_form
属性:ID(String,public),Password(long,private)
多重性:都为(1..1)
操作:setPassword(long):修改密码;
getPassword():long获取密码以便登录表进行数据更新及校验
login:boolean :进行账户和密码的匹对校验,看是否成功登录;
关系:由Client_Cardinfo和BankClerk_Cardinfo类聚合成
2.4、ATM_Client类是客户成功登录后进行功能操作的界面,可以进行查询余额,取款,存款,转账,打印凭条的功能选择。
类名:ATM_Client
属性:balance(int,public),date(String,public)
多重性:都为(1..1)
操作:getbalance():int:查询余额;
transfer():boolean:进入转账的操作界面
remove():boolean :进入取款的操作界面;
deposit():boolean:进入存款的操作界面
print_reciept():boolean :进入打印凭条的操作界面;
关系:与Client_Cardinfo类、transfer类、remove类,deposit类,print_reciept类各为二元关联关系
2.5、transfer类是客户进行转账的操作界面类,进行转账的操作及操作信息的记录
类名:transfer
属性:newID(String,public)
多重性:1..1
操作:setNewID():输入需要转账的账户;
transfer_money():boolean:进行转账操作
record():记录本次操作的信息及修改相关账户余额;
关系:与ATM_Client类、bankDB类各为二元关联关系
2.6、remove类是客户进行取款界面操作的类,判断操作合法性及修改记录操作后的账户信息
类名:remove
属性:balance(int,public)
多重性:1..1
操作:Ifenough():判断账户内是否有足够本次操作的余额,若不合法就直接结束;
remove_money():进行取款操作
record():记录本次操作的信息及修改相关账户余额;
关系:与ATM_Client类、bankDB类各为二元关联关系
2.7、deposit类是客户进行存款界面操作的类,判断操作合法性及修改记录操作后的账户信息
类名:deposit
属性:balance(int,public)
多重性:1..1
操作:openentry():打开入钞口进行入钞,判断钞票的合法性及入钞口正常与否
deposit_money():进行存款操作
record():记录本次操作的信息及修改相关账户余额;
关系:与ATM_Client类、bankDB类各为二元关联关系
2.8、print_reciept类是客户进行打印凭条界面操作的类
类名:print_reciept
属性:无
操作:export():输出客户的操作凭条
2.9、BankDB类是银行数据库的实体类,记录使用者的相关操作,日期及账户余额等信息。
类名:BankDB
属性:ID(String,public),Password(long,private),date(String,private),balance(int,public),opertaion(String,public)
操作:getdate():获取相关操作的时间
关系:与print_reciept类、deposit类、remove类、transfer类、ATM_bankclerk类各为二元关联
2.10、ATM_bankclerk类是银行工作人员进行ATM机的硬件维护操作时的控制类
类名:ATM_bankclerk
属性:date(String,public),count(int,public)
操作:Maintenance():进行硬件维护
record():记录本次操作的信息及修改相关纸币数目
关系:与BankClerk_Cardinfo类和BankDB类为二元关联