ATM详细设计

更新时间:2024-07-02 18:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程课程设计

ATM系统详细设计报告

1 引言

1.1 编写目的

在完成《ATM自动柜员机系统》概要分析的基础上,对系统进行详细分析、设计,指导系统开发工作。本说明书的预期读者为系统开发人员,测试人员,文档编写人员和项目管理人员。

1.2 背景

系统名称:ATM自动柜员机系统

1.3 定义

列出本文件中用到专门术语的定义和外文首字母组词的原词组。

1.4 参考资料

[1]杨兴凯,《Java面向对象程序设计》,大连:大连理工出版社.2006 [2]陈 明,《软件工程》,北京:中央广播电视大学出版社.2002

[3]王志刚、 江友华,《MySQL高效编程》,北京:人民邮电出版社.2012 [4]张海藩,《软件工程导论》,北京:清华大学出版社.2008

一、ATM系统的系统结构图

软件工程课程设计

二、详细设计

1、 储户登录模块 userLogin()

储户登录模块主要处理储户的登录行为。 模块的输入:储户账号和密码。

模块的处理:系统根据储户的输入检验输入格式是否正确并且到数据库后台相应的记录中查找,如果没有账号或者账号权限不存在或者密码错误则给出相应提示并不予进入。

模块的输出:若账号不存在,提示“账号不存在,请重新输入账号”;若密码错误,提示“密码错误, 请重新输入密码”,如果三次密码输入错误,则冻结账户并修改权限;若储户权限不足,提示“权限不足”,强制退出;账号格式错误,提示“账号格式错误,请重新输入账号”;登录成功,则进入主菜单。

软件工程课程设计

2、 银行职工登录模块 employeeLogin()

银行职工登录模块主要处理管理员或超级用户的登录行为。 模块的输入:管理员或超级用户账号和密码。

模块的处理:系统根据输入的账号到数据库后天相应的记录查找,如果没有账号则给予提示,如果账号存在且密码正确则登录相应的主菜单。

模块的输出:若账号不存在,提示“账号不存在,请重新输入账号”;若密码错误,提示“密码错误, 请重新输入密码”;若管理员权限不足,提示“权限不足”,强制退出。

3、储户操作功能模块 userFrame()

软件工程课程设计

(1) 查询余额 queryRemainMoney() 模块的输入:储户选择查询余额选项。

模块的处理:从数据库相应记录张调出储户的余额记录。 模块的输出:显示该储户账号的余额。

(2) 修改储户密码 updateUserPWD

模块的输入:储户选择修改密码的选项,输入旧密码,两次输入新密码。 模块的处理:检验旧密码是否正确,两次新密码输入是否一致。

模块的输出:旧密码错误提示错误并返回,两次新密码输入不一致给出相应提示并要求重新输入。旧密码正确且两次新密码一致是显示修改密码成功。

(3) 查询交易记录 queryUserRecord

模块的输入:储户选择查询交易记录的选项,输入时间段(默认为注册时间到最后一次交易时间)。

模块的处理:判断输入时间段格式是否正确,根据储户输入的时间段调出相应的交易记录。 模块的输出:时间段输入格式错误提示错误重新输入,正确则显示相应的记录。

软件工程课程设计

(4) 取款 takeMoney()

模块的输入:储户选择取款选项,输入取款金额。

模块的处理:判断储户余额和ATM机余额是否小于取款金额且取款金额是否100的倍数,ATM减少相应的现金,账户余额减少相应的数值

模块的输出:储户余额不足或ATM现金不足则给出相应提示或取款金额不是100的倍数,退回主菜单;现金足够则输出取款成功。

(5) 存款 depositMoney()

模块的输入:储户选择存款选项,输入存款金额。

模块的处理:判断每次存款金额是否100的倍数且不超过1万才能成功存款并修改相应账号的余额

模块的输出:存款金额不是100的倍数或超过1万则要求重新输入,成功则提示成功。

软件工程课程设计

(6) 转账 transferMoney()

模块的输入:储户选择转账选项,两次输入转入账号,输入转账金额。

模块的处理:检验两次转入账号输入是否一致,转出账号余额是否大于转账金额。 模块的输出:两次账号输入不一致或余额不足则返回主菜单,成功则返回成功。

4、管理员操作功能模块

(1) 修改管理员自己账号的密码 updateAdminPWD()

模块的输入:管理员提出修改密码请求,输入旧密码,两次输入新密码。 模块的处理:检验旧密码是否正确,两次新密码输入是否一致。

模块的输出:旧密码错误提示错误并返回,两次新密码输入不一致给出相应提示并要求重新输入。旧密码正确且两次新密码一致是显示修改密码成功。

软件工程课程设计

(2) 修改储户信息 updateUser()

模块的输入:管理员提出修改储户信息的请求,输入储户账号,进行相应信息的修改操作 模块的处理:检验账号是否存在,输入的信息是否合法。

模块的输出:账号不存在或输入信息不合法则提示重新输入,正确则返回成功。

软件工程课程设计

(3) 删除储户信息 deleteUser()

模块的输入:管理员提出删除储户信息的请求,输入需要销户的储户账号、密码。 模块的处理:检验账号输入格式是否正确,账号是否存在,并作相应的删除操作。 模块的输出:格式错误或账号不存在提示重新输入,正确则显示相应储户信息并删除返回删除成功。

(4) 添加新储户 addNewUser()

软件工程课程设计

模块的输入:管理员提出添加储户的请求,输入新储户信息。

模块的处理:判断新账号格式是否正确且账号是否已存在,在数据库中填进相应信息。 模块的输出:账号格式错误或者已存在则要求重新输入,正确则继续填写并返回成功。

(5) 查询储户交易记录 queryRecord()

模块的输入:管理员提出查询储户交易记录的请求,输入要查询的储户账号。 模块的处理:判断账号输入格式是否正确且账号是否存在,调出相应记录。

模块的输出:账号输入格式错误或账号不存在则给出相应提示,正确则显示相应记录。

(6) 统计交易记录 accountRecord()

模块的输入:管理员提出统计交易记录的请求,输入ATM机编号和时间段。 模块的处理:检验机号是否存在,调出相应的记录。

模块的输出:机号不存在则给出相应提示,正确则显示相应记录。

软件工程课程设计

(7) 交易记录备份 copyRecord()

模块的输入:管理员提出交易备份的请求,输入ATM机编号。 模块的处理:检验机号是否存在,调出相应记录并进行备份。 模块的输出:机号出错则给出相应提示,正确则显示成功。

(8) 更新ATM机信息 updateATM()

模块的输入:管理员提出更新储户信息的请求,两次输入ATM机编号。

模块的处理:判断ATM机编号是否存在、两次输入是否一致,进行相应的更新操作。 模块的输出:错误则返回相应的错误信息,正确则返回成功。

软件工程课程设计

5、超级用户操作功能模块

(1) 添加新管理员 addNewAdmin()

模块的输入:超级用户提出添加管理员的请求,输入新管理员信息。 模块的处理:判断新管理员账号是否已存在,在数据库中填进相应信息。

模块的输出:账号已存在则要求重新输入,正确则继续填写并返回成功修改管理员信息。

(2) 修改管理员信息 updateAdmin()

模块的输入:超级用户提出修改管理员信息的请求,输入管理员账号,进行相应信息的修改操作。

模块的处理:检验账号是否存在,输入的信息是否合法。

模块的输出:账号不存在或输入信息不合法则提示重新输入,正确则返回成功。

软件工程课程设计

(3) 删除管理员 deleteAdmin()

模块的输入:超级用户提出删除管理员的请求,输入管理员账号、密码。 模块的处理:检验账号是否存在,并作相应的删除操作。

模块的输出:账号不存在提示重新输入,正确则显示相应储户信息并删除返回删除成功。

ATM系统实例图

软件工程课程设计

顶层用例图

储户操作用例图

软件工程课程设计

用例“查询余额”的描述 用例名称 用例描述 参与者 前置条件 后置条件

查询余额

储户提出查询余额的请求 储户 登录系统

储户可以查询自己账号的余额

储户提交查询余额的请求,查询余额情况,返回成功

基本操作流程

用例“储户修改密码”的描述 用例名称 用例描述 参与者 前置条件 后置条件

储户修改密码

储户提出修改自己的账号的密码的请求 储户 登录系统

储户可以修改自己账号的密码

储户输入自己的账号的原密码,输入新密码,再次输入新密码,返回成功

可选操作流程

1)储户输入原密码,返回原密码错误,取消修改密码操作

基本操作流程

2)储户两次输入新密码,返回两次输入不一致,取消修改操作

用例“储户查询交易记录”的描述 用例名称 用例描述

储户查询交易记录

储户提出查询交易记录的请求

软件工程课程设计

参与者 前置条件 后置条件

储户 登录系统

储户可以查询设定时间段的交易记录

储户输入查询时间段(默认为注册时间到最后一次交易时间),显示交易记录

基本操作流程

可选操作流程

储户输入时间段,返回输入时间段格式错误,要求重新输入

用例“取款”的描述 用例名称 用例描述 参与者 前置条件 后置条件

取款

储户提出取款的请求 储户 登录系统 储户可以取款

储户提交取款请求,选取金额,确认,返回成功,返回主菜单 1)返回账户余额不足,取消取款请求 2)返回ATM机余额不足,取消取款请求

3)储户选取金额后,选择“取消”操作,返回取款主菜单

基本操作流程 可选操作流程

用例“存款”的描述 用例名称 存款 用例描述 参与者

储户提出存款请求 储户

软件工程课程设计

前置条件 后置条件

登录系统 储户可以存款

储户提出存款请求,输入金额,确认,返回成功

储户输入金额不是100的倍数或者超过1万元,则要求重新输入

基本操作流程 可选操作流程

用例“转账”的描述 用例名称 转账 用例描述 参与者 前置条件 后置条件

储户提出转账请求 储户 登录系统 储户可以转账

储户提出转账请求,输入转入账号,再次输入转入账号,输入转账金额,确认,返回成功,返回主菜单

可选操作流程

1)转入账号权限不足,提示“转入账号权限不足”,返回主菜单 2)储户余额小于转出金额,提示“余额不足”,返回主菜单

3)两次转入账号输入不一致,返回主菜单

基本操作流程

软件工程课程设计

管理员操作用例图

用例“修改储户信息”的描述 用例名称 用例描述 参与者 前置条件 后置条件

修改储户信息

管理员提出修改储户个人信息(包括权限、密码)的请求 管理员 登录系统

管理员可以修改储户个人信息

管理员修改储户信息,例如姓名、性别、密码、权限等,提交后返回成功

可选操作流程

用例“添加储户信息”的描述 用例名称

添加储户信息

管理员填写储户信息,提交时返回信息不合法,要求重新填写

基本操作流程

软件工程课程设计

用例描述 参与者 前置条件 后置条件

管理员提出添加储户信息的请求 管理员 登录系统

管理员可以添加储户信息

管理员添加储户信息,例如账号、密码、权限等,提交后返回成功 1)管理员填写储户信息,提交时返回信息不完整,要求继续填写 2)管理员填写储户信息,提交时返回信息不合法,要求重新填写

基本操作流程 可选操作流程

用例“删除储户”的描述 用例名称 用例描述 参与者 前置条件 后置条件

删除储户

管理员提出删除储户的请求 管理员 登录系统

管理员可以删除储户

管理员输入需要销户的储户账号、密码,查询该储户信息,删除储户,返回成功

可选操作流程

1)管理员输入储户账号,提交时返回储户账号不存在,取消删除操作

用例“管理员查询交易记录”的描述 用例名称

管理员查询交易记录

2)管理员输入储户账号,提交时返回账号格式错误,取消删除操作

基本操作流程

软件工程课程设计

用例描述 参与者 前置条件 后置条件

管理员提出查询交易记录的请求 管理员 登录系统

管理员可以查询交易记录

管理员输入储户账号,查询该储户交易记录,返回成功

1)管理员输入储户账号,提交时返回储户账号不存在,取消查询操作

基本操作流程 可选操作流程

2)管理员输入储户账号,提交时返回账号格式错误,取消查询操作

用例“交易记录备份”的描述 用例名称 用例描述 参与者 前置条件 后置条件

交易记录备份

管理员提出备份交易记录的请求 管理员 登录系统

管理员可以备份交易记录

管理员输入ATM机编号,查询其交易记录文件,备份交易记录,返回成功

可选操作流程

用例“统计交易记录”的描述 用例名称

统计交易记录

管理员输入ATM机编号,返回ATM机编号不存在,取消备份操作

基本操作流程

软件工程课程设计

用例描述 参与者 前置条件 后置条件

管理员提出统计交易记录的请求 管理员 登录系统

管理员可以统计ATM机的交易记录

管理员输入ATM机编号和时间段,统计该时间段内该ATM机已被取走、存入、转账金额和储户使用率,返回成功

基本操作流程

可选操作流程

管理员输入ATM机编号,返回ATM机编号不存在,取消统计操作

用例“更新ATM机信息”的描述 用例名称 用例描述 参与者 前置条件 后置条件

更新ATM机信息

管理员提出更新ATM机信息的请求 管理员 登录系统

管理员可以更新ATM机信息

管理员输入ATM机编号,再次输入ATM机编号,确认后更新ATM机余额,返回成功

可选操作流程

1)管理员输入ATM机编号,返回ATM机编号不存在,取消更新操作

用例“修改管理员密码”的描述 用例名称

修改管理员密码

2)管理员两次输入ATM机编号,返回输入不一致,要求重新输入

基本操作流程

软件工程课程设计

用例描述 参与者 前置条件 后置条件

管理员提出修改自己的账号的密码的请求 管理员 登录系统

管理员可以修改自己账号的密码

管理员输入自己的账号的原密码,输入新密码,再次输入新密码,返回成功

基本操作流程

可选操作流程 1)管理员输入原密码,返回原密码错误,取消修改密码操作

2)管理员两次输入新密码,返回两次输入不一致,取消修改操作

超级用户用例图

用例“添加管理员信息”的描述 用例名称 用例描述 参与者

添加管理员信息

超级用户提出添加管理员信息的请求 超级用户

软件工程课程设计

前置条件 后置条件

登录系统

超级用户可以添加管理员信息

超级用于添加管理员信息,例如账号、密码、权限等,提交后返回成功

基本操作流程

可选操作流程 1)超级用户填写管理员信息,提交时返回信息不完整,要求继续填写

2)超级用户填写管理员信息,提交时返回信息不合法,要求重新填写

用例“删除管理员”的描述 用例名称 用例描述 参与者 前置条件 后置条件

删除管理员

超级用户提出删除管理员的请求 超级用户 登录系统

超级用户可以删除管理员

超级用户输入需要删除的管理员账号、密码,查询该管理员信息,删除管理员,返回成功

可选操作流程

1)超级用户输入管理员账号,提交时返回管理员账号不存在,取消删除操作

2)超级用户输入管理员账号,提交时返回账号格式错误,取消操作

基本操作流程

软件工程课程设计

用例“修改管理员信息”的描述 用例名称 用例描述 参与者 前置条件 后置条件

修改管理员信息

超级用户提出修改管理员信息(包括权限、密码)的请求 超级用户 登录系统

超级用户可以修改管理员个人信息

超级用户修改管理员信息,例如姓名、性别、密码、权限等,提交后返回成功

可选操作流程

超级用户填写管理员信息,提交时返回信息不合法,要求重新填写

基本操作流程

ATM系统状态图

软件工程课程设计

三、数据库设计

顶层数据流图

软件工程课程设计

0层数据流图

细化“储户个人信息管理”的数据流图

软件工程课程设计

细化“储户操作功能”的数据流图

软件工程课程设计

细化“管理员操作功能”的数据流图

细化“超级用户操作功能”的数据流图

静态数据:包括系统登录密码,各数据库所在位置,系统分析原始数据

动态数据:包括各数据库内各项显示数据,用户登录信息,系统时间 储户(User)

字段名称 UserAccount UserName UserPWD UserGender UserAddress UserTel 数据类型 Char(19) Varchar(16) Varchar(16) Char(2) Varchar(200) Varchar(13) 中文名称 储户账号 储户姓名 储户密码 储户性别 家庭地址 联系电话 取值 [0-9]{19} [0-9]{6} '男'、'女' 软件工程课程设计

UserRegisterTime UserID UserRemainMoney UserPrivilege Char(20) Varchar(20) bigint Char(16) 注册时间 身份证号码 [0-9]{18} 余额 储户权限 '正常'、'冻结'、'挂失'

职工(Employee)

字段名称 EmpAccount EmpName EmpPWD EmpGender EmpAddress EmpTel EmpID EmpRigisterTime EmpPrivilege 数据类型 Char(10) Varchar(16) Varchar(16) Char(2) Varchar(200) Varchar(13) Varchar(20) Char(20) Char(16) 中文名称 员工账号 员工姓名 员工密码 员工性别 家庭地址 联系电话 取值 [0-9]{8} '男'、'女' 身份证号码 [0-9]{18} 注册时间 员工权限 '只读’、‘可读可写’、‘冻结’ 储户交易记录(Record)

内部名 UserAccount UserName Date UserTakeTimes 数据类型 Char(19) Varchar(16) char(20) char{10} 中文名称 储户账号 储户姓名 交易日期 交易时间 取值 [0-9]{19} 软件工程课程设计

TradeSum TradeTimes Type bigint char(20) char(16) 金额 交易次数 交易类型 ‘取款’、‘存款’、‘装张’

储户交易记录备份(CopyRecord)

内部名 UserAccount UserName Date Time TradeSum TradeTimes Type 数据类型 Char(19) 中文名称 储户账号 取值 [0-9]{19} ‘取款’、‘存款’、‘装张’ Varchar(16) 储户姓名 char(20) char{10} bigint char(20) char(16) 交易日期 交易时间 交易金额 交易次数 交易类型

ATM信息(ATM_Record)

字段名称 ATM_ID ATMRemainMoney ATMTakeMoney ATMDepositMoney ATMTransferMoney BeUseTimes 数据类型 中文名称 Char(10) ATM机号 bigint bigint bigint bigint bigint ATM机余额 储户取走金额 储户存入金额 储户转账金额 ATM机的使用次取值 [0-9]{8} 软件工程课程设计

数 管理员(Admin)

字段名称 AdminAccount AdminName AdminPWD AdminGender AdminAddress AdminTel AdminID AdminRigisterTime AdminPrivilege 数据类型 Char(10) Varchar(16) Varchar(16) Char(2) Varchar(200) Varchar(13) Varchar(20) Char(20) Char(16) 中文名称 员工账号 员工姓名 员工密码 员工性别 家庭地址 联系电话 取值 [0-9]{8} '男'、'女' 身份证号码 [0-9]{18} 注册时间 员工权限 '只读’、‘读写’、‘冻结’

超级用户(SuperUser)

字段名称 SuperUserAccount SuperUserName SuperUserPWD SuperUserGender SuperUserAddress 数据类型 Char(10) Varchar(16) Varchar(16) Char(2) Varchar(200) 中文名称 员工账号 员工姓名 员工密码 员工性别 家庭地址 取值 [0-9]{8} '男'、'女'

软件工程课程设计

SuperUserTel SuperUserID Varchar(13) Varchar(20) 联系电话 身份证号码 [0-9]{18} 注册时间 员工权限 '只读’、‘可读可写’、‘冻结’ SuperUserRigisterTime Char(20) SuperUserPrivilege Char(16)

数据类之间的关系图:

五、对象设计

系统对象设计模型:

软件工程课程设计

本文来源:https://www.bwwdw.com/article/oe0.html

Top