ATM程序设计需求分析

更新时间:2023-07-26 21:10:01 阅读量: 实用文档 文档下载

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

实验报告

课程名称: 软件工程课程设计 实验项目名称: ATM系统分析需求说明书 班级与班级代码: 实验室名称(或课室): 专 业: 软件工程 任课教师: 开发团队: 学 号:

姓 名:

实验日期: 2012年 12月 12 日

广东商学院教务处 制

软件工程课程设计

第 2 组需求分析说明书

目 录

第一章 引言......................................................... 4

1、目的 ................................................................ 4 2、背景 ................................................................ 4 3、参考文献 ............................................................ 4 4、术语 ................................................................ 4

第二章 项目概述..................................................... 5

1、被开发软件的一般概述 ................................................ 5 2、被开发的软件功能 .................................................... 5 3、实现语言 ............................................................ 6 4、用户的特点 .......................................................... 6 5、一般约束 ............................................................ 6

第三章 需求分析..................................................... 7

1、具体描述 ............................................................ 7 2、功能需求 ............................................................ 8 3、数据流图 ........................................................... 12 4、数据字典 ........................................................... 15

第四章 数据库设计.................................................. 17

1、逻辑设计 ........................................................... 17 2、物理设计 ........................................................... 19

第一章 引言

1、目的

为了使用户工作更快捷便利省时,故设计此软件系统;为了明确用户的需求并较好的与开发人员进行沟通,使用户与开发人员双方对软件需求取得共同理解基础上达成的协议,特编写此文档,并作为整个软件开发的基础。

2、背景

这个项目开发的是ATM系统。该系统是为银行服务的。一套的高效稳定安全的ATM系统,可以显著提高银行现有系统运行效率,加快银行入世后竞争,提高储户满意度。该项目由XXX老师提出,项目负责人是XXX,小组成员为XXX,XXX.系统分析、系统设计、程序设计、编写代码、资料整理等由三位小组成员相互配合协调共同完成。

3、参考文献

[1] 李龙澍、郑诚,《软件工程课程设计》,北京:机械工业出版社,2010. [2] 周苏、王文、吴艳,《软件工程学实验》,北京:科学出版社,2005. [3] 张海藩,《软件工程导论》,北京:清华大学出版社,2008.

[4] 杨兴凯,《Java面向对象程序设计》,大连市软件园路80号:大连理工大学出版社、

大连理工大学电子音像出版社,2006.

4、术语

银行 :一个金融机构,负责保存顾客的账号信息。可以经授权访问账号。 客户 :本软件系统的开发提出方,即郭玉柱老师。

卡 :储蓄卡。银行发行的可以在ATM终端交易的一种储蓄凭证介质。 储户 :在ATM系统上交易的银行账户拥有者。认为一个持卡人就是一个储户。 ATM :Auto Teller Machine,分为两部分组成。一部分是ATM服务器,另一部

分是ATM终端。终端负责和银行卡持有者进行交互,ATM服务器负责处理交易。一个ATM服务器可以同时连接多个ATM终端。

账号 :一张银行卡对应一个一个账户,卡号与账号之间是一对一关系。

转账 :通过ATM机将款项从付款账户划转到收款账户完成货币收付的一种银

行货币结算方式

销户 :管理员通过ATM服务器撤消储户的帐号,储户的私人信息,清空帐户,

向储户退还余款。

第二章 项目概述

1、被开发软件的一般描述

这个项目的开发是为银行了提供一套高效稳定的终端服务平台,为储户存款,取款,查询等等提供便利。本软件采用桌面模式架构,运用Windows XP或Windows 7软件开发运行平台,利用Java JDK、Eclipse3.7开发工具,代码使用JAVA语言实现,使用MYSQL或MSSQL Server数据库管理工具。

2、被开发软件的功能

该软件是一个24小时实时服务系统,可以划分为两个子系统,一个是服务银行储户的,即是持卡人的交易系统。主要的功能包括:存款、取款、修改密码、转账、打印凭条等;另一个是服务银行工作人员,可以使用本系统管理ATM交易参数,统计交易信息,打印各类汇总报表,根据ATM提示及时配款,并处理ATM机所出现的各种问题(增加账户、销户、密码找回、吞卡处理。冻结账户、解冻账户等)。 本系统其基本框架为:

3、实现语言

列出所采用的编程语言:Java语言

4、用户特点

本软件的用户主要是银行的储户,储户必须是非文盲,大多都具有使用ATM经验。由于我们的系统要实现的一个重要目标就是有足够的界面友好性和易操作性。所以,即使是一个对ATM系统完全陌生的储户,也可以在交易界面的提示下顺利完成储户所需要的服务操作。

另外一部分的用户是银行工作人员,其依赖本系统管理ATM交易参数,统计交易信息,打印各类汇总报表,根据ATM提示及时配款,并处理ATM机所出现的各种问题。

5、一般约束

本软件的主要约束是时间期限。在经费、开发人员及设备方面没有太多消耗;但要在一定的环境下运行,即要有基本的运行设备,设备的要求为一般的PC机即可。

第三章 需求分析

1、 基本描述

ATM终端可以接受一张可识别的银行储蓄卡,通过储户身份验证后,同储户进行各种交互,处理储户要求,执行各类操作,为储户服务。系统要求保持一定时间内的交易记录,可以处理多个ATM终端并发访问(待讨论)。同时,系统应每天自动汇总各种交易数据,生成报表。系统24小时工作,无操作时播放待机动画广告。系统具有设备自检提示报错功能,可以提示凭条打印机已坏,ATM终端钱柜缺钱,当储户错误操作时会进行冻结操作等。

如图2 ATM工作示意图:

图2 ATM系统工作示意图

我们所用的的信息包括:

(1)用户信息:

用户信息分为两部分:储户信息,管理员信息。

储户信息:储户姓名,储户账户(可以多个),储户电话,证件类型,证件号码,

储户密码。

管理员信息:登录名,密码,权限。

(2)交易信息

卡信息:卡号,账号,密码,卡类型,卡金额 ATM信息:ATM编号,ATM余额,

交易流水信息:交易类型,交易代码,账号,交易时间,吞卡原因

2、功能需求

针对****银行对该软件的需求,做如下功能设计,在给出基本框架之后,我们将逐一介绍各部分。根据用户的不同身份分为两个模块,每个模块包含了不同的功能:

管理模块:管理维护功能,配款功能,统计和打印报表功能,处理冻结账户功能,处理吞卡功能。

储户模块:存款功能,取款功能,修改密码功能,转账功能,查询余额功能,查询流水功能。

(1)储户模块

①功能需求简介 功能需求1:

描述:ATM终端无人操作时,显示待机动画 输入:无

处理:ATM显示待机界面 输出:显示待机界面

功能需求2:

描述:ATM接受卡,检验卡是否可进行交易 输入:ATM接收用户插卡 处理:检验卡是否可识别处理 输出:不可识别退卡;否则继续。

功能需求3:

描述:校验密码是否正确 输入:储户输入正确格式密码

处理:校验当前密码与存储的账户密码是否一致

输出:不一致则提示密码错误,请重新输入

功能需求4:

描述:卡密码连续三次输入错误,吞卡 输入:用户连续第三次输入密码 处理:校验密码

输出:错误则吞食磁卡,提示“您的卡连续三次密码错误,已被吞没。请联系客

服******

功能需求5:

描述:磁卡认证完成,进入主交易界面 输入:储户输入正确密码 处理:校验密码 输出:显示主交易界面

功能需求6:

描述:ATM现金不足,系统应对取款储户进行提示,不显示取款选项,可退出

交易 输入:无

处理:检查ATM现金数 输出:返回至ATM主交易界面

功能需求7:

描述:ATM凭条打印机故障,系统应对存款和转账储户进行提示,可退出交易 输入:无

处理:检查ATM凭条打印机

输出:故障则提示客户是否继续,可返回至主交易界面

功能需求8:

描述:ATM认定的存款金额客户不认可

输入:认证成功完成,输入需要存储的金额,将钞币放入ATM机 处理:硬件检验钞币数量,提示用户确认,储户输入“否” 输出:退出钞币,返回主界面

功能需求9: 描述:ATM存款

输入:ATM认定存款金额,储户“确认” 处理:在账号上记录存入金额

输出:打印存款凭条,显示“交易成功”,返回主交易界面

功能需求10:

描述:取款金额大于账户余额 输入:输入取款金额

处理:判断输入金额和账户余额

输出:取款余额大,则提示储户“余额不足”,返回主界面

功能需求11:

描述:取款数额超过当日取款最大额度 输入:储户输入取款金额

处理:判断输入金额和当日该账户ATM取款额之和是否大于当日取款最大额度 输出:如超出则提示储户“超过当日取款最大额度”,重新输入或返回

功能需求12: 描述:取款

输入:取款合法金额 处理:从账户记录取走的金额 输出:吐钱

功能需求13:

描述:取款交易成功,打印取款凭条 输入:储户输入“打印”或者“不打印”

处理:若是“打印”则打印机打印凭条,否则什么也不做,返回主界面 输出:无

功能需求14: 描述:修改密码 输入:储户输入新密码 处理:两次新密码判断是否一致

输出:一致则重置密码,显示“修改成功”;否则退出修改密码

功能需求15: 描述:转账

输入:转账账号,转账金额

处理:判断两次输入账号是否一致,判断金额是否超过本账户现有金额,是则本账号下账,他账号上账

输出:显示“转账成功”,或者退出转账

②功能需求简介

功能需求16:

描述:校验密码是否正确

输入:管理员输入正确的式密码

处理:校验当前密码与管理员的账户密码是否一致 输出:不一致则提示密码错误,请重新输入

功能需求17: 描述:冻结账户

输入:要冻结账户的账号 处理:将该账户设为冻结账户

输出:显示冻结账户成功,禁止取款

功能需求18: 描述:解冻账户

输入:要解冻的账户的账号 处理:将该账户设为正常账户 输出:显示解冻账户成功

功能需求19: 描述:挂失账户

输入:要挂失的账户的账号 处理:将该账户设为挂失账户

输出:显示挂失账户成功,禁止任何操作

功能需求20: 描述:解挂账户

输入:要解除挂失的账户的账号 处理:将该账户设为正常账户 输出:显示解除挂失账户成功

功能需求21: 描述:添加账户

输入:要添加的账号,密码由储户提供 处理:将该账户添加为正常账户 输出:显示添加账户成功

功能需求22: 描述:销户

输入:要消除的账号

处理:将该账户删除,但保留相关交易信息 输出:显示删除账户成功

(3) 管理员模块

①功能需求简介

功能需求23:

描述:添加管理员账户

输入:要添加的账号,密码由管理员提供 处理:将该账户添加为管理员账户 输出:显示添加管理员账户成功

功能需求24:

描述:消除管理员账户 输入:要消除的账号

处理:将该账户删除,但保留相关交易信息 输出:显示删除账户成功

3、数据流图

(1)ATM管理系统顶层数据流图

*******0层******

按照ATM管理系统与外部环境的关系确定顶层数据流图中的外部实体有三个,分别为:储户,超级用户,管理员。

(2)ATM管理系统第1层数据流图

*******1层******

按照对问题域和用户需求的理解,本系统有“储户要求处理”,“管理员

要求处理”,“添加管理员用户”三种子功能,再按照这三种子功能细化“ATM管理系统”这个加工,得到1层数据流图

(2) ATM管理系统第2层数据流图

*******2层******

分析1层数据流图中的三个加工,采用的功能分解方法,可以继续对“储户要求处理”,“管理员要求处理”这两个功能进行细化。

a图 细化“储户要求处理”的数据流图

b图 细化“管理员要求处理”的数据流图

4、 数据字典

数据字典是关于数据的信息的集合,也就是对数据中包含的所有元素的定义的集合,它为软件开发人员提供数据库设计的参考,是用户了解系统的一个必备工具。

数据元素的数据字卡片如下:

名字:储户信息 别名:

描述:记录储户相关信息

定义:储户信息=用户名+用户ID+银行卡ID+身份证+性别+出生年月 用户名=4{字母}20 用户ID=10{数字}10

银行卡ID=20{数字|字母}20 身份证=16{数字}16 性别=[男|女] 男=1 女=0

出生年月=年+月 位置:储户信息表 名字:银行卡信息

别名:

描述:记录银行卡相关信息

定义:银行卡信息=银行卡ID+银行卡余额+银行卡状态+当日取现额+银行卡密码+开卡日期

银行卡ID=20{数字|字母}20 银行卡余额=0{数字}9999999 银行卡状态=[冻结|挂失|正常] 冻结=0 挂失=2 正常=1

当日取现额=0{数字}5000 银行卡密码=6{数字|字母}20

开卡日期=年+月+日+小时+分+秒 位置:银行卡信息表

名字:超级用户|管理员信息 别名:

描述:记录超级用户或管理员的信息

定义:超级用户|管理员信息=用户ID+用户类别+密码

用户ID=8{数字}8

用户类别=[超级用户|管理员] 超级用户=1 管理员=0

密码=10{数字&字母}20 位置:超级用户|管理员信息表

名字:日志文件表 别名:

描述:记录ATM系统上的操作

定义:日志文件=日志ID+银行卡ID+操作描述 日志ID=8{数字}8

银行卡ID=20{数字|字母}20 操作描述=2{字符}20 位置:日志文件

第四章 数据库设计

1、逻辑设计

(1) ER图

根据前期的需求分析为ATM系统设计的4个表:储户信息表,银行卡信息表,超级用户|管理员信息表,日志信息表。使用powerdesign设计给ATM系统数据库的ER图,

(2)关系模式

此为储户实体的关系模式

储户信息(用户名,用户ID,银行卡ID,身份证,性别,出生年月)

此为银行卡实体的关系模式

银行卡信息(银行卡ID,银行卡余额,银行卡状态,当日取现额,银行卡密码,开卡日期)

此为超级用户|管理员实体的关系模式

超级用户|管理员信息(用户ID,用户类别,密码)

此为日志信息表的关系模式

日志信息表(日志ID,银行卡ID,操作描述)

2、物理设计

设计表

储户信息表

软件工程课程设计

第 2 组需求分析说明书

Log_ID(主键) Interer Card_ID Varchar Card_Description varchar

20 40

是 是 是

日志 ID 银行卡 ID 操作描述

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

Top