1、ATM存取款系统概要设计说明书(面向对象) ATM存取款系统 概要设计说明书 设计人:xx 2015.12.12 1引言 4 1.1编写目的 4 1.2背景 4 1.3 项目定义 4 1.4参考资料 5 2总体设计 6 2.1需求规定 6 2.2运行环境 6 2.3基本设计概念和处理流程 7 2.3.1登陆功能 7 2.3.2存款
2、8 2.3.3取款 9 2.3.4转账 10 2.3.5修改密码 11 2.4结构 12 2.5功能需求与程序的关系 13 2.6人工处理过程 13 3接口设计 14 3.1外部接口 14 3.2用户接口: 15 3.3内部接口 19 4运行设计 20 4.1运行模块组合 20 4.2运行控制 20 4.3运行时间 20 5系统数据结构设计 20 5.1逻辑结构设计要点 20 5.2物理结构设计要点 20 5.3数据结构与程序的关系 21 6系统出错处理设计 22 6.1出错信息 22 6.2补救措施 22 6.3系统维护设计 22 第 2
3、2 页 共 22 页 1引言 1.1编写目的 明确系统的数据结构与软件结构,给出内部软件与外部系统部件之间的接口定义,各个软件的模块的功能说明,数据结构的细节以及具体的装配要求,通过阅读此文档可以对ATM系统的设计有了初步的构想,程序开发人员能够快速进入代码实现,在ATM系统的基本功能实现的基础上,提高性能指标。 1.2背景 待开发软件系统的名称:ATM存取款系统 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 任务提出者:西南交通大学电气工程学院童晓阳老师 开发者:xx 用户:为与取款机软件开发有联系的决策人,开发组人员以及使用该系统的用户 1.3
4、 项目定义 客户:拥有银行的一个或多个帐号的人。可以是一个人或多个人,或者是公司。相同的人,拥有不同的银行帐号被认为是不同的落户。 ATM:ATM是Automatic Teller Machine 的缩写,意为自动柜员机。是一种高度精密的机电一体化设备,利用磁卡或智能IC卡储存用户信息并通过加密键盘(EPP)输入密码然后通过银行内部网络验证并进行各种交易的金融自助设备。 事务:对单个客户帐号的单个完整的操作请求,一般是指要做的或所做的事情。 储蓄卡:储蓄卡是银行为储户提供金融服务而发行的一种金融交易卡。它的主要功能是能在联网ATM和储蓄所存、取款及在联网的POS上进行消费,但不具备透支
5、功能。 1.4参考资料 [1] 项目经核准的计划任务书、合同及上级机关的批文 [2] 项目开发计划 [3] 需求规格说明书 [4] 文档所引用的资料、采用的标准或规范 [5] 作者:张海藩 书名:软件工程导论(第五版)出版社:清华大学出版社 出版时间:2008-2 [6] 作者:王珊 萨师煊 书名:数据库概论 出版社:高等教育出版社 出版时间:2006-5 [7] 作者:吴健 郑潮 汪杰 书名:UML基础与ROSE建模案例 出版社:人民邮电出版社 出版时间:2008-7 2总体设计 2.1需求
6、规定 功能 输入 处理 输出 存款 存款金额 金额加到数据库的账号中 存款成功 取款 取款金额 金额从数据库的账号中减掉 取款成功 查询 余额 无 读取数据库的账号数据 账号余额 修改 密码 2次新密码 确认 新密码更新到数据库 修改成功。 转账 转账账户 和金额 金额加到数据库另外一账号,并从自账号减掉 转账成功 打印 凭证 无 列出最近的操作和金额 详细信息 进入/ 退出 无 进入或退出系统 欢迎进入/谢谢使用 (1)基本功能要求: 以在ATM机上存款、取款、查询余额、转账、修改密码、打印凭条、退卡等基础
7、功能。 (2)基本性能需求: 快速性:处理业务的时间不得超过30秒否则取消事务退卡; 准确性:吐钞、存抄的数目正确; 稳定性:频繁的进行多项业务系统仍能正常运行,外部环境发生小范围内变动系统不受影响; 安全性:系统中所有涉及敏感信息如登录口令等,服务器端应设置严格安全访问控制策略,从而保证系统安全性和操作责任的可追溯性。 2.2运行环境 硬件环境:CPU:1GHZ 以上 RAM:256兆以上 HARD DISK:2G以上 软件环境:应用服务器的操作系统环境为windowsXP以上的 数据库为Oracle或SQL server2005 此系统运行在ATM机上 2.3基本
8、设计概念和处理流程 2.3.1登陆功能 2.3.2存款 2.3.3取款 2.3.4转账 2.3.5修改密码 2.4结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系. ATM系统 登录模块 事务模块 退出模块 输入密码
9、 存 取款 查询余额 修改密码 转账 打印凭据 退卡 插卡 欢 迎 模 块 用 户 模 块 登录模块 事务模块 退出模块 2.5功能需求与程序的关系 功能名称 事务模块 退出模块 登录模块 登录 √ 存款 √ 取款 √ 转账 √ 查询余额 √ 打印凭证 √ 修改密码 √ 退出系统 √ 2.6人工处理过程 管理员对账户进行管理并定期维护、删除、更新,已经没有实际意义的数据,保证数据的良好存储,以免造成数据的冗余。
10、 3接口设计 3.1外部接口 表3-1 ATM机硬件接口 ATM机 读卡口 键盘 吐钱机 显示屏 打印口 读入/吐出卡 输入密码和 金额 吐出钱/存入钱 显示所有界面 打印凭条 表3-2 服务器的硬件接口 项目名称 描述 补充说明 操作系统 Windows xp/win7 要求有相应的Pack CPU 2G之上 Hard Disk 无特殊要求 VGA 推荐分辨率1024x768 CDROM 无 MOUSE 无 表 软件接口 软件名称 描述
11、 补充说明 操作系统 Windows2000 Server、XP 、2007 客户安装,要求有相应的Pack。 应用服务器 IIS5.0之上,安装tomcat 5.0以上 数据库 Oracle 客户安装 客户端 ATM机 数据库系统最大登录用户数为50000,ATM机最大并发用户不限。 3.2用户接口: 用户拥有一张和ATM机交互的储蓄卡。同时界面是系统与客户交互的主要接口,界面要求从多角度进行分析与设计、文字与内容表达清楚一致、提供可视反应,提供声音反应、友好的表达方式使客户更容易接受,初步设计界面如下: (1)登录界面:由输入用户名、密码
12、的文本框和登陆按钮组成。 (2)取款界面 编辑框:用于输入取款金额; 取款按钮:进行取款。 信息显示区: 用于显示当前金额; (3)存款界面: 编辑框:用于输入存款金额; 存款按钮:进行存款; 信息显示区: 用于显示当前金额;查询余额界面同。 (4)转账界面: 编辑框1: 输入转账金额 编辑框2: 输入要转账到的用户 转账按钮:进行转账 信息显示区: 用于显示当前
13、金额; 单选框:选择转账类型 (5)修改密码界面: 编辑框1:用于输入新密码 编辑框2:再次确认新密码 提交按钮:进行修改 (6)打印凭证界面: 信息显示区: 显示最近的操作记录; 提交按钮:进行打印 (7)退出界面: 退出按钮:退出系统 信息显示区:“成功退出,谢谢使用” 3.3内部接口 系统中的各模块之间的接口、调用关系,以及模块间的数据传递关系如下所示: 模块编号 模块名称 备注 ATM1 登录 登录模块 ATM2 存款 事务模块 ATM3 取款 事务模块 ATM4 转账 事务模块 ATM5 修
14、改密码 事务模块 ATM6 打印凭证 事务模块 ATM7 查询余额 事务模块 ATM8 退出系统 退出模块 4运行设计 4.1运行模块组合 模块命名方式按照相应模块结合特性制定。命名方式为ATM。 4.2运行控制 本软件控制流程:程序运行,等待用户输入,根据用户的输入调用各子模块 4.3运行时间 各模块运行时间均应控制在1-2秒内(其中大部分为响应用户的动作)。由于系统采用消息驱动方式,将有效提高计算机的利用率。 5系统数据结构设计 5.1逻辑结构设计要点 给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录
15、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。 5.2物理结构设计要点 数据的物理结构用存储表、链表等描述。 5.3数据结构与程序的关系 数据结构 后台模块 账户模块 其他模块 登录 修改密码 存款 取款 转账 查询余额 打 印 凭 证 代收手机费 退出 ID 指定 账号 输入 输 入 输入 密码 输入 输 入 当前金额 读 读 读 读 读 历史记录 读
16、 话费 读 转账类型 指定 金额变动 输 入 输 入 输 入 6系统出错处理设计 6.1出错信息 故障或错误 系统输出形式 处理方法 死机 画面不能动,键盘失效 重启机器或修理 登陆信息错误 弹出提示 输入正确信息 机器没电 黑屏 退出程序 本程序与系统不兼容 系统不能运行 不做任何处理 用户不小心退出 提示用户是否确认退出 响应用户的 反馈信息 未完成存,取款, 转帐整个程序 无法进行资金交易 重新开始进行程序 6.2补救措施 故障出现后可能采取的变通措施包括: ATM程序在编写和运行的过程中,由于设备和人为问题而造成的数据信息丢失,可以采用一些可移动的设备(如U盘、移动硬盘等)周期性的保存数据信息。 6.3系统维护设计 系统的维护问题包括两个方面: (1)技术方面 ①使用较新的维护技术;②管理员管理好数据库;③维护人员维护硬件。 (2)人员方面 ①维护协议;②思想认识;③工作流程及方法。 为了系统维护的方便,程序内部设计中作出安排,如:在程序中专门安排用于系统的检查与维护的检测点和专用模块,程序编码时添加专供调试使用的一些测试模块程序。






