ATM存取款管理系统需求分析报告.docx
《ATM存取款管理系统需求分析报告.docx》由会员分享,可在线阅读,更多相关《ATM存取款管理系统需求分析报告.docx(33页珍藏版)》请在冰点文库上搜索。
ATM存取款管理系统需求分析报告
软件项目设计与开发实训二
《ATM存取款管理系统》需求分析报告、设计报告
学院:
软件学院
课程名称:
软件项目设计与开发实训
专业班级:
2012级软件工程班
学生姓名:
官润平学号:
201224133256
学生姓名:
黄艺学号:
201224133258
学生姓名:
黄焕然学号:
201224133245
指导教师:
熊芳敏
完成时间:
2015年5月11日
需求分析:
1概述
1.1引言
为了更好的挖掘ATM存取款管理系统的各种需求,先由需求分析人员与客户、银行职员等进行调查,再由需求分析人员将需求进行分析对系统提出完整、准确、清晰、具体的要求。
这也使得在软件开发和测试时能够更深入的了解客户的需求,把技术难点和可能遇到的难点提出,尽早解决,可见对软件需求的完全理解对于软件开发工作的成功是至关重要的.本说明书的预期读者为银行客户、业务或需求分析人员、测试人员、用户文档编写者。
1。
2项目背景
银行各项业务一直深受客户好评。
但随着银行的业务不断发展,遍及全国各大中小城市,营业厅的扩建速度远跟不上客户量的增加,客户存取款排队等候时间也越来越长,并已渐渐出现抱怨,为了改善这种状况,减少客户等待时间,重新获得客户好评,应用计算机的快速计算及高效率,ATM存取款管理系统诞生。
1.3定义、术语、缩写词和略语
ATM存取款管理系统:
本软件是有官润平、黄艺、黄焕然组合的小组开发的存取款管理系统,实现人机交互进行存款、取款、转账等的软件.
需求:
是用户为解决问题或者达到想要所需的条件或功能等,系统或系统部件要满足一定的要求和标准,规范化的编写正式文档所要具备的条件、权能。
需求分析:
先由开发人员与项目提出方、承担方和用户方讨论软件的所要具备的功能,再有需求分析员或技术人员提炼、分析和仔细审查收集到的需要,从而找出其不足或没有什么实在意义的地方,进而完善软件系统功能。
1。
4参考资料
【1】张海藩。
软件工程导论(第六版).北京:
清华大学出版社,2013年
【2】毛玉萃,邱少明.软件项目实践案例教程.北京:
清华大学出版社,2014年
【3】纪禹希等.ASP.NET程序开发实用教程。
北京:
清华大学出版社,2013年
【4】KarlE。
Wiegers软件需求(第二版)北京:
清华大学出版社,2014年
二需求分析
2。
1使用的语言、开发环境等选择
2。
1.1可供选择
编程语言的选择:
鉴于小组各成员的自身实力,可供选择的语言有C语言、C++语言、JAVA语言、C#语言.
编程模式的选择:
可以基于客户端做一个C/S端或者基于网站做一个C/S端。
数据库的选择:
目前主流的数据库有SqlServer、MySql、Oracle、SqlLite。
操作系统的选择:
有Linux和Windows系统可供选择。
UI的实现:
JFrame、Winform、WPF、MFC。
各种逻辑的模型:
使用MicrosoftVisio实现。
编程工具:
VS、Myeclipse、C++6。
0.
2。
1.2选择结果
经过选择小组的讨论,因本系统规模相对较小,适合原型开发模式。
综合时间,成本、效益评估,最终讨论出的方案如下:
语言:
作为第四代语言的翘楚,C#的快速开发已经得到市场的认可,我们认为C#语言很适合做我们的实现语言。
编程模式:
C/S客户端更容易上手操作,选择C/S客户端作为载体。
数据库:
鉴于我们实现的客户端是基于Windows操作系统的,所以我们选择SqlServer2008作为我们的数据保存工具。
操作系统的选择:
目前大部分人的操作系统都是Windows,故Windows当仁不让是我们的首选。
UI:
VS的强大和方便已经深入人心,VS是最好的选择环境,故使用Winform实现界面,用PS和画图等工具美化界面。
编程工具:
VS.
2。
2性能需求
(1)数据精确度
卡号:
由系统自动生成的6位整数。
密码:
要求为6位整数。
在存/取款过程中,本系统只支持交易金额为100的倍数,每次最多存/去1000元.
ATM存取款机最高金额为20万.
电话号码要求为11位整数
存取款和转账操作时间要求为60秒
(2)时间特性
如果在存/取款和转账交易中响应时间超过60秒,系统提示“操作已过时”,并自动退出到登陆界面.
记录客户操作信息的时间有年月日时分,每当客户进行存取款和转账时便会记录当时的时间。
2。
3功能需求
本ATM系统最高金额为20万,当系统没钱时登录界面提示“系统当前不允许取款”,此时客户不允许取款;超额也给出提示“系统当前不允许存款",此时客户不允许存款。
该系统由自动取款机、中央计算机组成。
客户先根据各台ATM的使用状态选择进行操作的ATM,之后在ATM登录界面输入卡号(限制为6位),再输入密码(限制6位数字),若卡号密码正确则进入取款机操作界面,若连输3次错误密码,则卡被冻结,要求客户拿身份证去营业厅解冻。
中央计算机管理员管理管理,登录需要职工号和密码。
1。
客户有查额、取款、存款、账户信息、转账这5个权限:
(1)查额界面用户可以查看自己的余额。
(2)存/取款界面,有一分钟的时间进行操作,超时则系统自动返回登录界面,此界面有提示账户余额,以及每次存取款的最高额,考虑到ATM方便计算金额以及“吐、吞”钱.用户输入存/取款额要求整百数.存款时若ATM机钱库已满20万,则返回多出的钱并提示“ATM机钱库已满”,取款时若余额不足则不出钱并给提示“您的余额不足”,若是ATM机钱库的钱不足,也不出钱并提示“ATM机金额不足".
(3)账户信息界面显示客户卡号、姓名、余额。
(4)转账界面有一分钟的时间进行操作,超时则系统自动返回登录界面。
在规定时间内要求输入对方卡号,由系统检测该卡号,不存在则提示,存在则弹出该卡号的客户名,客户同意后就输入转账金额进行转账,转账成功后给予提示,并显示余额。
2.中央计算机管理员有给开号(卡号(由系统自动生成6位数字)、姓名、性别(男、女)、身份证号、余额、住址、联系电话)、ATM无钱或超额时提示、ATM机金额操作(给ATM加减钱和初始化ATM金额)、密码解冻、修改客户密码、查看客户操作信息(卡号、姓名、操作内容、操作时间)以及查看客户信息等权限.
2。
4系统功能图
根据以上的功能需求描述,得到以下的系统功能图
图2-1系统功能图
2.5业务流程图
用户操作首先选择ATM机号,然后用正确的口令密码登陆,进行功能选择界面执行相应的操作选项,要求是每个功能必须在60秒内完成,存取款金额为100的倍数,每次存取款不可以超过10000。
流程如下图所示:
图2-2系统流程
2。
6工作示意图
本系统有三个ATM,客户可从三个ATM中选择一个进行业务操作。
一个中央计算机,保存三台ATM机的工作状态、金额和客户的各项业务操作,中央计算机由管理员进行管理,管理员在得到客户允许时便可以管理客户。
大体工作示意图如下:
图2-3工作示意图
2。
7约束
(1)考虑到操作安全,存取款以及转账时时间限定为1分钟.
(2)为了不法分子拿别人卡进行取款转账等操作,当密码输错三次时,卡就被冻结,要求客户带身份证去营业厅进行密码解冻。
(3)卡号为系统自动生成的6位数字,登录密码要求为6为数字。
(4)ATM机的最高金额为20万,超过则系统给予提示,此时只能取款。
(5)ATM机没有钱,则不允许取钱.
(6)ATM机满20万时,不允许存款。
2。
8将来可能提出的需求
(1)介于安全考虑,卡号绑定手机号,客户取款和转账时,要让客户先输入保密问题答案或ATM系统自动给客户手机发验证码,客户输入正确验证码后才可以继续进行取款和转账操作.
(2)每次完成所有金额操作之后,即退出系统后,系统会发送短信到用户手机,提示用户在退出系统的时间为止卡里的所剩余额.
三系统的数据要求
3。
1各类实体的E-R图
用户实体包括卡号、姓名、性别、身份证、住址、联系电话、余额、密码、卡状态等属性,E-R图如下:
3-1用户实体E—R图
管理员实体包括账号、姓名、性别、身份证、住址、密码、联系电话等属性,E—R图如下:
3—2管理员实体E-R图
操作信息实体包括卡号、序号、姓名、操作时间、操作信息等属性,E-R图如下:
3-3操作信息实体E—R图
ATM信息实体包括ATM机号、ATM状态、金额等属性,E—R图如下:
3—4ATM信息实体E-R图
3.2实体—联系图
3—5实体—联系图
3.2各个实体的数据字典
因在开发此系统时暂时没有数据字典处理程序,所以采用卡片形式书写本系统的数据字典,在每张卡片上保存描述一个数据的信息。
用户数据字典卡片:
管理员数据字典卡片:
3—6用户数据字典3—7管理员数据字典
操作信息数据字典卡片:
ATM信息数据字典卡片:
3—8操作信息数据字典3-9ATM信息数据字典
3.3数据流图
用户根据各台ATM的状态,选择一台ATM进行操作,输如登录信息后,进入用户操作界面,进行存款、取款、转账等金额操作,金额操作信息将会记录在操作信息表,流程图如下:
3-10用户数据流图
管理员根据登录信息进入管理界面,可以管理用户信息、ATM信息和查看用户的操作信息,流程图如下:
3—11管理员数据流图
设计报告:
一概述
1。
1编写目的
在完成了ATM的需求分析报告的基础上,对系统进行详细分析、设计,指导系统的开发工作.本说明书的预期读者为系统开发人员测试人员、文档编写人员和项目管理人员。
目的是为了使系统在实际开发中能更加顺利,减少一些不必要的问题.
1。
2背景
系统名称:
ATM存取款管理系统
本项目用官润平、黄艺、黄焕然组成的小组合作完成。
根据当前的ATM分析报告的问题域系统设计,概括的描述了此管理系统需要完成的功能,各种类以及它们之间的关联,类之间具体的要求,进一步概括分析设计问题域子系统,人机交互子系统,数据管理子系统.并详细规定类所提供的服务.通过此设计报告,可以为后期的实现做好铺垫。
1。
3定义
ATM存取款管理系统:
本软件是有官润平、黄艺、黄焕然组合的小组开发的存取款管理系统,实现人机交互进行存款、取款、转账等的软件。
需求分析:
先由开发人员与项目提出方、承担方和用户方讨论软件的所要具备的功能,再有需求分析员或技术人员提炼、分析和仔细审查收集到的需要,从而找出其不足或没有什么实在意义的地方,进而完善软件系统功能。
详细设计:
详细设计的根本目标是确定应该怎样具体地实现所需要的系统,即得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序.其结果基本上决定了最终的程序代码的质量.
1。
4参考资料
【1】张海藩。
软件工程导论(第六版)。
北京:
清华大学出版社,2013年
【2】毛玉萃,邱少明。
软件项目实践案例教程.北京:
清华大学出版社,2014年
【3】纪禹希等。
ASP。
NET程序开发实用教程.北京:
清华大学出版社,2013年
【4】KarlE。
Wiegers软件需求(第二版)北京:
清华大学出版社,2014年
【5】陈明,软件工程北京:
中央广播电视大学出版社2002年
二问题域子系统的设计
2.1用户问题域设计
用户具有查询余额,存款,取款,转账,查看账户信息的权限。
具体的功能组合与要求如下图所示:
图2—1用户问题域设计图
2.2管理员问题域设计
管理员具有开户,协助客户修改密码(密码解冻、密码修改),根据客户要求查看客户持卡操作信息,可查询ATM机当前的状态,及操作ATM机.功能分解如下:
图2-2管理员问题域设计图
三人机交互子系统设计
3。
1用户人机交互子系统
3。
1.1用户群特征
ATM操作系统的用户涉及到各种年龄层次的用户,因此,在界面设计方面,错误提示方面,操作舒适度方面应该简洁明了,给广大用户的操作带来舒适感.
3。
1.2操作流程
用户操作首先选择ATM机号,然后用正确的口令密码登陆,进行功能选择界面执行相应的操作选项,要求是每个功能必须在60秒内完成,存取款金额为100的倍数,每次存取款不可以超过10000。
流程如下图所示:
图3—1用户操作流程图
3.2管理员人机操交互子系统
3.2。
1用户特征
管理员都是具有专业知识的,操作熟练,对银行较了解的工作人员,应该培训后上岗.同时对于客户的敏感信息,即使管理员也是不可以查看的。
3.2.2操作流程
首先用正确的口令和密码进行登录,然后可以选择操作ATM机,查看ATM机状态,给客户开户(客户的卡号是由系统自动生成6位整数),协助客户修改密码,查看操作信息。
流程如下:
图3—2管理员操作流程图
3.2.3协助修改密码操作流程
首先由用户输入账号密码,然后要求用户输入身份证,最后输入新密码:
流程如下:
图3-3修改密码操作流程图
3。
2.4查看客户操作信息
首先输入正确的账号密码,确认后输入身份证号码.输出近期操作信息。
流程图如下:
图3—4查看客户信息操作流程图
3。
2.5查看ATM机状态
首先选择需要操作的ATM机,选择查看ATM机状态。
显示警告信息。
流程如下:
图3—5查看ATM机状态操作流程图
3。
2。
6操作ATM机
首先选择ATM机,输入操作的金额,判断是否满足要求,输出凭证,流程图如下:
图3—6操作ATM机操作流程图
四数据管理子系统
4.1文件存储
由于本系统是ATM系统,故对于客户密码应该给予加密解密。
对于本系统使用的密钥保存在test.txt文件中,每次进行加密解密时读取密钥以进行相应的操作。
4.2关系数据库设计
4。
2。
1实体说明
本系统分别有用户,管理员,ATM机,及用户操作信息表。
它们的各属性说明如下:
4.2.2用户说明
名称
类型
长度
是否主键
说明
约束
ID
varchar
6
是
银行卡号
6位
name
varchar
20
否
用户姓名
汉字或字母
sex
varchar
2
否
用户性别
男或女
cardID
varchar
18
否
用户身份证
18位数字
addr
varchar
100
否
用户地址
汉字数字字母
phone
varchar
11
否
用户电话
11为数字
Pwd
varchar
(12,2)
否
用户密码
6位数字
balance
varchar
20
否
用户余额
数字
state
varchar
1
否
用户状态
1或0
4.2。
3管理员说明
名称
类型
长度
是否主键
说明
约束
ID
varchar
6
是
管理员卡
6位
name
varchar
20
否
管理员姓名
汉字或字母
sex
varchar
2
否
管理员性别
男或女
cardID
varchar
18
否
管理员身份证
18位数字
addr
varchar
100
否
管理员地址
汉字数字字母
phone
varchar
11
否
管理员电话
11为数字
Pwd
varchar
(12,2)
否
管理员密码
6位数字
4。
2.4ATM机说明
名称
类型
长度
是否主键
说明
约束
ID
varchar
1
是
ATM机号
ATM机号
balance
varchar
(10,2)
否
ATM余额
余额
4。
2.5操作信息说明
名称
类型
长度
是否主键
说明
约束
ID
int
是
序号
随机生成数字
Name
varchar
20
否
客户姓名
无
UserID
varchar
6
否
用户卡号
随机生成用户ID
operation
varchar
10
否
操作信息
无
oer_time
datetime
(
否
操作时间
无
4.3实体图详解
4。
3.1用户实体图
用户实体包括卡号、姓名、性别、身份证、住址、联系电话、余额、密码、卡状态等属性,E-R图如下:
图4—1用户实体E-R图
4.3.2管理员实体图
管理员实体包括账号、姓名、性别、身份证、住址、密码、联系电话等属性,E—R图如下:
图4-2管理员实体E—R图
4.3.3操作信息实体图
操作信息实体包括卡号、序号、姓名、操作时间、操作信息等属性,E-R图如下:
图4-3操作信息实体E—R图
4。
3。
4ATM信息
ATM信息实体包括ATM机号、ATM状态、金额等属性,E—R图如下:
图4-4ATM信息实体E-R图
五设计类及其服务说明
5。
1Model模块
说明:
此模块包含给实体类,分别为user,Admin,Operation,ATMInfo,分别表示用户实体,管理员实体,操作信息实体,ATM机实体。
类图如下:
图5—1个实体类图
5.2ISql模块
说明:
此模块是数据库操作模块,共有四个实现类,为UserSql,OperSql,AATMSql,AdminSql,各服务分别为用户表操作类,操作信息表操作类,ATMm信息表操作类,管理员操作类,类图如下:
5。
3ATMBLL模块
此模块包含的个各类提供的服务较多,分别如下:
Validate:
这是一个验证类,包含的方法如下:
方法
参数说明,
服务说名
IsValidID(stringID)
客户账号
验证客户账号格式
isValidPwd(stringpwd)
被验证的密码
验证密码格式
isValidCardID(stringcardID)
被验证的身份证号码
验证身份证号码格式
isValidPhone(stringphone)
被验证的电话号码
验证电话号码格式
isValidBalance(stringbalance)
被验证的金额
判断金额格式
isValidName(stringname)
被验证的用户名
验证用户名格式
isValidAddr(stringAddr)
被验证的地址
验证地址格式
isValidATMBalance(stringbalance)
被验证的ATM金额
验证ATM金额格式
IsCWarmATMBalance(stringbalance)
被验证的ATM操作金额
验证ATM金额格式
FIleOper:
此函数是文件操作函数,用来获取文件保存的密钥:
方法
参数说明,
服务说名
GetIV()
无
获得密钥的IV
GetKey()
无
获得密钥的Key
CreateDesKey()
无
创建密钥
DESCrypto:
密钥操作类:
方法
参数说明,
服务说名
DESCrypto(stringcontent)
明文
用DES算法解密
Encrypto(stringconten)
密文
用DES算法解密
CreateDesKey()
无
创建密钥
Mix:
逻辑类,用于协助各种UI所需的操作内容.
方法
参数说明,
服务说名
Create()
无
随机创建ID
AddMoney()
无
存款
DeleteMoney()
无
取款
QueryATMState()
无
查询ATM状态
IsValidAdmin()
无
判断管理员是否存在
createUser()
无
开户
IsValidUser()
无
判断用户是否存在
ChangeUserState()
无
解冻
LoadOperInfo()
无
载入操作信息