资源描述
产品文档
概要设计文档
产品版本
密级
文档编号
V123
内部
产品名称
ATM取款机
共18页
ATM取款机
概要设计阐明书
撰写:
吴昊,杨雪,刘博,何雪英
日期:
-10-30
审核:
日期:
批准:
日期:
目录
1. 引言 4
1.1 编写目 4
1.2 背景 4
1.3 参照资料 4
2. 总体设计 4
2.1 需求规定 4
2.1.1 功能规定: 4
2.1.1.1 ATM电子开户 5
2.1.1.2账户登录 5
2.1.1.3密码修改 5
2.1.1.4 余额查询 5
2.1.1.5 自动存款 5
2.1.1.6自动取款 5
2.1.1.7自动转账 6
2.1.1.8交易明细查询 6
2.1.1.9退卡 6
2.1.2 输入输出规定: 6
2.1.3 数据管理能力规定: 6
2.1.4故障解决规定: 7
2.1.5 精度规定: 7
2.1.6时间特性规定: 7
2.1.7灵活性规定: 7
2.2 运营环境 8
2.2.1设备 8
2.2.2支持软件 8
2.2.3接口 8
2.2.4控制 8
2.3 基本概念设计与解决流程(总体工作流程图) 9
2.4 构造(功能模块划分) 11
2.5 功能需求与程序关系 12
2.6 人工解决过程 12
2.7 尚未解决问题 13
3. 接口设计 13
3.1 顾客接口 13
3.2 外部接口 13
3.3 内部接口 13
4. 运营设计 15
4.1 运营模块组合 15
4.2 运营控制 16
5. 程序有关算法设计 16
6. 系统出错解决设计 16
6.1 出错信息 16
6.2 补救办法 17
6.3 系统维护设计 17
(后记:在张明教师带领下,通过咱们小构成员配合,通过查询各种资料,咱们逐渐完善了这份概要分析阐明书。在这个过程中,咱们体会到了团队合伙强大力量,而这份设计就是人们心血结晶和团队精神有力见证。) 18
1. 引言
1.1 编写目
此概要设计书阐述对ATM取款机系统设计考虑,涉及取款机系统基本解决流程、取款机系统组织构造、模块划分、功能分派、接口设计、运营设计、数据构造设计和出错解决设计等,为程序详细设计提供基本。
1.2 背景
软件名称:ATM取款机
任务提出者:西安石油大学计算机学院
开发者:杨雪,吴昊,何雪英,于少华,王国君,刘博。
顾客:为与ATM取款机软件开发有联系决策人,开发组人员以及使用该系统顾客。
使用计算机网络:本项目使用西安石油大学计算机机器以及各开发者本人计算机进行编程。
1.3 参照资料
1.《C程序设计》 谭浩强 主编 清华大学出版社
2.《软件工程导论第三版》 张海藩主编 清华大学出版社
2. 总体设计
2.1 需求规定
2.1.1 功能规定:
2.1.1.1 ATM电子开户
顾客可自行依照系统提示完毕银行账户注册。注册时账户信息只涉及密码,账户号由系统自动产生。顾客注册信息涉及基本信息涉及姓名、性别、证件、电话、地址。
2.1.1.2账户登录
顾客可依照系统提示输入账户号与密码登录到ATM系统进行后续操作。密码错误超过三次即冻结账户。
2.1.1.3密码修改
顾客在登入ATM系统后可随时更改账户密码,密码宽度不得超过6位,且只限于数字。
2.1.1.4 余额查询
顾客在登入ATM系统后可查询当前账户余额状况。
2.1.1.5 自动存款
顾客在登入ATM系统后即可自助存款,存入货币面额仅限100元,一次性存入总金额不得超过元。
2.1.1.6自动取款
顾客在登入ATM系统后即可自助取款,顾客输入取款面金额必要是50元或100元整数倍数,一次性取款金额不得超过元。
2.1.1.7自动转账
顾客在登入ATM系统后即可向其他账户进行转账操作,转账金额无上下线。
2.1.1.8交易明细查询
顾客在登入ATM系统后即可查询账户历史交易记录。明细查询时顾客可自行输入起始时间与截止时间,也可选取系统提供查询周期。
2.1.1.9退卡
交易结束,请及时取卡。
2.1.2 输入输出规定:
1)顾客名:字母数字或下划线,且首位不得为数字。
2)密码:6位整数。
3)取款及转账金额:整型数据。
4)户源,目的账户:即字母数字或下划线,且首位不得为数字。
5)顾客需求事务:通过人机交互界面进行选取。
2.1.3 数据管理能力规定:
1)该软件需要进行数据管理重要为顾客信息,需要创立一种表,重要记录如顾客名,顾客密码,顾客余额,顾客类型,顾客开户日期,顾客操作记录等。
2)进度是记录当前顾客所处环境,如余额数目,存储金额,交易明细等。这些可以通过数据库保存。
2.1.4故障解决规定:
软件故障:系统运营过程中也许在输入密码后并无任何提示信息,或者查询详单时无输出信息,内存泄漏等。这些都给顾客带来不必要麻烦,故在程序设计中,代码编写以及测试时候都要仔细关注这些方面问题。
硬件故障:某些硬件故障无法解决,应与有关部门及时联系,解决问题。
2.1.5 精度规定:
取款机各个按钮要精确映射到取款机某个键。在主菜单界面中,通过控制相应按钮切换功能,按功能键确认选取。本软件规定顾客输入密码顾客名为字母数字或下划线,且首位不得为数字。输入密码为6位整数。取款及转账金额为整型数据。户源,目的账户为数据库中存在顾客名,即字母数字或下划线,且首位不得为数字。
2.1.6时间特性规定:
a)响应时间:
顾客插入银行卡后,按系统提示输入相应信息,系统确认完毕后,自动进入主菜单界面。在主菜单界面中,如果顾客选取修改密码,先输入旧密码,在很短时间内再输入新密码;如果顾客选取了存款,系统在短时间内确认金额,进行交易;如果顾客选取了取款,则输入金额后系统在较短时间内弹出纸币;如果顾客选取了其她选项(如交易明细查询),要短时间内显示相应信息。顾客交易完毕,则选取退卡,请在三十秒内拿走银行卡,否则后果自负。
b)更新解决时间:
在每次顾客结束交易后,请系统及时进行信息更新。
c)数据转换和传送时间:
顾客本次进入系统,要与近来一次保存进度一致。在进行各项交易中,顾客时间记录要精确,不能有延迟和提前。
d)解题时间:
不能浮现让顾客费解信息。
2.1.7灵活性规定:
a) 操作系统:该软件当遇到非预期输入数据或操作时,会进行报错解决,并规定顾客重新进行输入数据或操作。
b)同其她软件接口变化:考虑到接口变化,尽量将代码模块化,多提供某些接口类,提高代码可移植性。
c)运营环境变化:由于代码输入到不同取款机,其虚拟机也许有所不同,因此编写代码时要考虑运营在不同平台上问题,即代码平台可移植性。
d)筹划变化或改进:项目过程中也许要更改方案,如更换背景,更换按钮风格,或者调节每次系统输出信息时间等。这些就要依赖于代码可扩展性,可以不用更改诸多代码。
2.2 运营环境
2.2.1设备
ATM取款机。
2.2.2支持软件
不需要其她软件支持
2.2.3接口
外部接口方面:
本软件同外部无软件接口,
取款机存在按键与屏幕映射方面接口。
内部接口方面:
各模块之间存在着内部联系,有些模块之间存在着信息共享关系。
2.2.4控制
由人工按菜单提示输入信号,软件对其进行解决。
2.3 基本概念设计与解决流程(总体工作流程图)
1. 账号:在银行中,事务应用单个账号。账号可觉得各种类型,但是至少涉及支票和存款。每个顾客可以拥有各种账号。
2. ATM:一种工作站终端,使得顾客可以使用钞票卡在ATM上进行自己事务解决。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和解决信息之后,将钞票通过ATM提供应顾客。
3. 银行:一种金融机构,负责保存顾客账号信息,执行授权卡通过ATM网访问账号。
4. 银行计算机:银行拥有计算机,同ATM网和银行自己钞票工作站进行交互。银行可以拥有自己内部计算机网解决账号,但是咱们只关怀同网络进行交互计算机。
5. 钞票卡:每张卡提供应一种银行客户,授权客户可以使用ATM机访问自己账号。每张卡包括一种银行代码和一种卡号,银行代码依照信用卡国际原则进行编码,卡号拟定卡可以访问账户。一张卡不能访问客户所有账户。每张卡只能有一种持卡人,但是各种复本也许存在,因此必要考虑从不同ATM机同步使用相似卡行为。
6. 客户:拥有银行一种或者各种账号人。客户可以涉及一种人或者各种人,或者是公司。相似人,拥有不同银行账号被以为是不同客户。.
7.C语言是国内外广泛使用一种计算机语言,C语言功能丰富,表达力强,使用灵活以便,应用面广,目的程序效率高,可移植性好,即具备高档语言长处,又具备低档语言许多特点。既可以用来编写系统软件,也可以用来编写应用软件。它语言简洁、紧凑,使用以便、灵活;运算符丰富;数据类型丰富;具备构造化控制语句;语法限制不太严格,程序实际自由度大。
事务:对单个客户账号单个完整操作祈求。
ATM
电子开户
账户登录
密码修改
余额查询
自动存款
自动取款
自动转账
交易明细查询
退卡
输入基本信息
返回主菜单
输入密码
返回主菜单
输入原密码
返回主菜单
输入新密码
显示信息
显示余额
返回主菜单
放入需要存钞票
返回主菜单
添加成功并且显示添加金额
输入需要取金额
返回主菜单
请取走钞票
输入转账账号和金额
转账成功
返回主菜单
2.4 构造(功能模块划分)
欢
迎
模
块
用
户
模
块
主菜单模块
个人服务模块
信息查询模块
a、 欢迎模块
运用C语言exe文献,实现开始欢迎语句。需通过等待载入,进入下一界面。
b、 顾客模块
用a,b,c三个选项,总控程序选取,以及接受并响应顾客输入,实现各级菜单间切换。
主菜单上显示项:开户服务,登陆服务,退出。
c、 主菜单模块
实现主界面与各个子菜单显示。
d、 个人服务模块
1> 客户存款模块
用于客户存款,响应客户存款需求。个人账户上金额加入
2> 客户取款模块
用于客户取款,响应客户取款需求。个人账户上金额减去
3> 客户转账模块
用于客户转帐,响应客户转帐需求。涉及到两个账户,其实就是下标不同金额一种减去一种加上
e、 信息查询模块
实现客户查询余额功能。从构造体数组里面调用存金额那个成员
f、 密码修改模块
输入新密码、再次输入新密码 ,判断两次密码与否相似
2.5 功能需求与程序关系
此内容用一张如下矩阵图阐明各项功能需求实现同各块程序分派关系:
欢迎
模块
顾客
模块
主菜单
模块
个人服务
模块
信息查询
模块
电子开户
√
账户登录
√
密码修改
√
余额查询
√
√
自动存款
√
√
自动取款
√
√
自动转账
√
√
交易明细查询
√
退卡
√
2.6 人工解决过程
使用ATM开始之后菜单选取,顾客账户和密码以及使用过程中各种功能操作均需要顾客输入,由程序进行响应。
2.7 尚未解决问题
1、在顾客登入ATM系统后无法进行查询账户历史交易记录,明细查询时顾客可自行输入起始时间与截止时间以及可选取系统提供查询周期功能。
2、提高开发人员编程能力和对软件工程思想结识;
3、尽快掌握C 语言用法。
4、设计合理性和使用性有待优化。
3. 接口设计
3.1 顾客接口
顾客可以通过键盘按键进行ATM程序操作。
主界面中可输入英文字母后回车键,来选中不同功能项,以此来选取不同子菜单功能。
进入到各个子菜单后,重要是通过键盘输入来实现相应项选取,或者进行主菜单与子菜单之间切换,通过回车键进行详细菜单项选用定位。
3.2 外部接口
本程序同外部无软件接口。
3.3 内部接口
1、本程序所从属上一层模块构造图:
2、本程序从属下一层模块:
本小组考虑到本程序已经是属于ATM管理系统系统层次ATM事物解决层,因此没有下一层模块。
3、与本程序直接关联C语言知识
欢迎模块:void huanying()
开户服务:struct kaihu
登录服务:void denglu()
主菜单模块:void main()
void fuwu()
void cunkuan()
void qukuan()
void chaxun()
4、a) 顾客模块:调用主菜单模块,开户服务以及退出。
b) 主菜单模块:调用个人服务模块,密码查询模块,信息查询模块。
4. 运营设计
4.1 运营模块组合
4.2 运营控制
在主界面选取功能时,顾客可以通过键盘,来选取不同功能,通过回车键实现对选中项确认或者是返回。
5. 程序有关算法设计
1. 顾客服务模块(含:开户、登陆、退出)
开户:输入姓名、密码、再次密码、开户金额(不低于1块钱)
填写完没问题后分派账号。
(姓名、密码、开户金额、账号 存入构造体数组里面)
登陆:输入 账户、密码 判断账户与否存在,密码与否对的。
登陆后进入到个人服务界面。
退出:退出ATM 就是退出程序
2. 主菜单模块(含:存款、取款、转账、密码修改、查询余额)
存款:个人账户上金额加上。
取款:个人账户上金额减去。
转账:涉及到两个账户 其实就是下标不同 金额一种减去一种加上。
密码修改:输入新密码、再次输入新密码 判断两次密码与否相似
在用strcpy()函数 将新密码 当前账户下标元素密码成员
并且判断与否修改成功。
查询余额:就是从构造体数组里面调用存金额那个成员
3.系统运用主菜单控制子菜单形式,定义函数void xuanze(),通过顾客选取来调用有关功能函数,以实现功能操作。其中还使用for 循环语句,if else语句,case 选取语句,尚有构造体等等一系列C语言知识。
6. 系统出错解决设计
6.1 出错信息
用一览表形式阐明每种也许出错或故障状况浮现时,系统输出信息形
式、含义及解决办法,表格如下:
故障或错误
系统输出形式
解决办法
死机
画面不能动,键盘失效
重启机器或修理
登陆信息错误
弹出提示
输入对的信息
机器没电
黑屏
退出程序
本程序与系统不兼容
系统不能运营
不做任何解决
顾客不小心退出
提示顾客与否确认退出
响应顾客反馈信息
未完毕存,取款,转帐整个程序
无法进行资金交易
重新开始进行程序
6.2 补救办法
故障浮现后也许采用变通办法涉及:
ATM程序在编写和运营过程中,由于设备和人为问题而导致数据信息丢失,可以采用某些可移动设备(如U盘、移动硬盘等)周期性保存数据信息。
6.3 系统维护设计
为了系统维护以便,程序内部设计中作出安排,如:在程序中专门安排用于系统检查与维护检测点和专用模块,程序编码时添加专供调试使用某些测试模块程序。
(后记:在张明教师带领下,通过咱们小构成员配合,通过查询各种资料,咱们逐渐完善了这份概要分析阐明书。在这个过程中,咱们体会到了团队合伙强大力量,而这份设计就是人们心血结晶和团队精神有力见证。)
展开阅读全文