摘 要
随着计算机网络技术的日益发展及其在各个领域中的大规模运用,通过计算机网络实现自动化图书馆管理有无可比拟的优势。图书馆管理系统,一个极大的概念,一个炒作了很久的概念。无论是学校,还是正规的国家机构,都大力推出自己的图书馆管理系统。
从第一代文件管理系统的出现开始,图书借阅管理系统便随之而生,图书借阅管理系统发展了三代,文件管理系统的功能也逐步完善和扩展。所以,把文件管理系统看作图书借阅管理系统中最基础最重要的子系统,一点都不为过。传统的图书借阅管理模式主要以纸介质为主,在信息的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。而文件管理系统的出现则弥补了这一点,它已经深入到很多学校和单位的日常经营管理活动里,实现信息处理的自动化和图书借阅管理的无纸化,更加大了信息的交流和共享及团队的协同运作等,真正开拓了网络化办公时代。
本文首先对近年来图书借阅管理系统的背景和现状加以描述,并对文件管理系统进行了全面的介绍;接着对文件管理系统的可行性、业务、功能等进行分析,说明本系统在各行各业中所起到的作用;随后是系统的界面、实现功能设计及系统的具体实施等,最后是测试系统功能的实现。我结合对图书借阅管理系统的要求,对MYSQL数据库管理系统、SQL语言原理、JSP程序设计,JSP数据库技术进行了认真的学习,设计出的简单的软件操作界面,进行几个简单的按钮操作和文字输入,通过计算机网络的辅助就可以完成平时的工作,最终实现“无纸”图书管理。
关键词:图书借阅管理,JSP,MYSQL,MVC
第1章 绪 论
信息技术的高速发展带动IT行业的迅速发展,计算机知识的普及使更多用户懂得
1 / 28
利用计算机为自己的工作,生活提供方便。
本系统是以建立一个以通过计算机数据管理图书借阅系统为目的,以用户浏览图书信息、管理员上传图书信息,修改电子资料为辅助手段的网站系统。本系统具有灵活、方便、快捷、界面友好等优点,更加方便的在线了解图书信息,以及借阅图书。
本系统研究的课题主要意义是通过完成这个图书管理系统,方便管理者的管理以及用户所需要查询的书籍,使大家在尽可能短的时间内完成对所需要图书的借阅。还可以方便管理者对书籍的归还情况的查询,以及及时上传图书的信息。另站还会通过不断更新主页上的信息,来及时的发布学校的信息。大大的方便了用户的需求。
1.1 论文研究主要内容
本系统主要是面向学校的基于web的图书借阅管理系统。图书借阅管理系统需要实现三方面的功能,这三个方面分别是书籍管理,用户管理,和借阅管理。
图书馆及时发布图书的信息,让用户第一时间了解图书信息。用户可以根据自己的需要对图书的种类进行查询,并且用户可以通过关键字查找想要借阅的图书的信息。后台管理员及时添加新书的信息以及对图书进行修改和删除。一般情况下,每本图书都是有自己唯一的ID,所以在修改删除图书信息的时候只需键入图书的编号即可进行。
用户管理是针对不同的用户而设计成不同系统权限,用户权限分为普通用户和管理员。用户可以随时注册,但注册的号码和学生证的号码必须相符合,每人只可以注册一次,注册完为普通用户。管理员的登录要和普通用户分开。普通用户在正确登录系统后可以对自己的信息随时进行修改。通过帮助按钮,可以查询个人当前图书借阅的情况。
借阅管理主要是图书借阅,图书归还,图书续借,图书的催还。普通用户可以借阅自己所需要的书籍,但必须是已经归还了以前借阅的书籍。普通用户借阅完之后必须在规定的时间内归还图书,对于未看完的图书可以续借,每次图书续借的时间是一定的。每次图书归还都有管理员记录。对于未及时归还图书的用户,管理员会发出短消息进行催还图书。
2 / 28
1.2 国内外现状
图书管理系统目前被广泛应用于学校、工业、商业、企业、事业等单位,几乎每个
几乎每个进行了信息化建设的单位都具有图书借阅管理系统。而在使用计算机系统对图书的管理,其实就是对信息的管理。使用信息系统对图书馆进行管理,将会大幅提高管理的效率、便捷与安全。
过去我们以开架借阅满足读者按需索书的愿望。但在传统的借阅方式下,难以达到读者快速索取图书的要求。以计算机网络为手段的信息传递具有高速度、高效率的特点,是任何手工操作都无法比拟的,电子技术与图书馆工作的结合,实现了图书借阅管理和服务的现代化。利用图书借阅管理系统,可以激活馆藏中的各种图书,使读者从主题,各种角度检索图书的愿望得到实现。方便,快捷的检索方式缩短了寻找所需图书的时间,使读者摆脱了由于书目急速增长而无从下手的困扰,大大提高了搜索效率,加速了图书的开发利用。更为优越的是新图书借阅管理系统的使用增强了图书馆员与读者之间的互动服务,以及读者的自助服务,比如说可通过网络推荐新书和自行办理图书预约,续借手续等等。
拥有一个完善的图书管理系统,可以用来作为向未来数字图书馆发展的一个跳板,通过健全系统的各项功能,帮助图书馆逐渐向数字图书馆的方向靠拢。
第2章 关键技术介绍
2.1 关键性开发技术的介绍
2.1.1 MVC模式
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
3 / 28
业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法你能做这些。这点对编程的开发人员非常重要。
业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只在该模型中。
控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能
2.1.2 Servlet技术
Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能
4 / 28
力。Java servlet对于Web服务器就好像Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得
Servlets
具
有
跨
服
务
器
平
台
的
特
性
。
Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。
装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。
2.1.3 JSP技术
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP六种内置对象,request, response, out, session, application, config, pagecontext, page, exception.
5 / 28
第3章 系统分析
3.1 系统功能概述
本系统开发的意图是借由网络化的管理减轻图书馆工作人员的工作量,全面提高图书馆的管理效率及服务质量。面向图书馆等部门的图书管理和发布系统,能够为各部门提供完整的管理和发布功能。实现三方面的功能,这三个方面分别是书籍管理、用户管理和借阅管理。图书借阅管理系统主要包括以下功能模块,如图3.1所示。
图书馆管理系统 书籍管理
用户管理 图3.1 系统功能模块
借阅管理
3.2 系统各功能模块概述
3.2.1图书管理模块
图书馆及时发布图书的信息,让用户第一时间了解图书信息。用户可以根据自己的需要对图书的种类进行查询,并且用户可以通过关键字查找想要借阅的图书的信息。后台管理员及时添加新书的信息以及对图书进行修改和删除。一般情况下,每本图书都是有自己唯一的ID,所以在修改删除图书信息的时候只需键入图书的编号即可进行。
3.2.2 用户管理模块
用户管理模块:用户管理是针对不同的用户而设计成不同系统权限,用户权限分为普通用户和管理员。用户可以随时注册,但注册的号码和学生证的号码必须相符合,每人只可以注册一次,注册完为普通用户。管理员的登录要和普通用户分开。普通用户在正确登录系统后可以对自己的信息随时进行修改。通过帮助按钮,可以查询个人当前图书借阅的情况。
6 / 28
3.2.3 借阅管理模块
借阅管理模块:借阅管理主要是图书借阅,图书归还,图书续借,图书的催还。普通用户可以借阅自己所需要的书籍,但必须是已经归还了以前借阅的书籍。普通用户借阅完之后必须在规定的时间内归还图书,对于未看完的图书可以续借,每次图书续借的时间是一定的。每次图书归还都有管理员记录。
3.3 系统的环境配置
3.3.1 硬件系统配置
CPU:P2.00GHz; 内存:1GB 硬盘:60GB;
基本的输入、输出设备。
;
3.3.2 软件系统配置
操作系统:Windows XP ; 数据库软件:MYSQL; 编程语言:JSP javascript 界面设计:Dreamweaver 系统开发工具:Eclipse 运行环境:MyEclipse Tomcat
3.4 系统的可行性分析
对于一个软件项目,如果没有完成时间的,即它的完成期间可以是任意长的时间,那么它是可以实现的。事实上任何项目都有成本和完成时间的,即约束条件,那么项目的实现是不能肯定的。如果我们对于一个本质上不能实现的项目投入了人力和物力,那么无疑是一个浪费。因此确定一个项目是否可行是可行性研究的主要任务。
本系统需要构建一个交互的系统,在技术上可以实现系统的方法很多。例如:前端有JSP技术,中间层有Servlet,Java Bean等技术,后台技术有EJB等技术,实现的方式也有很多种,因此,本系统从技术上讲是可实现的。
本系统的搭建可以解决图书借阅管理当中的同步性,用户信息管理等问题,而且
7 / 28
不必安装客户端软件,成本低,并且可以降低售后服务的运行成本,为学校节省运营费用,因此在经济也可行。
第4章 系统设计
4.1 系统设计方法
本系统采用的是原型法的开发方式。所谓原型法是指一种以计算机为基础的系统开发方法,它首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。原型就是模型,而原型系统就是应用系统的模型。它是待构筑的实际系统的缩小比例模型,但是保留了实际系统的大部分性能。这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止。
4.2 系统的功能结构设计
本系统主要针对图书管理、用户管理、借阅管理几方面进行开发设计。系统的功能结构图如图4.1所示。
8 / 28
图书馆管理系统图书管理用户管理借阅管理图书信息的发布图书信息的查询图书信息的导出图书信息的修改图书信息的删除用户权限的管理和分配注册新用户用户信息的修改个人借阅情况的查看图书的借阅图书的续借图书的归还催还图书 图4.1系统的功能结构设计图
4.3 系统各功能模块设计
4.3.1 图书管理模块
(1)图书信息的发布模块的设计
本模块主要是用于管理员及时的将图书信息手动的录入到系统中,在学生进行图书查询的时候,图书的信息就会显示在系统中。
(2)图书信息的查询模块的功能设计
本模块用于学生或管理员查询图书信息,可以输入图书ID、书名、出版社、等信息查找学生信息。例如,学生想要知道某本图书的信息但不知道该图书的ID,他可以手动输入书名或出版社,模糊查询出与想要查询的图书相似信息的图书。
(3)图书信息的修改模块的功能设计
本模块用于管理员修改图书信息,在查询到想要修改的图书信息后,修改该图书的信息。但由于图书的ID是唯一指定的,在录入该图书的信息时就以生成了该书的ID,所以在修改图书信息的时候为了避免图书信息的冲突,设定图书ID不可改。
(4)图书信息的删除模块的功能设计
本模块用于管理员删除图书信息,在查询到想要修改的图书信息后,删除该图书
9 / 28
的信息。在信息删除的时候有窗口提示,询问管理员是否要删除改图书的信息,“是”则删除该图书信息,“否”则暂不删除该图书的信息。
4.3.2 用户管理模块
(1)用户权限的管理和分配模块的功能设计 本系统用户权限主要分为两种:普通用户和管理员。 普通用户权限登录时:
在图书管理界面上普通用户只能图书查询、图书信息的报表导出。在用户管理界面上可以注册新用户信息、修改个人信息、查看个人图书借阅情况。在借阅管理界面上可以在查询到用户想要借阅的图书后,可以进行图书的续借,在查询完个人借阅情况后,在图书借阅信息中点击“续借”的按钮,就可以继续借阅一个月。
高级管理权限登录时:
在图书管理界面上可以出普通用户能看到的信息外,还会看到图书修改,图书删除的功能按钮。并在点击“图书发布”发布时添加新的图书的信息。
在用户管理界面上可以修改个人信息,查询某个普通用户的信息,可以将该用户信息进行删除操作。
在借阅管理界面上可以看到图书借阅,图书归还,图书催还的按钮。在学生归还某本图书的时候,管理员手动输入该书归还的信息。如果某本图书未及时的归还时,管理员会查询到及时归还的图书,以手动发邮件的形式催还图书。
(2)注册新用户模块的功能设计
本模块用于新用户的注册,所有新注册的用户都是普通用户,管理员的注册信息是手动输入到数据库中的,然后根据权限的设定来区别用户的权限功能。每个用户有唯一的用户ID,一旦注册将不能改动。
(3)用户信息的修改模块的功能设计
本模块用于修改用户的个人信息,所有用户在点击个人信息修改的按钮后,就可以修改想要修改的信息,每个用户的唯一的用户ID,不可改动。
(4)个人借阅图书情况查看模块的功能设计
本模块用于查看个人借阅图书的情况,所有用户在个人借阅图书的情况的按钮后,就可以查看到个人图书借阅的情况,可以点击续借按钮进行图书续借。
4.3.3 借阅管理模块
(1)图书的借阅模块的功能设计
10 / 28
本模块主要是某位学生将想要借阅图书拿到管理员面前,管理员手动的将图书的借阅信息输入到系统中。每本图书都有自己唯一的图书ID,并在图书中标记出。管理员需要输入的信息为该学生的个人ID及姓名,并查看其学生证,核查是否信息属实,并输入要借阅的图书的ID。
(2)图书的续借模块的功能设计
本模块的主要功能是为了学生没有在一定时间看完某本图书的时候,可以继续使用。在普通学生用户查询完个人借阅图书情况后,点击续借按钮可以续借该本图书。
(3)图书的归还模块的功能设计
本模块用于管理员记录图书归还信息。在学生将欲归还的图书交到管理员手中时,管理员将手动输入该图书的书籍ID和学生的个人ID,点击“提交”后即可。
(4)催还图书模块的功能设计
为了保证图书能及时的归还图书馆,管理员将每天查询未归还图书的情况,手动发邮件的形式催促学生归还图书。
4.4 系统的数据库设计
4.4.1 数据库设计原则
本套系统采用的Mysql作为访问数据库的服务器,用它来对数据进行存储,在数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的问题。我们在这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪个表格中,各个表的结构如何以及各个表之间的关系。数据库结构的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
将需求分析得到的用户需求抽象为信息结构,即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念设计的常用方法有四类:自顶向下、自底向上、逐步扩张、混合策略。其中最经常采用的策略是自底向上方法,即自顶向下地进行需求分析,然后再自底向上的设计概念结构。
4.4.2 数据库表的设计
常用的数据库管理系统有MYSQL,SQL Server, Oracle等。本系统采用了Mysql数据库管理系统,建立的数据库名为lms。
11 / 28
本系统涉及了4张表,表4.1反映了系统管理员的信息,记录了管理员的帐号和密码。
表4.1 管理员表admin
列号 1 2 字段名 admd admpassword 字段类型 文字型 文字型 字段长度 20 8 说明 管理员帐号 密码 表4.2 反应了系统图书的编号,图书的标号,是否借阅,书籍借走时间,以及归还书籍的时间。
表4.2 图书表book
列号 1 2 3 4 5 6 字段名 bookId libBookId flag sutName borrowedTime retumTime 字段类型 文字型 文字型 数字型 文字型 文字型 文字型 字段长度 20 8 20 20 20 20 说明 图书编号 图书标号 是否借阅 借阅者 借阅时间 归还时间 表4.3反应了图书的ID,图书的名称,图书的种类,作者,出版社,价格,总库存数量,剩余数量。
表4.3 书籍表libBook
列号 1 2 字段名 libBookId libBookName 字段类型 文字型 文字型 续表4.3 书籍表libBook
列号 3 4 5 6 字段名 libBookType libBookAuthor libBookPublic libBookPrice 字段类型 文字型 数字型 文字型 文字型 字段长度 80 100 20 20 说明 图书种类 作者 出版社 价格 字段长度 80 80 说明 图书ID 图书名称 12 / 28
7 8 libBookStorage libBookRemain 文字型 文字型 20 20 库存数量 剩余数量 表4.4反应了学生帐号,密码,性别,电话,邮箱。
表4.4 学生表student
列号 1 2 3 4 5 字段名 stuName stuPassword stuSex stuTel stuEmail 字段类型 文字型 文字型 文字型 数字型 文字型 字段长度 20 8 5 20 50 说明 学生帐号 密码 性别 电话 邮箱 4.4.3 数据库安全设计
将MYSQL服务器登录安全与Windows的安全集成在一起,这就允许一个网络用户登录到一个MYSQL服务器上维护一个登录ID号口令。
MYSQL服务器通过使用Windows网络用户的安全属性来控制对Oracle服务器的登录访问,从而实现与Windows登录安全的集成。一个用户的网络安全属性是在网络登录时建立的,当一个用户试图连接一个MYSQL服务器时,MYSQL服务器用基于Windows的工具确定客户机的有效用户名,然后再根据该网络用户名允许或拒绝登录访问。
以上为数据库的全部设计,在设计时要保证系统数据一致性、完整性,这是是数据库稳定的关键,才能进行预定管理部分的操作。
13 / 28
第 5章 系统实现
5.1 前台界面的实现
数据库的连接是为前后台的数据交互建立了通道,后台虽然已经设计好了,但用户是看不到的,只能通过对前台的操作来控制后台数据库,这样前台的设计就变得尤为重要。而前台实现的根本就是让用户能方便、明晰的处理工作中的所有数据,同时尽可能在界面设计上做到美观、友好。下面就将本系统的具体实现过程以仔细的解释和说明。本系统的首页界面如图5.1所示。
图5.1 前台界面
5.2 图书信息界面的实现
所有用户都可以浏览图书信息,主要显示图书的名称、图书的编号、出版社、作者、价格、总库存数量、剩余数量、等信息,图书信息界面显示如图5.2所示。
14 / 28
图5.2 图书信息界面
用户还可以查询您想要的图书,查询界面如图5.3。
图5.3 图书查询界面
在查询图书的实现中模型层LibBookInfoDao.java文件如下:
public ArrayList selectLibBookInfo() {
ArrayList stmt = con.createStatement(); 15 / 28 } catch (SQLException e) { e.printStackTrace(); } String sql = \"select * from libBook\"; ResultSet rs = null; try { rs = stmt.executeQuery(sql); } catch (SQLException e) { } try { while (rs.next()) { LibBookVo uv = new LibBookVo(); // TODO Auto-generated catch block e.printStackTrace(); uv.setLibBookId(rs.getString(1)); uv.setLibBookName(rs.getString(2)); uv.setLibBookType(rs.getString(3)); uv.setLibBookAuthor(rs.getString(4)); uv.setLibBookPublic(rs.getString(5)); uv.setLibBookPrice(rs.getString(6)); uv.setLibBookStorage(rs.getInt(7)); uv.setLibBookRemain(rs.getInt(8)); al.add(uv); } } } catch (SQLException e) { } return al; // TODO Auto-generated catch block e.printStackTrace(); 16 / 28 5.3 用户管理界面的实现 5.3.1用户注册 会员注册的入口位于网站首页的左侧。作为普通游客需要先注册,然后才能以会员的身份进入系统。用户单击【会员注册】按钮即可进入到注册页面。该界面的设计效果如图5.4所示。 图5.4 用户注册界面 在注册新用户主要实现的方法如下: public int insertStudentInfo(StudentInfoVo vo) { Connection con = new DBConnection().getCon(); Statement stmt = null; try{ stmt = con.createStatement(); } catch(SQLException e) { } String sql = \"insert into student values('\"+vo.getStuName()+\"','\"+vo.getStuPassword()+ \"','\"+vo.getStuSex()+\"','\"+vo.getStuTel()+\"','\"+vo.getStuEmail()+\"')\"; int i = 0; e.printStackTrace(); 17 / 28 try { System.out.println(sql); i = stmt.executeUpdate(sql); } catch (SQLException e) { // TODO Auto-generated catch block } public int deleteStudentInfo(StudentInfoVo vo) { } } catch(SQLException e) { } String sql = \"delete from student where stuName='\"+vo.getStuName()+\"'\"; int i = 0; try { System.out.println(sql); i = stmt.executeUpdate(sql); e.printStackTrace(); Connection con = new DBConnection().getCon(); Statement stmt = null; try{ stmt = con.createStatement(); return i; } e.printStackTrace(); } catch (SQLException e) { } // TODO Auto-generated catch block e.printStackTrace(); return i; 18 / 28 5.3.2用户登录 会员登录用于网站会员登录本网站进行借阅或查看书籍情况。会员登录入口位于网站 首页的左侧,界面运行结果如图5.5所示。 图5.5 用户登录界面 5.3.3 管理员登录 管理员登录用于网站会员登录本网站进行借阅或查看书籍情况。会员登录入口位于网站首页的左侧,界面运行结果如图5.6所示。 图5.6 管理员登录界面 管理员登录后的界面如图5.7显示 19 / 28 图5.7 管理员登录后界面 管理员登录后,可以进行图书借阅情况的管理,用户借走的图书都会在管理员这有记录,并且记录了借阅的时间和要归还的时间,本系统要求归还的时间是一个月。管理员还可以进行新的图书的发布,以及查询,修改和删除图书。管理员对用户的管理可以进行用户信息的查询和删除。 5.4 图书借阅界面的实现 用户借阅图书,管理员必须记录读者的编号,和图书的编号。界面运行结果如图5.8所示。 20 / 28 图5.8 图书借阅界面 下面是借阅结果的界面,界面运行结果如图5.9所示。 图5.9 借阅结果界面 5.5 图书馆帮助界面的实现 “图书馆”帮助可以指导用户怎么样进行简单查询的步奏。以及进入图书馆系统的须知与规定。界面运行结果如图5.10所示。 21 / 28 图 5.10图书馆帮助界面 5.6 数据库连接的实现 本系统采用的是JDBC-ODBC连接桥的形式连接数据库,为了连接的方便起见把数据库的方法语句写在了一个DAO文件里面,凡是涉及到数据操作的DAO只要调用这个DAO就行了。其数据库类的部分核心代码如下: public class DBConnection { Connection con = null; String drivername = \"jdbc:odbc:hospitalSystem\"; public DBConnection() { try { Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\"); //JdbcOdbc链接桥的形式链接的数据库(一共四种) } catch (ClassNotFoundException e) { // TODO Auto-generated catch block 22 / 28 } } } e.printStackTrace (); try { con = DriverManager.getConnection(drivername,\"sa\ } catch (SQLException e) { } // TODO Auto-generated catch block e.printStackTrace(); public Connection getCon() { } return con; 有了以上的连接数据库语句,我们对数据库进行添加,删除,修改,查找等操作都可以封装在DAO里。 第6章 系统测试 6.1 系统测试的原则 输入数据进行测试,在测试中主要是: (1)测试页面中各种项目的输入长度,输入数据的格式合法性。 (2)可能出错的一些边界值。 (3)一些不符合系统要求的数据 (4)数据完整性测试,说要体现在删除一条数据后,与之相关的数据是否也删除。 测试证明系统运行正常,无错误发生。 6.2 图书模块测试 图书模块测试包括图书信息的发布,图书信息的查询,图书信息的导出,图书 23 / 28 信息的修改,图书信息的删除。 对图书模块测试的结果,如表6.1所示。 表6.1图书模块测试表 项目 图书信息的发布 点击“图书信息的发布”看操作是否成功 是 图书信息的查询 点击“图书信息的查询”看操作 是否成功 是 图书信息的导出 点击“图书信息的导出”看操作是否成功 是 图书信息的修改 点击“图书信息的修改”看操作是否成功 是 图书信息的删除 点击“图书信息的删除”看操作是否成功 是 测试过程及结果 是否成功` 6.3 用户模块测试 用户模块测试包括用户权限的管理和分配,注册新用户,用户信息的修改,个人借阅情况的查看。 对用户模块表的测试,结果如表6.2所示。 表6.2 用户模块测试表 项目 测试过程及结果 用户权限的管理和分配 点击“用户的管理”“用户的分配”看操作是否成功 是 注册新用户 点击“注册新用户”看操作是否成功 是 用户信息的修改 点击“用户信息的修改”看操作是否成功 是 个人借阅情况的查看 点击“个人借阅情况的查看”看操作是否成功 是 是否成功 6.4 借阅模块测试 借阅模块测试包括图书的借阅,图书的续借,图书的归还,催还图书。 对借阅模块的测试结果,如表6.3所示。 表6.3 借阅模块测试表 项目 测试过程及结果 图书的借阅 点击“图书的借阅”看操作是否成功 图书的续借 点击“图书的续借”看操作是否成功 是 图书的归还 点击“图书的归还”看操作是否成功 图书的催还 点击“图书的催还”看操作是否成功 是否成功 是 是 是 24 / 28 第7章 结 论 几个月的时间,经过我的努力,图书借阅管理系统终于完成了。它基本满足了用户在系统分析中所提出的各种要求,系统管理员通过使用本系统能够实现对用户管理、图书管理和借阅管理等方面,并对其进行高效、快捷、方便的业务操作。这次项目的开发实现的过程中,遇到了很多问题,有些问题请教了老师之后解决了,但可能还有些问题是我没有考虑周全的,在写完系统之后遗留下来了。不过这些问题我都很认真地思考并解决了。 对于图书馆管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的图书馆管理系统.能够录入图书的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足图书馆管理日常业务的需要。 本题目管理系统在结合了多项成熟的技术以后,系统本身的性能比较稳定,在对管理员对图书的管理上,表现出了非常好的效果。使管理员能够很直观的对图书进行操作,当添加图书的时候可以同时添加类别并对不需要的信息进行删除并可以对图书进行分类查询。 接下来是我不完善的地方,刚开始的时候想的很完善,功能很全面,但做下来才知道不容易,所以刚开始想做的自动短消息催还图书这块就没能实现,在前台上本来想增加广告的地方,也没能实现,而且有些需要检查的地方也没能实现,整个系统可能还不够完善,但是基本的功能都能确保实现。 25 / 28 参考文献 [1] 王卫平,数据库原理自学辅导[M]清华大学出版社.2002.10 [2] 陈绍英,戴金龙.软件测试案例分析[J].测试员.2005.8. [3] 张青等. Oracle9i中文版基础教程[M].北京: 清华大学出版社2003.1. [4] 丁宝康,数据库实用教程,清华大学出版社[M]2003.1 [5] AlexanderJ.Vincent.JavaScriptDeveloper’sDictionary[M].Sams ,2202.5. [6] 贾素玲,王强.JSP应用开发技术[M].北京: 清华大学出版社,2007. [7] 冯雪飞,朱国花.网页开发与网站发布[M].南京:南京大学出版社,2008. [8] 李刚.Struts2权威指南-基于WebWork核心的MVC开发[M].北京:电子工业出版社,2007. [9] 美)布劳德.软件设计-从程序设计到体系结构[M].北京:电子工业出版社,2007. [10] 杨桦.SQL Server2000实用教程[M].北京:清华大学出版社,2007. 26 / 28 致 谢 在本次系统的开发中,要感谢的人太多,首先要感谢的就是学院的领导和老师,没有你们这三年对我的栽培和支持,我不可能坐在这里写我的毕业论文。其次要感谢的是我的指导任老师,对于一个没有开发经验的学生来说,开发一个这样的系统是困难重重的,但是在老师的大力支持和悉心教导下,从开题报告开始一点一点的分析系统,反复的研究,在系统设计中层层深入,多次的讨论,最后终于从提出问题,到想到解决办法,形成了基本的系统方案,这都得益于指导老师对我的关心和帮助。刚刚开发整个系统的时候,安装配置数据库,就遇到问题,多亏了老师的帮忙,才可以顺利地进行下去。环境安装完成后,连接数据库,由于刚刚开始,也摸不着头脑,不知道从哪下手,就连在选用哪个数据库的时候都想了好久,对其比较了解。但是那开始的时候也不知道怎么连,于是去请教我的指导兰艳老师,多亏兰艳老师帮忙,连上并测试成功了。这完了之后就进入编码工作,这的问题就更多了,刚开始编用户的注册和登录这块就挺费尽,但当这块通了之后,我就渐渐进入状态了,知道该如何一步一步往下走。 我还要特别感谢一下我的同学跟朋友,当我的系统遇到问题需要调试时,都去麻烦同学和朋友,他们总是细心的帮助我调试错误,真的是十分感谢你们。同时,我还要感谢所有教过我的老师。四年里,深受各位老师的指导,谢谢你们帮助我一点点地学习新知,磨砺成才。 在大学的三年时光里,帮助过我的人很多,你们是最理解、支持、我的人。 最后,感谢所有在这次毕业设计中帮助过我的老师以及同学朋友。再一次真诚地表示感谢!谢谢你们! 27 / 28 28 / 28 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务