基于WEB的图书借阅及管理系统开发.doc

上传人:啊飒飒 文档编号:10962291 上传时间:2021-06-14 格式:DOC 页数:17 大小:441.50KB
返回 下载 相关 举报
基于WEB的图书借阅及管理系统开发.doc_第1页
第1页 / 共17页
基于WEB的图书借阅及管理系统开发.doc_第2页
第2页 / 共17页
基于WEB的图书借阅及管理系统开发.doc_第3页
第3页 / 共17页
基于WEB的图书借阅及管理系统开发.doc_第4页
第4页 / 共17页
基于WEB的图书借阅及管理系统开发.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《基于WEB的图书借阅及管理系统开发.doc》由会员分享,可在线阅读,更多相关《基于WEB的图书借阅及管理系统开发.doc(17页珍藏版)》请在三一文库上搜索。

1、综合课程设计报告 姓 名:尹晓奇 学 号:2008082228 班 级:08级软件02班 指导老师:王鹏杰 魏晓鸣基于WEB的图书借阅及管理系统开发1. 系统分析1.1 需求分析本系统是一款配合实体图书馆的查询,借阅,和管理图书的系统,具体有如下需求功能:a) 必须持有借书卡的用户才能借书,可以归还图书,如果超期要显示罚款,缴纳罚款处理后,才允许继续借书。b) 所有用户都可以在网页上搜索图书,显示在网页上的图书要有详细信息c) 系统提供即将到期提醒,当某用户的某本书即将到期时,系统提醒用户。d) 图书管理员可以添加图书,修改图书,删除图书等,可以进行图书进货,图书报废处理。e) 系统管理员可以

2、添加用户,为用户分配借书卡号,设置默认密码;可以删除用户。f) 用户以借书卡考号和密码可以登录读者信息系统,读者信息系统中显示该用户的图书借阅历史,目前在借图书;用户可以在这里对某本图书进行预约,可以在这里续借图书(续借最长时间为1个月);这里可以显示该用户已有的图书预约信息;可以显示用户的基本信息。用户可以对自己的基本信息进行修改1.2功能分析图书借阅及管理系统用户端界面借记卡管理图书管理图书分类管理直接搜索精细搜索 登录登录息信人个系统管理图书借阅管理阅借书图息信约预1 用户端界面 直接搜索:用户直接在搜索框内输入查询的书名或作者,即可查看图书馆内是否有藏书。 精细搜索:用户可通过图书类型

3、,出版社,ISBN等进行精细搜索。 拥有借记卡的用户可以登录,初始密码为123登录后可进行如下操作:1 个人信息:查看修改个人资料,修改密码。2 图书借阅:查看当前借阅和历史借阅。3 预约信息:查看当前预约图书。2 系统管理 借记卡管理:创建,查看,修改,删除卡信息。 图书分类管理:创建,查看,修改,删除图书分类。 图书管理:插入,删除,修改图书。 图书借阅管理:图书解除与归还(超期,丢失,损坏等的罚款)2. 数据库设计2.1数据库概念结构设计根据需求分析可以规划出的实体有:管理员实体、借记卡实体、图书实体、图书分类实体。实体之间关系的E-R图,实体之间关系如下图所示: 、借记卡借书图书管理管

4、理员用户名密码书名作者 馆藏地卡号密码 姓名图书分类父类本类NnNnNnNn条码号借记卡号借阅日期应还日期续借状态还书条码号 事务预约借阅日期借阅日期 2.2 数据库逻辑结构设计表1:借记卡信息表(card)字段名含义类型Cardnum卡号,主键StringPassword密码StringName真实姓名StringPosition职位StringEmailEmailStringGrade等级intAdmition状态StringBooknum现借书数int表2:图书分类信息表(bookclassify)字段名含义类型Fateher父类StringOwn本身,主键String表3:图书基本信息

5、表(bookinfo)字段名含义类型Searchnum索书号,主键StringIsbnISBNStringBookname书名StringAuthor作者StringPrice定价IntPress出版社StringPicture封面StringType类型StringSubject分类StringIntroduce简介StringLocation馆藏地StringIndate入馆日期StringTotlecount馆藏数IntNowcount在馆数IntPordercoun预约数Int表4:图书状态信息表(book)字段名含义类型Booknum条码号,主键StringSearchnum索书号S

6、tringBorrow借阅状态StringPorder预约状态String表5:借阅图书信息表(borrowbook)字段名含义类型Booknum条码号,主键StringBorrowcard借记卡号StringBorrowdate节约时间StringReturndate应还时间StringReborrow续借状态String表6:预约图书信息表(porderbook)字段名含义类型Booknum条码号,主键StringBorrowcard借记卡号StringPorderstartdate预约计时StringPorderenddate失效时间String表7:借阅历史信息表(borrowhist

7、ory)字段名含义类型Booknum条码号,主键StringBorrowcard借记卡号,主键StringBorrowdate借阅日期,主键StringBackdate归还日期StringFair事务StringMoney罚款Int3. 系统设计3.1 主页搜索模块程序流程图及文件调用结构图:查看图书信息是否找到预约显示结果是否可以预约否是图1搜索和预约(前提登录)firstPage.jsp搜索true选择搜索类型输入搜索内容首页是否无作为SearchServlet.javasearchResult.jspfalseBookInfoBeanDo.java查看SearchServlet.java

8、bookInfo.jspBookInfoBean.javaBookBeanDo.javaBookBean.java预约PorderServlet.javaPorderBookBeanDo.javaPorderBookBean.javajsp页面列表如下表所示: jsp文件名功能firstPage.jsp主页搜索界面searchResult.jsp搜索结果界面bookInfo.jsp图书信息界面实现该功能模块所涉及的重要类包括:编号类名功能说明1BookInfoBean封装图书基本信息数据类2BookBean封装图书状态信息数据类3PorderBookBean封装图书预约信息数据类4BookIn

9、foBeanDo改变预约数5BookBeanDo改变预约状态6PorderBookBeanDo添加预约信息 (1) BookInfoBeanDo类返回值方法名功能参数说明booleanchangePorder1改变预约数String seaerchnum(2) BookBeanDo类返回值方法名功能参数说明StringporderBook改变预约状态String seaerchnum(3) PorderBookBeanDo类返回值方法名功能参数说明booleanaddPorder添加预约信息String booknumString carnumd3.2 借记卡管理模块程序流程图及文件调用结构图

10、:修改信息是否找到删除显示结果否是图2 借记卡管理masterHome.jsp新建卡输入搜索内容借记卡管理修改cardInsert.jspcardShow.jspCardBeanDo.java搜索CardBean.javaCardServlet.java查看卡信息选择搜索类型修改删除jsp页面列表如下表所示: jsp文件名功能cardInsert.jsp新建借记卡界面cardShow.jsp查看借记卡界面cardUpdate.jsp修改借记卡界面实现该功能模块所涉及的重要类包括:编号类名功能说明1CardBean封装借记卡信息数据类2CardBeanDo对借记卡的增删改查 CardBeanDo

11、类返回值方法名功能参数说明booleannewcard新建卡String s,String frombooleannewcard修改卡String s,String fromArrayListshowCard查看卡String kind,String infoBooleandeleteCard删除卡String s是否找到显示结果否是图3 图书借阅管理管理masterHome.jsp借出图书借阅管理bookBorrow.jspbookback.jspBorrowServlet.java搜索BookInfoServlet.java归还输入条码号输入条码号是否找到显示结果是输入借记卡号借出正常归还

12、罚款是否BookInfoBeanDo.javaBookInfoBean.javaBorrowHistory.javaBorrowBookBeanDo.javaBookBeanDo.java3.3 图书借阅管理模块程序流程图及文件调用结构图:jsp页面列表如下表所示: jsp文件名功能bookBorrow.jsp借书界面bookback.jsp还书界面实现该功能模块所涉及的重要类包括:编号类名功能说明1BookInfoBeanDo修改在馆数量2BorrowBookBeanDo添加借书信息3BookBeanDo修改借书状态 BookInfoBeanDo类返回值方法名功能参数说明booleancha

13、ngeBorrow减少在馆数量String searchnumbooleanchangeBack增加在馆数量String booknumBorrowBookBeanDo类返回值方法名功能参数说明booleanaddBorrow添加借书信息String booknum,booleandeleteBorrow删除借书信息String booknumBookBeanDo类返回值方法名功能参数说明booleanborrowBook修改状态String booknum,booleanbackBook修改状态String booknum3.4 用户图书借阅查看模块程序流程图及文件调用结构图:是否找到显示结

14、果否是图4用户图书借阅查看customerHome.jsp当前借阅图书借阅cBorrowNow.jspacBorrowHis.jspBorrowBookBeanDo.java搜索BorrowHistoryBeanDo.java历史借阅jsp页面列表如下表所示: jsp文件名功能cBorrowNow.jsp当前借阅界面cBorrowHis.jsp历史借阅界面实现该功能模块所涉及的重要类包括:编号类名功能说明1BorrowBookBeanDo显示当前借阅2BorrowHistoryBeanDo显示历史借阅 BorrowBookBeanDo类返回值方法名功能参数说明ArrayListshowborr

15、ow返回当前借阅String kind,String infoBorrowHistoryBeanDo类返回值方法名功能参数说明ArrayListshowHistory返回历史借阅String kind,String info4. 系统实现(1)用户搜索:将用户搜索的内容及类型传到searchServlet,然后调用BookInfoBeanDo中的showPage()方法,查询bookinfo表中是否存在用户搜索的内容,如果存在则显示出来,否则提示未找到。如果找到,用户可以点击查看详细信息主要代码如下:if(from.equals(searchPage)int pageNow = Integer

16、.parseInt(request.getParameter(pageNow); BookInfoBeanDo bd = new BookInfoBeanDo(); int pageCount=bd.getPageCount(kind, info);ArrayList al = bd.showPage(pageNow, kind, info); request.setAttribute(al, al); request.setAttribute(pageCount, pageCount); request.setAttribute(pageNow, pageNow); request.getR

17、equestDispatcher(searchResult.jsp).forward(request, response); if(from.endsWith(bookinfo) BookInfoBeanDo bd = new BookInfoBeanDo(); ArrayList al1= bd.showInfo(kind,info); BookBeanDo bb = new BookBeanDo(); ArrayList al2 = bb.showbook2(kind,info); request.setAttribute(infoal, al1); request.setAttribut

18、e(bookal, al2); request.getRequestDispatcher(bookInfo.jsp).forward(request, response); (2)卡信息管理:加查看修改将信息传到cardServlet,由其调用cardBeanDo中的newCard 方法实现并返回boolean值,判断是否添加成功ArrayList al = new ArrayList();try ConnDB condb = new ConnDB(); con = condb.getConn(); String sql = select * from card where +kind+=+i

19、nfo; System.out.println(sql); sm = con.prepareStatement(sql); rs = sm.executeQuery(); while(rs.next() CardBean cb = new CardBean(); cb.setCardnum(rs.getString(1); . cb.setBooknum(rs.getInt(8); al.add(cb); (3)借阅登录查看:主要代码:public boolean addBorrow(String booknum,String cardnum,String date1,String date2

20、)boolean b = false;try ConnDB condb = new ConnDB(); con = condb.getConn(); String sql = insert into borrowbook values(+booknum+,+cardnum+,+date1+,+date2+,未续借); System.out.println(sql); sm = con.prepareStatement(sql); int i = sm.executeUpdate(); if(i!=0)b = true; catch (Exception e) e.printStackTrace

21、();finallythis.close();return b;(3)还书历史:主要代码:function getDate() var myDate = new Date(); var month = myDate.getMonth()+1; /获取当前月份(0-11,0代表1月) date1 = new Date(); document.getElementById(backdate).innerText = myDate.getFullYear()+/+month+/+myDate.getDate(); date1= myDate.getFullYear()+/+month+/+myDat

22、e.getDate(); time = (new Date(date1)-new Date(document.getElementById(back).innerText)/1000/60/60/24; if(time0) alert(超期+time); document.getElementById(Submit2).disabled=true; document.getElementById(choose).innerHTML=document.getElementById(choose).innerHTML+超期+time+天,罚款:+time*0.5+元; else alert(time); document.getElementById(Submit3).disabled=true; 5.总结紧张的课程设计结束了,经过4周的努力,web图书管理系统虽然没有完成全部细节上的功能,但大部分功能都已经实现啦。从系统最初的需求分析、设计,到编码,调试,再到最后的测试,经过多次反复的修改,功能已逐渐完善。通过这本课程设计,提高了动手能力和解决实际问题的能力,受益匪浅。对今后的学习和课程设计等具有很好的指导作用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1