ATM机需求分析.docx
《ATM机需求分析.docx》由会员分享,可在线阅读,更多相关《ATM机需求分析.docx(26页珍藏版)》请在冰豆网上搜索。
ATM机需求分析
青岛理工大学
实验报告
课程名称:
软件需求
实验名称:
ATM机存取款管理系统需求分析
学院:
计算机工程学院
专业:
软件工程
班级:
软件132
姓名:
刘俊
学号:
201307229
指导教师:
丁凡
2015年11月11日
需求分析:
一、概述
1.1引言
为了更好的挖掘ATM存取款管理系统的各种需求,先由需求分析人员与客户、银行职员等进行调查,再由需求分析人员将需求进行分析对系统提出完整、准确、清晰、具体的要求。
这也使得在软件开发和测试时能够更深入的了解客户的需求,把技术难点和可能遇到的难点提出,尽早解决,可见对软件需求的完全理解对于软件开发工作的成功是至关重要的。
本说明书的预期读者为银行客户、业务或需求分析人员、测试人员、用户文档编写者。
1.2项目背景
银行各项业务一直深受客户好评。
但随着银行的业务不断发展,遍及全国各大中小城市,营业厅的扩建速度远跟不上客户量的增加,客户存取款排队等候时间也越来越长,并已渐渐出现抱怨,为了改善这种状况,减少客户等待时间,重新获得客户好评,应用计算机的快速计算及高效率,ATM存取款管理系统诞生。
1.3参考资料
【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系统可供选择。
各种逻辑的模型:
使用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.流程如下图所示:
N
Y
N
Y
图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-5实体-联系图
3.2各个实体的数据字典
因在开发此系统时暂时没有数据字典处理程序,所以采用卡片形式书写本系统的数据字典,在每张卡片上保存描述一个数据的信息。
用户数据字典卡片:
管理员数据字典卡片:
3-6用户数据字典3-7管理员数据字典
操作信息数据字典卡片:
ATM信息数据字典卡片:
3-8操作信息数据字典3-9ATM信息数据字典
3.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位数字
balance
varchar
20
否
用户余额
数字
state
varchar
1
否
用户状态
1或0
3-10用户关系表
名称
类型
长度
是否主键
说明
约束
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位数字
3-11管理员关系表
名称
类型
长度
是否主键
说明
约束
ID
varchar
1
是
ATM机号
ATM机号
balance
varchar
(10,2)
否
ATM余额
余额
3-12ATM机关系表
名称
类型
长度
是否主键
说明
约束
ID
int
是
序号
随机生成数字
Name
varchar
20
否
客户姓名
无
UserID
varchar
6
否
用户卡号
随机生成用户ID
operation
varchar
10
否
操作信息
无
oer_time
datetime
(
否
操作时间
无
3-13操作信息关系表
3.4数据流图
用户根据各台ATM的状态,选择一台ATM进行操作,输如登录信息后,进入用户操作界面,进行存款、取款、转账等金额操作,金额操作信息将会记录在操作信息表,数据流图如下:
输入银行卡号用户表
卡权限
密码密码错
出错信息
操作信息表
账号账单信息
数据
3-14数据流图
设计报告:
一、概述
1.1编写目的
在完成了ATM的需求分析报告的基础上,对系统进行详细分析、设计,指导系统的开发工作。
本说明书的预期读者为系统开发人员测试人员、文档编写人员和项目管理人员。
目的是为了使系统在实际开发中能更加顺利,减少一些不必要的问题。
1.2背景
系统名称:
ATM存取款管理系统
根据当前的ATM分析报告的问题域系统设计,概括的描述了此管理系统需要完成的功能,各种类以及它们之间的关联,类之间具体的要求,进一步概括分析设计问题域子系统,人机交互子系统,数据管理子系统。
并详细规定类所提供的服务。
通过此设计报告,可以为后期的实现做好铺垫。
1.3定义
ATM存取款管理系统:
存取款管理系统,实现人机交互进行存款、取款、转账等的软件。
需求分析:
先由开发人员与项目提出方、承担方和用户方讨论软件的所要具备的功能,再有需求分析员或技术人员提炼、分析和仔细审查收集到的需要,从而找出其不足或没有什么实在意义的地方,进而完善软件系统功能。
详细设计:
详细设计的根本目标是确定应该怎样具体地实现所需要的系统,即得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
其结果基本上决定了最终的程序代码的质量。
二、问题域子系统的设计
2.1用户问题域设计
用户具有查询余额,存款,取款,转账,查看账户信息的权限。
具体的功能组合与要求如下图所示:
图2-1用户问题域设计图
2.2管理员问题域设计
管理员具有开户,协助客户修改密码(密码解冻、密码修改),根据客户要求查看客户持卡操作信息,可查询ATM机当前的状态,及操作ATM机。
功能分解如下:
图2-2管理员问题域设计图
三、人机交互子系统设计
3.1用户人机交互子系统
3.1.1用户群特征
ATM操作系统的用户涉及到各种年龄层次的用户,因此,在界面设计方面,错误提示方面,操作舒适度方面应该简洁明了,给广大用户的操作带来舒适感。
3.1.2操作流程
用户操作首先选择ATM机号,然后用正确的口令密码登陆,进行功能选择界面执行相应的操作选项,要求是每个功能必须在60秒内完成,存取款金额为100的倍数,每次存取款不可以超过10000.流程如下图所示:
N
Y
N
Y
图2-3系统流程
3.2管理员人机操交互子系统
3.2.1用户特征
管理员都是具有专业知识的,操作熟练,对银行较了解的工作人员,应该培训后上岗。
同时对于客户的敏感信息,即使管理员也是不可以查看的。
3.2.2操作流程
首先用正确的口令和密码进行登录,然后可以选择操作ATM机,查看ATM机状态,给客户开户(客户的卡号是由系统自动生成6位整数),协助客户修改密码,查看操作信息。
流程如下:
图3-1管理员操作流程图
3.2.3协助修改密码操作流程
首先由用户输入账号密码,然后要求用户输入身份证,最后输入新密码:
流程如下:
图3-2修改密码操作流程图
3.2.4查看客户操作信息
首先输入正确的账号密码,确认后输入身份证号码。
输出近期操作信息。
流程图如下:
图3-3查看客户信息操作流程图
3.2.5查看ATM机状态
首先选择需要操作的ATM机,选择查看ATM机状态。
显示警告信息。
流程如下:
图3-4查看ATM机状态操作流程图
3.2.6操作ATM机
首先选择ATM机,输入操作的金额,判断是否满足要求,输出凭证,流程图如下:
图3-5ATM机操作流程图
3.2.7程序截图
图3-6ATM登陆界面截图
图3-7用户注册界面截图
图3-8取款成功界面截图
图3-9存款界面截图
图3-10转账界面截图
图3-11登录出错界面截图
图3-12退出系统界面截图
四、数据管理子系统
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-1用户关系表
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管理员关系表
4.2.4ATM机说明
名称
类型
长度
是否主键
说明
约束
ID
varchar
1
是
ATM机号
ATM机号
balance
varchar
(10,2)
否
ATM余额
余额
表4-3ATM机关系表
4.2.5操作信息说明
名称
类型
长度
是否主键
说明
约束
ID
int
是
序号
随机生成数字
Name
varchar
20
否
客户姓名
无
UserID
varchar
6
否
用户卡号
随机生成用户ID
operation
varchar
10
否
操作信息
无
oer_time
datetime
(
否
操作时间
无
表4-4操作信息关系表