课程设计--银行管理系统.doc_第1页
课程设计--银行管理系统.doc_第2页
课程设计--银行管理系统.doc_第3页
课程设计--银行管理系统.doc_第4页
课程设计--银行管理系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

装订线长 春 大 学 课程设计纸目录目录1一设计题目2二设计目的2三设计分析21.需求分析22.系统功能分析2四概念结构设计31.系统E-R图32.数据流图43.业务流程图4五逻辑结构设计41. 用户功能42.管理员功能73.数据库设计84.功能模块图9六数据库实现9七结论14八参考文献15一设计题目银行管理系统二设计目的 Java语言是面向对象的开发方法是当今世界最流行的开发方法,是今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。这次课程设计我主要利用已学的Java知识编辑一个银行账户管理程序。通过此次课程设计,来巩固所学Java语言基本知识,加深对循环语句、选择语句的熟练程度,以及对面向对象、继承的理解等。掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。三设计分析1.需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。针对一般图书管理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:用户信息(数据项)、卡号、姓名、开户日期、证件类型、证件号、存款金额、最后登录时间、用户密码、用户权限。2.系统功能分析系统开发的总体任务是实现银行管理信息关系的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。本系统中的图书管理系统需要完成的功能上主要有:用户登录:包括用户卡号、密码。用户信息查询:包括所有用户的信息用户信息的修改:包括用户姓名、证件、密码、用户权限的修改。开户:包括用户卡号、姓名、开户日期、证件类型、证件号、存款金额销户:包括用户所有信息。冻结:包括用户卡号冻结和解冻。银行业务:包括存款、取款和转账四概念结构设计 1.系统E-R图系统主要关系模式:储户(储户姓名,住址,身份证号码)管理员(员工号,姓名)存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期)查询(储户姓名,员工号)取款(储户姓名,员工号,金额,取款日期)系统E-R图如图4.1:身份证号码住址姓名 储户1 1金额存款类型到期日期存款日期查询存款取款 n n金额 n 取款日期打印存单 打印清单 n n n员工号姓名管理员 清单信息金额查询存款取款 n n n存款类型取款日期 到期日期 1 1 11 金额存款日期 n n n系统 1 1图4.1 系统E-R图2.数据流图 数据流图如图4.2: 打印存单 系统开户用户业务员 存款 取款 存款 取款 查询 打印清单图4.2 数据流图3.业务流程图业务流程图如图4.3用户申请开户管理员发卡取款存款账户信息更新余额查询 图4.3 业务流程图五逻辑结构设计1. 用户功能 (1)用户登录功能输入用户名和密码,验证正确后进入系统。用户登录功能如图表5.1表5.1 用户登录功能输入处理输出1、用户名2、密码1、密码有三次输入机会2、验证用户名及密码3、用户名及密码正确后进入主菜单界面。如果用户名或者密码不正确,给用户一个友好提示并提示还有几次机会(2)主菜单功能输出主菜单(开户、存款、取款、查询、转账、修改密码、退出)供用户选择,然后根据用户的输入选择进入不同的系统功能。主菜单功能如图表5.2表5.2 主菜单功能输入处理输出1、菜单项编号1、验证用户输入的菜单项编号是否正确(06之间);2、根据用户的选择进入不同的功能界面。如果用户输入的菜单项编号不正确,给用户一个友好提示,并要求用户重新输入。(3)存款功能用户在输入账号和密码正确后可选择存款功能,需输入存款金额,金额要大于0小于账户余额。存款功能如表5.3表5.3 存款功能输入处理输出1、账户ID2、存款金额1、输入的所有信息必填。2、验证账户ID3、存款金额大于0.00元如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(4)取款功能 取款功能如表5.4表5.4 取款功能输入处理输出1 账户ID、2 密码3取款金额1、输入的所有信息必填。2、验证账户ID。3、验证用户密码。4、取款金额大于0.00元,小于用户账户余额。如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(5)转账功能 转账功能如表5.5表5.5 转账功能输入处理输出1、账户ID2、密码3、金额4、对方账户ID1、输入的所有信息必填。2、验证账户ID;3、验证密码;4、转账金额大于0.00元,小于账户余额;如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(6)查询功能 查询功能如图表5.6表5.6 查询功能输入处理输出1、账户ID2、密码1、输入的所有信息必填。2、验证账户ID;3、验证密码;如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(7)退出功能给客户退出提示,客户确认后,退出程序。2.管理员功能(1)管理员添加用户功能输入用户的基本信息,添加账户。 管理员添加用户功能如表5.7表5.7 管理员添加用户功能输入处理输出1、用户姓名2、密码3、重复密码4、开户金额1、开户的所有信息必填2、录入的数据去除左右空格3、用户姓名4、密码5、密码和重复密码一致各项信息完全吻合,提示添加用户成功。(2)管理员删除用户功能输入用户账号和密码,一致后删除。 管理员删除用户功能如图表5.8表5.8 管理员删除用户功能输入处理输出1、用户姓名2、密码3、重复密码1、用户姓名2、密码3、密码和重复密码一致 如果输入的各项数据不正确则不能删除,用户姓名,账号,密码一致后才可删除。(3)查询顾客功能管理员可以查询所有用户的基本信息。(4) 打印清单功能 管理员可以查询用户基本信息,然后进行打印。(5)退出功能给管理员退出提示,管理员确认后,退出程序。3.数据库设计根据E-R图和以上的关系模式,利用SQL Server设计数据库中的要存储的基本表,并为每个关系模式的属性选择合适的数据类型、长度,以及主码的设置,本系统的关系属性多数不能为空。经过数据优化后,最终在本数据库中存储了三张基本表:员工信息表Staff(员工编号,员工姓名,员工性别,联系电话,密码)用户信息表Client(账户号,员工姓名,联系电话,证件名称,证件号码,密码)账户信息表Account(账户号,操作时间,账户姓名,存款金额,取款金额,账户余额,挂失状态)。员工Staff如表5.9表5.9 员工Staff字段名数据类型主码外码员工编号Char(8)YN员工姓名Char(10)NN员工性别Char(2)NN联系电话Char(11)NN密码Char(6)NN员工Client如表5.10表5.10 员工Client字段名数据类型主码外码账户号Char(19)YY用户姓名Char(10)NN联系电话Char(11)NN证件名称Char(8)NN证件号码Char(18)NN密码Char(6)NN账户信息Account如表5.11表5.11 账户信息Account字段名数据类型主码外码账户号Char(8)YN操作时间DatetimeYN账户姓名Char(10)NN存款金额MoneyNN取款金额MoneyNN账户余额MoneyNN挂失状态Char(2)NN4.功能模块图 功能模块图如图5.1图5.1 银行账户管理系统六数据库实现 在程序中定义了四个类,分别为:class DemoCust class Cust class Admin class KB (1)DemoCust类中的方法只有main(),创建第一个菜单选项,即选择登录身份。按1是选择管理员,按2是选择用户,按3是退出。class DemoCust public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户tt2*);System.out.println(*退出tt3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(请输入您的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (ID = temp.ID)temp.run(ID);break;if (i = a.v.size()System.out.println(用户不存在);System.out.println(欢迎下次光临);break;case 3:return; (2)Cust类中定义的方法有checkPWD() zhuanZhang(Cust c)getM(int n) saveM(int n) run(Cust c) printMenu(), 定义的成员变量有: String name; int ID; int password; double money; static String bankName = 建设银行 一个Cust()构造函数 Cust(String name,int ID,int password,double money) = name; this.ID = ID; this.password = password; this.money = money; 第二个菜单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、转账以及退出功能。static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*转账t4*);System.out.println(*退出t0*);System.out.println(*);(3) Admin类中有Admin(),add(),delete(),printAll(),run()方法。管理员的功能有添加顾客,删除顾客,查询顾客,打印清单以及退出功能,用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没有人继续登录则进行选择退出程序。void run()boolean flag = true;while (flag)System.out.println(*);System.out.println(*添加顾客t1*);System.out.println(*删除顾客t2*);System.out.println(*查询顾客t3*);System.out.println(*打印清单t4*);System.out.println(*退出t0*);System.out.println(*);int cmd = KB.scan.nextInt();switch (cmd)case 1:this.add();break;case 2:this.delete();break;case 3:this.print();break;case 4:this.printAll();break;case 0:flag = false;break; 管理员添加顾客所需填入的顾客基本信息有:顾客姓名,账号,密码以及开户金额。 void add()System.out.println(请输入姓名);String name = KB.scanString();System.out.println(请输入账号);int ID = KB.scanInt();System.out.println(请输入密码);int password = KB.scanInt();System.out.println(请输入开户金额);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);管理员可以查询顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。 void print()System.out.println(请输入要查询顾客的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();break;if (i = v.size()System.out.println(没有该顾客);(4) KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。为了解决冗余问题,定义了KB类。class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next(); static

温馨提示

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

评论

0/150

提交评论