您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程课程设计图书馆管理系统
西安邮电大学(计算机学院)软件工程课程设计报告题目:图书馆管理系统专业名称:信息与计算科学班级:信息1101学生姓名:王凯祥学号(8位):07111027指导教师:周元哲设计起止时间:2014年6月3日~2014年6月13日一.设计目的随着人类文明的发展,人们对于知识的需求也在不断地增长,书籍作为传播文明的主要工具,人们对其数量的要求也越来越高,但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充分利用。这时图书馆就特别需要开发一套图书馆管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。二.设计内容本图书馆管理系统是采用Java+SQLServer2000分别作为前台和后台的方式,本系统提供3个功能模块,分别是图书信息管理模块、读者信息管理模块、图书借阅管理模块。这3个模块里又有许多子模块,通过这些模块之间的相互连接与配合,满足使用者的各种需求。本系统的使用人员也分为两类,一类是读者,可以查看自己的信息以及借阅信息;一类是管理员,除了读者的所有功能外,还能够对书籍列表、书籍信息、读者信息、借阅和还书信息等进行管理。三.概要设计1.功能模块图;主界面查询图书图书管理借阅管理读者管理添加图书修改图书删除图书添加读者删除读者修改读者查询读者罚款信息还书借书读者留言常用工具2.各个模块详细的功能描述先附上数据库设计中的E-R图:图书信息图书编号ISBN号图书作者图书名称出版社出版日期图书价格借阅号读者编号借阅时间归还时间罚款信息借阅号读者编号时间罚款金额读者信息编号姓名登录密码限借数量读者类型性别借阅缴费管理员ID编号姓名密码开始管理员登录用户登录是否通过是否通过主界面是是否否选择要使用的模块读者管理图书管理借阅管理访问数据库访问数据库是否管理员添加图书修改图书信息按照图书编号或索书号查询图书删除上架图书是否是否管理员添加读者修改读者信息查询读者信息删除注册的读者信息是否访问数据库是否管理员进行借书和还书操作是查询罚款信息否结束图书管理模块:可以进行图书查询,图书添加、删除和修改,读者只能进行图书查询操作,查询图书可以按照图书名和ISBN码进行查询,添加图书要求输入图书的各种信息,具体参照上面的E-R图,即可完成添加操作,删除图书和修改图书只需输入图书编号就可以对其进行修改和删除操作。借阅管理模块:可以进行借书、还书以及查看罚款信息操作,当然,借书和还书的权限属于管理员,输入图书编号以及读者ID即可完成操作,读者可以在罚款信息模块查看自己是否有超期未还图书,以及如果有的话需缴纳多少逾期费的信息。读者管理模块:和图书一样,同样具有读者信息的查询、删除、修改以及添加功能,读者只具有访问查询功能的权限。查询功能,输入读者编号即可查询读者的基本信息以及借阅信息,可以看到已借阅图书的名称,借阅时间和应当归还的时间。删除功能,只要输入编号就可以删除对应的读者的所有信息;修改功能,输入读者编码就可以对读者的基本信息进行修改;添加功能,可以增加新的读者到数据库,要求正确输入其基本信息。四.详细设计1.各功能函数的数据流程图注:由于结构较复杂,在此使用microsoftvisio画出流程图并导入2.重点设计及编码在此贴出登录数据库功能的核心代码:publicvoidactionPerformed(ActionEvente){Connectioncon;PreparedStatementsql;//Statementsql;ResultSetrs;//MainFreamzjm=newMainFream();booleanboo=false;try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);}catch(ClassNotFoundExceptionf){}try{con=DriverManager.getConnection(jdbc:odbc:tushuguan);if(JRb1.isSelected()){sql=con.prepareStatement(SELECT*FROMreaderwhererid=?andpass=?);boo=true;}else{sql=con.prepareStatement(SELECT*FROMguanliyuanwheregid=?andgpass=?);//zjm.mll2.setEnabled(false);}Stringbh,password;bh=Jt1.getText();password=Jt2.getText();sql.setString(1,bh);sql.setString(2,password);rs=sql.executeQuery();if(rs.next()){this.dispose();//撤销当前窗口,并释放当前窗口使用资源MainFreamzjm=newMainFream();if(boo){zjm.mi2.setEnabled(false);zjm.mi3.setEnabled(false);zjm.mi4.setEnabled(false);zjm.mj2.setEnabled(false);zjm.mj3.setEnabled(false);zjm.mj4.setEnabled(false);zjm.mk3.setEnabled(false);zjm.mk4.setEnabled(false);zjm.ml2.setEnabled(false);zjm.bborrow.setEnabled(false);zjm.breturn.setEnabled(false);zjm.mll1.setEnabled(false);zjm.bborrow.setEnabled(false);zjm.breturn.setEnabled(false);}//zjm.show();}else{Jt1.setText();Jt2.setText();JOptionPane.showMessageDialog(this,你输入帐号错误!,警告对话框,JOptionPane.WARNING_MESSAGE);}}catch(SQLExceptione2){System.out.println(e2);}}五.测试数据及运行结果1.正常测试数据和运行结果第一组:如图1所示,测试读者查询的功能的时候,输入已经录入的读者的编号,点击基本信息,会出现该读者的基本信息;点击借阅信息,正常弹出读者已借阅书籍的信息,如图2;图1图2第二组:图书借阅功能,输入已录入读者编号以及正确的图书编号,正常弹出“借阅成功信息”,并且可以在读者信息中查询到,如图2及图3;图3第三组:修改图书信息功能,打开界面后输入已经录入的图书的编号,即可对其信息进行修改,完成后,点击修改按钮,弹出“修改图书成功”信息,如图4所示。图42.异常测试数据及运行结果第一组:图书借阅功能,输入一个没有录入的读者编号,图书编号也不存在,弹出报错信息“你输入的读者不存在”,如图5;图5第二组:图书查询功能,输入并未录入的图书编号,弹出异常信息“查询图书不存在”,如图6所示。图6六.调试情况,设计技巧及体会1.改进方案这次图书管理系统的设计,真的是让我使出浑身解数,把所学到的功能都用到了,这次设计,总体来说还是比较满意的,当然,肯定同时也有着许多不足之处,比如数据库设计不够完整,没有新书订购功能,只能对已有图书进行管理等,这些问题需要学习更多知识去完善,比如采用jsp编程通过网络对新书进行订购管理,可以采用B/S架构,更加直观便捷。2.体会本系统是一个最基本的图书馆管理系统,可扩展性很大,系统的执行效率也比较高。这些天的设计,我深刻体会到软件开发是相当辛苦的,但成功以后的喜悦也是非常美妙的,投入的越多,获得的快乐与充实感越多。本课题在选题及研究过程中得到周老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。让我能够以更加认真严谨的态度去设计,调试,完善。在此谨向周老师致以诚挚的谢意和崇高的敬意。七.参考文献[1]《数据库原理及应用》周佩德等电子工业出版社[2]《数据库系统概论》萨师煊等电子工业出版社2003[3]《Java面向对象程序设计》张桂珠等北京邮电大学出版社2003[4]《Java程序设计实例教程》毕光吉冶金工业出版社2007[5]《软件工程导论第四版》张海潘清华大学出版社2003八.附录:(源代码)publicvoidactionPerformed(ActionEvente){if(e.getSource().equals(mk3)||e.getSource().equals(bborrow)){//借阅管理Borrowjs=newBorrow();js.show();}if(e.getSource().equals(mk4)||e.getSource().equals(breturn)){Returnhs=newReturn();hs.show();}if(e.getSource().equals(mk1)){//借阅管理Fakuanfa=newFakuan();fa.show();}if(e.getSource().equals(mi1)||e.getSource().equals(bread)){//读者管理Search_readerzt=newSearch_reader();zt.show();}if(e.getSource().equals(mi2)){Add_readerzj=newAdd_reader();zj.show();}if(e.getSource().equals(mi3)){Del_readerscd=newDel_reader();scd.show();}if(e.getSource().equals(mi4)){Rework_readerrr=newRework_reader();rr.show();}if(e.getSource().equals(mi4)){Rework_readerre=newRework_reader();re.show();}if(e.getSource().equals(mj3)){//图书管理Del_booksct=newDel_book();sct.show();}if(e.getSource().equals(mj1)||e.getSource().equals(bbook)){Search_bookcx=newSearch_book();cx.show();}if(e.getSource().equals(mj2)){Add_bookzj=newAdd_book();zj.show();}if(e.getSource().equals(mj3)){Del_booksct=newDel_book();sct.show();}if(e.getSource().equals(mj4)){Rework_bookxg=newRework_book();xg.show();}if(e.getSource().equals(ml)){//常用工具万年历WanNianLimf=newWanNianLi();mf.show();}if(e.getSource().equals(ml2)){//工作日志NotePadnote=newNotePad();note.show();}if(e.getSource().equals(mll1)){//在线咨询Serverserver=newServer();server.show();}}
本文标题:软件工程课程设计图书馆管理系统
链接地址:https://www.777doc.com/doc-5659767 .html