《软件工程-学生宿舍管理系统138877.docx》由会员分享,可在线阅读,更多相关《软件工程-学生宿舍管理系统138877.docx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、三级实践课题设计任务书姓 名XXX 软件工程程(javva方向)专业 103 班题 目学生宿舍管管理系统设计任务开发一个比比较完善的的基于jaava语言言的图书管管理系统,内容包括括登录,图图书,读者者,管理员员注册等内内容,为图图书的管理理提供了一一个很好的的综合查询询服务平台台。主要功功能包括:1. 登录录:为管理理员,读者者的登录所所用,另有有会员注册册功能;(参参与)2. 图书书管理系统统主页:包括图书书信息,会会员信息,注注册会员信信息等;(参与)3. 图书书,管理员员信息界面面:图书,会会员信息的的查询,删删除,修改改等;(参参与)开发工具:javaa、MyEEclippse、MM
2、ySQLL、Phootoshhop时间进度项目进度日期192021222324252627282912345678910设计编码测试备注: xxxx xxxxx xxxx 原 主始 要资 参料 考与 文 献01YY.Da.niell Liaang.jjava语语言程序设设计基础篇篇/进阶篇篇.机械工工业出版社社。02刘勇勇.SQLL Serrver22000基基础教程M: 清华大学学出版社.指导教师签签字: 20122年 03 月 日课题题目摘 要随着计算机机网络的飞飞速发展,IInterrnet技技术越来越越广泛的应应用,网络络覆盖的区区域不断扩扩大,给现现代宿舍管管理应用带带来了蓬勃勃发展
3、的机机遇,在现现代学生宿宿舍管理中中,网上修修改学生信信息成为不不可缺少的的现代工具具。本文详细的的论述了学学生宿舍管管理系统设设计和实现现的全过程程,在论述述过程中,主主要分五大部分。第第一部分主主要包括绪绪论、相关关背景和构架架和对开发发工具进行行了相应的的介绍。第第二部分是是对系统需需求分析及及各环节的的需求分析析。第三部部分是对学学生宿舍管管理系统功能的分析析和详细设设计,该部部分是本文文的主体,在在这一部分分,介绍了了本系统设设计方案的的实现过程程,经过论论证得到系系统模块功功能并设计计数据库。针针对本系统统的详细设设计并以学学生信息管管理和订单单管理模块块为例进行行详细分析析。第五
4、部分是系系统的实现现和测试。本本文通过对对以上五部分的论论述,使学学生宿舍管管理系统各各功能基本本完成。关键词: 学生宿舍舍管理; 数据库; Javva I目 录摘 要I第1章 项项目分析11.1 功功能描述11.2 技技术分析11.2.11 工程计计划进度11.2.2 标题题11.3 标标题2第2章 系系统分析与与设计22.1系统统分析22.2参与与者32.3系统统设计32.4类图图32.5系统统体系结构构设计42.6数据据库设计5第3章 功功能实现与与测试63.1 登登陆界面63.2 主主界面63.3 添添加界面73.4 删删除界面73.5 修修改界面83.6 查查询功能8第4章 数数据库
5、94.1管理理员数据库库信息表截截图104.2学生生信息数据据库截图104.3 数数据库列表表11第5章 结束语11指导教师评评语13附录A: 附加图、表表15附录B: 主要源程程序20JAVA103 李碧霄 201007092319 学生宿舍管理系统第1章 项项目分析1.1 功功能描述设计一个计计算机程序序,实现对对宿舍的宿宿舍号、宿宿舍人员等等的管理。学生宿舍管管理系统,通过制作作简单的管管理系统,可以实现现添加.查查询.删除除.修改等等功能。1.2 技技术分析登录功能:管理员登登录 学生生宿舍管理理系统 ,对对宿舍进行行管理。如如没有管理理员帐号则则不能修改改任何信息息。添加功能:添加数
6、据据信息,当当有新同学学进入是可可以添加该该同学的信信息。通过过文本框读读入添加信信息,连接接数据库后后储存数据据。精确查询:输入要查查询同学的的学号,显示示出该同学学的信息。通通过文本框框读入要查查找的信息息,用SQQL语句在在数据库中中进行查找找。删除功能:该功能和和精确查询询功能在同同一功能模模块中实现现,有于删删除同学信信息并更新新数据库信信息。修改功能:当同学的的信息改变变时,用此此功能更新新同学信息息。通过对对数据库信信息的更新新保存最新新信息1.2.11 工程计划划进度03.20003.26:分分析问题,整整理资料;03.27703.04:编编写代码,测测试程序;03.05503
7、.11:填填写模板,整整理文档。第2章 系系统分析与与设计系统总体结结构分析根根据实际情情况,以少少量代码快快速地构造造一个可执执行的软件件系统模型型,使用户户和开发人人员可以较较快的确定定需求。2.1系统统分析“学生宿舍舍管理系统统”主要是实实现学生信信息的建立立,删除,查查询,插入入及删除等等操作功能能。默认只只能管理员员使用系统统对学生信信息进行增增删改查。2.2参与与者管理员2.3系统统设计“学生宿舍舍管理系统统”的功能是是管理自己己的学生宿宿舍信息,要要求能对通通讯录中记记录信息进进行增加,删删除,编辑辑操作。分分析通讯录录管理系统统的数据库库结构,包包括需要几几张表,需需要那些字字
8、段。建立立项目文件件;在项目目中建立数数据库;建建立表;适适当输入记记录;确定定表间的关关系;针对对自己建立立的数据库库练习查询询。2.4类图图Modify+ruslt:JTextArea+查询:JBotton+name:String+sql:String+Ztcx()+actionPerformed(ActionEvent e):voidDelete+a,b,c:JLabel+About(JFrame f)+WindowClosing(WindowEvent e):voidQuery+姓名,手机号码,家庭电话,办公电话:JTextArea+查询,删除:JBotton+Find(JFrame
9、f)+WindowClosing(WindowEvent e):void+WindowClosing(WindowEvent e):voidAdd+姓名,手机号码,家庭电话,办公电话:JTextArea+开始修改,录入修改,重置:JBotton+Update()+actionPerformed(ActionEvent e):voidStudent-id:int-Sname:String-Sno:String+get:void-set:voidAccountDao+姓名,手机号码,家庭电话,办公电话:JTextArea+确定,重置:JBotton+Tianjia()+actionPerforme
10、d(ActionEvent e):voidAccount+ruslt: JTextArea+tj:JTextField+查询:JBotton+name,sql:String+p:JLabel+mhcx()+actionPerformed(ActionEvent e):voidStudentDao+姓名,手机号码,家庭电话,办公电话:JTextArea+确定,重置:JBotton+Tianjia()+actionPerformed(ActionEvent e):void字段名数据类型是否为空是否为主键键默认值账号Int(111)否是NULL姓名VarChhar(2255)否否NULL宿舍号Var
11、Chhar(2255)否否NULL2.5系统统体系结构构设计学生数据库查询修改删除添加2.6数据据库设计学生信息表表:字段名数据类型是否为空是否为主键键默认值账号Int(111)否是NULL姓名VarChhar(2255)否否NULL宿舍号VarChhar(2255)否否NULL管理员信息息表:字段名数据类型是否为空是否为主键键默认值账号Int(111)否是NULL密码VarChhar(2255)否否NULL第3章 功功能实现与与测试3.1 登登陆界面管理员通过过此界面登登录到宿舍舍管理系统统。可以注注册新的用用户。3.2 主主界面管理员可对对信息进行行添加、删删除、修改改。也可以以进行查询询
12、操作。3.3 添添加界面“添加功能能”可以添加加新的学生生信息,点点击“录入”按钮录入入学生信息息。3.4 删删除界面因为学生的的学号是唯唯一的,所所以管理员员可以通过过学号删除除学生的信信息。3.5 修修改界面管理员可通通过删除功功能删除学学生的信息息。3.6 查查询功能因为学生的的学号是唯唯一的,所所以管理员员可以通过过学号查询询的信息。第4章 数数据库对数据库整整体的布局局与分析。4.1管理理员数据库库信息表截截图4.2学生生信息数据据库截图4.3 数数据库列表表第5章 结束语经过将近三三个星期努努力终于完完成了这次次JAVAA课程设计计,基本能能够掌握JJAVA应应用系统开开发技术。真
13、真是工夫没没白下,通通过学习JJAVA系系统开发使使我对ECCLIPSSE这个开开发工具有有了深入的的了解。在没有做课课程设计以以前觉得课课程设计只只是对这门门课程所学学知识的单单纯总结,但但是通过这这次做课程程设计发现现自己的看看法有点太太片面。课课程设计不不仅是对前前面所学知知识的一种种检验,而而且也是对对自己能力力的一种提提高。通过过这次课程程设计使我我明白了自自己原来知知识还比较较欠缺,自己要学学习的东西西还太多,学学习是一个个长期积累累的过程,在在以后的工工作、生活活中都应该该不断的学学习,努力力提高自己己知识和综综合素质。在这次课程程设计中也也使我们的的同学关系系更进一步步了,同学
14、学之间互相相帮助,有有什么不懂懂的大家在在一起商量量,听听不不同的看法法对我们更更好的理解解知识,所所以在这里里非常感谢谢帮助我的的同学。在这次课程程设计中界界面设计、多多数控件的的设置、部部分代码的的编写还可可以,因为为很多控件件的属性及及用法在平平时的学习习中已早就就有所掌握握,所遇到到的最大难难题是数据据库的编辑辑和链接及及其代码的的编写,在在通讯录用用到数据库库是为了方方便通讯录录的添加、查查询、修改改和删除,因因我们原本本对数据库库的了解就就甚少,但但编程的继继续不得不不使我们对对这些知识识有一定程程度了认识识。为了完完善通讯录录功能我们们走进图书书馆,翻阅阅了大量关关于数据库库的资
15、料,不不能说已经经通悟了数数据库,但但是对数据据库中的一一些基本知知识还是有有所了解的的。总之,不不管学会的的还是学不不会的的确确觉得困难难比较多,真真是万事开开头难,不不知道如何何入手。最最后终于做做完了有种种如释重负负的感觉。此此外,还得得出一个结结论:知识识必须通过过应用才能能实现其价价值!有些些东西以为为学会了,但但真正到用用的时候才才发现是两两回事,所所以我认为为只有到真真正会用的的时候才是是真的学会会了。在设计过程程中,我通通过查阅大大量有关资资料,与同同学交流经经验和自学学,等方式式,使自己己学到了不不少知识,也也经历了不不少艰辛,但但收获同样样巨大。在在整个设计计中我懂得得了许
16、多东东西,也培培养了我独独立工作的的能力,树树立了对自自己工作能能力的信心心,相信会会对今后的的学习工作作生活有非非常重要的的影响。而而且大大提提高了动手手的能力,使使我充分体体会到了在在创造过程程中探索的的艰难和成成功时的喜喜悦。虽然然这个通讯讯录设计做做的也不太太好,但是是在设计过过程中所学学到的东西西是这次课课程设计的的最大收获获和财富,使使我终身受受益参考文献1 陈家祺. 运动图像像处理在车车型识别中中的应用J. 汽车工程程,19998,200(6): 3433462 陈家祺. C程序设设计教程M. 北京:新新华出版社社,19999.1113 Shihhang S. FFuzzyy s
17、ellf-orrganiizingg conntrolller and its appllicattion for dynaamic proccesseesJ. Fuuzzy Setss andd Sysstemss, 19998,226:15511664 4 Kaarre Chhristtian. Borrlandd C+ Tecchniqques & UttilittisMM. ZZiff-DaviisPreess,19933指导教师评评语 成绩:指导教师签签名: 年 月月 日日 附录A: 附加图、表表 学生宿舍管管理系统主主界面学生宿舍管管理系统操操作界面学生宿舍管管理系统添添加信息界界
18、面学生宿舍管管理系统删删除信息界界面学生宿舍管管理系统修修改信息界界面学生宿舍管管理系统查查询信息界界面数据库表格格信息附录B: 主要源程程序1、登陆界界面源代码码:imporrt jaava.aawt.*;imporrt jaava.aawt.eeventt.*;imporrt jaavax.swinng.*;imporrt jaava.ssql.*;imporrt jaava.uutil.Caleendarr;publiic cllass Indeex exxtendds JFFramee impplemeents ActiionLiistenner Caleendarr datte =
19、Caleendarr.gettInsttancee();privvate Accoount accoount=new Accoount();privvate Jdbcc ut = neew Jddbc();privvate JMennuBarr jmbb = nnew JJMenuuBar();privvate JMennu JMM1 = new JMennu(操操作);privvate JMennuIteem JMMT1= new JMennuIteem(登登录);privvate JMennuIteem JMMT2 = neww JMeenuIttem(注册);privvate JMenn
20、uIteem JMMT3 = neww JMeenuIttem(退出);privvate JLabbel jjla_ttitlee = nnew JJLabeel(宿舍管管理系统, SwiingCoonstaants.CENTTER);privvate JLabbel jjla_aac = new JLabbel(帐 号);privvate JLabbel jjla_ppass = neew JLLabell(密 码);privvate JLabbel jjla_ppanell = nnew JJLabeel();privvate JButtton jbu_zhu=new JButtton(注
21、册);privvate JButtton jbu_landd = nnew JJButtton(登录);privvate JButtton jbu_overr = nnew JJButtton(退出);stattic JJTexttFielld jttf_idd = nnew JJTexttFielld();privvate JPasssworrdFieeld jjtf_ppass = neew JPPasswwordFFieldd();publlic IIndexx() seetBakk(); /调用用背景方法法 CContaainerr c = gettConttentPPane(); /
22、获取JJFramme面板 jjla_ppanell.settOpaqque(ffalsee); /把把JPannel设置置为透明 这样就不不会遮住后后面的背景景 这样样你就能在在JPannel随意意加组件了了 cc.addd(jlaa_pannel); thiss.adddListtenerr();iniitiallFramme();/ 初初始化界面面settJMennuBarr(jmbb);jmbb.addd(JM11);JM11.addd(JMTT1);JM11.addd(JMTT2);JM11.addd(JMTT3);publlic vvoid addLListeener() JMTT1
23、.adddActtionLListeener(thiss);JMTT2.adddActtionLListeener(thiss);JMTT3.adddActtionLListeener(thiss);jbuu_zhuu.adddActiionLiistenner(tthis);jbuu_lannd.adddActtionLListeener(thiss); jbu_overr.adddActiionLiistenner(tthis);publlic vvoid inittialFFramee() intt dayy = ddate.get(Caleendarr.DAYY_OF_MONTTH);
24、intt monnth = datte.geet(Caalenddar.MMONTHH) + 1;intt yeaar = datee.gett(Callendaar.YEEAR);JLaabel jla_datee = nnew JJLabeel( 当前前时间是 + yyear+ 年年 + monnth + 月月 + dayy + 月 );jlaa_datte.seetForregroound(Coloor.BLLUE);jlaa_datte.seetBacckgroound(Coloor.YEELLOWW);/ 设为空布布局jlaa_pannel.ssetLaayoutt(nulll);/
25、 将控件添添加到容器器相应位置置jlaa_tittle.ssetBooundss(20, 20, 2500, 400);jlaa_pannel.aadd(jjla_ttitlee);jlaa_ac.setBBoundds(300, 1000, 1110, 25);jlaa_pannel.aadd(jjla_aac);jtff_id.setBBoundds(1220, 1100, 130, 25);jlaa_pannel.aadd(jjtf_iid);jlaa_passs.seetBouunds(30, 140, 1100, 255);jlaa_pannel.aadd(jjla_ppass);j
26、tff_passs.seetBouunds(120, 1400, 1330, 225);jlaa_pannel.aadd(jjtf_ppass);jbuu_zhuu.settBounnds(550, 2210, 60, 30);jlaa_pannel.aadd(jjbu_zzhu);jbuu_lannd.seetBouunds(120, 2100, 600, 300);jlaa_pannel.aadd(jjbu_lland);jbuu_oveer.seetBouunds(190, 2100,60, 30);jlaa_pannel.aadd(jjbu_oover);addd(jlaa_panne
27、l);addd(jlaa_datte, BBordeerLayyout.SOUTTH);settVisiible(truee);thiis.seetTittle(登录宿舍舍管理系统统 );Dimmensiion sscreeenSizze = Toollkit.getDDefauultTooolkiit().getSScreeenSizze();intt cennterXX = sscreeenSizze.wiidth / 2;intt cennterYY = sscreeenSizze.heeightt / 22;intt w = 5000;/ 本窗体宽宽度intt h = 3300;/ 本
28、窗体高高度thiis.seetBouunds(centterX - w / 2, cennterYY - hh / 22 - 1100, w, hh);/ 设置窗窗体出现在在屏幕中央央thiis.seetVissiblee(truue);/ 将填写姓姓名的文本本框设为默默认焦点publlic vvoid actiionPeerforrmed(ActiionEvvent e) if (e.ggetSoourcee() = jbbu_laand|e.geetSouurce()=JJMT1) trry iif(jttf_idd.gettTextt().eequalls()JOpttionPPane.
29、showwMesssageDDialoog(nuull, 请输入入ID);elsee if(jtf_passs.gettTextt().eequalls()JOpttionPPane.showwMesssageDDialoog(nuull, 请输入入密码);elsee if(jtf_id.ggetTeext().equuals()&jtff_passs.geetTexxt().equaals()JOpttionPPane.showwMesssageDDialoog(nuull, 请输入入帐号及密密码);eelsejjava.sql.Connnectiion ccon = ut.getCConn
30、eectioon();PPrepaaredSStateementt ps = coon.preepareeStattemennt(sselecct * fromm acccountt wheere iid = ?);pps.seetIntt(1, Inteeger.parsseIntt(jtff_id.getTText();RResulltSett rs = pss.exeecuteeQuerry();rrs.neext();iint iid_trrue = rs.getIInt(11);iint ppass_truee = rrs.geetIntt(2); if ( passs_trrue
31、= Inntegeer.paarseIInt(jjtf_ppass.getTText() zhujjiemiian zzhu=nnew zzhujiiemiaan();zhu.setVVisibble(ttrue); elsse iff( paass_ttrue != IIntegger.pparseeInt(jtf_passs.gettTextt()JOpttionPPane.showwMesssageDDialoog(nuull, 登陆失失败!);uut.cllose(con, ps, rs); catcch (EExcepptionn e1) JOOptioonPanne.shhowMe
32、essaggeDiaalog(nulll, 用用户不存在在,请注册册新用户!); eelse if(ee.gettSourrce()=jbbu_zhhu|ee.gettSourrce()=JMMT2) AcccounntDaoo rdaao=neew AcccounntDaoo();acccountt.settId(IIntegger.pparseeInt(jtf_id.ggetTeext();acccountt.settPassswordd(jtff_passs.geetTexxt();JOpptionnPanee.shoowMesssageeDiallog(nnull, 注册册成功!);
33、rddao.ZZC(acccounnt);elsse iff (e.getSSourcce() = jjbu_oover|e.ggetSoourcee()=JMT33) Sysstem.exitt(0); pubblic voidd settBak() (JPaanel)thiss.gettConttentPPane().ssetOppaquee(fallse); ImaggeIcoon immg = new ImaggeIcoon(cc:/22.jpgg); /添加加图片 JLabbel bbackggrounnd = new JLabbel(iimg);thiss.gettLayeered
34、PPane().addd(baackgrroundd, neew Inntegeer(Inntegeer.MIIN_VAALUE); backkgrouund.ssetBooundss(0, 0, iimg.ggetIcconWiidth(), iimg.ggetIcconHeeightt(); publlic sstatiic vooid mmain(Striing aargs) Inddex fframee = nnew IIndexx();fraame.ssetTiitle(宿舍管管理系统);fraame.ssetDeefaulltClooseOpperattion(JFraame.EE
35、XIT_ON_CCLOSEE);fraame.ssetViisiblle(trrue);2、主界面面源代码:imporrt jaava.aawt.*;imporrt jaava.aawt.eeventt.*;imporrt jaavax.swinng.*;publiic cllass zhujjiemiian eextennds JJFramme immplemmentss ActtionLListeenerprivaate JJLabeel jlla_paanel = neew JLLabell();privaate JJMenuuBar jmb = neew JMMenuBBar();pr
36、ivaate JJMenuu JM11 = nnew JJMenuu(操作作);privaate JJMenuuItemm JMTT1= nnew JJMenuuItemm(增加加);privaate JJMenuuItemm JMTT2 = new JMennuIteem(删删除);privaate JJMenuuItemm JMTT3 = new JMennuIteem(修修改);privaate JJMenuuItemm JMTT4 = new JMennuIteem(查查询);privaate JJLabeel JLL=neww JLaabel();privaate CContaain
37、err conntraiiner=getCConteentPaane();publiic zhhujieemiann()supeer(欢欢迎进入学学生宿舍管管理系统操操作界面);setJJMenuuBar(jmb);jmb.add(JM1);JM1.add(JMT11);JM1.add(JMT22);JM1.add(JMT33);JM1.add(JMT44); settBak(); /调用背背景方法 Coontaiiner c = getCConteentPaane(); /获取JFFramee面板 jlla_paanel.setOOpaquue(faalse); /把JJPaneel设置为为
38、透明 这这样就不会会遮住后面面的背景 这样你你就能在JJPaneel随意加加组件了 c.add(jla_paneel); tthis.setSSize(500,400);thiss.settDefaaultCCloseeOperratioon(JFFramee.EXIIT_ONN_CLOOSE);JMT11.adddActiionLiistenner(tthis);JMT22.adddActiionLiistenner(tthis);JMT33.adddActiionLiistenner(tthis);JMT44.adddActiionLiistenner(tthis);publiic voo
39、id ssetBaak() (JPannel)tthis.getCConteentPaane().seetOpaaque(falsse); IImageeIconn imgg = nnew IImageeIconn(c:/1.jpg); /添加图图片 JJLabeel baackgrroundd = nnew JJLabeel(immg);tthis.getLLayerredPaane().addd(bacckgroound, neww Inttegerr(Inttegerr.MINN_VALLUE); bbackggrounnd.seetBouunds(0, 00, immg.geetIco
40、onWiddth(), immg.geetIcoonHeiight(); publiic vooid aactioonPerrformmed(AActioonEveent ee)if(ee.gettSourrce()=JMMT1)new Add().seetVissiblee(truue);elsse iff(e.ggetSoourcee()=JMT22)new Deleete().settVisiible(truee);elsse iff(e.ggetSoourcee()=JMT33)new Modiify().settVisiible(truee);elsse iff(e.ggetSoourcee()=JMT44)new Querry().setVVisibble(ttrue);