版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TOC o 1-3 h z u HYPERLINK l _Toc22861 绪论 PAGEREF _Toc22861 2 HYPERLINK l _Toc34 第二章 需求分析 PAGEREF _Toc34 3 HYPERLINK l _Toc36 2.1 用户需求 PAGEREF _Toc36 3 HYPERLINK l _Toc30282 2.1.1 数据需求 PAGEREF _Toc30282 3 HYPERLINK l _Toc30276 2.1.2 功能需求 PAGEREF _Toc30276 3 HYPERLINK l _Toc16455 2.2 业务流程 PAGEREF _Toc
2、16455 3 HYPERLINK l _Toc28892 2.2.1 系统业务流程 PAGEREF _Toc28892 3 HYPERLINK l _Toc11761 2.3主要用例的用例描述 PAGEREF _Toc11761 4 HYPERLINK l _Toc23080 第三章 总体设计 PAGEREF _Toc23080 6 HYPERLINK l _Toc31567 3.1 总体结构框图 PAGEREF _Toc31567 6 HYPERLINK l _Toc30180 3.2功能模块 PAGEREF _Toc30180 6 HYPERLINK l _Toc15804 3.21 读
3、者模块功能 PAGEREF _Toc15804 7 HYPERLINK l _Toc2657 3.2.2 图书借还模块功能 PAGEREF _Toc2657 7 HYPERLINK l _Toc5911 3.2.3 图书管理模块功能 PAGEREF _Toc5911 7 HYPERLINK l _Toc15220 3.2.4 出版社管理模块功能 PAGEREF _Toc15220 7 HYPERLINK l _Toc18322 3.2.5 作者管理模块功能 PAGEREF _Toc18322 7 HYPERLINK l _Toc28042 第四章 数据库设计 PAGEREF _Toc28042
4、 8 HYPERLINK l _Toc15068 4.1概念结构设计 PAGEREF _Toc15068 8 HYPERLINK l _Toc31396 4.2物理结构设计 PAGEREF _Toc31396 10 HYPERLINK l _Toc21436 第五章 详细设计 PAGEREF _Toc21436 11 HYPERLINK l _Toc4119 5.1图书信息管理功能如图 PAGEREF _Toc4119 11 HYPERLINK l _Toc4433 5.2 读者信息管理功能 PAGEREF _Toc4433 14 HYPERLINK l _Toc816 5.3 借阅信息管理
5、PAGEREF _Toc816 14 HYPERLINK l _Toc17306 第六章 编码 PAGEREF _Toc17306 14 HYPERLINK l _Toc7227 6.1图书信息管理功能 PAGEREF _Toc7227 14 HYPERLINK l _Toc28911 6.2 读者信息管理功能 PAGEREF _Toc28911 16 HYPERLINK l _Toc4729 第七章 设计总结 PAGEREF _Toc4729 19 HYPERLINK l _Toc23700 学习体会 PAGEREF _Toc23700 19 HYPERLINK l _Toc2313 致谢
6、PAGEREF _Toc2313 20 HYPERLINK l _Toc24205 参考文献 PAGEREF _Toc24205 20绪论随着社会数字化的进行,图书馆里系统虽然从手工操作慢慢过渡到了互联网管理的阶段,但也在线图书管理系统也存在着很多问题.虽然很多人都对互联网和电脑的使用轻车熟路,但仍有很多人不能正确的使用微机和互联网,使在线图书管理系统面临的读者用户收到限制。虽然相比手工管理图书,节约了很多工作量,但工作量仍然很大,由于管理计算机的数据量较大,导致日后维护也有很大的困难。计算机管理图书的操作,要求工作人员对计算机的环境以及软件的掌握都有一定的要求,从而对招募管理人员增加了难度随
7、着数字化时代的到来,人们对于知识的渴求越来越高,为了提高全民文化知识水平,各地政府不断在当地建立图书馆,供人们参考与借阅,当然随着规模的扩大,普通的手工管理已经不能适应,不仅浪费人力物力还有可能造成书籍的遗失和损坏,此时,一种基于互联网的图书管理系统已经如雨后春笋搬不断成长,图书馆里系统在现代社会也成为一门热门的行业。国际上在线图书管理系统的前景看好,而国内的在线图书管理系统数量上也有了新的增长。它的建立使图书馆里拜托传统的手工操作,实现通过互联网而进行的远程图书借阅归还,其发展前景将是非常深远的。本系统采用JSP+Servlet+DAO的mvc 3层架构模式,服务器端采用Tomcat,客户端
8、采用FireFox。应用JavaBean和Jdbc数据库连接,Javascript,Ajax等技术,JQuery框架等。第二章 需求分析2.1 用户需求2.1.1 数据需求本图书管理系统主要的面向图书馆的管理者所开发的一款简洁的后台管理软件。对于该系统的数据需求可从以下几方面进行考虑:1)从管理员角度分析,可得到管理员的帐号,用户名,密码,注册时间等数据。2)从读者角度分析,可得到读者的学号,姓名,性别,所在院系,所借书籍等信息。3)从书籍的角度出发,可得到书籍的图书ISBN,书名,出版社的相关信息,作者的相关信息,图书的价格,图书的版本号,出版年份,图书的封面图片等数据信息。综上,在开发该系
9、统的数据层时可以从上面所列三方面去设计数据库的表,进而能将所需数据全部包含起来。2.1.2 功能需求1面向图书的功能有:图书列表的查询,图书入库,图书修订,图书的快速定位查询,由于此系统所面向的功能有限,所以将图书的作者和出版社加以细分,有出版社的管理,包括出版社的添加,出版社的修改,出版社的移除等,为了更方便的实现添加图书。同时还有对图书作者的单独管理,如对作者的查询,增加以及修改等。2面向管理员的功能有:管理员的登录,注册功能,管理员的修改以及显示等,还有管理员对读者的管理,即对用户实现的一些列操作,如对读者的增删改查,以及读者借阅图书和归还图书等。2.2 业务流程2.2.1 系统业务流程
10、本系统的总体业务流程图如下图2-1所示,数据库中存储了问卷和答卷的信息,问卷信息通过问卷制作、问卷导入两种方式经过问卷修订的接口保存到数据库中;答卷信息通过问卷调查、外部调查两种方式保存到数据库中。数据库中答卷信息经过数据的清洗生成决策树,清洗过的数据可以再次保存到数据库中,生成的决策树可以提取规则保存到数据库中,数据库中的规则也可以通过简单统计功能以文本文档的形式导出到数据库外部。DB出版社操作图书操作图书列表快速搜索图书删除图书修订图书入库出版社列表出版社添加出版社删除出版社修改作者操作读者操作作者添加搜索作者删除作者修改作者列表读者借书读者还书读者销户读者修改读者注册读者列表管理员操作管
11、理员注册管理员删除管理员修改管理员列表图2-2 业务流程图2.3主要用例的用例描述图书管理系统涉及到的用例包括:图书借阅,图书归还,图书查询,读者信息管理,图书信息管理,用户管理,作者信息管理,出版社信息管理,管理员信息管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。图书借还模块用例描述:表2-1 用例“图书借阅”用例名称图书借阅标识符BMS-1参与者读者(用户),图书管理员描述读书可以通过在图书馆书架上找寻自己要借阅的书籍,将指定书籍交付于管理员,向图书管理员提出借阅请求,管理员在系统中先录入该书籍的isbn查找到相应信息,再对指定读者进行借阅操作,如果读者没注册,管理员
12、要事先给予读者注册,再将图书交给读者,借阅成功。前置条件1. 图书馆找到自己想要借阅的书籍后置条件1登录;2. 更新图书借阅列表; 主干过程 借阅图书读者请求借阅新地图书,并提供自己的编号以及指定图书系统显示被借阅图书的详细资料读者提供自己的id系统存储读者和借阅的图书,并将之存储到数据库中系统更新借阅列表异常1. 读者借阅已满(未做要求)2. 系统将错误信息显示在借阅页面3. 系统重新启动该用例4.数据库中该图书数据损坏被包含用例无被扩展用例无优先级高表2-2 用例“图书归还”用例名称图书归还标识符UC-2参与者读者,图书管理员描述读者将自己借阅的图书归还图书馆。前置条件1. 到图书操作服务
13、台归还图书后置条件1 根据图书isbn找到图书,进入归还页面,更新图书归还列表; 主干过程读者请求归还借阅的图书并提供自己的编号读者将书交给管理员管理员根据图书编号查找到此书进入归还页面进行还书操作更新书籍列表异常1该书超出了应该归还的时间范围(未限定)2. 系统将罚款信息显示在归还页面(未限定)3. 无法将图书归还被包含用例无被扩展用例无优先级高表2-3 用例“图书查询”用例名称图书查询标识符UC-3参与者图书管理员描述读者通过图书的isbn,书名等信息对相应的图书进行查询。前置条件1. 登录; 2. 转到图书列表后置条件1. 查询页面显示相应的图书的信息主干过程图书查询管理员输入想要查询的
14、图书信息系统显示相应的图书信息点击每本书可以进行单本图书的详细信息异常1查询的图书不存在(第3步后)2. 读者输入的图书信息不能在数据库中查询到,后台报错3. 系统显示暂时无该图书信息4. 重新启动该用例被包含用例无被扩展用例无优先级高第三章 总体设计3.1 总体结构框图读者添加读者删除读者修改读者查询借书操作还书操作图书管理系统作者管理出版社管理图书管理用户管理读者借还作者添加作者删除作者修改作者查询出版社添加出版社修改出版社移除出版社查询用户注册用户修改用户销户用户查询图书入库图书删除图书查询图书修订图3-1 系统结构框图3.2功能模块该模块主要包括对管理员进行注册,销户,修改账户信息等。
15、管理员可以通过注册一个账号登录管理系统,之后对所注册用户进行统一管理,用户列表显示了所有注册用户的用户名,密码,帐号以及注册时间等操作,管理员可以对所有注册的帐号进行修改和移除。3.21 读者模块功能该模块主要有对读者用户的注册,销户修改功能。读者列表主要显示读者的姓名,学号,性别,所在系,这里主要存放借书还书的对象。如果想要借书或还书,就必须先通过管理员登录进行注册,成为该系统的读者用户,进而才能对书籍进行借还。3.2.2 图书借还模块功能该模块主要是对图书进行借还操作的一个管理模块,列表主要显示图书的isbn号,书名,借阅状态以及最大借阅期限等信息。对于书名加以不同的链接,由于图书和作者的
16、关系是一对多,即一本图书只能借给一个人,一个人可以借多本不同的图书,所以根据每本书的借阅状态不同,链接对象也不一样,当此书已借出,点击进入的就是归还页面,归还对象即为借书的读者;若此书状态为未借出,则点击链接会进入到借书页面,借书对象是所有注册的读者用户。管理员可以选择某一位用户进行借出工作。3.2.3 图书管理模块功能 该模块主要是对图书进行统一的管理,功能包括对图书的入库,移出,修订,快速检索等,图书列表主要显示图书的isbn,书名,出版社,价格,版本号,出版年份。点击书名进入图书详细页面,能看到该图书的详细信息,除刚才所说信息外还有该书籍的作者以及图片,和正被借阅的读者用户名。同时在列表
17、页面可根据图书的isbn和书名进行模糊查询,能更好的定位某本书或某些书。3.2.4 出版社管理模块功能该模块主要是对图书的出版社做一统一管理,将其单独作为一模块的原因是因为,出版社数量较少,可以单独存放一数据库表,在添加或修改图书时可以将表中出版社进行遍历显示,若要添加图书的出版社在数据库表中没有,可以在该模块下添加相应的出版社,在进行遍历。该模块还包括删除修改出版社等功能。3.2.5 作者管理模块功能该模块主要是对图书的作者进行统一管理,将其单独作为一个模块,可以在添加书籍的时候对作者的添加实现方便的管理,对于新书的作者,可以在此模块中进行添加,类似的功能还有修改和删除作者。第四章 数据库设
18、计4.1概念结构设计设计E-R图时,我们首先分析了各个实体之间的相互联系以及是一对多还是多对多的关系,另外还要考虑主外键,并仔细列举了各个实体的属性及功能等。图如下:读者借阅阅图书ISBN书名版本号价格封面借阅期限借阅状态可借阅数出版社出版社ID出版社名属于属于作者姓名作者ID读者ID姓名学号性别院系 图3-2 图书管理系统全局E-R图E-R图向关系模型的转换:读者(读者ID,姓名,学号,性别,所在院系)此为读者实体对应的关系模式管理员(管理员ID,姓名,帐号,密码,注册时间)此为管理员实体对应的关系模式图书(ISBN,书名,出版社,价格,版本号,出版日期,图书图片,作者,库存量,借阅状态)此
19、为图书实体对应的关系模式作者(作者ID,作者的姓,作者的名)此为作者实体对于的关系模式出版社(出版社ID,出版社名)此为出版社实体的关系模式借阅(图书ISBN,读者ID)此为联系“借阅”的关系模型归还(图书ISBN,读者ID)此为联系“归还”的关系模式borrowUserborrowIDborrowNamestudyNumsexdepartmenttitleIsbnTitleEditionNumCopyrightpubliserIdImageFilepriceborrowTimeborrowIDpublihserIdpubliserNamepublishersauthorIdfirstName
20、lastNameauthorsauthorIdisbnauthorIsbnbookUsersuserIdaccountpasswordnamecreateTime图3-3 各实体间联系图数据模型的优化:1) 确定数据依赖。 2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3) 按照数据依赖的理论对关系模式进行逐一分析。4) 按照要求分析阶段得到的处理要求,分析这样的应用环境这些模式是否合适。确定是否要对某些模式进行合并或分解。5) 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。(水平分解,垂直分解)。4.2物理结构设计根据系统需求,可以进行具体的表的设计,
21、表4-1是所有数据库表的汇总。表4-1 数据库汇总表表名说明authors作者表,存放书籍的作者相关信息publishers出版社表,存放书籍的出版社相关信息title图书表,存放与书籍相关的所有信息authorISBN作者表和图书表的关联表borrowUser读者列表,存放读者借书的相关信息bookusers管理员表,存放管理员的相关信息数据库中的各个表的逻辑结构设计结果如下面的几个表格所示,每个表格表示数据库中的一个表。表4-2 作者表(authors)字段名类型说明authorIDintPrimary KeyfirstNamevarchar(20)姓lastNamevarchar(30)
22、名表4-3 出版社表(publishers)字段名类型说明publisherIDintPrimary KeypublisherNamevarchar(30)出版社名表4-4 图书表(titles)字段名类型说明isbnvarchar(20)Primary Keytitlevarchar(100)图书名,非空editionNumberint版本号,非空publisherIDint 外键,出版社ID,非空imageFilevarchar(20)文件图片路径pricefloat图书价格borrowTimeint借阅最大期限isBorrowint是否被借出borrowIDint外键,读者ID,非空表4
23、-5 图书作者关联表(authorISBN)字段名类型说明authorIDint外键,作者IDisbnvarchar(20)外键,图书ISBN表4-6 读者表(borrowUser)字段名类型说明borrowIDintPrimary KeyborrowNamevarchar(50)读者姓名,非空departmentvarchar(50)所在系sexvarchar(50)性别studyNumvarchar(20)学号,非空表4-7 管理员表(bookusers)字段名类型说明userIdintPrimary Keyaccoutvarchar(20)帐号,非空passwordvarchar(20)
24、密码,非空namevarchar(20)用户名,非空createTimedatatime创建时间第五章 详细设计 在此次设计中,我负责管理员版块的图书信息管理、读者信息管理以及借阅信息统计。5.1图书信息管理功能如图书籍管理页面:图5-1 书籍管理页面图书信息页面图5-2 图书信息页面书籍添加:图5-3 书籍添加页面书籍添加成功:图5-4 书籍添加成功页面5.2 读者信息管理功能图5-5 读者管理页面5.3 借阅信息管理 图5-6 借阅信息管理页面 第六章 编码6.1图书信息管理功能 /*添加图书信息*/ private ActionForward bookAdd(ActionMapping
25、mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) BookForm bookForm = (BookForm) form; bookForm.setBarcode(bookForm.getBarcode(); bookForm.setBookName(bookForm.getBookName(); bookForm.setTypeId(bookForm.getTypeId(); bookForm.setAuthor(bookForm.getAuthor(); bookForm.
26、setTranslator(bookForm.getTranslator(); bookForm.setIsbn(bookForm.getIsbn(); bookForm.setPrice(bookForm.getPrice(); bookForm.setPage(bookForm.getPage(); bookForm.setBookcaseid(bookForm.getBookcaseid(); /获取系统日期 Date date1=new Date(); java.sql.Date date=new java.sql.Date(date1.getTime(); bookForm.setI
27、nTime(date.toString(); bookForm.setOperator(bookForm.getOperator(); int a=bookDAO.insert(bookForm); if(a=1) return mapping.findForward(bookAdd); else if(a=2) request.setAttribute(error,该图书信息已经添加!); return mapping.findForward(error); else request.setAttribute(error,图书信息添加失败!); return mapping.findForw
28、ard(error); /*查询全部图书信息*/ private ActionForward bookQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) String str=null; request.setAttribute(book,bookDAO.query(str);/将查询结果保存到book中 return mapping.findForward(bookQuery);/转到显示图书信息列表页面 /*条件查询图书信息*/ pri
29、vate ActionForward bookifQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) String str=null; if(request.getParameter(f)!=null) str = request.getParameter(f) + like % + request.getParameter(key) + %; request.setAttribute(ifbook,bookDAO.query(str);
30、System.out.print(条件查询图书信息时的str:+str); return mapping.findForward(bookifQuery); /*查询修改图书信息*/ private ActionForward bookModifyQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) BookForm bookForm=(BookForm)form; System.out.println(查询修改图书信息:+request.g
31、etParameter(ID); bookForm.setId(Integer.valueOf(request.getParameter(ID); request.setAttribute(bookQueryif,bookDAO.queryM(bookForm); return mapping.findForward(bookQueryModify); 6.2 读者信息管理功能 /*添加读者信息*/ private ActionForward readerAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request
32、, HttpServletResponse response) ReaderForm readerForm = (ReaderForm) form; readerForm.setName(readerForm.getName(); readerForm.setSex(readerForm.getSex(); readerForm.setBarcode(readerForm.getBarcode(); readerForm.setVocation(readerForm.getVocation(); readerForm.setBirthday(readerForm.getBirthday();
33、readerForm.setPaperType(readerForm.getPaperType(); readerForm.setPaperNO(readerForm.getPaperNO(); readerForm.setTel(readerForm.getTel(); readerForm.setEmail(readerForm.getEmail(); /获取系统日期 Date date1=new Date(); java.sql.Date date=new java.sql.Date(date1.getTime(); readerForm.setCreateDate(date.toStr
34、ing(); readerForm.setOperator(readerForm.getOperator(); readerForm.setRemark(readerForm.getRemark(); readerForm.setTypeid(readerForm.getTypeid(); int a=readerDAO.insert(readerForm); if(a=0) request.setAttribute(error,读者信息添加失败!); return mapping.findForward(error); else if(a=2) request.setAttribute(er
35、ror,该读者信息已经添加!); return mapping.findForward(error); else return mapping.findForward(readerAdd); /*查询全部读者信息*/ private ActionForward readerQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) String str=null; request.setAttribute(reader,readerDAO.quer
36、y(str); return mapping.findForward(readerQuery); /*查询修改读者信息*/ private ActionForward readerModifyQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) ReaderForm readerForm=(ReaderForm)form; System.out.println(查询修改读者信息:+request.getParameter(ID); reade
37、rForm.setId(Integer.valueOf(request.getParameter(ID); request.setAttribute(readerQueryif,readerDAO.queryM(readerForm); return mapping.findForward(readerQueryModify); /*查询读者详细信息*/ private ActionForward readerDetail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletRespons
38、e response) ReaderForm readerForm=(ReaderForm)form; readerForm.setId(Integer.valueOf(request.getParameter(ID); request.setAttribute(readerDetail,readerDAO.queryM(readerForm); return mapping.findForward(readerDeatil); /*修改读者信息*/ private ActionForward readerModify(ActionMapping mapping, ActionForm for
39、m, HttpServletRequest request, HttpServletResponse response) ReaderForm readerForm=(ReaderForm)form; readerForm.setName(readerForm.getName(); readerForm.setSex(readerForm.getSex(); readerForm.setBarcode(readerForm.getBarcode(); readerForm.setVocation(readerForm.getVocation(); readerForm.setBirthday(
40、readerForm.getBirthday(); readerForm.setPaperType(readerForm.getPaperType(); readerForm.setPaperNO(readerForm.getPaperNO(); readerForm.setTel(readerForm.getTel(); readerForm.setEmail(readerForm.getEmail(); readerForm.setOperator(readerForm.getOperator(); readerForm.setRemark(readerForm.getRemark(); readerForm.setTypeid(readerForm.getTypeid(); int ret=readerDAO.update(readerFor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 警惕交通安全构建和谐校园小学主题班会课件
- 预防欺凌暴力构建友善校园小学全段主题班会课件
- 关于启用新版财务报销系统的通知7篇范文
- 小学主题班会课件:惜时如金不负韶华,勤奋耕耘志存高远
- 培养阳光心态建设积极心理状态小学主题班会课件
- 尊师重道感恩老师小学主题班会课件
- 小学主题班会课件:文明礼仪与学习方法
- 2026年单招考试语文试卷(+答案)(2026版)
- 沟通与协作平台建设方案
- 绿色农业种植与养殖技术指南
- 阿里云邮箱购买合同
- 医院评残疾工作制度
- 太原科技大学《采购管理》2025-2026学年期末试卷
- 黑布林英语阅读《小妇人》 - 中英伴读
- 摄影协会内部管理制度
- GB/T 27664.1-2026无损检测仪器超声检测设备的性能与检验第1部分:仪器
- 肛周湿疹的处理
- 大学生入厂培训课件厂史
- 2026年N1叉车司机考试题库及答案(1000题)
- GB/T 7991.6-2025搪玻璃层试验方法第6部分:高电压试验
- 2024-2025学年河南省南阳市六校高一下学期期末联考化学试题
评论
0/150
提交评论