1、管理信息系统分析与设计题目名称:银行ATM机存取款系统分析与设计指导老师: 小组成员: 日 期: 2014年6月26日(一)信息系统需求说明书- 3 -1.引言- 3 -1.1编写目的- 3 -1.2系统开发的背景- 3 -1.3系统定义- 3 -1.4参考资料- 3 -2.任务概述- 3 -2.1目标- 4 -2.2用户的特点- 4 -2.3假定和约束- 4 -3.需求规定- 4 -3.1对功能的规定(说明角色和功能)- 4 -3.2对性能的规定(时间响应、稳定性等)- 5 -3.3输人输出要求- 6 -3.4故障处理要求- 6 -3.5其他要求- 6 -4.运行环境设定- 7 -4.1设备
2、选型- 7 -4.2支持软件- 7 -(二)信息系统分析报告- 8 -1.可行性分析- 8 -1.1经济可行性- 8 -1.2技术可行性- 8 -1.3操作可行性- 8 -2.功能需求分析- 8 -2.1需求概述- 8 -2.2功能分析- 9 -2.3功能结构图- 9 -3.业务流程图(TFD)- 9 -3.1取款流程图- 10 -3.2存款流程图- 10 -3.3查询流程图- 11 -3.4转账流程图- 11 -3.5缴费流程图- 12 -3.6修改密码流程图- 12 -4信息模型设计- 12 -4.1关联图- 13 -4.2顶层图- 13 -4.3数据流程图- 14 -4.31取款业务:-
3、 14 -4.32存款业务:- 14 -4.33转账业务:- 15 -4.34查询业务:- 15 -4.35缴费业务- 16 -4.36修改码业务:- 16 -4.4数据字典(DD)- 17 -(三) 信息系统总体设计- 20 -1 系统总体设计- 20 -1.1本系统的体系结构- 20 -1.2系统总体结构- 21 -1.2.1前台业务模块- 21 -1.2.2 后台管理模块- 21 -2 系统详细设计- 22 -2.1基础代码方案- 22 -2.2数据库设计- 26 -2.2.1 系统E-R图- 26 -2.2.2数据库表的设计- 27 -2.3主要界面设计方案(输入输出设计)- 28 -
4、2.3.1 主要输入界面- 28 -(四)课程设计工作日志- 32 -(五)课程设计总结报告- 34 -1、小组成员工作情况:- 34 -2、遇到的问题及解决办法:- 34 -3、课程设计的收获:- 34 -(一)信息系统需求说明书1.引言1.1编写目的 为了明确客户的基本需求,更好地完成对客户需求了解,并量化和明晰本系统的工作量和工作进度,特编写此说明书。在客户与设计人员见架起沟通的桥梁,使用户和软件人员双方一起来充分的理解用户的要求,并开发出一个能够反映要完成工作的新系统的逻辑模型。1.2系统开发的背景 在信息系统分析设计与管理课程设计中由老师提出,由本组成员联合完成。以实现ATM机系统存
5、取款子功能。1.3系统定义系统:ATM管理系统主要是服务于银行业务管理人员以及持有本行或者外行银行卡的储户。该子系统主要包括用户登录、取款、存款、查询、密码修改、转账、缴费等模块。 账户:用户的卡号。取款:提取银行款项。存款:存入卡号的款项。查询:查询账户余额。密码:进入业务所需要的凭证。转账:转入的卡号和款项。缴费:各项费用的缴纳。1.4参考资料信息系统分析设计与管理甘仞初 高等教育出版社管理信息系统黄梯云 高等教育出版社数据库基础与Access应用教程陈恭和 高等教育出版社Visual Basic程序设计教程刘炳文 清华大学出版社2.任务概述2.1目标针对银行业务种类繁多、客户需求量大等现
6、象,为了减少银行人员的工作任务,延长业务办理时间,方便客户,通过用户和ATM取款机的交互,使用户自己就可以在ATM机上完成存款、取款、查询余额、转账、修改密码等基础功能,使得银行业务科学化,提高账户管理水平和工作效率。2.2用户的特点储户:教育水平要求不高,能够通过输入自身信息进入系统,完成存款、取款、余额查询、转账、修改密码等操作。2.3假定和约束完成项目应具备的条件和约束开发人员应具备相应的开发能力,即Visual Basic 6.0的编程和Access数据库的设计。 具有基本的运行设备开发时间为两周,无资费。3.需求规定 3.1对功能的规定(说明角色和功能)本系统主要针对2类不同的用户。
7、(1) 银行管理层。这种类型的客户端服务于银行管理层,建立在已有的结构化和非结构化数据基础之上,通过对数据的统计和分析,就能快速获得银行管理层所需的各种信息, 如账户余额、 用户转账情况、用户总的取款额等等一些情况。(2) 持有银行卡的储户。这种类型的客户端服务于储户直接操作来获得自己所需要的服务如存款、取款、查询、转账、修改密码、缴费等。每一个功能,用户都可以根据ATM的提示一步一步往下进行,并不存在用户不会操作的问题,极大节约了用户办理业务的时间也提高了银行处理业务的效率。功能简介说明登陆用户输入账号和密码,如果账号和密码不相符 ,系统则显示“用户名密码验证有误,请重新输入。”存款用户在A
8、TM机相应位置存放整百的人民币,系统会自动识别人民币,无法识别的人民币无法存储。取款 用户输入取款金额以后,系统会自动进行验证,如果取款金额大于账户余额,则会提示“余额不足!”否则,会自动转入取款处理,便可提取现金。查询该功能可以实现查询账户余额。密码修改输入新密码,再确认新密码,确认后系统提示“密码修改成功,请用新密码重新登录”并自动跳转到登录界面。转账输入要转账的账号,系统显示户主信息,并且验证输入的金额是否大于账户余额。如果是,则显示“余额不足!”如果不是,则显示“转账成功!”缴费本系统可以实现水、电、燃气、物业等费用的缴纳。注意:当交易金额超过当前账户余额时,系统自己提示“余额不足”。
9、3.2对性能的规定(时间响应、稳定性等)1、精度输入数据精度:储户密码:六位整数; 取款额,转账额:100元的倍数;卡号,转账卡号:14位整数输出数据精度:余额:一元为单位精确到0.01;2、稳定性系统要比较健壮,只要是用户的合理操作,系统都能够给出合理正确的回应,不出现令用户感到意外的系统错误或系统崩溃。3.3输人输出要求1、输入:1)输入内容:帐号 ,密码 ,取款额 ,存款额,转账额 ,转账卡号2) 数据精度 储户密码:六位整数存款额,取款额,转账额:100元的倍数3)具体要求取款额,转账额为100的倍数且大于账户余额2、输出:1)输出内容:输入帐号和密码提示,业务选择提示,余额数2)具体
10、要求余额显示:显示账户所有金额3.4故障处理要求1、能够对用户录入的各种数据进行校验。2、能够及时捕捉系统在运行时的错误信息,并给出相应的提示,系统应有一定的容错能力。3、用磁盘方式对系统数据进行完整备份。由应用系统自动调用数据后备的实用程序进行磁盘备份。3.5其他要求以WINDOWS为操作平台,符合ATM自动存取款的规范要求。人机交互易学易用,整个系统具有充分的灵活性、可适应性与可扩展性:1、实现了过程的可视化,使用户可方便地了解款项自动存取的过程,并快速进行存取款操作,大大方便了储户存款、取款、查询、转账工作。2、对系统数据进行完整备份。3、数据恢复。当系统遭受硬件故障、病毒等突发事件的影
11、响而造成数据丢失时,可从备份数据中得到恢复。4、程序系统失效后,由系统管理员由磁盘恢复程序系统。5、设置专职系统管理员。进行储户、密码等有关系统安全方面的设置。该系统只能由系统管理员、合法用户启动。4.运行环境设定4.1设备选型硬件主要配置:CPU: 1.5 GHz。RAM:512M以上。存储容量:剩余存储容量大于2564.2支持软件软件主要配置:操作系统: Windows 操作系统。数据库软件:Microsoft access2003。界面设计软件:Microsoft Visual Basic 6.0。(二)信息系统分析报告1.可行性分析 随着社会的发展,时代的进步,人们生活质量的提高,与银
12、行打交道已经成了人们生活中不可或缺的一部分,银行的用户持续增长。可是人们对银行的服务也提出了更多、更高的要求。人们希望能更方便更省时地办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的取款系统不管哪家银行的卡都可以随随时存取款转账缴费。使得存取款不再受到银行营业时间的限制。在这样的背景下,很明显需要建立一个新的、高效的、方便的、互联的银行信息系统,以此提高银行存取款的效率,满足更多用户的需求。1.1经济可行性本银行ATM管理系统能使银行用户便捷的存取款完成各种生活服务;能够促进银行的提高工作效率,减少手工工作人员及费用等,这些都是使用系统所带来的间接收益。同时也促进了银行
13、信息化的进程,提高银行的管理效率。1.2技术可行性 银行ATM管理系统主要是前台用户的操作及其后台数据库及其银行工作人员的维护和赋予权限、现金管理。前台用户操作主要包括存款、取款、查询、转账、缴费、修改密码等操作。银行工作人员通过一定的程序给予用户账号、赋予用户的使用权利,用户不受时间地点限制的完成各种系统可以完成的功能,大大减低了银行的手工工作量提高用户和银行的工作效率。银行工作人员需要定期对系统进行维护和ATM机内的现金进行管理,并且对符合条件的申请者赋予使用系统的权利。1.3操作可行性本银行ATM管理系统的系统操作非常简单,以便适合大人小孩老人各类人们都可以很方便操作使用。各个人群的人几
14、乎都不需培训就可以操作系统。稍微比较复杂的操作可使用文字提示或者视频教程进行简单的培训即可。2.功能需求分析2.1需求概述本系统主要的需求有前台的用户存款、取款、查询、转账、缴费、修改密码等操作,后台的银行工作人员通过一定的程序给予用户账号、赋予用户的使用权利及其数据库记录操作记录等。2.2功能分析本系统主要由以下功能需求:2.21前台用户查询模块2.22前台用户取款模块2.23前台用户存款模块2.24前台用户转账模块2.25前台用户修改密码模块2.26前台用户缴费模块2.27后台银行工作人员赋予用户权限模块2.28后台系统维护模块2.29后台机内现金管理模块2.3功能结构图3.业务流程图(T
15、FD)3.1取款流程图3.2存款流程图3.3查询流程图3.4转账流程图3.5缴费流程图3.6修改密码流程图4信息模型设计4.1关联图储户PATMTPS用户信息业务信息账户信息4.2顶层图储户P1.1转账P1.2取款P1.3存款P1.4缴费P1.5账户管理储户转账额取款额存款额缴费额业务信息转账凭证取款凭证存款凭证缴费凭证业务信息4.3数据流程图4.31取款业务:4.32存款业务:4.33转账业务: 4.34查询业务:4.35缴费业务4.36修改码业务:4.4数据字典(DD)a. 数据流 用户取款数据流数据流系统名:银行ATM机管理系统 编号: 条目名: 取款信息 别名: 来源:ATM机系统 去
16、处:客户数据流结构:取款信息:账号+取款金额+当前帐户余额+手续费+取款时间所有银行卡用户简要说明:取款信息实在客户取款之后为了信息安全而输出信息从而告诉储户自己的账户信息修改记录:编写赵鹏博日期2014年5月20日审核陈义钊日期2014年5月21日 b.数据元素 用户账户记录数据元素数据元素系统名:银行ATM机管理系统 编号: 条目名: 账号 别名: 属于数据流:F3、F4、F7存储处:数据库数据元素结构:代码类型 取值范围 意义 整型 1 账户记录的编号简要说明: 编码是账户记录的信息的编号和标识。修改记录:编写赵鹏博日期2012年5月20日审核陈义钊日期2012年5月21日c.数据存储
17、储户业务数据存储 数据存储系统名: 银行ATM机管理系统 编号: 条目名: 储户业务信息 别名: 记录数: 每条业务就是一条记录主关键字:记录号 账号记录组成:项名: 账号 取款金额 当前余额 时间 备注近似 9 10 20 10 20长度(字节):简要说明: 1. 是否异行异地在备注中显示2. 储户其他业务信息在备注中显示修改记录:编写赵鹏博日期2012年5月20日审核陈义钊日期2012年5月21日d.加工 用户账户信息加工 加工系统名:银行ATM机管理系统 编号: 条目名: 账户管理 别名: 输入数据流取款转账缴费存款金额输出数据流: 账号余额相对应的减少增加主要特征:1、用户登录账号信息
18、,并输入相应的存款取款缴费改密等命令。2、系统对用户输入相关内容进行判断审核。3、如果用户所输入的命令符合条件则系统执行相关命令,并打印相关回执单;如若不符合条件,则信息无法提交存储,需要重新提交命令或者推出操作。简要说明:用户账号所输入的各种命令不等超出原账户数据范围修改记录:编写赵鹏博日期2010年5月20日审核陈义钊日期2010年5月21日e.外部项 外部项条目 外部项系统名:银行ATM机管理系统 编号: 条目名: 银行工作人员 别名: 输入数据流银行工作人员输出数据流: 用户信息主要特征:银行工作人员:1.开设用户账号,赋予哦难怪乎权限2.维护系统,保证网站正常有序的进行。3.为取款机
19、注入和取走现金4.管理员代码姓名,管理员密码。简要说明:管理系统及赋予用户权限修改记录:编写赵鹏博日期2010年5月20日审核陈义钊日期2010年5月21日 (三) 信息系统总体设计1 系统总体设计1.1本系统的体系结构 C/S体系系统: (1)C/S体系说明C/S体系即客户端/服务器模式,客户端采用VB开发,运行于WindowsXP的操作系统上;服务器端软件运行于Windows XP Server上;数据库采用Access。(2)C/S模式的设计银行ATM机存取款系统采用C/S模式,在服务器端存储客户资源各种信息,操作员在客户端可以进行操作,查看操作数据库。每个客户端都与服务器相连接。(3)
20、开发运行环境运行环境:CPU: 1.5 GHzRAM:512M以上硬盘:512M及以上操作系统:Microsoft Windows XP 开发工具: VB 6.0开发语言:VB+Access1.2系统总体结构1.2.1前台业务模块 用户登录用户改密用户存款用户取款用户转账用户查询用户缴费用户模块1.2.2 后台管理模块管理模块赋予用户权限维护管理系统机内现金管理用户的基本权限用户的权限设置数据的备份恢复用户帐号的管理2 系统详细设计2.1基础代码方案 登录界面Public kahao As StringPrivate Sub Command1_Click()Dim conn As New AD
21、ODB.Connectionconn.Open (Provider=Microsoft.Jet.OLEDB.4.0;Data Source=管理员.mdb;Persist Security Info=False) 建立连接If Text1.Text = ThenMsgBox 请输入用户名!, vbCritical, 提示Text1.SetFocusExit SubEnd IfIf Text2.Text = ThenMsgBox 请输入密码!, vbCritical, 提示Text2.SetFocusExit SubEnd IfDim rs As New ADODB.RecordsetWith
22、rskahao = Text1.Textsql = select * from manager where 卡号= & Text1.Text & and 密码= & Text2.Text & Set rs = conn.Execute(sql)If Not rs.EOF Then 是否查找登录成功MsgBox 登录成功, vbOKOnly, 提示Unload Me主界面.ShowText2.Text = ElseMsgBox 用户名密码验证有误,请重新输入, vbCritical, 提示Text2.Text = Text2.SetFocusEnd Ifconn.CloseEnd WithEnd
23、 Sub查询界面Private Sub Form_Load()Dim conn As New ADODB.Connectionconn.Open (Provider=Microsoft.Jet.OLEDB.4.0;Data Source=管理员.mdb;Persist Security Info=False) 建立连接登录界面.kahaoDim yue As Integeryue = Val(conn.Execute(select 余额 from manager where 卡号= & 登录界面.kahao & )(0)Text1.Text = yueText2.Text = yueEnd S
24、ub取款界面Private Sub Command8_Click()If Text1.Text = ThenMsgBox 取款金额不能为空, vbCriticalExit SubEnd IfDim conn As New ADODB.Connectionconn.Open (Provider=Microsoft.Jet.OLEDB.4.0;Data Source=管理员.mdb;Persist Security Info=False)Dim t As Integert = Val(conn.Execute(select 余额 from manager where 卡号= & 登录界面.kaha
25、o & )(0)If t Val(Text1.Text) ThenMsgBox 余额不足, vbCriticalExit SubEnd IfDim t2 As Integert2 = t - Val(Text1.Text)conn.Execute (update manager set 余额= & t2 & where 卡号= & 登录界面.kahao & )MsgBox 成功取款 & Val(Text1.Text) & 元, vbOKOnlyEnd Sub存款界面If Text1.Text = ThenMsgBox 存款金额不能为空, vbCriticalExit SubEnd IfDim
26、conn As New ADODB.Connectionconn.Open (Provider=Microsoft.Jet.OLEDB.4.0;Data Source=管理员.mdb;Persist Security Info=False)Dim t As Integert = Val(conn.Execute(select 余额 from manager where 卡号= & 登录界面.kahao & )(0)If Val(Text1.Text) Mod 100 0 ThenMsgBox 存款金额必须是100的倍数Exit SubEnd IfDim t2 As Integert2 = t
27、+ Val(Text1.Text)conn.Execute (update manager set 余额= & t2 & where 卡号= & 登录界面.kahao & )MsgBox 成功存款 & Val(Text1.Text) & 元, vbOKOnlyEnd Sub转账界面If rs.EOF Or rs.BOF ThenMsgBox 转入账号不存在, vbCriticalExit SubEnd IfIf 登录界面.kahao = Val(Text1.Text) ThenMsgBox 不能给自己转账, vbCriticalExit SubEnd IfDim m, n, h As Inte
28、gerh = Val(conn.Execute(select 余额 from manager where 卡号= & Text1.Text & )(0)m = t - Val(Text2.Text)n = h + Val(Text2.Text)conn.Execute (update manager set 余额 = & m & where 卡号= & 登录界面.kahao & )conn.Execute (update manager set 余额 = & n & where 卡号= & Text1.Text & )conn.Execute (insert into 转账表 values(
29、& 登录界面.kahao & , & Text1.Text & , & Text2.Text & )MsgBox 成功转账 & Text2.Text & 元, vbOKOnlyEnd Sub2.2数据库设计2.2.1 系统E-R图取款时间取款额存款时间存款额查询ATM存款取款储户银行银行姓名卡号密码2.2.2数据库表的设计用户表序列编号字段名称数据类型是否主键1编号数字是2姓名文本否3密码文本否4开户银行文本否5卡号文本否6余额数字否存取款表序列编号字段名称数据类型是否主键1编号数字是2卡号文本否3取款金额数字否4取款时间日期/时间否5存款金额数字否6存款时间日期/时间否转账表序列编号字段名称
30、数据类型是否主键1转出卡号文本是2转出时间日期/时间否3转入卡号文本否4转入时间日期/时间否5金额数字否2.3主要界面设计方案(输入输出设计)2.3.1 主要输入界面登录界面主界面查询界面存款界面取款界面缴费界面转账界面改密界面(四)课程设计工作日志6月17日:(1)确定成员名单并汇报老师明确成员各自任务,选题 (2)小组成员确定:110514101 陈义钊 110514115 赵鹏博 (3)确定题目为银行ATM机管理系统开始分工收集资料 (4)小组成员分工:信息系统需求说明书 (110514101 陈义钊主要负责) 信息系统分析报告(110514115 赵鹏博主要负责)6月18日:完成信息系
31、统的功能需求说明书。(1) 明确开发目的和开发背景(2) 定义系统确定所开发的系统所需要的模块并查阅相关资料(3) 明确任务,任务概述。(4) 明确系统功能需求。确定系统所需要实现的的具体功能(登录、查询、取款、存款、转账、缴费、修改密码等)。对性能的规定(精度、时间响应、稳定性)对输入输出的要求故障处理的要求(5) 开发与运行环境的确定开发语言和后台数据库的选择对于运行环境的规定6月19日:根据信息系统的需求说明书收集相关资料完成信息系统分析报告。(1) 信息系统的可行性分析(经济可行性、技术可行性、操作可行)。(2) 功能需求分析。根据系统需求说明书明确系统的所需实现的功能,总结需求概述并
32、对各个功能进行分析。做出系统的总体功能结构图。(3) 系统业务流程图的完成。包括各个子模块的业务流程图(查询业务流程图、取款业务流程图、存款业务流程图、转账业务流程图、缴费业务流程图、修改密码业务流程图)。(4) 信息系统模型的设计,完成系统的关联图、顶层图和各个模块的数据流程图(查询数据流程图、取款数据流程图、存款数据流程图、转账数据流程图、缴费数据流程图、修改密码数据流程图)。6月20日:初步草拟银行ATM管理信息系统设计书。 草拟出系统的总体布局图、软件模块结构图、系统E-R图、数据库表的设计等。6月23日:完善银行ATM管理信息系统设计书,做出比较完整详尽的系统设计书。利用VB企业版做
33、出系统的主要界面和后台数据库。6月24日至25日:完成系统代码的编写、后台数据库的连接、程序设计界面的美化。6月26日:进行系统测试,将系统所拥有的功能与需求分析所需要的功能之间对比,发现不足从而完善程序设计和系统设计说明书,总结本次设计中存在的问题和收获。6月27日:提交系统及各种文档。(五)课程设计总结报告1、小组成员工作情况: 小组成员确定: 110514101 陈义钊 110514115 赵鹏博信息系统需求说明书 (陈义钊主要负责编写内容共同商讨)信息系统分析报告书 (赵鹏博主要负责编写内容共同商讨)信息系统的总体设计和界面设计由两人共同完成,程序代码主要自己编写,有些难以解决的问题寻
34、求同学帮助。2、遇到的问题及解决办法:(1)学习与实践的结合不当。当我们系统开发设计的时候,发现以前学习的知识点到用时却不会了,对于设计报告和设计语言都有一点生疏。如果以前把知识学得透彻点,理解深刻点,也许在开发设计过程中可以缩短时间,提高效率。特别是在做业务流程图和数据流程图的时候出现了错误。反思自我,归其原因:不是当时的学习不够认真,而是缺乏对知识点的运用实践;我认为对知识的学习只是理解知识点是远远不够的,如果当时没有经过编译、运行、调试的过程,很快就会忘记的,所以我们要多实践。(2)对于开发语言学习不精,对VB的学习只是一些简单的肤浅的了解,导致我们在设计的时候,程序指令混乱,在设计的过
35、程中遇到了很多的麻烦,最后还有很多都是寻求同学帮助和上网查询资料才得以完成。特别是在数据库连接的时候出现了好多的问题。(3) 在设计的最后阶段由于程序编写语言学的不是很好,利用ATM机缴费的功能未能完全实现。由于设计的程序错了好多错误最后放弃了这个功能的实现。只是在系统上面做出了缴费功能呢的界面。3、课程设计的收获:(1)本次课程设计我们对开发对开发程序的一般步骤有了一个深刻的的理解。系统需求说明书、系统分析报告、系统设计报告、课程设计工作日志、课程设计总结报告等等。(2)编写程序前先做系统需求说明书和系统分析报告和初步系统设计报告,对已完成设计构思的系统进行主次分析,排好功能实现顺序,列出程
36、序编写步骤,从系统规划对于理清编程思路很有帮助。我们的逻辑思维可能很有限,但我们面对的是一个庞大的系统,大系统下分多个子系统,子系统下分多个功能模块,功能模块下分多个功能页面,功能页面下分多个子功能,而且子系统、功能模块、功能页面、子功能之间的逻辑关系构成了一张复杂庞大的逻辑关系网。这就需要我们在原先做好设计流程图上,系统规划,全面分析,逐步细化、然后列出编程计划进行设计。(3)及时、清楚、完整的工作笔记,有利于快速提高自身的业务水平,也有利于提高编程效率。(4)系统的分析与设计需要我们对所学知识掌握的比较熟练,而且对个人的逻辑思维能力也有较高的要求。在平时的学习实践中,要不断开动脑筋,活学活用。要发扬团体合作的精神,互帮互助,共同进步,善于发问,善于思考。- 35 -