《基于JSP的图书馆管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JSP的图书馆管理系统的设计与实现.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 xxxxx 论 文题 目:基于JSP的图书馆管理系统的 设计与实现 学 院: 计算机科学与工程学院 专 业: 学生姓名: 学 号: 指导教师: 摘 要随着社会知识的不断积累和信息化社会的到来,出版物的种类和数量在日渐增多,图书馆管理工作早已不是一项简单的工作。与此同时,现代管理理论亦日臻成熟,广泛应用于各个领域,图书馆管理也不例外。我国的图书馆现代化建设在近年来发展迅速,同时也面临着各种挑战。作为图书馆管理工作的得力助手,图书馆管理系统在现代化图书馆管理中起着至关重要的作用。一个完善的图书馆管理系统在图书管理工作中,可以极大地减轻图书馆管理工作人员的工作量,节省人力资源,方便读者,能够有效地
2、促进图书馆的现代化建设。由此可见,开发好的图书馆管理系统具有重要意义。本文采用JSP技术和SQL Server数据库管理技术论述了一个基于JSP技术的高校图书馆管理系统的开发过程。JSP技术是目前主流的动态网站和基于WEB的系统的开发技术之一,它根植于Java技术之上,在构建的系统的安全性方面有着极大的优越性。因此,大部分安全性要求较高的系统都纷纷采用JSP技术来开发。本文从图书馆管理系统开发的背景及意义出发,介绍了系统开发的相关技术,在此基础上论述了系统的设计实现过程,包括总体功能设计、数据库设计、和页面功能模块设计等。整体而言,系统的开发取得了预期的成果。该图书管理系统可广泛应用于中小型的
3、图书馆管理工作中,有效促进图书馆管理的现代化建设。【关键词】图书馆管理系统 JSP技术 SQL Server数据库管理技术Abstract:With the continuous accumulation of social knowledge and the arrival of the information society, the type and number of publications in the growing number of library management work is not a simple task. At the same time, the mode
4、rn management theory has become more and more mature, widely used in various fields, library management is no exception. The modernization of Library in our country has developed rapidly in recent years, but also faced with various challenges. Library management system, as an effective assistant of
5、library management, plays an important role in the management of modern library. A complete library management system in the library management work, can greatly reduce the library management staff workload, save human resources and the convenience of the reader, can effectively promote the library
6、modernization construction. This shows that the development of a good library management system is of great significance. This paper discusses the development process of university library management system based on JSP technology by using JSP technology and SQL Server database management technology
7、. JSP technology is the mainstream of the dynamic website and web based system development technology, it is rooted in the Java technology, in the construction of the systems security has a great advantage. As a result,most of the security requirements of the system have been using JSP technology to
8、 develop. The from the background and significance of the development of library management system of introduced the system development technology, the paper carries on the demand analysis to the system development, then discusses the system design process, including overall functional design, syste
9、m process design, database design, and page function module design. Overall, the development of the system has achieved the expected results. The library management system can be widely used in small and medium-sized library management work, and effectively promote the modernization of Library manag
10、ement.KeyWords:Librarymanagementsystem JSP technology SQL Server目 录摘 要IABSTRACT:II目 录IV第一章 引言1第二章 基础知识22.1 HTML技术22.2 JSP技术22.3 JDBC技术32.4 SQL Server数据库技术32.5 Tomcat服务器4第三章 总体设计4第四章 子模块的设计与实现74.1 登录页面设计74.2 图书信息浏览页面设计84.3 图书信息录入页面设计84.4 图书信息修改删除页面设计94.5 其它页面的设计104.6 数据字典的描述104.7 数据库ER图设计114.8 数据库的物理
11、设计12第五章 总结与展望15参考文献I致 谢IIV第一章 引言 随着社会的不断发展,世界全面进入信息社会。书籍是信息的主要载体,是人类获取信息的重要途径之一。图书馆是为人们提供书籍阅读的重要场所,社会对图书馆的管理工作的要求也不断提高。借助于先进的计算机工具来辅助进行图书的管理工作,是时代发展的必然选择。传统的图书馆管理工作通过人工手工管理,当读者需要借书时,将自己的信息登记在登记卡上,卡片交给图书管理员,图书管理员进行读者信息的核对之后,才能完成借阅。整个过程非常繁琐,工作量大,工作效率低。并且手工登记的信息容易出错、丢失、甚至毁坏,也不便统计和查找,无法及时掌握馆藏图书的种类和数量,也无
12、法及时了解读者的借阅需求,无法快速掌握相关图书当前的图书借阅情况等。随着信息化社会的不断发展,这种传统的手工管理方式已无法适应社会的需求,无法满足人们的需要,要解决面临的这些问题,就需要实现图书管理的自动化。随着计算机技术的不断发展,计算机已经普及到了各行各业。使用计算机辅助工作,极大的提高了工作的效率。世界各地的图书管理部门也纷纷实现了图书管理的自动化工作,开发相应的图书管理系统进行管理。由于计算机处理数据非常迅速,利用计算机来登记图书信息和借阅信息,极大的方便了图书管理员和读者,让图书的借阅过程变得非常简单、快速,不需要手工登记和查找。因此实现图书馆管理的自动化、信息化管理势在必行。目前各
13、种各样的系统开发主要基于两种模式,一种是客户机/服务器模式(C/S),一种是浏览器/服务器模式(B/S)。C/S模式的系统在软件进行安装时分为服务器端软件和客户端软件。B/S 模式的系统是一种典型的网络软件系统,软件部署在服务器上,普通用户可以通过任何一台联网的计算机来访问服务器上的页面,极大的方便了系统使用者。在普通的一般院校中,目前使用的图书管理系统是基于C/S模式开发的。随着学校的快速发展,学校规模不断壮大,学生的人数也不断增加,原来的系统已无法承受庞杂的图书借阅管理工作。比如说,学生想借阅相关书籍,想要了解图书的馆藏情况和借阅情况,或者借了某本书后忘记了自己的借阅日期,想要进行查询。在
14、C/S模式的系统下,学生只能到图书馆指定的读者终端设备上去查询相关信息,这样非常不方便。如果系统采用B/S模式开发,借阅者可以随时随地在任何可联网的计算机上查询相关信息1。因此,在经过调研分析的基础上,开发B/S模式的图书管理系统,具有重要意义。 近年来,国内图书管理工作也取得了巨大的进步。各个高校、省市、大型企业等的图书馆基本上都实现了图书借阅的自动化,国家的一些重点图书馆引入了国际上先进的图书管理体系和模式,进行了图书馆的信息化、数字化建设,取得了显著的效果。虽然我国的图书馆建设取得了很多辉煌的成果,然而,我国的图书馆建设的整体水平比较低,图书馆现代化建设还有很长的路要走2。全国的大小图书
15、馆有几千万个,像大部分地县、中小学、乡镇农村的一些中小型图书馆的建设还很落后,由于缺乏资金的支持,大部分图书馆还采用传统的人工管理模式,有些采用单机系统进行管理,有的采用C/S模式的系统管理,这些管理方式都有一定的局限性。因此,开发这样一个系统具有重要意义。第二章 基础知识 图书管理系统在开发的过程中,先要搭建系统开发和运行的工作环境,系统在开发的过程中需要的软件较多,主要涉及的软件有JDK、Tomcat、SQL Server、Eclipse,这些软件需要合理的安装配置之后才能正常工作。本系统主要在图书管理系统的开放中,使用了一些关键技术和基本软件,主要包括静态网页技术HTML技术,动态网页技
16、术JSP技术,JDBC数据库连接技术,以及SQL Server数据库技术和形同运行环境Tomcat服务器和系统的开发工具 Eclipse。2.1 HTML技术 HTML是Hyper Text Markup Language的缩写,中文含义为超文本标记语言,是专门用来描述网页文档的一种标记语言,也是构成网页文档的最主要语言。它定义了一组标记符号,通过标记符号来标记网页页面中的各种不同的元素。通过标记的一组属性来决定具体的显示方式。比如文字用什么样的颜色显示、字号是多少、是否要滚动等。HTML标记语言简单易学,功能强大,在文档中可嵌入各种各样不同的媒体。HTML标记语言主要有如下特点: 1.简易性
17、:标记简单易学,很容易上手; 2.可扩展性:超级文本标记语言是通用标记语言的一个子集,因而很容易扩充; 3.平台无关性:用HTML标记语言编写的网页文档可运行在不同的平台上,无需移植,就可跨平台运行,因而在各种不同型号,不同系统的计算机上都能正常运行。2.2 JSP技术 JSP是Java Server Pages的缩写,对应的中文含义就是Java服务器端的页面,这种页面在Web服务器端运行,将运行的结果发送到浏览器端。JSP技术是在1999年由SUN公司倡导开发的一种先进的动态网页设计技术和网站构建技术,在传统的HTML静态页面中加入JSP标签和Java程序片,就形成了一个动态的JSP页面。一
18、个JSP页面部署到服务器上运行时,如果这个页面是第一次被用户请求执行,则页面先要转换成一个扩展名为.java的类文件,这个类文件就称之为Java Servlet,然后再通过Java编译器将Java Servlet翻译为对应的字节码文件,字节码文件由JSP引擎负责执行,并将执行的结果发送到浏览器端。如果该页面被当前用户或其他用户再次请求执行,就直接执行该字节码文件并将结果发送到客户端的浏览器。因此,用JSP技术开发的页面要比其他动态网页设计技术开发的页面执行效率更高,并且由于页面被翻译为字节码文件后将执行的结果发送给浏览器,因此浏览器端无法查看页面的源代码,这也就意味着JSP技术开发的页面在安全
19、性方面更有优势。程序写一次,到处可以运行。JSP在设计时,充分考虑到应用平台的无关性,依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持。目前,很多安全性要求较高、网站访问速度要求较高的网站和web系统大多都采用JSP技术进行开发,JSP技术将在未来的应用越来越广泛。2.3 JDBC技术JDBC是Java Data Base Connectivity的英文缩写,中文含义为Java数据库连接。是一种用于执行SQL语句的Java应用程序接口,可以为Java程序连接不同类型的数据库提供统一的访问形式。它由一组Java语言编写的类和接口组成,JDBC为数据库开发提供了统一的应用程序接口,使
20、得Java程序在不需要改变程序代码的情况下,就可以连接不同的数据库类型,使得程序的移植变得简单容易。JDBC能够很好的支持SQL的大部分功能,通过使用JDBC技术可以很容易建立与不同类型的数据库之间的连接,并进行程序和数据库之间数据的传递。 JDBC是对Java功能的扩展,有了JDBC应用程序接口,就无需为访问不同的数据库编写不同的程序,比如为访问SQL Server数据库写一个程序,为访问Access数据库写另外一个程序,只需用JDBCAPI编写一个程序就可以了。通过JDBCAPI执行一条SQL语句,可发送到不同类型的数据库,由于SQL是一种通用型的关系型数据库标准语言,基本所有的关系型数据
21、库都可以识别并执行。因此,极大的方便了程序员开发程序并可轻松移植到不同的平台上,和不同类型的数据库建立连接。这也是Java程序“一次编写,到处运行”特点的一个很好的体现。2.4 SQL Server数据库技术 数据库技术主要用来管理程序中所涉及的各种各样的数据,数据库技术将程序中所涉及的数据集中存放,便于管理和共享,因而数据库技术得到了飞速的发展。数据库技术从最初发展到现在,主要经历了三个阶段,层次型数据库,网状模型的数据库和关系型数据库,目前广泛使用的是关系型数据库。典型关系型数据库主要有甲骨文公司的Oracle,微软的SQL Server、Access等等。SQL Server是一种典型的
22、关系型数据库,最初由Microsoft、Sybase和AshtonTate这三个公司联合开发,是一个综合性很强的数据库平台,商业智能工具的集成使用,可以方便的实现企业级的数据管理的功能。SQL Server数据库的引擎功能也为数据提供出一个既安全又可靠的存储方式。所以说它所构建和管理的数据,对于应用程序具有很高的可用性和稳定性。2.5 Tomcat服务器 Tomcat服务器是一个免费的、开源的web应用服务器,是Apache软件基金会下属的一个项目组负责开发和维护的。它是一个小型的、轻量级的web应用服务器,运行时占用的系统资源非常小,性能稳定,扩展性也很好,另外它还支持负载平衡与邮件服务等常
23、用的服务器应用功能,因而被广大的程序开发人员所喜爱。并且,由于它是免费的、开源的,因而,任何热爱Tomcat的程序员都可以不断丰富它的新功能,进行补充和完善。Tomcat是一个轻量级的小型Web服务器,对于系统硬件和软件的要求非常低。可以部署在任何一台普通的微型计算机上,就可以让这台计算机充当服务器的角色。所以是广大程序员进行web程序开发的首选服务器,特别是开发JSP程序的最好选择。Tomcat可嵌入Apache中进行安装和使用,也可单独安装部署。第三章 总体设计 本系统根据功能需求分析,共分成这样几个模块:系统管理员模块,图书管理员模块,普通读者模块。这些模块最终要进行整合,使各个模块之间
24、能够相互耦合,使整个系统建立在模块化结构设计的基础之上。通过相关技术的应用,此程序有较强的可操作性和扩展性。相对独立的模块之间是以数据流相互连接,这样会使各模块间的数据交互使用,以方便系统运行,并且能够提高系统的安全性,同时也便于应用对象的使用。 系统管理员模块在整个系统中处在最主要的功能中,不仅完成用户自身信息的维护(包括密码的修改),还可管理图书管理员信息的添加、删除和修改,以及普通读者信息的添加、删除和修改。在一般的图书管理系统中,图书管理员可以管理自己的任何信息,造成信息录入的混乱。在此图书管理软件中,图书管理员是不能随意更改自身信息的,比如用户名、工号等。图书管理员模块主要实现的功能
25、有用户自身信息的维护(包括密码的修改),图书信息的上架、图书信息修改、异常归类,图书的借阅登记,图书的归还登记,图书的续借登记以及读者的借阅情况统计和馆藏书籍的分类统计等功能。根据目标对象的不同,确定图书管理员的目标受众主要为书籍和借阅者,所以图书管理员的功能主要是书籍的归类整理和借阅者的借阅情况3。借阅者的目标就是能够准确而快速的借到想借书籍。那么,普通读者模块主要实现的功能有用户自身信息的维护(包括密码的修改),图书的续借登记,预借登记以及读者的借阅状态检索和馆藏图书信息的检索等功能4。除了馆藏图书信息检索模块外,其余的每个模块在进行操作时都应当进行登录验证,只有通过登录验证之后才可以进行
26、相关的操作。 在系统管理员模块下,包含三个功能模块: 用户自身信息维护模块:这一个模块对于系统管理员、图书管理员、和普通读者都有的模块,主要用来完成各自信息的维护,包括自身密码的修改。每个不同角色的信息维护模块的实现过程基本一致,但由于不同角色维护的用户信息不太一致,因此应分别来设计实现。 图书管理员信息维护模块:系统管理员完成图书管理员信息的添加、修改和删除。 普通读者信息维护模块:系统管理员完成读者信息的添加、修改和删除。 在图书管理员模块下,主要包含了以下几个功能模块: 图书信息维护模块:图书管理员完成图书信息的上架、修改和删除。 图书借阅登记模块:图书管理员完成某个读者对某本书的借阅登
27、记。 图书归还登记模块:图书管理员完成某个读者对某本书的归还登记。 图书续借登记模块:图书管理员或者读者自己完成某个某本书的续借登记。这个模块可有图书管理员和读者都可以操作。 借阅统计、馆藏统计模块:图书管理员完成对当前图书的借阅情况统计,也可对馆藏的图书按分类进行统计,并可生成报表打印输出。实际中在这些模块之中还包含有不同的功能,才能使功能达到更加完善。以图书信息维护模块为例,有新书图库,图书出库和图书信息修改功能5。新书的入库:图书管理员对新采购书籍进行入库登记,书库中已有编号书籍,系统不允许登记。 图书出库:当图书管理员输入出库信息时,符合出库条件时(读者无罚款或借阅书籍数量在所借范围内
28、),就可以出库。否则失败。 图书信息修改:对书籍错误信息或变更信息进行修改。在普通读者模块中,除了读者自身信息维护模块,可以修改自己的密码以外,还有以下的功能模块。 图书预借登记模块:读者希望借某本书时,可上网进行预借登记,一旦该本书归还到图书馆后,预借的读者可优先借阅。 读者借阅状态检索模块:读者可登录系统后查询自己的借阅状态来了解自己的借阅信息。 馆藏图书信息检索模块:该模块可设计为一个通用模块,即无需登录系统就可进行检索,因此注册系统的人员和非注册的人员都可使用该模块进行检索,具体设计时,页面无需登录验证6。可以根据书籍 ID 查询,也可以根据书名进行查询,可以根据类别查询,还可以根据作
29、者来查询,快速检索到需要借阅的书籍。 利用图书管理系统对图书记录进行统一管理,包括整个系统的维护者,图书管理者分配图书,借阅者借书,读书管理者对新增图书的记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理和借阅者提供便利,提高书籍的借阅率。本系统的三大模块,各自有着明确的功能,馆藏读书信息浏览是公开性功能,所以不需要任何验证就可以进入,而其他的三个模块都需要进行身份验证,才可以进入适合自己的页面中,同时可以看到本页面中相关的信息和操作7。以下对系统工作时的基本工作流程图进行设计。根据系统登录时用户类型的不同来做出判断,登录之后,不同类型的用户可调用不同
30、的页面,从而实现系统功能的划分。具体的工作流程图如图1所示。图1第四章 子模块的设计与实现 对于整个系统而言,不管是图书的管理、还是用户的管理,甚至借阅信息的管理,基本上都要实现数据的查询功能、数据的录入功能、数据的修改功能、数据的删除功能这么几个基本方面。比如用户管理要实现用户的创建、用户信息的修改、用户信息的删除、用户信息浏览这么几个功能8。其它的模块也要实现这几个功能,因此,下文通过图书实体的管理来说明模块的实现过程。除此之外,用户登录模块和这些模块的实现过程不太一样,这里先做介绍。4.1 登录页面设计 登录页面主要实现系统管理员、图书管理员、普通读者三种不同角色的用户的系统登录功能。首
31、页是系统在管理信息中非常重要的组成部分之一。整个系统是建立在清晰的架构基础之上,这一点非常重要,能够使操作人员更加简单的分清楚各模块的功能。在本系统中,登录页面由用户登录输入页面login.jsp、登录信息处理页面login_in.jsp、登录成功页面login_ok.jsp、登录失败页面login_error.JSP组成。根据身份验证的不同登录不同的页面,如图2所示。图2 通过登录输入页面,用户输入自己的账号和密码,然后点击登录按钮,系统会把填入的信息提交给登录信息处理页面,登录信息处理页面将对收到的账号密码和数据库中存储的用户信息进行比对,若比对成功,转入登录成功界面,否则转入登录失败界面
32、处理。当进入登录成功界面后,意味着用户提交的身份信息正确无误,页面根据登录用户的类型调用相应的主程序页面,由于三种不同角色的用户的权限各不相同,所以对应的主程序页面也不一样。系统管理员对应的主程序页面中,必定有针对整体系统维护的操作,对图书管理员信息的维护和对读者信息的维护等功能。图书管理员页面有读书管理、借阅管理、账户管理、图书查询和系统维护的功能。普通用户的页面有图书浏览、图书类别的查询、根据书籍名称的查找、已借图书的查询、修改个人资料和退出系统等操作。普通用户登陆以后可以根据页面选项选择所需要的下一步操作。系统在设计时遵照“多选少输”的方法,尽量减少用户输入的操作,这样使操作更加便捷,也
33、使出错率降到最低。登录成功的用户信息保存在session中,在行进其它页面之前,都应当进行登录验证,只有当退出系统或关闭 session时,才清除session中保存的用户信息。如果转入登录失败界面,意味着用户输入的身份信息有误,页面反馈相应的错误信息9。4.2 图书信息浏览页面设计 图书信息浏览页面book_browse.JSP主要实现库中的图书信息浏览。可以全部浏览,也可以按图书类型、出版日期、出版社、作者等信息就行查询浏览。图书信息浏览页面实际上实现的功能是按各种不同的条件信息进行数据的查询,页面设计时通过一个下拉列表框选择条件,通过一个文本框来输入对应条件的值。这种紧凑的设计在有限的页
34、面空间内能极大的满足多种灵活性的需要。4.3 图书信息录入页面设计 图书信息录入页面主要负责图书信息的添加,由两个页面组成,图书信息录入页面book_insert.JSP和图书信息接收页面book_insert_accept.JSP。图书录入页面用来接收用户输入的图书信息,进入页面后,录入需要处理的图书信息,通过提交按钮将接收的信息提交给图书信息接收页面,该页面负责将接收的信息存入数据库中的图书表中,若录入成功,弹出录入成功提示信息,否则转入错误处理页面进行处理。此操作的流程图如图3所示。图 34.4 图书信息修改删除页面设计 图书信息修改删除页面主要实现图书信息的修改和图书信息的删除。这两个
35、功能合并在一起进行设计,能带来很大的便利性。由于修改和删除操作都是对已有数据进行操作,通过查询将要操作的数据列出来构成一个列表页面book_list.jsp,每个数据项后面可以链接修改和删除链接。点击相应的链接就可以进行对应的操作。其中图书信息的修改操作由修改界面book_modify.jsp、修改接收界面book_modi_accept.JSP组成。修改界面显示对应图书的原有信息,并可对其进行编辑修改,修改完成后提交传给修改接收界面,修改接收界面负责将修改信息更新回数据库中。图书删除页面实现过程非常简单,确认身份验证后,点击图书列表页面对应列的删除链接,将该列的图书编号传给删除页面book_
36、delete.jsp,删除数据库书目,此时可以直接删除,删除页面负责把指定的图书信息从数据库删除。也可以先查询馆藏书籍,进入书籍数据库,在馆藏剩余书籍中进行删除书籍,系统随之更新数据库。4.5 其它页面的设计 其它页面主要包括用户信息的录入、修改、删除页面、图书借阅信息的借阅登记和归还登记页面等。为了不影响各模块之间信息互通的准确性,在其他页面设计中设置了图书信息录入和借阅者查询信息页面。在此页面中,管理员可以对书籍进行信息的录入,便于借阅者更加简洁的查询书籍。借阅者也可以通过此页面查询到馆藏书籍的具体位置,方便借阅。借阅登记实际上是将获取的用户信息和图书信息录入到借阅表的过程,和图书信息的录
37、入过程类似。归还登记过程实际上是更新借阅表中相关数据的归还时间等信息的登记,以及图书表中相关图书的借阅状态的登记。实现过程基本和图书信息的修改页面设计过程一致。读者可以通过使用终端机器查询所需借阅书籍,经过处理后返回书籍信息和馆藏地点,借阅成功则到馆藏地点取书。这些都是在图书管理员模块中所具有的功能。但在页面设置时为了不影响其他浏览率高的页面而单独放置,这样使各个功能间关系更加明确10。在此页面中既方便了管理员对书籍信息的管理,同时也对借阅者提供了一个便捷查找书籍的平台。这样使各组件的设计基本上完成了页面和数据库之间操作数据的大部分功能,使得页面的静态代码和业务操作代码相对分离,便于代码的重用
38、,也便于整个系统的维护和管理。数据库设计Web浏览器向web发送静态页面来处理静态Web,Web服务器直接对web发送过来的静态网页进行处理11。根据需求分析阶段的分析,可以得出系统中所涉及的各类数据。下面通过数据字典的定义,实体ER图的设计和数据库表的物理设计几个过程来完成系统所涉及的数据库设计。4.6 数据字典的描述1名称:管理员信息 描述:登记系统管理员和图书管理员的信息 定义:管理员信息包括:管理员编号、管理员用户名、管理员密码、管理员权限、管理员最后一次登录时间、管理员最后一点登录的IP地址。2名称:图书信息 描述:登记馆藏的所有图书信息 定义:图书信息包括:图书编号、图书ISBM编
39、码、图书名称、图书的类型、出版社、图书价格、图书借阅状态。3名称:读者信息 描述:登记所有读者的相关信息 定义:读者信息包括:读者编号、读者密码、读者姓名、读者性别、读者出生日期、读者所在院系、读者宿舍编号、读者籍贯信息。4名称:借阅信息 描述:登记所有读者的图书借阅信息和归还信息 定义:借阅信息包括:借阅图书编号、借阅读者编号、借阅时间、续借状态、图书最迟归还日期、图书实际归还日期、过期未还应缴罚金。4.7 数据库ER图设计 根据数据字典的描述,进一步进行数据库的逻辑结构设计,将前面的概念模型转化为逻辑模型。并给出各个实体的ER图。1. 管理员实体设计图4 这是个管理员实体,在这个实体中,管
40、理员有这样几个属性,用户名、密码、用户权限、最后一次登陆的IP地址、最后一次登录时间和管理员Id。其中管理员Id是主键。2. 图书实体设计图5 在这个图书实体中,图书实体的属性共有七个,分别为图书、ISBN、图书名称、图书类型、出版社、借阅状态、价格和图书Id。其中图书Id是主键。3. 读者实体设计图6 这是读者实体。在这个读者实体中包括姓名、性别、出生日期、所属部门、住宿地址、籍贯、读者Id和密码。其中读者Id为主键。4. 借阅关系ER图设计 在借阅关系中,将图书信息和读者信息通过借阅关系联系起来,其中借阅关系中除了包含图书实体的图书编号信息和读者信息的读者编号之外,还包含了借阅编号借阅日期
41、、续借状态、最迟归还日期、实际归还日期、过期应缴的罚金等信息。详细的ER图如图7所示。图7 根据几个实体,产生这样一种借阅关系,读者通过借阅可以借阅多本图书。那么,读者与图书是一对多的关系。而图书只能针对一个读者,所以图书与读者之间是一对一关系。4.8 数据库的物理设计 将上述的逻辑模型转换为物理模型,可得出图书管理系统主要涉及以下几个数据表:管理员信息表、图书信息表、借阅信息登记表、读者信息表。其中系统管理员和图书管理员的信息存放在同一个表中,只是权限不同而已。具体的表结构设计如下。1. 管理员信息表(“*”代表主键,下同)列名 数据类型 说明adminId* Int(11)Notnull
42、管理员Id主键adName Varchar(20) Notnull 管理员用户名adPwd Varchar(40) Notnull 管理员账户密码adFlag Tinyint(255)Notnull 管理员用户权限adLastLogin Datetime Notnull 管理员最后一次登录时间adLastLoginIp Varchar(16) Notnull 管理员最后一次登录的IP地址2. 图书信息表列名 数据类型 说明bookId* Int(11)Notnull 图书Id(主键)bookCode Varchar(20) Notnull 图书ISBN编码bookName Varchar(25
43、5) Notnull 图书名称bookType Varchar(255) Notnull 图书的类型price FloatNotnull 图书价格publication Varchar(255) Notnull 图书出版社Status Varchar(255) Notnull 图书借阅状态3. 读者信息表列名 数据类型 说明readerId* Int(11)Notnull 读者Id(主键)readerPwd Varchar(40) Notnull 读者账户密码readerName Varchar(255) Notnull 读者姓名Sex Varchar(255) Notnull 读者性别Bir
44、thday Date Notnull 读者出生日期Department Varchar(255) Notnull 读者所在院系address Varchar(255) Notnull 读者宿舍编号hometown Varchar(255) Notnull 读者籍贯信息4. 借阅信息登记表列名 数据类型 说明borrowId* Int(11)Notnull 借阅信息主键bookId Int(11)Notnull 借阅图书IdreaderId Int(11)Notnull 借阅读者IdborrowDate Date Notnull 借阅时间Secondborrow Boolean Notnull
45、续借状态returnDate Date Notnull 图书最迟归还日期realReturnDate Date Notnull 图书实际归还日期punishMoney float 过期未还应缴罚金 系统的设计主要是对图书的管理和对借阅者的管理,图书在系统中的合理分配,直接影响借阅者能否方便的借阅书籍。那么,对借阅者也应有相应的约束条件,来遵守借阅规则,所以在系统中设置了针对于借阅者的管理功能。如图8所示。图8第五章 总结与展望 图书管理的信息化建设是一项长期而又艰巨的任务。图书管理系统应用在实际的图书管理工作中,能够极大的减轻图书管理员的负担,方便读者借阅图书。因而,开发这样的系统具有重要意义
46、。本文所述的基于JSP技术的图书管理系统,采用了主流的Java技术作支撑,数据库方面选用了功能强大而又安全可靠的SQL Server数据库。目前,国内基于JSP技术的系统还不是很普及,有些系统是ASP的,由于ASP编写的系统的代码是公开的,系统的安全性大受影响,而基于JSP技术的系统,相关的源文件在执行时会转换为对应的字节码文件,因此具有很好的安全性。深入研究开发JSP技术的系统,有很大的发展前景。文中设计的系统是完全基于B/S模式的,系统界面简洁、操作简单、功能完善,应用在实际的图书管理系统中,能够极大的方便图书管理工作。在整个系统开发的过程中,采用先进的软件工程思想作为指导,一步一步进行设计和实现。下面对论文的主要的成果、心得体会和不足之处进行总结。 通过本系统的开发,对软件的需求分析工作有了深入的了解和体会