软件工程课程设计银行储蓄管理系统_第1页
软件工程课程设计银行储蓄管理系统_第2页
软件工程课程设计银行储蓄管理系统_第3页
软件工程课程设计银行储蓄管理系统_第4页
软件工程课程设计银行储蓄管理系统_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1问题定义32可行性研究32.1项目概述322可行性分析的前提42.2.1项目的目标42.2.2项目的环境42.3可选的方案52.3.1 方案一52.3.2 方案二52.4所建议的系统52.4.1系统说明52.4.2系统流程图52.4.3高级数据流图62.5经济可行性72.5.1系统开发费用72.5.2系统运行费用82.5.3 效益82.6技术可行性82.7操作可行性93需求分析93.1需求概述93.2需求模型1()3.2.1数据模型103.2.2功能模型113.2.3行为模型123.2.4数据字典134总体设计164.1系统体系结构164.2模块详细说明174.3数据库设计185详细设计

2、205.1人机界面设计205.2过程设计236测试246.1白盒测试246.2黑盒测试257结论268参考文献279附录279.1程序代码271问题定义账户管理是银行业务流程过程中十分車要見必备的环节之一,在银行业务流程当中 起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的业务流程处理过 程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而貝无法达到理想的 效果。本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需 求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一 个银行账户管理系统。采用VSC+作为开发工具,数据库设计遵

3、循3范式,主要设计 了用户基本信息表、用户卡信息表、ATM取款机基本信息表、用户银行存款信息表、 管理系统的用户口令表、银行系统的用户信息表等数据表。解决了银行系统中存在的数 据安全性、数据一致性以及系统运行速度等问题。系统实现的主要有账户管理、取款机管理、用户查询等功能;*账户管理模块:存款、取款、开户、销户、修改信息、办卡、挂失卡;*用户查询模块;*取款机信息管理模块:管理员管理查询和维护、客户查询和取款等功能;通过该银行账户管理系统地运行,是办公人员可以轻松快捷的完成对账户管理的任 务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。该银行账目管理信息系统,优点是设计过程思

4、路清晰、模块划分简洁,设计个阶段 分工明确。经过实践证明,该划分是合理的,极大地提高了本系统的实现。2可行性研究2.1项目概述某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员 键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、 存款类型、存款日期、到期日期、利率及密码(可选)等信息,完成后由系统打印存款 单给储户。如果是取款,而見存款时留有密码,则系统首先核对储户密码,若密码正确或存款 时未留密码,则系统计算利息并印出利息清单给储户。2.2可行性分析的前提2.2.1项目的目标所建议系统的开发目标包括:人力与设备费用的减少及合理利用;处理速度的提

5、高及准确度的保证;人员利用率的改进及合理调度;改进管理和服务。建立高效的信息传输和服务平台,提高信息处理速度和利用率等等。a. 用系统的高速特性来节省大量的人力,并見能够极大程度上简化操作人员的 工作,使得操作人员只需要做简单的输入输出以及对于本系统的管理就可以简便的 完成自己的工作;b. 将人工计算的部分更改为系统运算处理极大的提升了速度,这样就提高了工 作效率,也极大程度缩短了用户的等待时问,这样可以提高银行在行业中的竞争力。c. 利用计算机的系统优势,可以弥补人工作业时的出错率高的缺陷,使得每一 笔业务都能最大限度避免核实以及复工。d. 利用计算机大容量存储数据库的模式来完成记录的存储,

6、这样在工作中可以 及时查证任意一条记录。2.2.2项目的环境采用WindowsXP操作系统MySQL先进的数据库系统,JSP技术,采用B/S框架。2.3可选的方案 2.3.1方案一通过与银行熟练业务员进行深入讨论,制定详细用户调查问卷,真正了解用户以及 银行业务员的实际需求,根据业务员提供的信息以及问题定义再综合调查问卷中用户提 出的意见进行改进。最终确定项目需要解决的问题,并确定问题能不能被解决。2.3.2方案二项目的另一种实现方案是直接购买现有的计算机储蓄系统。但银行业是个对安全性 要求很高的行业,如果选用现有计算机储蓄系统,有可能会使得未公开的漏洞对本银行 造成冲击,需要承担更高的安全风

7、险;为适应该系统有可能需要更改现有存款系统的数 据结构,转换成本高;软件授权方式的差异可能导致系统开销更高。2.4所建议的系统2.4.1系统说明系统架构为星状架构,每个分行办事处连接到中心数据库,每台分行电脑与一 台打印机相连以输出信息。储户填写的存款单或取款单由业务员输入系统,系统自动更新中心数据库的内容, 如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出 存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。2.4.2系统流程图 本系统的系统流程图如下图所示:VV存钱页面父取款页面父余额页面V修改密码注销页面图2J系统流程图243商级数据流图图2. 2银行

8、储蓄管理系统基本系统模型2.5经济可行性2.5.1系统开发费用人员费用。本系统开发期六个月,试运行期为二个月。开发期需要开发人员5人, 试运行期需开发人员2人。开发需八个月,员工工资费用为大约1()万元。硬件设备费。本系统所需的硬件设备费为大约12万元,其中包括:服务器1台卩C机8台打印机8台条形码扫描仪1()台网络设备和市线不间断电源1台工作台8台软件费用。系统所需的软件费用大约为1()()()元,其中包括:正版 Windows XP正版 SQL survur 2008Microsoft Office Access 2003、Microsoft Visual C+6.0 可免费下载耗材费。所

9、需耗材费用估计为1.()万元咨询和评审费、调研和差旅费:约2.()万元其他不可预见费。按开发总费用的1()%计算。综上,系统开发总费用为28万元。2.5.2系统运行费用假定本系统运行期为5年,每年的运行费用为:系统维护费。每年需要人员进行系统维护,维护费为1$万元。设备维护费。建设设备的运行更新期为5年。假设设备日常故障维护费每年().6万 兀O消耗材料费。每年耗材费按().8万元计算。系统年运行费用为4万元,则5年累计系统运行费用为21万元。综上,系统开发 和运行总费用为49万元,折合1()万元/年。2.5.3效益一次性收益。提高工作效率,减少工作人员人数。本系统运行可以提高业务处理, 核算

10、信息管理的效率。累计可以综合提高工作效率达3()%o可以减少现有15%的工作人 员,节约人员工资大约12万元/年。经常性收益。办公设备、纸张等使用量减少可节约成本每年约1万元。不可定量收 益。业齐量的增加便克接经济效益每年上升约7万元。综上所述,每年可增加收益2() 万兀。收益/投资比20/10=2,投资回收周期为三年。由此可见,此系统一经使用,可给用户带来很大收益,过一段时间后即可收回成本, 带来盈利。在经济上具有可行性。2.6技术可行性开发系统的计算机硬件已经非常普及,能够适应银行系统的快速和大容量存储,哽 件方面完全没有问题;现在的计算机各方面的技术都非常成熟,相对来说开发此系统的 技术

11、也要求比较简单,因此在技术方面是可行的;同时银行还必须有一定量的系统管理 和维护的专业人员,在这方面可以通过培训原来的技术人员成为新的需要的技术人员, 也可以雇用所需这方面的专业技术员;若按计划,在规定的期限内,本系统的开发是可 以完成的。2.7操作可行性该系统可采用C/S模式开发,提供窗体界面,操作简单。银行业齐员要求有基本 的计算机使用技能,经过简单培训后将会熟练使用本软件系统管理员要求有一定计算 机的专业知识,需要经过专业培训,以能够熟练管理本系统,使其正常运行。3需求分析3.1需求概述随着人民生活水平的提高,餐饮,住宿,娱乐业在服务行业中占有越来越車要的地 位。要使在当前酒店行业日趋激

12、烈的竞争中脱颖而出,必须努力发展自己的特色。在管理方面也要有自己的管理特色,避免传统管理方法的失课,便得酒店的信誉以 及各个管理方面都能够出现零失误,以及能够给管理者和普通的营业员带来操作上的方 便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,使用户能够对这个软件 感到满意,那么才是管理软件的成功之处。酒店管理系统一个现代化的管理系统,系统给出了实际酒店管理中遇到的所有情况, 此酒店管理系统软件是为了代替酒店管理者更好的管理而制作的,软件给出了酒店管理 中的各种细节问题,使得管理变的更加的轻松。它符合人们平时的使用习惯,使用性强,能较好的实现各方面的功能。3.2需求模型 3.2.1数据

13、模型本系统的E-R图如下图所示:储户(身份证号码,姓名,电话号码,住址)银行(名称,电话号码,地址)存取款(类型,数额,利率,密码,到期日期)322功能模型功能圾数据流图如下所示:录入存款 信息存款信息$2.2打印存单业务员事务储户存款单入接收事物取款单验证账户账户信息密码3.2核对密码存款信息取款额图3.2数据流图3.3计算利息3,4打印利息清单存单储户利息清单3.2.3行为模型本系统的状态图如下图所示:图4状态图3.2.4数据字典本系统数据字典如下所示:储户名字:储户信息描述:存储用户的个人详细信息定义:储户信息二储户姓名+储户住址+储户身份证号码+储户帐号+帐户金额+储户密码 位置:储户

14、信息名字:存款信息描述:存款储户一次存款的存款信息定义:存款信息二存款类型+存取日期+存款金额+利率位置:输出到打印机名字:取款信息(利息清单)描述:储户一次取款的取款信息定义:取款信息二取款日期+取款金额+利息位置:输出到打印机名字:密码描述:储户存/取款时必须的6位验证号码定义:密码=0|1|2|3|4|5|6|7|8|9+0|1|2|3|4|5|6|7|8|9+0|1|2|3|4|5|6|7|8|9+0|1|2|3|4|5|6|7|8|9+ 0|1|2|3|4|5|6|7|8|9 + 0|1|2|3|4|5|6|7|8|9位置:储户信息粘选范木4总体设计4.1系统体系结构随着社会经济的发

15、展,信息化程度的不断深入,银行的传统业务已经愈来愈不能满 足银行客户的需要。现今,人们的金融意识、科技意识已经有了很大的提高,在紧张忙 碌的生活中,已经越来越来不习惯每月恩忙于各银行营业柜台之问去排队取款。本银行 账户管理信息系统能实现的主要功能有:管理员信息管理;用户信息修改、开户、销户; 办卡、挂失卡、换卡;存款、取款。系统的总体功能模块图如图4.1所示:图4.1系统功能模块图4.2模块详细说明系统:银行储蓄管理系统模块:开户编号:1.1被调用:1.0输入:户主信息及密码1PO表作者:张芸日期:2015.3.7调用:1.1.11.1.7输出:账户号处理:根据接收到的账户信息。局部数据兀素:

16、注释:表1.IPO表1PO表系统:银行储蓄管理系统作者:日期:2015.3.7调用:1.1.11.1.7模块:登录编号:1.1被调用:1.0输入:账号及密码输出:账户信息处理:根据接收到的账户信息,打开账号。局部数据兀素:注释:表2.IPO表4.3数据库设计通过对银行账户管理的内容和数据关系分析,设计的数据项和数据结构。表44登录的设计表列名数据类型允许null值账号(主键)nChar (10)密码nChar (10)表42登录的内容表账号密码2V123456kris654321表43账户信息的设计表列名數据类型允许null值姓名nChar (10)身份证号nChar (20)(主键)nCha

17、r (10)账户nChar (10)余额Float表心账户信息的内容表姓名身份证号账户余额巧1234567891100Kris987654321210005详细设计5.1人机界面设计进入银行储蓄管理系统的界面,开户界面如下图所示:图5.1开户界面运行结果图开户功能部分代码如下:void STI :sct_account()int id;string natn;string passw;float m;string company;string addrcss;int numbcr;doublc in;coutn请输入开户号:VVendl;cinid;coutvv”请输入开户人姓名:”nam;c

18、outH请输入开户密码:Hcndl;cinp 次 ssw;coutH请输入存入金额: v m;coutn请输入开户人电话:”vnumbcr;couicompany;coui请输入开户人地址:”vondl;cinaddrcss;coul请输入开户人身份证号码:”vm;consumer * acc = new consumerfid,nam,nutnbcr,in,company,address,pasm); accountfacnum = acc;COUKV”开户成功!,cndlcndl;acnum+;savcO;cin.gctO;return;void STI :dcl_account()ini

19、 id;coutcndl请输入你要注销的帐户号:;cinid;int flag = 1;int i 二 0;while(i) /循环查找if(id = accounti-gpt_id()flag = 0;elsei+; coui-该帐号不存在,请重新输入!”vondl; return; /返回到登陆界面登录界面如下图所示:图5.2登陆界面运行结果图图5.3登陆界面运行结果图登录功能部分代码如下:void STI::cntcr_account()ini id;COUl请输入帐号:;cinid;int flag = 1;int i = 0;/_pagc_brcak_while(ipassw;if(

20、passw!=accounti-get_passwdO) return;/返回到登录界面accounti-displayO;cin.getO;cin.gct();int n;do system;5.2过程设计登录系统窗体算法描述如下:if账户和密码一致if储蓄系统被选中if该账号有权限登录储蓄系统进入储蓄系统界面;E1 s匸该账号无权限登录储蓄系统提示“用户名或密码错误,请車新输入!”信息;Endif6测试6.1白盒测试登陆模块过程的流图如下:图6.1 登录过程的流图路径一:17路径二:2357路径三:2467按照此部分采用路径测试,测试用例如下:路径一的测试用例:输入:不匹配的用户名和密码预

21、计结果:提示“用户名或密码错误,请車新输入!”信息;路径二的测试用例:输入:正确的用户名、密码和登录账户信息系统的权限且该用户拥有该权限预计结果:账户信息系统界面弹出路径三的测试用例:输入:正确的用户名、密码和登录消费信息系统的权限且该用户没有该权限 预计结果:提示“您没有该权限!”信息。6.2黑盒测试根据登录模块,可以划分出如下等价类。1. 有效等价类(1) 输入的用户名存在(2) 输入与用户名匹配的正确的密码(3) 选择符合用户名的正确权限2. 无效等价类(5) 用户名不存在(6) 输入与用户名不匹配的密码(7) 选择不符合用户名的权限(8) 输入为空根据上面划分出的等价类,设计出下述测试

22、方案。(1) 用户名存在,与用户名匹配的正确的密码,选择符合用户名的正确权限输入:用户名zy,密码123,选择储蓄系统预计输出:进入账户信息界面(2)用户名不存在输入:用户名zzy,密码321,选择储蓄系统预计输出:用户名或密码错误,请重新输入!(3)用户名存在,密码不匹配输入:用户名zy,密码321,选择储蓄系统预计输出:用户名或密码错误,请重新输入!7结论首先由衷感谢老师给我们这样一个锻炼自己的机会,经过两周的设计我的收获还是 很大的。不仅巩固了以前学过的知识,还学到了很多以前不知道的东西。理论跟实际的 差别还是很大的,以后要学会用理论联系实际。从而提高动手实践能力和独立思考能力。 课程设

23、计过程中遇到了很多问题,而且有很多的不足之处,发现自己对以前的知识理解 的不够透彻,掌握的不够牢固,有待加强。我们的工作是一个团队的工作,大家一起交流与合作,发扬团队协作精神,学会了 合作与交流。要想有成功必须要有合作,这是我学到的一点很車要的。如果这次设计只 有我一个人的话,我想我是不会这么快做出来的,在同学的帮助下,和查资料(包括百 度)写出了这个程序,心里很有成就感。经过设计,感觉自己的理解更加深入了,以前不太明白的,现在也都理解了,使我 更加对这些东西感兴趣了,通过此次课程设计也使我学会独立思考,与人沟通等能力。 熟练了对VC6.0的使用,此次设计由于自己水平的限制,还存在很多不足之处

24、,比如说 程序的效率比较低!这次程序设计让我体验到了失败的痛苦和成功后的欣喜,这将是我人生中一笔車要的财富,是人生拥有的美好的回忆。8参考文献1 软件工程导论(第5版)张海藩编着清华大学出版社出版2 软件工程一原理,方法与应用吴钦藩编着人民交通出版社出版3 软件工程导论(第四版) 张海藩 编着 清华大学出版社出版4 软件工程任胜兵邢琳编着 北京邮电大学出版社 王瑞等,Visual C+数据库系统开发完全手册,人民邮电出版社,2006 于永彦,C+程序设计基础案例教程,北京大学出版社,20097数据库系统概述第四版王珊主编高等教育出版社9附录9.1程序代码#includc#includc #in

25、cludcusing namespace std;class consumer;class YH/银行类public:void sct_account();/银行开户功能void dcl.accountO;/ 注销账户功能void transfcr(int); / 转账功能void cntcr_account(); 进入用户个人信息功能void addmoncy(int,float);/存款功能void cxitYHO;/ 退出系统void functionshowO;void savc();void loadO;/功能界面protected:consumer *accoiint20;stat

26、icint aenum;/账户数;class consumerrpublic YH/用户类,继承银行类的黒性public:friend class YH;consumcr(int id,string Namc,int Number,double IN,string Company,string Address,string PassWord,floatm)ir)=iduiamc=Namciumbcr=Numbcr;in=IN;companyCompany;addrcss=Addrcss;moncy=rn;passwd=Pass Word; consumcr0ID=0;namc=r0luiumb

27、cr=0;in=0;company=,0,;adcircss=t0,;moncy=0;passwd=,0,;int get_id()return ID;void savemoneyO;/ 取钱string gct_passwd()return passwd;/ 取得密码void displayO;void fetchmoneyO; /取钱void changc_passwd();void add_moncy(float);/计算余额void dcc_moncy(float);/计算余额float gct_moncyO;/ 卡卡转帐private:int ID; /开户帐号stringpassw

28、d; / 用户密码string name; / 用户姓名float money; /开户金额int numbcr;string company;string addrcss;doublc in;void YH:savu0ofstream ofilcCbankdatdafosout);/以输出方式打开文件ofstream ouifilc(nbankdai.datH,ios:out);/以输出方式打开文件bankdat.dat接收从内存输出的数扌居 int n=0;outfilcacnumH H;f()r(n=O;nacnumi+)outfilcir)H ;/把信息写入磁竞文件 bankdat.d

29、at outfilcmoncyn H;outfilcnamc,r n;outfilcpassrdn H;outfilc numbcr n H;outfilccompanyH ”;outfilcaddrcssir n;outfilcinacnutn;for(n=0;nid;/从磕抚文件bankcht.cht读入信息infilcm;infilcnam;infilcpassw;infilecompany;infilcnumbcr;infilcaddrcss;infilcin;accountn-passrd;consumer * acc = new consumcr(idjiam,numbcr3n,c

30、ompany,address,passw,m); /每读入一个 n 开辟一段内 存accountfn = acc; 赋值首地址infilc.closcO;couivv”读取资料正常!” vvmdl;/*转账功能实现*/void T4:transfcr(int x)int id;coui请输入帐号:;cinid;int flag = 1;int i = 0;while(igct_id() flag = 0; else i+;couKV帐号不存在!Hendlcndl;return ;float b;coutendlH请输入你要转帐的金额:”;cinb;whilc(b=0)couiH请输入正确的数宇

31、!”v mdl;8Utb;if(accountx-gct_moncv()dcc_moncy(b);accounti-add_iYioncy(b);coui转账成功!*endl;return;/*账户金额计算*/void consumcr:add_moncy(float x)moncy=x+moncy;void consumcr:dcc_moncv(float x)moncy=moncy-x;void YH:addmoncy (int x,float y)accountx-moncy=accountx-moncy-y;float consumcr:gct_moncyOreturn money;v

32、oid main()YH yh;yh. functionshowO ;/*主界面显示*/void T1: femetionshowOint n;dosystumCcls”);loadQ;coutcoutn coutn coutn coutn coutn coutn coutn cout1. 开户2. 账户登录3. 账户注销4退出系统couicndli输入相应的操作序号进行操作:Hcndl;割V Vendl;割 y Vendl; 割Vendl;割Vendl; 割Vendl;割Vendl; 割Vendl;割v Vendl;COUt” j; cinn;whilc(n4) couiv V”操作错误,请

33、输入正确的操作序号!Hcndl; coutnu;cinn;switch (n)case 1: sct_accountQ;/开户break;case 2:cntcr_account0;/break;case 3: dcl_account();/y 4肖break;case 4: cxitYHO;/退出 break;cin.gctO;/输入流类istream的成员函数whilc(truc);void YH::urHur_accQuntOini id;coui请输入帐号:;cinid;int flag = 1;int i = 0;/_pagc_brcak_while(igptjd() flag =

34、0; else i+;if(flagcouin帐号不存在!” V Ondl;return;COUlpassw;if(passw!=accounti-gct_passwd() return;/返回到登录界面 accounti-displayO;cin.getO;cin.gct();int n;do system Ccls”);couivv”请选择下列操作:vondl;qc . V-A_/t. /t. /t. A.A. /t. A /t. -A.v V*1 WULJ* 2八八八八八八八八八八八八八八八八八八八八八八八2、匸丄coutHOHcndl;couK ”1 查耆账户信息Qncndl;coui

35、nOHcndl;couin2.取款OHcndl;couinOHcndl;couin3存款OHcndl;couinOHcndl;couin4.修改密码OHcndl;couinOHcndl;couin5.转账OHcndl;couinOHcndl;couin6.返回上一菜单OHcndl;couiA_ *A_ *A_ A. A. A -A. v* JI.WULW 2八八八八八八八八八八八八八八八八八八八八八fl fl 2、55,coutdisplay();brcak;case 2: accounti-fcichtnoncyO;savc();brcak;/从 25 功能,每执行一次调用一次 save 函

36、敎,重新写入数 据case 3:accounti-savcmoncy0;savc();brcak;case 4:accounti-changc_passwdQ;savc();brcak;case 5:transfcr(i);savc();brcak;case 6:rcturn;cin.gctO;cin.gct();whilc(l);void MH :sct_accountQint id;string nam;string passw;float m;string company;string addrcss;int nutnbcr;doublc in;coutn请输入开户号:vVendl;cinid;coutn请输入开户人姓名:”vnatn;cout请输入开户密码:vvcndl;cinpas;coutH请输入存入金额:Mm;coutn请输入开户人电话:”vnumbcr;couicompany;couKV”请输入开户人地址:vOndl;cinaddrcss;couivV”请输入开户人身份证号码:”vm;consumer * acc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论