# 电子图书馆(图书借阅系统) **Repository Path**: CgLLYR/library ## Basic Information - **Project Name**: 电子图书馆(图书借阅系统) - **Description**: 图书借阅管理的功能模块根据登录人员的不同可分为普通用户和管理员。普通用户登录后可以查看所有图书、查询图书、查看最新的图书列表和自己的图书借阅记录。而管理员登录后不但可以进行关于图书的操作,还可以管理所有的普通用户,添加删除普通用户,查看普通用户的个人信息。使用maven管理项目的构建,持久层使用的是Mybatis实现,数据库使用的是MySQL。 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2024-06-03 - **Last Updated**: 2024-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电子图书馆(图书借阅系统) #### 介绍 图书借阅管理的功能模块根据登录人员的不同可分为普通用户和管理员。普通用户登录后可以查看所有图书、查询图书、查看最新的图书列表和自己的图书借阅记录。而管理员登录后不但可以进行关于图书的操作,还可以管理所有的普通用户,添加删除普通用户,查看普通用户的个人信息。使用maven管理项目的构建,持久层使用的是Mybatis实现,数据库使用的是MySQL。 第一章 需求分析 ======== 图书管理系统是当前海量图书在线管理的最好系统,图书管理员可以在该系统上对图书进行具体操作管理,读者借阅图书的需求量很大,满足读者的借阅要求就能让系统在当下的图书管理中更加突出,因此本系统提供了多个图书管理员对图书进行管理操作的具体要求。 1.1 课程设计题目 ---------- 随着互联网的发展,在线管理系统日益完善。生活中读者借阅图书,管理员在线管理图书信息,使网络与人们的生活息息相关。在线系统方便了图书管理,真正使信息得以共享,改变了人们的工作和生活方式。在线管理图书是图书馆提高工作效率的有效方式,同时也为读者们借阅图书的提供了有力保障。在读书氛围浓厚的今天,人们对图书的需求有了更大的要求,而图书信息资源庞大、内容参差不齐等特点恰好满足这种要求。所以图书管理系统正慢慢成为一种全新的在线工作方式。也正是由于互联网的数据信息能够进行有效交互,确保了在线数据的可靠性。 1.2 课程设计任务及要求 ------------- 在当下这个发展快速的信息化时代,越来越多的图书管理机构开始建立或者已经使用起图书管理系统,利用计算机和网络对信息进行管理已是大势所趋。图书系统必将代替之前繁琐的人工操作模式,实现由复杂、冗余性手工操作向人机简便操作的转化,运用计算机完成数据增加、修改、查询、删除以及统计等工作,提高了管理人员工作效率,避免繁重的业务量造成的人为错误,还可运用信息共享加快数据传递。通过对图书管理系统的操作,既节省大量的人力与物力,又不用保存与整理数据文件,将一切信息转化为数字化,提高了工作效率。 1.3 系统开发技术和环境 ------------- 软件体系:采用B/S模式\[1\]。B/S结构\[2\](Browser/Server结构)即浏览器服务器结构。采用B/S结构是因为该结构在功能拓展和维护方面简单、方便,只需要增加或更改网页,并且B/S结构是以浏览为主,录入简单。而图书管理系统网站就是通过web浏览器访问,选用B/S模式最为合适。 ### 1.3.1 IntelliJ IDEA与Tomcat简介 在SSM的web程序设计中,常使用IntelliJ IDEA 做编辑工具,在SSM和数据库开发领域里,十分通用。通过对应用程序服务器进行整合,可以大大的增强运算速度。 Tomcat是一种小型web程序服务器,由于它是免费开源的,并且支持访问量较少,所以常常被用来私人使用,SSM程序设计中成为最好的选择。 ### 1.3.2 SSM简介 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。 ### 1.3.3 性能需求 该系统在性能功能上达到如下需求: 操作简单、界面友好:完全控件式的页面布局,使得图书的管理更简便,许多选项包括添加图书、删除图书等通过选择数字项就可以完成;另外,查询所有图书信息功能也让管理员随时清楚每一本图书的具体情况。对常见系统的图书管理的各个方面:图书添加、删除、修改、查询等方面都大体实现,实现了管理员对图书信息的管理要求; 即时可见:对图书的处理(包括添加、删除、修改)将立即在后台数据库中进行更新,达到“即时操作、即时生效”的功能; 系统运行应该快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。 第二章 系统设计 ======== 2.1 系统设计方法三原则 ------------- 人类在复杂的工程技术系统如能源、交通等建设方面,积累了丰富的经验,为研究复杂系统如管理系统提供了科学的指导性方法论,其主要原则如下: (1)整体性原则。系统是相互联系,相互作用的诸要素组成的综合体。我们必须从整体和各组成部分的相互关系来考察事物,从整体目标和功能出发,正确处理系统各组成部分之间的相互关系和相互作用。 (2)分解—协调原则。就是把复杂问题化成若干相对简单的子问题以方便求解。若子系统的问题比较复杂,还可以再分。但在处理各类子问题时,必须根据系统的整体功能和目标,协调各子系统的行为、功能与目标,以保证整体功能目标的实现。 (3)目标优化原则。所谓目标优化原则对简单的系统来说,是求最优解,对复杂系统来说,求的是满意解。一定要注意,目标优化原则并不简单是求最优解的问题。 这里最需要指出的是:以上三原则是系统方法中处理复杂系统问题的三个主要原则,并非是全部原则。在处理实际问题时,还需要在这些原则的指导下,根据问题的特点,确定求解的具体方法和策略。 2.2 系统的功能模块 ----------- 图书借阅管理的功能模块根据登录人员的不同可分为两个部分,普通用户登录,和管理员登录。普通用户登录后可以查看所有图书、查询图书、查看最新的图书列表和自己的图书借阅记录。而管理员登录后不但可以进行关于图书的操作,还可以管理所有的普通用户,添加删除普通用户,查看普通用户的个人信息。系统的功能模块图如图2-1所示。 ![输入图片说明](img/%E5%9B%BE%E4%B9%A6%E7%AE%A1%E7%90%86%E5%91%98%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E6%A8%A1%E5%9D%97.png) 图2-1 图书管理员管理功能模块图 2.3 系统实体类设计 ----------- 1. 图书实体类 MsBook.java 此类里面存储图书类的成员变量、构造方法,用来创建book对象; 2. 管理员实体类 MsAdmin.java 此类里面存储管理员类的成员变量、构造方法,用来创建user对象。 3. 图书借阅类 MsBorrow.java 此类里面存储借阅类成员变量、构造方法,用来创建borrow对象。 4. 图书类型类 MsCategory.java 此类里面存储图书借阅类成员变量、构造方法,用来创建category对象。 2.4 系统接口设计 ---------- 1. 数据库中数据操作 (1)“图书数据库操作”接口:MsBookMapper 该接口具有的方法如下: insert ()方法用于向数据库中添加图书; selectByPrimaryKey ()方法用于查询数据库中的图书; deleteByPrimaryKey ()方法用于删除数据库中的图书; updateByPrimaryKey ()方法用于修改数据库中图书的信息。 (2)“管理员数据库操作”接口:MsAdminMapper 该接口具有的方法如下: selectByPrimaryKey ()方法用于查询数据库中的管理员信息。 2. 程序中的数据操作 (1)“图书的功能操作”接口:MsBookMapper 该接口具有的方法如下: insert ()方法用于在程序中添加图书数据; selectByPage ()方法用于分页获得的图书信息; deleteByPrimaryKey ()方法用于删除图书; updateBookRemainderSub ()方法用于修改程序中的图书数据; “管理员的信息”接口:UserService 该接口具有的方法如下: Login()方法用于检查管理员输入的用户名与密码是否匹配数据库中的管理员信息,从而确定能否登录系统。 2.5 系统接口实现类设计 ------------- 1. 管理员后台service层接口:MsAdminService,管理员后台service层接口类的实现类是MsAdminServiceImpl。 2. 图书后台service层接口:MsBookService,图书后台service层接口类的实现类是MsBookServiceImpl。 3. 借阅后台service层接口:MsBorrowService,借阅后台service层接口类的实现类是MsBorrowServiceImpl。 4. 图书类别后台service层接口:MsCategoryService,图书类别后台service层接口类的实现类是MsCategoryServiceImpl。 2.6 系统数据库设计 ----------- 数据库是由多个相互关联的数据表组成,本数据库利用MySQL实现并完成数据库的设计,在本系统中包括如下:确定数据库内所有数据表的名称及表内所含字段的名称、类型、长度、主键及是否为空;确定数据库文件是否需要建立索引、是否具有外键数据表等等。 ### 2.6.1 数据库表设计 1. 管理员表(ms_admin)用于存储管理员的相关内容,如表2-1所示: 表2-1 管理员表 |序号|字段名称|字段说明|类型|位数|属性| |---|---|---|---|---|---| |1|id|用户编号|int|11|必填,非空,主键| |2|admin_number|账号|int|11|必填,非空| |3|username|用户名|varchar|50|必填,非空| |4|admin_pwd|密码|varchar|20|必填,非空| |5|identity_id|是否管理员|int|1|必填,非空| 2. 图书表(ms_book)用于存储图书的相关信息,如表2-2所示: 表2-2 图书表 |序号|字段名称| 字段说明| 类型| 位数| 属性| |---|---|---|---|---|---| |1| id| 主键| int| 必填,非空,主键| |2| ISBN| 图书编号| varchar| 20| 必填,非空,唯一| |3| title| 图书名称| varchar| 50| 必填,非空| |4 |author |作者 |varchar |500| 必填,非空| |5|induction|图书介绍| varchar|200|必填,非空| |6|price|图书价格|float||必填,非空| 第三章 详细设计 ======== 3.1 图书借阅管理系统的主界面 ---------------- 管理员登录成功后的主菜单界面。页面如图3-1所示: ![输入图片说明](img/%E5%9B%BE%E4%B9%A6%E5%80%9F%E9%98%85%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E7%9A%84%E4%B8%BB%E7%95%8C%E9%9D%A2.png) 图3-1 图书借阅管理系统的主界面 3.2 管理员登录界面 ----------- 管理员通过输入用户名与密码进入系统主界面。页面如图 3-2所示: ![输入图片说明](img/%E7%AE%A1%E7%90%86%E5%91%98%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2.png) 图3-2 管理员登录界面 3.3 管理员模块 --------- 1.管理员进行添加图书的操作。如图3-3所示: ![输入图片说明](img/%E6%B7%BB%E5%8A%A0%E5%9B%BE%E4%B9%A6%E7%95%8C%E9%9D%A2.png) 图3-3 添加图书界面 2. 管理员进行查询图书的操作。如图3-4所示: ![输入图片说明](img/%E6%9F%A5%E8%AF%A2%E5%9B%BE%E4%B9%A6%E7%95%8C%E9%9D%A2.png) 图3-4 查询图书界面 3. 管理员进行修改图书信息的操作,如图3-5所示: ![输入图片说明](img/%E5%9B%BE%E4%B9%A6%E4%BF%A1%E6%81%AF%E4%BF%AE%E6%94%B9%E7%95%8C%E9%9D%A2.png) 图3-5 图书信息修改界面 4. 管理员进行下架图书的操作,如图3-6所示: ![输入图片说明](img/%E4%B8%8B%E6%9E%B6%E5%9B%BE%E4%B9%A6%E5%88%97%E8%A1%A8%E7%95%8C%E9%9D%A2.png) 图3-6 下架图书列表界面 3.4 普通用户模块 ---------- 1. 普通用户主页面。如图3-7所示: ![输入图片说明](img/%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E4%B8%BB%E7%95%8C%E9%9D%A2.png) 图3-7 普通用户主界面 2. 用户修改密码界面。如图3-8所示: ![输入图片说明](img/%E7%94%A8%E6%88%B7%E4%BF%AE%E6%94%B9%E5%AF%86%E7%A0%81%E7%95%8C%E9%9D%A2.png) 图3-8 用户修改密码界面 3. 用户图书借阅记录界面。如图3-9所示: ![输入图片说明](img/%E7%94%A8%E6%88%B7%E5%9B%BE%E4%B9%A6%E5%80%9F%E9%98%85%E8%AE%B0%E5%BD%95%E7%95%8C%E9%9D%A2.png) 图3-9 用户图书借阅记录界面 第四章 系统测试 ======== 为了更好的完成每个模块的功能测试,运用到了单元测试等一系列的方法。本系统的测试主要采用黑盒测试中的功能测试,测试用例设计采用等价类划分进行设计。 4.1 功能测试结果 ---------- ### 4.1.1 管理员登录 管理员登录功能测试如表4-1、表4-2、表4-3所示: 表4-1 登录描述 |用例编号|101| |---|---| |功能名称|管理员登录| |功能描述|用于判断、管理员登录信息| |测试方法|黑盒测试| 表4-2 登录等价类划分 |输入条件|有效等价类|编号|无效等价类|编号| |---|---|---|---|---| |用户名|用户名正确|1|用户名有误|3| |密码|密码输入正确|2|密码输入有误|4| 表4-3 测试用例设计 |用例编号|测试数据|预期结果|覆盖范围|是否通过| |---|---|---|---|---| |1.1| 张三 ,sansan|登录成功|1、2|通过| |1.2|张三,sansai|系统提示输入错误|1、4|通过| |1.3|张四,sansan|系统提示输入错误|2、3|通过| |1.4|张四,sasa|系统提示输入错误|3、4|通过| ### 4.1.2管理员功能界面 管理员功能界面测试如表4-4所示: 表4-4 管理员功能界面测试 |用例编号|102|功能名称|查看各个功能| |---|---|---|---| |功能描述|是否能查看到各个功能 | |测试步骤|登录主页面|输入用户名、密码进行登录|是否能查看到各个功能| |测试结果|通过|发现问题|无 第五章 课程设计总结与体会 ============= 随着互联网技术的大力发展,人们的日常生活已经离不开网络。未来时代我们的生活和工作一定会更加借助于信息技术的发展,越来越方便、快捷、安全、高效,在线网络的发展过程以及当下的应用情况和发展趋势,我们可以充分地相信网络技术将极大的改变我们的生活和工作方式,使我们的生活变得更加美好、舒适。 5.1 课程设计总结 ---------- 本文按照软件工程开发设计方法,实现了一个图书管理系统,本系统采用SSM技术,数据库MySQL,开发工具MyEclipse,实现了图书管理员对图书的添加、查询、修改和删除等具体功能的操作。所有功能全部都通过测试。 图书管理系统的主要目的是促进图书管理的信息化发展。不同于以往的人工管理、纸质记录等方式,图书管理系统能够更加快捷、高效地对图书进行增删改查的操作,能及时有效地掌握图书信息,具有极强的实用价值。 5.2 心得体会 -------- 在这次课程设计中,我用所学java web与数据库的相关知识实现图书管理员增加图书、删除图书、修改图书以及查询图书等功能,其中也运用到了到程序代码分层的思想。经过设计,加强了自己之前所学的java知识,也让自己懂得了程序设计思想的关键所在。同时,经过本学期的java课程设计,我认识到了自己学习和上机中的缺陷,还要主动了解和掌握更多的知识。本次课程设计,不仅提高了我的逻辑思考、实践操作的能力, 而且也增强了我的团队合作意识。更重要的是,我还学会了很多程序学习的好方法,这是一笔宝贵的财富。面对日益激烈的社会工作岗位竞争,我们要不断地学习、上机,反复扩充自己的专业课知识。最重要的是要有一个清晰的架构,最后进行一系列的分析,最后在进行整个系统的实现。从现在起,我会积极培养自己对程序设计的兴趣,在日后的专业课学习过程中,多与老师和同学交流,共同提高,共同进步。 参考文献 ==== * 陈庆荣.基于B/S模式应用的研究与设计\[J\].福建电脑,2018,34(02):125-126+67. * 崔兰超,韩晓丹.基于B/S结构的学校综合管理系统的开发\[J\].电脑编程技巧与维护,2018(02):87-89. * 王高亮.基于MyEclipse的实验室设备管理系统设计\[J\].现代计算机(专业版),2012(10):57-60. * 秦园园.关于Tomcat的一些问题探讨\[J\].山西科技,2011,26(04):40-41. * 吴小青.JSP+TOMCAT+MYSQL开源软件整合配置初探——以揭阳职业技术学院图书馆网站服务器配置为例\[J\].齐齐哈尔大学学报(自然科学版),2012,28(04):66-69. * 魏强.JSP技术简介及发展前景\[J\].装备制造技术,2008(07):118-119+124. * Sahithi Tummalapalli,Venkata rao Machavarapu. Managing Mysql Cluster Data Using Cloudera Impala\[J\]. Procedia Computer Science,2016,85. * 常大俊.基于MySQL数据库结构设计\[J\].信息安全与技术,2015,6(09):55-57. * 樊振宇.深入理解SERVLET和JSP原理\[J\].电脑知识与技术,2011,7(11):2570-2572. * 张彤,赵丽.移动医疗App功能模块的比较分析与发展建议\[J\].廊坊师范学院学报(自然科学版),2016,16(02):28-31. * 樊娟.基于Web的新闻发布系统的设计与实现\[J\].山西电子技术,2017(02):70-72+96. * 王绵金,郑海涛,范耀明.黑盒测试用例设计方法探究\[J\].信息与电脑(理论版),2016(06):127-128. * 邓丽萍.等价类划分法测试用例的设计与实现\[J\].电脑迷,2016(05):77. * 黄玉春.浅谈下一代Web开发标准的核心技术—HTML5\[J\].计算机时代,2015(04):3-5. * 刘云香.基于Spring+DWR+EXT框架的web应用设计与实现\[J\].电脑知识与技术,2016,12(15):103-104. 致谢 == 在这篇课程设计的完成中,我最尊敬的指导教师给了我很大的帮助,他不断地支持和鼓励一直伴随着我本阶段的学习工作和生活。课程设计选题、构思、查阅文献、修改、定稿,每一步都凝聚着导师的心血。他以他严谨的治学态度广博的学识宽广的视野敏锐的观察力给我在学习研究上的指导,使我的学习研究工作受益匪浅。同时老师还经常教导我们怎样为人处世,他勤奋的工作作风,遇事勤于思考的学习和工作态度,积极进取的勇气和魄力给我的人生带来了宝贵的精神财富。在此,我深切和怀着十分感激的心情,向老师表达我最真挚的感谢。在同时我也要感谢我的同事和朋友,在我课程设计过程中对我的鼓励和支持!在漫长的学习生涯中,感谢我的父母在精神上的理解与支持和在生活上的照顾。我的课程设计凝聚着他们的长期支持,我对他们在我成长道路上所付出的艰辛和汗水致以真诚的感谢! 值此课程设计完成之际,再次向所有关心、支持、帮助我的老师、同学和朋友们表示我衷心的感谢。