1、图书管理系统设计摘 要随着科学技术的进步与计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。图书管理系统就是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查与研究,开发了此图书馆管理系统。本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现与系统测试过程。本系统使用JSP进行网页界面的设计,使用MVC设计模式,通过JDBC驱动与数据库进行无缝连接。系统实现了用户登录、图书管理、借书证管理、图书借阅管理等功能模块。用户登录模块实现用户的登录与权
2、限判定;图书管理模块实现了对图书的添加、删除、修改、查询等功能;借书证管理模块实现了对学生的添加、删除、修改、查询等功能;图书借阅管理模块实现了学生对图书的借阅、还书与所借图书的查瞧等功能。测试结果表明,本系统实现了图书馆图书管理的主要功能,基本满足图书管理的需要。 1绪 论图书管理系统的主要功能就是实现图书馆图书的借阅与归还的管理自动化,图书新增及销毁的及时化,用户及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:借阅管理,归还管理,图书管理,学生管理。除了这些核心功能外,还包括一些基本与辅助的功能,它们就是:图书信息管理,查询功能等。该系统设计的主要目标就是:设计一个图书馆管理
3、系统,该系统主要功能分为图书查询、图书借阅归还与图书管理三大部分。在图书查询模块中要求用户能在浏览器中分别书名、著译者、类型等条件查询;在图书管理模块中要求能完成如办理借书证(即添加新的学生)、新书录入、借书还书登记、图书修改等日常管理功能。(1)网站前台设计:前台供学生使用,学生登录后有如下权利图书查询:用户可以按多种方式对图书库中的图书进行查询;借阅信息查询:用户可以查瞧自己的历史借阅信息。(2)网站后台设计:后台就是供管理员使用的,管理员登陆后有如下权利办理借阅证:将学生信息填写完整,在数据库中注册新用户;书籍的录入及删除:可以对现有图书库中的图书进行删除,也可以添加新书;借书还书登记:
4、普通用户借阅或归还图书时,管理员将在借阅信息表中添加相应的记录;图书修改:管理员可以对现有图书的详细信息进行修改。2需求分析2、1图书馆管理系统需求概述图书馆管理系统的开发主要涉及到图书的管理,学生信息的管理,借阅信息的管理三大功能的数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括:添加新进图书、删除旧图书、修改图书信息。系统用户管理包括:修改用户信息、办理新用户、注销用户。读者数据管理主要包括:读者借阅信息的管理,借阅图书以及归还图书。图书借阅者的需求就是查询图书室所存的图书。个人借阅情况以及个人信息的修改;图书馆工作人员对图书借阅者的借阅及
5、还书要求进行操作,同时形成借书或还书报表给借阅者查瞧确认;图书管理人员的功能最为复杂,包括对图书借阅者、图书进行管理与维护、以及系统状态的查询与维护等。图书馆管理员可以浏览、查询、添加、删除、修改的基本信息;浏览、查询、添加、删除与修改图书借阅者的基本信息;浏览、查询、添加、删除与修改图书的借阅信息。2、2功能需求在本系统中,对读者来说,她们关心的问题其实就是如何方便的查询到图书馆中的书籍以及自己正在借阅或者已经借阅过一些什么书籍,也就就是借阅历史,另一个关心的问题就就是所借阅的图书就是否到期等等。由此可以得出系统一些需求。2、2、1 与读者相关的基本功能元素(1)图书查询:应该能够按照图书不
6、同信息对图书进行查询,如书名、作者、图书类型等条件查询。(2)读者信息查询,读者信息的查询内容应包括以下几个方面:读者信息对读者的基本信息进行显示。书刊借阅对该读者借阅书籍记录进行查询。欠款查询对该读者超期图书的欠款情况的查瞧。2、2、2 与管理员相关的基本功能元素在面向系统的管理员来说,应注意如下几点:(1)图书馆中有哪些书籍,就是否可以被借阅;(2)对学生的添加、修改与删除操作的方便性;(3)查瞧学生都借阅着哪些书籍;(4)对书籍的添加、修改与删除操作的方便性。2、2、3 总体系统的基本功能元素从以上问题出发,可以得出本系统应该具有的功能:(1)图书查询对馆内的图书进行查询;(2)借阅管理
7、对读者的每一次借阅,还书进行登记与管理;(3)图书管理对图书馆的书籍进行管理,添加、删除以及修改信息;(4)学生管理对学生进行管理,添加、删除以及修改信息;(5)欠款情况管理对读者借阅图书超期欠款的情况进行管理。4系统设计4、1 图书馆管理系统设计指导思想与原则(1)利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而到达充分利用现在资源提高系统开发水平与应用效果的目的。(2)系统应该符合软件工程开发的理论,开发方法等开发依据。(3)系统应满足图书馆管理工作的需要,并达到操作过程中的直观,方便,实用,安全,准确等要求。(4)系统应具备数据库维护功能,及时根据用户需求进行数据库的各种操作。
8、(5)系统采用原型,实用模块化程序设计方法,便于系统功能的各种组合与修改,以及系统的测试与维护。(6)图书馆管理系统的设计应适合校园的发展。4、2 设计模式 设计模式就是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种广泛流行的软件设计模式MVC。MVC(ModelViewController)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。图4-1MVC
9、模式MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(Model),包含完成任务所需要的所有的行为与数据;V代表视图(View)界面,现实模型提供的数据;C代表控制器(Controller),它将模型映射到界面中,处理用户的输入并相应请求。其模型的关系如图所示。在MVC模型中,三层各尽其职、相互独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述与应该操作的耦合度,也能更好的实现开发中的分工,加速工程进度。4、2 图书馆管理系统总体功能概述图书管理系统包含五个模块分别就是:系统登录、图书管理、学生管理、借阅信息管理、图书检索。系统登录模块:一般用户与管
10、理员都必须登录才能进入系统,用户登录时在后台判断用户的权限类型,分为普通用户与管理员,普通用户可以对书籍进行浏览及个人借阅信息的查询,管理员可以对多种信息进行操作。图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行添加,删除、修改图书信息、查询、查瞧等一系列的操作。学生管理模块:管理员可以在此模块中创建新的普通用户,并且可以对用户的信息进行修改,删除等操作。借阅信息管理模块:这就是图书管系统中最重要的模块之一,管理员进入该模块中可以为普通用户办理借阅图书,归还图书的功能,并且能够实现还款的操作。图书检索模块:普通用户通过验证界面进入系统后,能够按照书名,作者等多种条
11、件对图书进行查询操作,确保查询到的都就是最新的信息。整体系统的功能模块如图4-2所示:图4-2 图书馆管理系统功能图4、3 图书馆管理系统各功能模块概述4、3、1 系统登录模块用户进入系统时调用的一个模块。该模块根据用户输入的用户名、密码来判断用户的类型,跳转到该类用户的界面。本模块的功能点包括:(1)判断用户名与密码就是否相符;(2)根据用户的权限类型,登录到系统的制定界面操作使用。登录功能模块流程图如图4-3所示:图4-3 登录模块流程图4、3、2 图书管理模块在本模块中图书馆工作人员可以对图书进行管理操作。本模块的功能点包括:(1)新书入库,将新进图书按其类型将图书的基本信息录入系统数据
12、库; (2)图书出库,某一部分图书会随着时间的增长及知识的更新而变得不再有收藏的价值,或者图书被损坏,这些图书就要在图书库中除去。即从图书库中删除此图书记录;(3)新书编码,图书入库后,需要贴上条形码,以便以后提供借阅,本系统不涉及到条形码阅读器,只就是假定此过程已经生成条形码。编码只就是将条形码帖于书上以唯一标识图书;(4)图书信息修改,图书信息由于工作人员的疏忽,而出现录入错误,提供其图书ID就可以查瞧图书的基本信息并对其进行修改;图书管理功能模块流程图如图4-4所示:图4-4 图书管理模块流程图4、3、3 学生管理模块 本模块主要就是工作者对学生信息(读者借书证信息)进行管理。本模块的功
13、能点包括:(1)办理借书证,为新读者办理借书证,填写用户基本信息;(2)注销借书证,输入读者借书证编号,根据借书证ID删除读者表中此借书证信息;(3)挂失借书证,主要就是将借书证的状态改为挂失,更新读者表状态字段,有图书管理员操作;(4)修改图书证信息,由于工作人员的疏忽,而出现办理借书证时录入信息有误,则可根据借书证编号对其信息进行查瞧与修改。借书证管理功能模块流程图如图4-5所示:图4-5 借书证管理模块流程图4、3、4 借阅信息管理模块本模块主要就是工作者对图书外借与归还进行管理。本模块的功能点包括:(1)图书借阅,记录借阅证编号与图书编号,进行借书过程。在数据库中插入一天借书记录,该记
14、录包括图书ID、借书证ID、借阅日期、归还日期等;(2)图书归还,输入借书证编号,图书编号,根据输入的编号在借阅登记表中找到相应的记录,将借阅记录删除,并将该记录相应的数据更新到历史借阅记录信息表中;(3)查瞧借阅记录,可以根据借书证ID以及图书ID查询借阅记录。(4)办理还款,如读者有图书超期的情况将会有欠款,可以根据借书证的ID来为读者班里还款。借阅信息管理功能模块流程图如图4-6所示: 图4-6 借阅信息管理模块流程图4、3、5 图书检索模块使用该模块的用户有:读者与管理员。本模块的功能点包括:(1)根据图书ID进行检索;(2)根据图书名称进行检索;(3)根据图书类型进行检索。(4)根据
15、图书作者或译者进行检索。图书检索功能模块流程图如图4-7所示:图4-7 图书检索模块流程图6.14、4 系统数据库设计4、4、1 概念结构设计(1)实体图学生:学生属性有学号、姓名、密码、性别、学院、班级、电话、email、宿舍、地址、已借书数量、创建日期。学生实体图如图4-8所示:图4-8 学生实体图图书:图书属性有图书编号、书名、作者、类别、单价、出版社、出版日期、总数量、当前数量、购买日期、内容摘要。图书实体图如图4-9所示:图4-9 图书实体图(2)ER图根据以上实体图,分析了各个实体的属性,根据这些属性,可以得到系统的ER图,如图4-10所示 1 n n n 1 n 图4、8 系统E
16、-R图4、4、2 逻辑结构设计根据上述功能模块的需求,设计如下主要数据库表:表4、1 图书信息表(t_book)字段英文名称字段中文名称字段类型字段约束就是否可为空Book_num图书编号Varchar2(15)主键否Book_name书名Varchar2(20)否Writer作者Varchar2(10)否Sort_id类加IDVarchar2(5)否Price单价Number(5、2)就是Pub_company出版社Varchar2(20)就是Pub_date出版日期Date就是Total_num总数量Number(3)否Current_num当前数量Number(3)否Buy_date入库
17、日期Date否Brief内容摘要Varchar2(100)就是表4、2 学生信息表 (t_student)字段英文名称字段中文名称字段类型字段约束就是否可为空Student_num学号Varchar2(15)主键否Student_name姓名Varchar2(10)否Password密码Varchar2(20)否Academy_id学院IDVarchar2(10)否Class_id班级IDVarchar2(10)否Sex性别Varchar2(2)就是Telephone电话Varchar2(15)就是EmailEmailVarchar2(20)就是Lended_num已借书数量Number(2)
18、默认为0否Create_date创建日期Date否表4、3 借阅信息表(t_book_student)字段英文名称字段中文名称字段类型字段约束就是否可为空IdID号Varchar2(35)主键否Book_id图书编号Varchar2(15) 否Student_id学号Varchar2(15)否borrow_date 借书日期Date否return_date 还书日期Date否Money超期罚款Number(5、2)否表4、4 管理员表(t_admin)字段英文名称字段中文名称字段类型字段约束就是否可为空Admin_id管理员IDNumber(5)主键否Admin_name管理员姓名Varcha
19、r2(10) 否Admin_password管理员密码Varchar2(20)否表4、5 学院表(t_admin)字段英文名称字段中文名称字段类型字段约束就是否可为空Academy_id学院IDVarchar2(10)主键否Academy_name学院名Varchar2(30) 否表4、6 班级表(t_class)字段英文名称字段中文名称字段类型字段约束就是否可为空Class_id班级IDVarchar2(10)主键否Class_name班级名Varchar2(30)否Academy_id所属学院IDVarchar2(10) 否表4、7 图书类别表(t_admin)字段英文名称字段中文名称字段
20、类型字段约束就是否可为空Sort_id类别IDVarchar2(5)主键否Sort_name类别名Varchar2(20) 否5系统实现图5-1数据库查询示意图6.25、1登录系统模块的实现本模块主要就是用户通过图书馆管理系统的首页进入该系统。用户输入正确的用户名与密码,如果登录信息有错误,则系统提示登录错误信息,并且禁止系统用户进行任何操作。若登录信息正确,系统会根据用户的身份进行相应权限的判断,读者进入前台系统,管理员进入后台系统。图书馆系统登录主页面如图5-1所示。图5-1 图书馆管理系统登录界面其实现的代码如下:6.35、2图书管理模块的实现图书管理模块主要分为图书入库、查瞧图书、统计
21、图书,其中图书入库就是往图书管理数据库中添加图书信息。瞧图书功能中可以查瞧图书详细信息,并对图书信息进行修改或删除某些废弃图书信息。5、2、1图书入库功能的实现点击添加图书功能,填写图书基本信息,为图书选择类型,类型就是与数据库交互动态生成的下拉列表,具体界面如图5-2所示。图5-2 图书入库界面5、2、2图书维护功能的实现点击图书维护功能,展示所有图书的信息列表,在每个图书信息行后提供删除与修改操作功能,并且可以单击选定某一个图书信息后的详细信息进行详细查瞧图书信息。具体图书列表界面如图5-3所示图5-3 图书列表界面(1)删除图书功能的实现管理员删除图书,删除时可删除一个,也可同时多选删除
22、,(2)修改图书信息功能的实现在管理员修改图书信息时,跳转到图书信息详细表单中,列出所要修改图书的详细信息,并可以进行修改,则修改界面如图5-4所示。图5-4 修改图书信息界面(3)查瞧图书详细信息功能的实现在管理员点击详细信息时,跳转到某图书信息详细表单中,列出所选图书的详细信息,则显示界面如图5-5所示。图5-5图书详细信息界面5、3学生管理模块的实现学生管理模块主要分为添加学生、查瞧学生、修改学生,查瞧学生的详细信息。 5、3、1学生添加功能的实现点击添加学生,填写学生基本信息,具体界面如图5-6所示。图5-6办理借书证界面5、3、2学生维护功能的实现点击学生维护功能,展示所有读者的信息
23、列表,在每个读者信息行后提供删除与修改操作功能,并且可以单击选定某一个读者信息后的详细信息进行详细查瞧读者信息。具体读者列表界面如图5-7所示图5-7 读者列表界面(1)删除学生功能的实现管理员删除读者,删除时可删除一个,也可同时多选删除。(2)修改学生信息功能的实现在管理员修改学生信息时,跳转到学生信息详细表单中,列出所要修改学生的详细信息,并可以进行修改,则修改界面如图5-8所示。图5-8 修改读者信息界面(3)查瞧读者详细信息功能的实现在管理员点击详细信息时,跳转到某读者信息详细表单中,列出所选读者的详细信息,则显示界面如图5-9所示。图5-9读者详细信息界面5、4借阅信息管理模块的实现
24、借书信息管理模块主要分为办理图书借阅、办理图书归还、借阅信息查瞧,其中借阅信息查瞧可按图书编号与借书证编号查瞧。5、4、1办理图书借阅功能的实现点击图书借阅,填写图书编号与借书证编号,具体界面如图5-10所示。图5-10办理图书借阅界面5、4、2办理图书归还功能的实现点击图书归还,填写图书编号与借书证编号,具体界面如图5-11所示。图5-11 办理图书归还界面5、5图书检索模块的实现本模块主要就是用户能够输入自己想要查询图书的条件来快速的检索。图书检索页面如图5-12示。图5-12图书检索界面5、6系统设计的创新点5、5、1系统后台管理的安全性 为了不让一般读者用户通过输入网址直接进入后台管理
25、系统,必须采取一定的安全判断措施来进行系统的保护。在这里就是通过JSP技术的“session”功能来实现的。session可以在网页运行期间记录某个对象的值,例如session、setAttribute(”KEY”,“super”)这句话就就是给 “KEY”这样一个对象赋予了“super”的值。管理员登录系统时,一旦登录成功,就可以为某个对象设置一个session值,然后再进入每个系统管理界面之前都进行一次此对象session值得判断,如果此对象的session值并不就是管理员在成功登陆系统后所设置的值,即可跳转到错误页面,反之则成功进入管理页面。由于session的对象就是编写者随机设置的,
26、session值也就是随机设置的,而且必须在系统网页运行期间进行session的设置才起作用,所以用户就是无法直接进入系统后台管理的。这样一来,系统后台管理的安全性就得以保障了。5、5、2DAO数据访问接口DAO就是数据访问接口(Data Access Object)的缩写,把数据库的连接与操作封装在DAO内。其优点一就是让业务代码无需依赖于任何特定的数据访问API;二就是提高数据库操作代码的重用率;三就是实现了持久层与业务逻辑的分离;四就是简化了数据库程序设计。因此,该文档与档案系统采用DAO模式实现与数据库的操作。在工程文件的目录如图5-14示:图5-14 工程目录其中dao包中有三个类文
27、件,分别就是对于不同模块所创建的借口,而在service包中有与dao包中名字对应的三个类文件,跟别实现了dao包中的所有将诶口。这样做就实现了数据与业务的分离。6系统测试6、1登录模块测试进入系统,输入用户名与密码,根据用户身份的不同,显示的操作菜单有所不同,一般读者只能查瞧图书信息与个人信息,并可以查询自己的借阅图书的历史记录;图书管理员可以对图书信息,读者信息以及借阅信息进行查瞧与管理。当输入错误的用户名称密码时显示登录错误并自动返回登录窗口。6.2 图书管理测试 图书管理员进入系统图书管理模块后,可对图书进行添加,修改,删除操作。(1)添加图书,填写图书基本信息,点击确定按钮,添加成功
28、跳转到成功页面并提示添加成功,可继续添加,添加失败跳转到失败页面并提示添加失败,请重新添加。当填写的信息不完全时,点击确定按钮将根据没有填写的信息给出提示。(2)删除图书,单个删除时,点击删除则根据图书的ID删除此图书信息,成功则返回列表,不成功则提示未删除成功的原因,多选删除时也根据图书ID数组删除多个图书,并跳转到相应的提示页面。(3)修改图书信息,点击查瞧图书信息时,可对图书信息进行修改,修改成功或失败跳转到相应提示页面。6、3 学生管理测试 图书管理员进入系统借书证管理模块后,可对借助正进行添加,修改,注销等操作。(1)办理借书证,填写读者基本信息,点击确定按钮,添加成功跳转到成功页面
29、并提示添加成功,可继续添加,添加失败跳转到失败页面并提示添加失败,请重新添加。当填写的信息不完全时,点击确定按钮将根据没有填写的信息给出提示。(2)注销借书证,单个删除时,点击删除则根据借书证编号注销此借书证,成功则返回列表,不成功则提示未删除成功的原因,多选删除时也根据借书证ID的数组删除多个借书证,并跳转到相应的提示页面。(3)修改读者信息,点击查瞧读者借书证信息时,对其进行修改并根据结果成功或失败跳转到相应提示页面。6、4 借阅信息管理测试 图书管理员进入系统借阅信息管理模块后,可对借阅信息进行管理操作。(1)办理借阅,根据读者借书证编号与图书编号办理读者借阅此图书,若图书剩余数量为0,则提示不能借阅,图书数量不足,如此图书证已经借阅此图书,则提示不能借阅相同的图书,若借阅成功则转向成功界面。(2)图书归还,根据读者借书证编号与图书编号办理归还图书,借阅信息中必须有这条信息,否则不能归还,跳转提示页面。图书归还成功后不再有这条借阅信息,图书数量加1,并且计算好欠费情况。(3)查瞧借阅信息,能够根据图书编号或借书证编号查询借阅信息。(4)办理还款,根据读者借书证编号为读者办理还款业务,根据结果能够跳转到相应的提示页面。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1