




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中南大学数据库课程设计报告院系:信息科学与工程学院专业:计算机科学班 级: 1104 班学 号:0909112124姓 名:指导教师:张健2015年1月20日一、任务概述本次课程设计要求设计并实现一个虚拟的银行业务与管理系统。该系统包含两大模块,即由银行内部工作人员使用的银行服务模块与系统管理模块。银行服务与管理模块采用 C/S 模式开发,前端开发平台不限,后台数据库要求采用 SQL SERVER2000 或Oracle 9i 以上版本。二、课程设计任务要求1.2.1 银行服务模块该模块仅供银行内部工作人员使用,需提供以下功能:1)创建新账号。根据客户填写的开户单创建新的账号,并保留客户基本资
2、料,如姓名、地址、联系电话、证件类型、证件号码等。账号有不同种类,如储蓄账号和信用卡账号, 其中信用卡账号不具备储蓄功能, 但是可以透支一定额度。 储蓄账号可储蓄不同币种、 不同类型的存款, 包括活期和定期。 定期存款的时间长度限定为:三个月、半年、一年、两年、三年和五年。一个储蓄账号中可对应多笔定期存款。开设新储蓄账号时,最低存款额为 10 元。2)设置或修改账号密码。密码由用户输入,输入界面显示掩码。3)账号挂失。4)取消账号。5)存款。存款时需记录操作员编号、存款额、期限、存款时间等信息。对定期存款,可指定是否要自动转存。6)取款。取款时需记录操作员编号、取款额、取款时间等信息。计算利息
3、。 存款利率可随时间变化。 活期存款在每季度末月 20 日自动结算利息, 或在取消账号时结算利息。 定期存款利率采用存款当时的利率, 自动转存的,每转存一次, 均按转存日的利率计算下一个存期的利息。 利息加入本金, 并计算复利。8)转账。支持活期账号间的转账操作。对信用卡账号, 系统根据客户的偿还能力和信誉度设定一个透支额度。 以每月为单位进行结算, 客户当月消费总额不能超过透支额度。 结算完毕后, 向客户发出结算单, 如果客户在规定期限内没有还款, 则采取收取滞纳金或收回信用卡的措施。9)客户提供姓名、有效证件、银行帐号,申请开通网上银行服务。开通网上银行的客户获得一张口令卡,用于在进行网上
4、银行业务时的安全控制。系统管理模块1)录入、修改、查询银行工作人员基本资料。2)为工作人员分配操作帐号和操作权限。3)密码管理。操作员忘记密码,可由系统管理员将密码恢复为初始值。安全性控制要求1)所有用户密码在数据库中都要求加密存储。2)数据库管理员只能够访问银行管理模块,而不能访问业务模块。3)用户密码和账号信息在从用户界面向后台传送时要加密。课程设计要求1)对系统的功能和数据进行需求分析、总体设计和详细设计。数据库设计 部分要包含系统E-R图、数据字典、表、视图等的定义和描述。其中数据库 设计要求采用辅助设计工具,例如 ERWinlK PowerDesigner。2)程序实现各项功能,在课
5、程设计报告中要反映实现过程中采用的关键技 术和主要程序流程以及主要的操作界面。3)对数据库的操作尽可能采用存储过程或触发器实现。三、课程设计报告内容1、银行管理系统的项目设计数据库的需求和分析数据库中表的信息结构(1)、用户信息表(user表)字段名字段类型长度主键允许空说明IDcardvarchar20PKNo”,usernamevarchar20no用户姓名passwordvarchar6no密码(只能是6位的数字)IDint18no身份证sexchar4no性别addressvarchar40no住址Telint20no电话nowOpendoubleno现开(不能小于10元)(2)、管理
6、员信息表(admin表)字段名字段类型长度主键允许空说明adminIDvarchar20PKno管理员账号passwordvarchar20no密码(3)、用户存钱、取钱、转账的操作表(operate表)字段名字段类型长度主键允许空说明IDcardvarchar40notimedateno日期typevarchar10nocashdoubleno需要存(取、转账)的金额余额(4)、账户的余额表(balance表)字段名字段类型长度主键允许空说明IDcardvarchar40nostartCashDoubleno起始金额(nowOpenendCashdoubleno最终余额程序流程图银行管理系统
7、2、银行管理系统的运行情况欢迎您进入银行管理系统请选择你登录的方式:用户登录 管理员登录(选择登录方式)(1)、当选择用户登录时:欢迎您进入银行管理系统(选择用户登录)(用户操作页面)欢迎您进入银行管理系统清输入修取钱的金额(取钱页面)欢迎您进入银行管理系统请输入您存钱的金额士500(存钱的页面)欢迎您进入银行管理系统输入转入的假号:输入转入的金颔,(转账页面)欢迎您进入银行管理系统(修改密码页面)欢迎您进入银行管理系统卡号时回类型金施余款21G1101-03取钱U.Q1989.01如1UH-03存钱55.Q19S9.01欺钱10Q.01H44.022011-01 (M存钱500,01M4.0
8、工一页(显示明细页面)欢迎您进入银行管理系统遇当前的可用余额为:1844.0元(显示余额页面)(2)当管理员登录时:欢迎您进入银行管理系统管理员号,(管理员登录)(管理员页面)(开户页面)输入客户的信息;(开户页面)请输入您需要操作的用户工(输入你需要销户的卡号和密码)欢迎来到银行管理系统(获取你要修改资料的用户信息)修改客户的信息:卡号;WWVMW1月检证号:13339姓SSSSSSSS1地虬 133J333333密码r电商 1iiM3333性别土C现开士 13331(修改用户资料)欢迎来到银行管理系统十号用户名密码身价证性别地11电话现开11min1111KMMJO123stmm234w1
9、11111111113.0111wmlinnJillIT222111zao2222222222122MMJ.0下一直(显不用户信息)3、涉及的核心代码及技术、登陆界面设计思路:登录界面是先选择是使用用户登录还是选择管理员登录, 选择用户登 录,输入卡号和密码后对数据库中的用户信息进行验证, 成功时则跳转,失败时 则跳到用户的登录页面。(管理员登录方式雷同) 流程图:选择登录的方式核心代码:说明:选择用户登录,输入卡号和密码后,判断数据库中是否有此卡号和密码。String IDcaLd.=requesc .getParamet.er ( IDcard);获取川户登量时输入的P号相带码String
10、 pas swordl= request, get Parameter ( password11) ;DBhelper dJo=new DBhelper ();String strelect * from user where 工Dug匚日匚事 工 Des:匚d+” and password=1 r*+pas5wocd4-BT 1 pp; TOC o 1-5 h z ResultSeE rscib. get Rs strSQL) j、Systeiu. out .prlntln(,ir*1,*w) ;if (rs .next () ) 一3判断F号和密鸟是否在数据库中共取教据探中的用户的信息表s
11、ession, set Attr ibute ( IDcard1 IDcard);号 e13spic1nli3et Attribute (passwacd pass ward) s 匚型与门口占老.aentiRiadiEect (ixTSlcdniftUsar - jsprF); System , out .pr intln. ( j ;) elseresponse .sendPedirect (userLogin. jsppp);3 ya t Em . d tit B pi? i ilt-1 n ( e返回 u近士 r La gin . jsp 页面”):db.close 0 ;有,则跳到用
12、户登录页面;无,则重新输入用户操作页面设计思路:用户登录成功后,进入用户操作页面。用户操作页面设置了几个按钮, 包括取钱、存钱、转账、修改密码、明细查询、显示余额。取钱页面设计思路:点击取钱按钮时,跳转到输入金额的页面,输入金额点击确定后,使 余额的表中的最终余额减去输入的金额,并且把最终余额,卡号信息,类型等信息添加到操作表中。流程图:核心代码:(代码1),获取输入金额Str ing IDcard= (String) session, get Attribute (T, IDcard,r) ;/double cash=Doutole. parseDouble (request , getPa
13、rajuetet;session, set At tribute (Rcash,rHr cash);String strSQL-select. endCaah frciti balance wheize IDcard= ,F+II)card+TFr,r; DEhelper db=ncw DBhelper (ResultSet rs=di3.getRs (strSOL);获取此 k号的Jli线余额String m口=您输入的金额不足,请重新输入卜 while rs . next () ( double endCash=rs.getDoutole (F,endCash,F):it (cei3hOS
14、 c:shenidCash)比较取钱的余般是大F最终余顺endCash=enciCash-ca3h;session. set Attribute (,fendC3ht, endCash);3V口二0m*口ut . pr int In (时量整余颔:十日ndCamhJ ;更扬到余檄表中GetCash go-new GecCash(); gc.update(IDcard,endCash);response. sendRedirect (,FbQltinceYNByGec . jgpTrJ j new DBhelper( .close;余额更新后,将取钱的信息添加到操作表中。(代码2)String
15、IDcard= (Str mg) session* getAttribute ( IDcardF*J ;double cash= (Double) session, get At tribute (,rcash,r);doul)e endCash = (I)oiib le) seas ion. get At. tribute F,EndCa3hR);System, out. print in ( *fe ndCas hF, +endCash);GerCash gc=new GetCash(J;gc.addOper&te(IDcard,cash,endCash);response. sendRe
16、direct (tialanceByGet. jspr,) ; new DBhelper tJ-close() ;.主、将得到的余艳和上稻息,类型添即到操作表中存钱页面设计思路:点击存钱按钮时,跳转到输入金额的页面,输入金额点击确定后,使 余额的表中的最终余额加上输入的金额,并且把最终余额,卡号信息,类型等信息添加到操作表中。核心代码:(代码1 )douhe cash=Dciufcile. parseDoufole (request. getParamerer ( uh曰h);s&saion. set AttriloutE (cash, cash);String IDcard= (Str in
17、g) session, get Attribute ( IDcard);String 3trSQL=*select &nd.Cash fram balance where 工心1 +EDtand+*1 DBhelper dbnfjw DBhelper () ;Resultet rs=db-getRs(strSQL);获取此次号余颠表中的最终余额while (rs . next (j ) (double endCash=rs . get Double (wEndCashpr);System., out print In (endCash);session. setAttr ibute (wend
18、Cshp endCah);已 ndCash=endCash+cash;将她终氽颤加上存钱金麴,Input Cash ic -new Inputcash Q ;凡更新血敝据杵的余额表中ic - update (IDcatd, endCasb;System, out. print In ( * fl,+eiidCa3h);三子日8地.口11匚4工工11七工11(,啾迎进入更新界面! ! J aresponse. sendRedirect (,fbalanceYNBInput T jsphr);new DBhelpei: () ,close();-%,(代码2)-doutole cash=(Doub
19、le)sessiongetAttritoute(cash);Str mg IDcar d- Str ing sessioni getAttu ibute (,rIDcaudf,);double endCash= (Double) session,getAttr ibute (FrendCash,r);InputCash i.c =new InputCash ();ic.getOperate(IDcard,cashy endCash);response. sendRedirect. 1balance By Input. jsp*F ;3白训叽口11亡,口匚1约亡111(炊迎进入操作中转界面!”)
20、;new DBheiper() ,close 0 J将此米的存钱稔息放入操作表中转账的页面设计思路:点击转账按钮时,跳转到输入转入卡号和金额的页面。输入后点击确 定,将转出卡号的余额表中的最终余额减去输入的金额,得到新的余额。把转出卡号和新余额更新到余额表中,再把转出卡号,日期,类型,转出金额,新余额 信息添加到操作表中。获取转入的卡号,把其余额表中的余额加上转入的金额, 并更新到余额表。获取转入卡号的信息,把转入卡号,日期,类型,转出金额, 新余额信息添加到操作表中。流程图:核心代码:(代码1:获取转入的卡号和转账的金额)/获取转入的卡号转账的金赖Str ing I De ar dB 71
21、nput =i?equesC- get prstneter ( w ircardBylnputr,);dQuile tuunash=Double. parseDouJo le (request, get Parameter ,rturnCa3h) J : 导已日Miun.目A匕Euihut史(IDcardByInputtIDcardEylnput);session, set Attribute (,tturnCash,f turnCMh);System, out.pr intln(,rIDcardByInpuc=t|+IDcardByInput):System, out. pr intlnf
22、,rtLirnCash=+r4-tumCashJ ;response . sendRedirect ( balanceYTJByTurnln . j sp,f);(代码2:计算转入卡号的新余额)doulile turnCash= (Double) session. getAttribute (turnCash*11);String IDcardBy Input - (Seeing) session, gee Aver ibute (IDcar dBy Input ;String strSQL=select endCash frow balance where IDcarci= 1 w+IDca
23、rdByInput+l!T DBhelper db=new DBhelpEE();while(next()Results st rsdta . get Rs: (strSGL) ;、校取转入I:号的余额,蕊取原余萄douhie endCashHrs + giei:Doutol& (prend.Cashp);Systeiti. out .print In (w+endCash);n获取新的余颔e ndC ash endCag h+t urnCash;TumCash tc =new TwcnCash ()tc up dat eE yTur nln(ID c ar dByInp ut, endCas
24、h);/新余颔session set Attr itoute (ppendCashppr endCashJ ;Sys tern .out. p r inti n (,欢迎进入获取余额界面!”); cib. close ():re sponge .se ndRe directur nCas hTNByTurn In. jsprr);(代码3:转入卡号的信息添加到操作表中)String I Dear dBy Input = (String) sess ion. 3et Attribute ( IDcardBylnput);DBhelper dto=new DBhelper();String str
25、SQL=Trselect endCash from balance where IDcard= rT4-IDcardByInput+rrResulcSet rs-db .gscRs fstrSQL) *irhile (rs . next () (double endCash=rs.getDouble(endCash);SysceiiH out . pirint In (新余前+营ndCeuli);System.out. print In 走至 i| 这里+endCHmli;double turnCaah (Double) SE33icngetAtcuibute (turnCash*);Turn
26、Cash tc =new TurnCash();tctutnlnCIDcardBylnput,CurnCashj endCash);.System.out. pr intln转入的卡号=+工DcdEv工npu甯普,重1的缶息添加System.outprint-InurnCash);- response. sendRedirect (toalanceYNByTur nOut jap);new DBtielper () . close ();(代码4:计算转出卡号的新余额)do,rp+IDcard+ITDBhelper dki=new DBhelper (J ;从余曲表中获取转用1号的余额Resu
27、ltSet rs-db+getRs(strSQL);while (rs . next. (J )double endCashs * get Doub le (endCashJ ;System, out print.In (endCash);if (turnCash0tur nCa5h;tc . updateByTurnOut (IDcard, endCash);responsesendRedirect (turnCashYNByTurnout.;new DBhelper () .close ();(代码5:转入卡号的信息添加到操作表中)String IDcsr d (String) sessi
28、on, get At trite ute ,rIDrar drr):DEhalper db=new DBhelper();String svr3QL=,r5elEct EndCash roin balance wiiere IDcaud=;rT+IDcard+r, ResultSev r3=db , getRs (st-uSQL);while frs.next()dtiultle endCash=rs. gerDoub le (endCashi :System, out.println (走到这里+已ndCsish);doulile tuEnCa31a= (Double) session, g
29、et At tribute (turnCasli,F);TurnCaah Zc =new TuunCash () ;tc. turnOut (tuunCash,endCash) ;Syscetm. out. print In 1”转出的卡号口W+工De:为精Hl .1号的希息添加牙VNEEni.oil七.printlji (转出的金额=ntii!rrLCsi3h):到操作表中response. sendRedirect (r,balanceByTurTiOut .jap) ; |今修改密码页码设计思路:点击修改密码,进入修改密码页面,有输入新密码和确认新密码,判 断成功后,更新用户表中的密码。
30、流程图:核心代码:获取2次粉人的新密码String pa3STJordl=reque9t, get-Parameter (f*passiircirdl*F);String passwords-request. getParaireter (FtpassuDrd2rr);i(passFordl.equalspassword) Str Ing IDcard- f Str ing) sessioni get Attrib ute ( IDcardf,);UserOperate uo=new UserOperate();uo.updatepassword,IDcard,passwordl);new D
31、Bhelper (.close ();断输入的密码一 致,将精息更新到response R sendRedirect. (f,we icomeUser . jsp,F);数据库的用户表eXse(response sendRedirect (,rshonrMrong* jsp,f j ;3.2.5显示余额页面设计思路:点击余额按钮,通过卡号在数据库的余额表中查找此卡号的最终余额, 并显示出来。核心代码:ith mmp匚口G日年三HkSTTLEi您当盲的可用余颔为r TString IDcard= (String) session, get Ater Uoute ( HIDcardw);DBhe
32、Iper db = neTF DBhelper (J ;String strSQL=H,select endCash froro balance here IDcard= ir+ IDcard+ H Result.Set csdb getRs (strSQLJ ;while(E9 .next (1 ) double e:ndC&shr3, gecDoiible ( endCMh1) j获取余被表中的最终余额.并显示出System, out * print In (prendCa3hpr+endCash);ouc.prlntln endCash); db close (); X3.2.6显示明细
33、页面设计思路:点击显示明细按钮,通过卡号获取数据库的操作表中的信息,得到后,在页面中显示出明细,包括卡号、日期、类型、交易金额、余额。并将明细表可 分页显示。流程图:3.3管理员操作页面设计思路:管理员登录成功后,进入管理员操作页面。在操作页面中设置了开户、 销户、显示用户信息、修改用户信息功能。3.3.1开户的页面设计思路:点击开户按钮,跳入注册用户的页面,输入用户的资料,用户的资料 添加到用户表中。核心代码:(代码1:判断输入的信息) script. lai-=iifUigE=navEiscEipt,r function isValid (rf form.username . value-
34、) UctG 用尸名不能为空,请重新输入” return false;)= lse if(form,paasword-value.Xength! = 6J (请输入E个数字的密码“” return faJ.se;) =1se if(forminowOpen.vaue10) ale r匕,“存人的金额至少是107E 1;return false; )I1判断注册用户时猫入费料return true; ) )(代码2:获取输入的用户信息)VSysteiti. out. print In (r,addUserrr);StringStringStringStringStringStringIDcair
35、d=:equest. getParaitieter (工De母rd);use rnanie= request * ge tParameteE (r,iieEnajiieT,) password=i:equestgetParameter (,fpassword,r ;ID-request. qetParameter (r,;sex=request. getParanneter (F,sexTrJ ;获取输入的川户addres3=request- getParameter(addressJ ;int Tel= Integer, parselnt (request .gc七Paxametct ,FT
36、elrr);double nowOpen= Double , parseDouble Request, getParametr (|r,nowOpEn,*);session,setAttribute (,rIDcardFr, IDcard);session. set At tribute (trrLOW0perL,f ndwOpcn);Admin a-new Admin (;a.addUser(IDcard,username,password,ID,sex,address,Tel,nowOpen);DBhelper db-new DBheiper();-db.close ”;response
37、. sendRedirect ( st art Balance . j s pff); System, out print In ( addUse e,f);僻加到数据库中3.3.2销户的页面设计思路:点击销户按钮,跳如销户页面,输入要销户的卡号和密码,从获取卡号的信息和卡号的余额,如果有余额则返还给用户余额, 除卡号的资料。流程图:将余额设为0后,再删核心代码:(根据卡号删除用户信息)V %System. out. pr int In (tr de J_Use 工)二String Icard= request. getParaineter (工Dcatd);A dinin a=new Adi
38、nin.():DBhelpei: db=new DBhelper );a.delUser(IDcard);期.close ();response . sendRedirect (*ruserList. jspH j ;仔口ut .nr intln 成功,进入u/BtList js页面);与下3.3.3列显用户的信息设计思路:点击用户信息按钮,通过卡号获取数据库中用户表的信息,并用分页 的方式显示出流程图:核心代码:teatole widths*999 heght=n568* border= 0 align=t,center cellpaddijfiHOt, cellspsicin*0-th e
39、copCOlXtable width=r43 Grr hciht=rr9w border=wOrr aligxiF centerlip addingth wxdthF*43 6* aJ_Lgn= rhccnteE,h vaJ_Lgn= rhmljdtLLc*f scope= riecl*xh2 Xspan class=HSTHjEtaJ: la width-,r4 3 G r, bo r d,C f = 1 * a lign- H ce nte r F Ce llpaddinD cel Is p ac ing= 0 w border-F3间/即与Opan cl*SS= nSTZIiE2 /ap
40、anx/1h?L h WJ-dthrS69 r, SC DpCO 1. . JIJ. c las S- ST YI1E 2 rh undthF M 65rh 3C&pe=R,1 co 1MXsparj uJ日m5=”5T九余款DBhclper db=nrw PBhelper ();String strSQL= hhseltct * frDm cperate where IDcard=*+IDcard+,t,h;ReaultSet r3=db. getRa (strSQLj ;一 从数据库中获取存息int i=0;Es.tah;5Qluite ( (intPagel) *pagBSiee + l);3.3.4修改用户信息设计思路:点击修改用户信息按钮,跳到修改页面,输入卡号和密码,确定后,从数据库的用户表中获取用户的信息, 点击修改,将用户的信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路信号设备更新改造项目实施考核试卷
- 石棉水泥制品企业运营管理考核试卷
- 矿产勘查中的勘查设备维护与管理考核试卷
- 保健食品营养均衡发展策略实施效果考核试卷
- 安全监控在物流行业的应用案例分析考核试卷
- 异物卡喉急救处理指南
- 儿科急诊常见疾病案例
- 口腔科院感防控与管理体系
- 蚊子传播疾病机制与防控
- 麻醉质控总结报告
- 2025年上半年广东汕尾市城区招聘政府聘员69人易考易错模拟试题(共500题)试卷后附参考答案
- 2025版MCN公司艺人合作签约合同范本3篇
- 《玻璃体腔注射治疗》课件
- GB/T 45098-2024营运纯电动汽车换电服务技术要求
- 2025年中考英语话题作文范文20篇
- 政府经济学-电大易考通考试题目答案 (一)
- 公交车驾驶员安全培训
- 山西省云时代技术有限公司笔试题库
- 龙鑫煤矿矿井概况-2
- 国际合作项目管理制度
- 上海市算力基础设施发展报告2024年
评论
0/150
提交评论