您好,欢迎来到微智科技网。
搜索
您的当前位置:首页基于开源框架SSH的图书馆管理系统

基于开源框架SSH的图书馆管理系统

来源:微智科技网
 江 西 理 工 大 学 本 科 毕 业 设 计(论文) 题 目:基于开源框架SSH的图书馆管理系统 专题题目:基于开源框架SSH的图书馆管理系统 学 院:信息工程学院 专 业:计算机科学与技术 班 级:082 学 号:******** 学 生:彭华根 指导教师:贺智明 职称:讲师 时间:

摘 要

现今随着计算机科学与技术的不断进步、不断普及。计算机已经广泛应用于社会各个领域,并直接推动社会信息化的发展,在经济与社会发展中的地位日趋明显,学习和使用计算机并在工作学习中得以应用是非常的必要。通过计算机对相关事务进行管理也是一个非常迫切的需求,也为无纸化办公迈出了坚实的一步。它的优点是不仅从管理还是资料的存储上都是极为方便有效地。

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端应用程序则要求应用程序功能完备,易使用等特点。

结合图书馆的要求,对Mysql数据库管理系统、SQL语言原理、java应用程序设计,进行了较深入的学习和应用,主要完成对图书管理系统的系统分析、系统设计、系统实现,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和超级管理员三方面的需要。

关键词:数据库;SQL语言;Mysql;Java;图书管理系统

Abstract

Nowadays, with the development of computer science, the computer is widely used in many fields. So we must learn how to use the computer science to deal with problem of the enterprise. We can develop a powerful and fixed system to to solve problem of the enterprise.

The books administrative system is typical information management systems(MIS),it develops to be mainly including setting-up and maintenance and front application program of backstage supporter's database development two respect. Demand to set up consistency of the data and integrality the storehouse of strong , data with good security as to the former. Require to the latter the function of the application program is complete , apt characteristic of using etc.

Combine , make requirement of library of entering etc. in person , employ and design program to principle Java, data base management system of Mysql,and language of SQL, carry on deeper study and application, mainly finish the demand analysis , function module division , database pattern analysis to the books administrative system, and has designed database structure and application program from this. Systematic operation result prove books administrative system this text design can meet person who borrow , library staff member and senior administrator three of needs.

Keyword: The database ;SQL language ; Mysql; java ;library_system

目 录

序 言 ................................................................................................................... 1 第一章 绪 论 ................................................................................................... 2

1.1 课题背景 ........................................................................................................2 1.2 图书馆管理系统现状 ....................................................................................2 1.3 课题主要工作及预期 ....................................................................................3 1.4 开发工具及相关技术 ....................................................................................4 1.5 小结 .............................................................................................................. 11

第二章 系统分析 ........................................................................................... 12

2.1 系统分析的目标与任务 ............................................................................. 12 2.2 可行性分析 ................................................................................................. 12 2.3 需求分析 ..................................................................................................... 13 2.4 小结 ............................................................................................................. 18

第三章 系统设计 ........................................................................................... 19

3.1 系统设计的目标与任务 ............................................................................. 19 3.2 功能模块设计 ............................................................................................. 19 3.3 系统界面设计 ............................................................................................. 28 3.4 数据库设计 ................................................................................................. 30 3.5小结 .............................................................................................................. 35

第四章 系统实现 ........................................................................................... 36

4.1 实现环境及技术方案 ................................................................................. 36

4.2 前端用户子系统的实现 ............................................................................. 37 4.3 后台管理子系统的实现 ............................................................................. 45 4.4 小结 ............................................................................................................. 48

第五章 系统测试 ........................................................................................... 49

5.1 系统测试的目标、任务及方法 ................................................................. 49 5.2 可用性测试 ................................................................................................. 50 5.3 安全性测试 ................................................................................................. 51 5.4 小结 ............................................................................................................. 52

总 结 ................................................................................................................. 53 致 谢 ................................................................................................................. 54 附 录A 安装、使用说明书 ......................................................................... 55 附 录B 源 码 ............................................................................................... 62

江西理工大学2012本科生毕业设计(论文

序 言

随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息系统的引进已彻底改变了许多系统的经营管理模式。

图书管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查和研究,开发了此图书馆管理系统。本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试过程。

本系统使用JSP进行网页界面的设计,Jquery进行相关功能的实现,使用MVC设计模式,采用开源框架Struts、Hibernate和Spring进行开发。后端的数据库采用MySql,通过JDBC驱动和数据库进行无缝连接。

本系统主要是分前台与后台,前台学生可以通过系统查询个人基本信息,借阅信息,以及图书信息;后台管理员可以通过系统增删学生,更改图书信息,记录学生借阅信息等。

系统实现了学生登录、学生管理、图书管理、借阅管理、系统管理等功能模块。各模块根据不同权限的学生实现不同的功能。学生登录模块实现学生的登录和权限判定。

对于管理员,学生管理模块实现了添加,删除,查询学生信息,图书管理模块实现了对图书的添加、删除、修改、查询等功能;借阅管理模块实现了对学生借阅图书、还书和所借图书的添加,删除,修改,查看等功能;系统管理模块主要是实现了对图书馆内部信息的管理,包括职位,员工,以及员工的工作安排等。

对于普通学生,学生管理模块实现了信息的查询与修改;图书管理模块实现了图书的查询,通过不同的检索方式进行图书的查找,了解图书是否在馆;借阅信息模块实现了对自己借阅信息的查询,续借操作;系统管理模块实现了了解图书馆内的基本情况,以及相关工作人员的信息。

1

江西理工大学2012本科生毕业设计(论文

第一章 绪 论

1.1 课题背景

近年来,各大高校都在扩大招生,大学生也越来越普及。在校期间,图书馆是同学们学习的重要场所,图书馆不仅有个好的学习环境,更是提供了大量的书籍。然而,伴随着学生的增加,对图书的数量,以及借阅情况的登记显得格外的复杂,对学生借阅图书的情况的登记是对图书管理人员的挑战。现在还有很多高校采用的是人工操作,人工操作不仅效率低,而且对学生的信息管理困难。学生也不能及时的了解到自己的借阅情况以及图书信息。为了提高图书馆的管理效率,方便学生们及时的了解自己的借阅情况以及图书信息。特此开发此系统。

此系统主要是面向两个方面:管理员与学生。管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!学生可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。

1.2 图书馆管理系统现状 1.2.1 检索速度慢、效率低

因为图书馆的藏书种类多。数量大,将藏书准确的分门别类,快速检索,手工进行非常困难,往往是终于查到了二维的信息,馆中却没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。

1.2.2 借书、还书工作量大

借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期,遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现这样那样的差错。

1.2.3 图书统计工作难、藏书更新不能及时完成

图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性的进行,藏书的知识结构得不到良好地控制。

2

江西理工大学2012本科生毕业设计(论文

1.2.4 对学生信息的管理难度大

随着大学校园的扩招,学生量越来越多,伴随着新同学的到来,新学生的增加!对管理员是一个很大的挑战。

1.3 课题主要工作及预期

随着计算机的广泛应用,其逐步成为现代化的标志。图书馆在正常运行的过程中总是面对大量的学生信息,图书信息以及两者相互作用产生的借阅信息。因此需要对学生信息,书籍信息,借阅信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆对图书存销的自动化的管理,能够更快速地满足学生的要求,提高各种工作效率,现对其设计相应的系统,以达到上述的目的。

图书馆管理系统的主要功能是实现图书馆图书的借阅管理自动化,图书新增及删除的及时化,学生及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:借阅管理,学生管理,图书管理,借阅管理。除了这些核心功能外,还包括一些基本和辅助的功能,它们是:图书信息管理,查询功能,系统管理等。

该系统设计的主要目标是:

设计一个图书馆管理系统,该系统主要功能分为图书查询、图书借阅归还和图书管理三大部分。在图书查询模块中要求学生能在浏览器中分别图书编号、书名、类型等条件查询;在图书管理模块中要求能完成如添加新的学生、新书录入、借书还书登记、图书修改等日常管理功能。

(1)网站前台设计:前台供学生使用,学生登录后有如下权利

①个人信息查询与修改:学生可以查询个人信息,并修改相应的信息(学号,姓名,身份证号等主要信息不能修改)。

②图书查询:学生可以按多种方式对图书库中的图书进行查询。 ③借阅信息查询:学生可以查看自己的历史借阅信息。

④系统信息查询:学生可以查询系统信息,了解馆内的相关介绍。 (2)网站后台设计:后台是供管理员使用的,管理员登陆后有如下权利 ①增加学生:将学生信息填写完整,在数据库中注册新学生;

②图书的录入、修改及删除:可以对现有图书库中的图书进行删除、修改、也可以添加新书;

③借阅登记:普通学生借阅或归还图书时,管理员将在借阅信息表中添加相应的记录; ④系统信息:管理员可以对馆内的信息进行增加、修改、删除。

3

江西理工大学2012本科生毕业设计(论文

1.4 开发工具及相关技术 1.4.1 SSH框架

SSH框架是指Struts+ Hibernate+ Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。

Struts实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控制对象的生成和事务的处理。

Struts对Model、View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。SSH任务分工如图1-1所示:

图1-1 任务分工图

1.4.1.1 Struts介绍

Struts是开源软件。使用Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。Struts的框架结构如图1-2所示:

4

江西理工大学2012本科生毕业设计(论文

图1-2 Struts框架结构

1.Struts框架结构

Struts对Model,View和Controller都提供了对应的组件。ActionServlet这个类是Struts的核心控制器,负责拦截来自学生的请求。Action这个类通常由学生提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

2.Model部分

由ActionForm和JavaBean组成,其中ActionForm用于封装学生的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理学生的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。 3.View部分

该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。 4.Controller部分

Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据学生请求决定是否要转给业务逻辑控制器。业务逻辑控制器,对应Action部分,负责处理学生请求,本身不具备处理能力,而是调用Model来完成处理。

1.4.1.2 Hibernate介绍

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。Hibernate体系结构图如图1-3所示:

5

江西理工大学2012本科生毕业设计(论文

图1-3 Hibernate体系结构图

此图说明了Hibernate的体系结构图,Hibernate使用数据库和配置信息来为应用程序提供持久化服务。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Configuration、Transaction、Query和Criteria。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。 1.Session接口

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为学生session。 2.SessionFactory接口

SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 3.Configuration接口

Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 4.Transaction接口

Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

6

江西理工大学2012本科生毕业设计(论文

5.Query和Criteria接口

Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。 1.4.1.3 Spring介绍

Spring是一个开源框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。简单来说,Spring是一个轻量级的控制反转(LOC)和面向切面(AOP)的容器框架。Spring框架概述如图1-4所示:

图1-4 Spring框架概述

1.控制反转

Spring通过控制反转的技术促进了松耦合。当应用了控制反转,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。 2.面向切面

Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。 3.容器

Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。

1.4.2 Tomcat服务器

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问学生不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。 1.3.2.1 在Eclipse中添加Tomcat插件步骤如下:

7

江西理工大学2012本科生毕业设计(论文

1.首先要在Eclipse的window --show view—servers打开servers的显示窗口如图1-5所示:

图1-5 Eclipse主窗口

2.在Eclipse中的Servers窗口中点击右键New—server,进入窗口如图1-6所示:

图1-6 选择Tomcat版本

3.在上图中选择所要添加的Tomcat版本,点击Next,进入窗口如图1-7所示:

图1-7 添加Tomcat地址

4.在上图中选择所要添加Tomcat的directory,JRE改为Jre6,点击Next,如图1-8所示

8

江西理工大学2012本科生毕业设计(论文

图1-8 添加项目

5.在上图中选择所要添加的项目加载到Tomcat中,点击finish完成 对Eclipse中的Tomcat进行相关的修改:

1.在Eclipse中修改Tomcat端口号如图1-9所示:

图1-9 修改端口号

2.修改Tomcat启动缓存参数如图1-10所示:

图1-10 修改缓存参数

1.4.3 Eclipse平台

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。 Eclipse插件安装方法

做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。一个好的插件可以大大的提高工作效率。Eclipse插件的安装方法:

9

江西理工大学2012本科生毕业设计(论文

直接复制法

假设Eclipse的安装目录在E:\\eclipse,解压下载的eclipse 插件或者安装eclipse 插件到指定目录AA文件夹,打开AA 文件夹,在AA文件夹里分别包含两个文件夹features和plugins ,然后把两个文件夹里的文件分别复制到E:\\eclipse下所对应的文件夹下的features 和plugins 下。

注意:直接将插件包解压到plugins文件夹下之后,重启eclipse,可能不会加载新的插件。

解决方法是:

1.打开命令行,到当前eclipse的目录下,输入eclipse -clean,重新启动eclipse,这样eclipse就会加上新的插件了。

2.如果插件不能升效,则请将eclipse\\configuration\\org.eclipse.update目录删除后再启动eclipse;

你可以在eclipse的菜单\"Help\"-->\"About Eclipse SDK\"-->\"Feature Details\" 和\"Plug-in Details\"中看到新安装的插件。 如图1-11所示:

图1-11 新添加的插件

1.4.4 Mysql数据库

Mysql数据库是一个简单并方便的轻量级数据库,不仅在电脑上容易安装,而且使用简单,很容易就能掌握Mysql的使用。 在Eclipse中安装Mysql插件,步骤如下:

1.首先要在Eclipse的window --show view—data Source Explorer打开data Source Explorer的显示窗口,如图1-12所示:

10

江西理工大学2012本科生毕业设计(论文

图1-12 Date Source Explorer 窗口

2.在Date Source Explorer 窗口中点击右键,New Connection Profile窗口,如图1-13所示:

图1-13 New Connection Profile窗口

3.在New Connection Profile窗口中,选择要添加的数据库类型,选中所要添加的数据库类型,双击进入New Driver Definition窗口进行相应的数据库配置,如图1-14所示:

图1-14 New Driver Definition窗口

4.配置完成后,单击finish完成。

1.5 小结

本章主要介绍了系统开发的背景及目前的现状,对课题的主要工作及完成时间作了相应介绍重点介绍了开发工具与相关技术,对SSH,Tomcat,Eclipse,MySQL都作出了相应的介绍。

11

江西理工大学2012本科生毕业设计(论文

第二章 系统分析

2.1 系统分析的目标与任务

系统分析主要是为了分析清楚系统的需求以及学生对系统的要求,了解系统应实现那几部分的功能,各部分功能实现的具体方法:

图书管理系统包含五个模块分别是:系统登录、学生管理、图书管理、借阅管理、系统管理。

系统登录模块:学生和管理员都必须登录才能进入系统,系统登录时在后台判断权限类型,分为学生和管理员,学生可以对书籍进行浏览及个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对学生,图书,借阅等信息进行增删操作。

学生管理模块:管理员可以在此模块中创建新的学生信息,并且可以对学生的信息进行删除等操作,但是不能进行修改操作,学生可以查看自己的基本信息,并且可以进行修改(学号,姓名,身份证号不能修改)。

图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。学生只能查看到图书的信息,及时的了解到图书是否可借。

借阅管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为学生办理借阅图书,归还图书的功能,并且能够实现罚款的操作。学生只能查看到自己的借阅历史信息,查看借阅是否到期。

系统管理模块:管理员可以发布馆内的基本情况,员工的相关信息以及工作的安排。

2.2 可行性分析

采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高校的发挥最大的作用,能够迅捷的为学生提供相应的服务。开发本系统的可行性如下:

2.2.1 技术可行性

SSH框架是指Struts+ Hibernate+ Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。

Struts实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控制对象的生成和事务的处理。

Struts对Model、View和Controller都提供了对应的组件。Spring是一个轻量级的控制

12

江西理工大学2012本科生毕业设计(论文

反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。

服务器使用Tomcat,Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问学生不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。

开发平台使用Eclipse,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。

数据库用Mysql, Mysql数据库是一个简单并方便的轻量级数据库,不仅在电脑上容易安装,而且使用简单,很容易就能掌握Mysql的使用。

2.2.2 经济可行性

开发环境的选择会影响到数据库的设计,更会影响到开发成本,所以在这里给出图书管理系统开发与运行环境的选择如下:

开发环境:Window7 开发工具:Eclipse 3.2.6 数据库管理系统:Mysql 5.1 数据库服务器: Tomcat 6.0

由于相关的软件都是免费的,可以在网上自行下载。只要一台配置比较高的电脑即可完成,成本相对比较低。

2.2.3 操作可行性

本系统开发的开发宗旨是以便捷为中心。开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。

2.3 需求分析

2.3.1 图书馆管理系统需求概述

图书馆管理系统的开发主要涉及到系统登录,学生管理,图书管理,借阅管理,系统管理五大功能的数据管理。从管理的角度可将图书馆管理系统分为三部分:图书管理、学生管

13

江西理工大学2012本科生毕业设计(论文

理、借阅管理。图书信息管理包括:添加新进图书、删除旧图书、修改图书信息。学生管理包括:修改学生信息、办理新学生、注销学生。借阅管理主要包括学生借阅图书以及归还图书。

超级管理员能够对系统进行任何操作,主要包括角色分配,权限控制,菜单管理等。 管理员的需求是可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!

学生可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要进行登记,形成借书或还书信息给借阅者查看确认;图书管理人员的功能最为复杂,包括对学生信息、图书信息进行管理和维护、以及系统状态的查询和维护等。

2.3.2 功能需求

超级管理员可以对系统进行任何操作,主要包括用户管理,角色管理,功能权限管

理,菜单管理。通过角色分配,用户分为管理员与学生,对不同的用户进行权限控制,管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!而学生只可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。菜单管理是对管理员界面与用户界面的管理。系统管理主要是对一些系统信息进行管理。 2.3.2.1 登录系统

在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!管理员进入管理员页面,学生进入学生页面。 2.3.2.2 管理员页面设计

管理员页面设计主要包括对学生信息管理,图书信息管理,借阅信息管理以及系统信息管理四个方面,下面分别对这四个方面作相关的介绍与设计。 1.学生管理

本系统对学生管理包括:添加学生信息,修改学生信息、、删除学生信息,查询学生信在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,且身份证号一定得为18位! 2.图书管理

图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。

息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。

14

江西理工大学2012本科生毕业设计(论文

在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。 3.借阅管理

学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。 4.系统管理

系统管理主要是管理员对图书馆信息、工作人员信息。 2.3.2.3 学生页面设计

学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。 1.基本信息

因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。 2.图书信息

对学生来说,最关心的问题其实是如何方便的查询到想要借阅的书籍,可以及时的了解到图书的相关信息。

对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。 3.借阅信息

学生查询图书信息的目的还是为了借书,借阅信息管理包括借书与还书。还书时要判断是否超期,若超期,则进行相应的罚款。

2.3.3 数据需求

1. 图书馆管理系统的基本系统模型

顶层数据流图主要描述了整个图书馆管理系统的数据流。就是管理员对图书馆管理

系统管理。图书馆管理系统的基本系统模型如图2-1所示:

图2-1图书馆管理系统的基本系统模型

15

江西理工大学2012本科生毕业设计(论文

2. 图书馆管理系统数据流

系统数据流图描述了管理员在整个系统中可以进行的操作流程过程。首先是进行身份验证,身份验证没通过则不能进行页面,应联系超级管理员添加信息。身份验证通过方能进入管理员页面,可以选择对学生信息以及图书信息进行管理。图书馆管理系统数据流图如图2-2所示:

图2-2图书馆管理系统数据流图

3.学生管理数据流

对图书馆管理系统数据流图中的“学生管理”进行展开。细化后的数据流图如图2-3所示:

图2-3学生信息管理数据流

4.图书管理数据流

对图书馆管理系统数据流图中的“图书管理”进行展开。细化后的数据流图如图2-4

16

江西理工大学2012本科生毕业设计(论文

所示:

图2-4图书信息管理数据流

5.借阅管理数据流

所示:

对图书馆管理系统数据流图中的“借阅管理”进行展开。细化后的数据流图如图2-5

图2-5借阅管理数据流

6. 归还管理数据流

所示:

对图书馆管理系统数据流图中的“归还管理”进行展开。细化后的数据流图如图2-6

17

江西理工大学2012本科生毕业设计(论文

图2-6归还管理数据流

2.3.4 性能需求

1.可靠性和可用性需求

(1)系统中的软件可以每天使用24小时。 (2)系统中的软件故障率几乎为零。 2.容错性

学生输入错误信息时,系统会有相应的提示。 3.易用性

软件适合12-70周岁的智力、视力、体力和肢体正常且具有图书借阅相关知识的人使用。 4.易学性

经过1-2天培训的使用者可以正常使用本软件。

2.4 小结

本章主要介绍了系统分析的目标、可行性分析及相关的需求,重点介绍了功能需求与数据需求。本系统功能需求主要分三大模块,系统登录系统,管理员页面设计,学生页面设计。通过本章的内容,可以初步确定系统的需求,为下一章进行系统的设计作好准备。

18

江西理工大学2012本科生毕业设计(论文

第三章 系统设计

3.1 系统设计的目标与任务

图书管理系统包含五个模块分别是:系统登录、学生管理、图书管理、借阅管理、系统管理。

系统登录模块:学生和管理员都必须登录才能进入系统,系统登录时在后台判断权限类型,分为学生和管理员,学生可以对书籍进行浏览及个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对学生,图书,借阅等信息进行增删操作。

学生管理模块:管理员可以在此模块中创建新的学生信息,并且可以对学生的信息进行删除等操作,但是不能进行修改操作,学生可以查看自己的基本信息,并且可以进行修改(学号,姓名,身份证号不能修改)。

图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。学生只能查看到图书的信息,及时的了解到图书是否可借。

借阅管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为学生办理借阅图书,归还图书的功能,并且能够实现罚款的操作。学生只能查看到自己的借阅历史信息,查看借阅是否到期。

系统管理模块:管理员可以发布馆内的基本情况,员工的相关信息以及工作的安排。

3.2 功能模块设计

超级管理员可以对系统进行任何操作,主要包括用户管理,角色管理,功能权限管理,

菜单管理。超级管理员功能模块如图3-1所示:

19

江西理工大学2012本科生毕业设计(论文

图3-1 超级管理员功能模块

3.2.1 整体系统的功能模块

此系统主要是为了管理员与用户操作,对超级管理员只是在特殊情况下才登录,超级管理员能对系统进行任何操作,因此在功能设计模块里不细讲超级管理员的功能实现以及页面设计。主要介绍管理员与学生的功能实现与页面设计。

管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!

学生可以查询图书馆所存的图书,借阅情况以及基本信息的修改。 图书馆管理系统功能图如图3-2所示:

20

江西理工大学2012本科生毕业设计(论文

图3-2 图书馆管理系统功能图

3.2.2 系统登录模块

在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!超级管理员进行超级管理员页面,管理员进入管理员页面,学生进入学生页面。登录系统流程图如图3-3所示:

21

江西理工大学2012本科生毕业设计(论文

图3-3 登录模块流程图

3.2.3 管理员模块

此模块是介绍管理员模块的实现,主要是学生信息管理,图书信息管理,借阅信息管理以及系统信息管理。在相关的流程图中,就不作相应的用户判断,默认为管理员身份登录。进入相应的管理员页面,进行相关的操作。 1.学生管理模块

本系统对学生管理包括:添加学生信息、修改学生信息、删除学生信息、查询学生信息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。

学生信息管理流程图如图3-4所示:

22

江西理工大学2012本科生毕业设计(论文

图3-4 学生信息管理流程图

在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,身份证号一定得为18位! 2.图书管理模块

图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。

图书信息管理流程图如图3-5所示

图3-5 图书信息管理流程图

在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编

23

江西理工大学2012本科生毕业设计(论文

号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。 3.借阅信息管理模块

学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。

借阅信息管理流程图如图3-6所示:

图3-6 借阅信息管理流程图

4.系统管理

系统管理主要是管理员对图书馆信息、工作人员信息以及工作安排的管理。 系统管理模块如图3-7所示:

24

江西理工大学2012本科生毕业设计(论文

图3-7 系统管理模块

3.2.4 学生模块

学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。 1.基本信息

因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。

基本信息流程图如图3-8所示:

25

江西理工大学2012本科生毕业设计(论文

图3-8 基本信息流程图

2.图书信息

对学生来说,最关心的问题其实是如何方便的查询到想要借阅的书籍,可以及时的了解到图书的相关信息。

对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。

图书信息流程图如图3-9所示

26

江西理工大学2012本科生毕业设计(论文

图3-9 图书信息流程图

3.借阅信息

借阅信息管理包括查询借书信息与还书信息。还书时要判断是否超期,若超期,则进行相应的罚款。还可以进行行续借操作。

借阅信息流程图如图3-10所示:

27

江西理工大学2012本科生毕业设计(论文

图3-10借阅信息流程图

3.3 系统界面设计 3.3.1 系统登录模块

在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!管理员进入管理员页面,学生进入学生页面。

系统登录页面设计如系统实现章节的图4-6所示。

3.3.2 管理员模块

管理员页面设计主要包括对学生信息管理,图书信息管理,借阅信息管理以及系统信息管理四个方面。 1.学生信息管理模块:

本系统对学生管理包括:添加学生信息,修改学生信息、、删除学生信息,查询学生信息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。

学生信息查询与删除页面如系统实现章节的图4-8所示,学生信息修改与添加页面如系

28

江西理工大学2012本科生毕业设计(论文

统实现章节的图4-10所示。

在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,且身份证号一定得为18位!当没有输入或输入重复时,会弹出相应的提示。 2.图书管理

图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。

查询图书信息页面如系统实现章节的图4-11所示,添加,删除与修改图书信息页面如系统实现章节的图4-12所示。

在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。与学生信息验证相似。 3.借阅管理

学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。查询学生借阅信息页面如系统实现章节的图4-14所示,修改学生借阅信息页面如系统实现章节的图4-15所示,添加与删除学生借阅信息页面如系统实现章节的图3-19所示。 4. 系统信息管理

系统管理主要是管理员对图书馆信息、工作人员以及工作安排信息的管理。

3.3.3 学生模块

学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。 1.基本信息

因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。基本信息查询如系统实现章节的图4-21所示。

修改与管理员修改模型差不多,只不过有些字段是只读型,比如学号,姓名,身份证号,学院,班级,专业等。 2.图书信息

对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。 3.借阅信息

29

江西理工大学2012本科生毕业设计(论文

借阅信息管理包括查询借书信息与还书信息。还书时要判断是否超期,若超期,则进行相应的罚款。还可以进行行续借操作。借还信息查询如系统实现章节的图4-23所示。

3.4 数据库设计 3.4.1 概念结构设计

超级管理员可以对系统进行任何操作,主要包括角色分配,权限控制,菜单管理,系统管理。

超级管理员模块总体E-R图如图3-25所示

图3-25超级管理员模块总体E-R图

权限管理总体E -R图如图3-26所示:

30

江西理工大学2012本科生毕业设计(论文

图3-26 权限管理总体E-R图

用户管理主要包括管理员管理与学生管理,其E-R图如图3-27所示:

图3-27用户管理E-R图

学生模块总体E-R图如图3-28所示:

31

江西理工大学2012本科生毕业设计(论文

图3-28 学生模块总体E-R图

管理员模块总体E-R图如图3-29所示:

图3-29 管理员模块总体E-R图

32

江西理工大学2012本科生毕业设计(论文

3.4.2 逻辑结构设计

给出本系统内所使用的每个数据结构中的每个数据项的字段英文名称、字段中文名称,存储类型、约束条件、是否可为空。本系统采用MySql作为支持数据库,建立一个名为“library_system”的数据库,该数据库包含了如下数据表: 根据上述功能模块的需求,设计如下主要数据库表:

学院信息表主要是用来存放学院信息。学院表定义如表3-1所示 表3-1 学院信息表(academy_phg)

字段英文名称 AcademyPhgId academyCode academyName 字段中文名称 学院ID 学院编号 学院名称 字段类型 Varchar(60) Varchar(10) Varchar(50) 字段约束 主键 是否可为空 否 否 否 专业信息表主要是用来存放专业信息。专业表定义如表3-2如示: 表3-2 专业信息表(profession_phg)

字段英文名称 ProfessionPhgId professioCode professioName 字段中文名称 专业ID 专业编号 专业名称 字段类型 Varchar(60) Varchar(10) Varchar(50) 字段约束 主键 是否可为空 否 否 否 班级信息表是用来存放班级信息,班级表定义如表3-3如示: 表3-3 班级信息表(class_phg)

字段英文名称 ClassPhgId className 字段中文名称 班级ID 班级名称 字段类型 Varchar(60) Varchar(50) 字段约束 主键 是否可为空 否 否 学生信息表(student_phg):用于存放学生的基本信息。学生信息表定义如表3-4所示: 表3-4 学生信息表(student_phg)

字段英文名称 StudentPhgId studentCode studentName idNo academyName professionName className Sex Telephone Email enterTime 字段中文名称 学生ID 学号 姓名 证件证号 学院 专业 班级 性别 联系方式 email 入校日期 字段类型 Varchar(60) Varchar(10) Varchar(50) Varchar(20) Varchar(50) Varchar(50) Varchar(50) Demimal(1,0) Varchar(15) Varchar(50) Date 字段约束 主键 唯一 唯一 是否可为空 否 否 否 否 是 是 是 否 是 是 是

33

江西理工大学2012本科生毕业设计(论文

系统管理员信息表(operator_phg):用于存放系统管理员的基本信息。系统管理员信息表定义如表3-5所示:

表3-5管理员信息表(operator_phg)

字段英文名称 OperatorPhgId operatorCode operatorName Sex Tel Email positionName enterTime 字段中文名称 管理员ID 管理员编号 管理员名 性别 联系方式 email 职位 入职日期 字段类型 Varchar(60) Varchar(10) Varchar(50) Demimal(1,0) Varchar(15) Varchar(50) Varchar(50) Date 字段约束 主键 是否可为空 否 否 否 否 是 是 是 是 图书类型信息表是用来存放图书类型信息,图书类型信息表定义如表3-6所示: 表3-6图书类型信息表(bookType_phg)

字段英文名称 bookTypePhgId typeCode typeName 字段中文名称 图书类型ID 类型编号 类型名称 字段类型 Varchar(60) Varchar(10) Varchar(50) 字段约束 主键 是否可为空 否 否 否 图书信息表是用来存放图书信息,图书信息表定义如表3-7所示: 表3-7图书信息表(book_phg)

字段英文名称 bookPhgId bookCode bookName writer price pubCompany pubDate buyDate opertor typeName giveback 字段中文名称 图书ID 图书编号 书名 作者 单价 出版社 出版日期 上架日期 上架操作员 图书类型 借阅情况 字段类型 Varchar(60) Varchar(10) Varchar(50) Varchar(50) Varchar(50) Varchar(50) Date Date Varchar(50) Varchar(50) Varchar(50) 字段约束 主键 是否可为空 否 否 否 否 是 是 是 是 是 否 否 职位信息表是用来存放职位信息,职位信息表定义如表3-8示 表3-8职位信息表(Position_phg)

字段英文名称 PositionPhgId

字段中文名称 职位ID 字段类型 Varchar(60) 字段约束 主键 是否可为空 否 34

江西理工大学2012本科生毕业设计(论文

positionCode positionName duty 职位编号 职位名称 职责 Varchar(10) Varchar(50) Varchar(500) 否 否 是 借阅信息表是用来存放借阅信息,借阅信息表定义如表3-9如示:

表3-9借阅信息表(borrowInfo_phg)

字段英文名称 borrowInfoPhgId bookCode studentCode studentName borrowTime borrowOperator returnTime givebackOperator ticket expire renew 字段中文名称 借阅ID 图书编号 学号 姓名 借书日期 借书操作员 还书日期 还书操作员 超期罚款 距到期天数 续借 字段类型 Varchar(60) Varchar(10) Varchar(10) Varchar(50) Date Varchar(20) Date Varchar(20) Demimal(12,2) integer(3) Demimal(1,0) 字段约束 主键 是否可为空 否 否 否 否 是 是 是 是 是 是 否 3.5小结

本章主要介绍了系统设计模块,详细的介绍了功能模块设计,系统界面设计,数据库设

计。功能模块设计主要包括系统登录模块,管理员模块与学生模块。管理员模块实现学生管理,图书管理,借阅管理,系统管理等相关功能,学生模块实现基本信息查询,图书信息查询,借阅信息查询功能。系统界面设计主要是实现各功能模块,主要包括系统登录模块,管理员模块,学生模块。数据库设计分二个方面对数据库设计进行分析:概念结构设计,逻辑结构设计。概念结构设计是介绍系统总体E-R图,逻辑结构设计是介绍数据库表结构。

35

江西理工大学2012本科生毕业设计(论文

第四章 系统实现

4.1 实现环境及技术方案

该系统的实现条件主要分硬件与软件,硬件需求主要就是一台笔记本电脑,配置要求不

是太高,能运行Eclipse平台,Mysql数据库即可。软件需求就是Eclipse及相关的插件,Tomcat服务器,Mysql数据库。采用SSH框架集成实现系统的功能界面。

要实现系统首先要进行数据库的创建与连接,本系统是运用Mysql数据库。数据库的创建在数据库设计里已经详细介绍。数据库的连接是在application-hibernate.xml文件中配置如图4-1所示:

图4-1数据库连接

本系统是采用SSH框架集成来实现,环境的搭建是实现系统的首要要素。具体搭建过程

不详解,大概搭建完成的界面如图4-2所示:

图4-2 环境的搭建

在搭建环境过程中有些重要的配置,在Web.xml.文件中的Struts配置代码如图4-3所.示:

36

江西理工大学2012本科生毕业设计(论文

图4-3 在Web.xml文件中配置Struts

在web.xml文件中Dwr配置代码如图4-4所示:

图4-4 在Web.xml文件中配置Dwr

其它配置文件主要有Spring,Struts,peng.library,hbm的相关配置。

4.2 前端用户子系统的实现

系统前端用户主要分管理员与学生,管理员与学生拥有不同的功能权限,而系统登录页

37

江西理工大学2012本科生毕业设计(论文

面能判定不同权限的用户。管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!而学生只可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。下面分别介绍系统登录,管理员与学生的系统实现。

4.2.1 系统登录页面实现

系统登录页面主要是用户进入系统验证的一种手段,通过登录页面对用户角色的判定,根据不同的用户角色,控制不同的功能权限。超级管理员进入超级管理员页面,管理员进入管理员页面,学生进入学生页面。系统登录页面如图4-6所示:

图4-6系统登录页面

4.2.2 管理员页面实现

管理员系统实现页面主要包括对学生信息管理页面,图书信息管理页面,借阅信息管理管理员系统主页面,如图4-7所示:

页面以及系统信息管理页面四个方面,下面分别对这四个方面的系统实现作相关的介绍。

38

江西理工大学2012本科生毕业设计(论文

图4-7管理员系统主页面

1. 学生管理信息页面

本系统对学生管理包括:添加学生信息,修改学生信息、、删除学生信息,查询学生信学生管理主页面,主要是进行学生信息查询,删除学生信息操作。可以通过学院,专业,息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。 班级索引进行查询,如图4-8所示:

图4-8学生管理主页面

通过上图中的新增与编辑按钮分别进行不同的编辑页面。其中带有*号的表示必填项,在没有输入或输入有误时,有弹出相应的提示信息。对学号与姓名要求不能重复,身份证号得为18位。新增学生信息页面如图4-9所示:

图4-9 新增学生信息页面

学生修改信息页面不仅可以修改学生的基本信息,还可以新增借阅信息,管理员是通过

此页面来新增学生的借阅信息。在此页面可以进行新增,编辑,查询,删除学生的借阅信息,当然查询学生的借阅信息一般不会通过这个页面进行。此页面主要是修改学生信息以及新增

39

江西理工大学2012本科生毕业设计(论文

学生借阅信息。学生修改信息页面如图4-10所示:

图4-10 学生修改信息页面

2.图书管理信息页面

图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。

在进行添加图书信息时,是在图书类型的编辑区里进行,先选择相应的图书类型,再添加图书信息。图书类型界面如图4-11所示:

图4-11 图书类型页面

添加图书信息,删除图书信息与修改图书信息在同一个页面上进行,其中带*号为必填项,图书编号与书名不能重复,图书类型不可编辑,值与所选的图书类型相同。如图4-12所示:

图4-12 图书信息页面

图书可以根据不同的检索进行图书查询,图书编号,书名,图书类型,根据管理员

的需求可以选择同时使用,也可以单独使用。具体页面如图4-13所示:

40

江西理工大学2012本科生毕业设计(论文

图4-13 图书查询页面

3.借阅管理信息页面

学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。借阅信息是在学生借书或还书时,对学生的信息进入编辑。实现页面是通过查询到要借书学生的信息,在其借阅信息中增加相应的记录,其中学号与姓名为要借书学生的学号与姓名,根据学生信息会自动赋值,图书编号为必填项,书名会根据选择的图书编号自动生成。距到期天数默认为7天,续借情况默认为否。具体实现如图4-14所示:

图4-14 借阅信息页面

借阅信息查询页面,主要是通过学生学号与姓名进行查询,可以看到借阅全部信息。包括图书编号与书名信息,借书日期,距到期天数,是否续借等。

具体实现如图4-15所示:

41

江西理工大学2012本科生毕业设计(论文

图4-15借阅信息查询页面

4.系统管理信息页面

系统管理主要是管理员对图书馆信息、工作人员信息以及一些基础数据的录入。 学院信息的录入,通过在学院信息主页面新增按钮进入新增编辑页面,学院信息主页面可以对学院信息进行增,删,查。具体实现如图4-16所示:

图4-16 学院信息

点击上图的新增按钮,可以进入学院信息新增编辑界面,其中学院编号与学院名称

均为必填项。新增编辑页面如图4-17所示:

图4-17新增编辑页面

点击图4-16中的编辑按钮,即可进入学院信息的编辑页面,在编辑页面里,不能修

改学院的信息,只能增,删,改该学院的专业信息。其中专业编号与专业名称均为必填项。修改编辑具体页面如图4-18所示:

42

江西理工大学2012本科生毕业设计(论文

图4-18 修改编辑页面

通过上图的学院信息编辑,新增了相应的专业信息,而通过专业信息的编辑,可以新增,删除,修改该专业的班级信息。专业信息的主页面如图4-19所示:

图4-19 专业信息的主页面

当然,管理员还可以对对图书馆信息、工作人员信息进行录入,具体实现页面与学院信息录入相似。

4.2.3 学生页面实现

学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面的页面实现作相关介绍。如图4-20所示:

43

江西理工大学2012本科生毕业设计(论文

图4-20 学生页面主页面

1. 基本信息页面

因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。具体如图4-21所示:

图4-21 基本信息查询页面

通过编辑按钮可以进入个人信息修改页面,不过主要字段信息不能进行修改,只能更改联系方式,Email等相关信息,若其它信息有误,应找管理员进行更改。 2.图书信息页面

对图书的查询主要有三种查询方式:根据图书编号,书名,图书类型。当然,也可以选择混合查询。学生可以根据自己了解的情况任选择一种方式。具体实现如图4-22所示:

图4-22 图书信息查询页面

44

江西理工大学2012本科生毕业设计(论文

图书信息查询的方式主要是以上三种,用户可以根据自已的需求选择。混合查询方式中包含其中三种查询方式,可以进行任意组合查询。 2. 借还信息页面

图书的查询页面可以通过学号与姓名验证来查询用户的借阅信息,只有当学号与姓名都输入正确的情况下,才能查询到相应的图书借还记录。具体实现如图4-23所示:

图4-23借还信息页面

学生不仅可以查询到自己的借阅信息,而且可以通过系统进行图书的续借,图书的续借

是在学生查询到自己的借阅信息的情况下,选择已借阅的图书进行续借。具体实现如图4-24所示:

图4-24 图书续借页面

4.3 后台管理子系统的实现

后台管理也就是超级管理的操作界面设计,超级管理员可以对系统进行任何操作,主要包括用户管理,角色管理,功能权限管理,菜单管理。下面分别对这四个方面进行介绍:

后台管理主页面如图4-25所示

45

江西理工大学2012本科生毕业设计(论文

图4-25后台管理主页

1.用户管理

用户管理是超级管理员对用户信息进行增加,删除,修改操作。如图4-26所示:

图4-26 用户管理页面

新增编辑用户信息页面设计如图4-27所示:

图4-27 新增编辑用户信息页面

2.角色管理

角色管理是对几种身份进行管理,不同角色的用户对系统拥有不同的权限,此系统分三种角色,超级管理员,管理员,学生。具体实现如图4-28所示:

46

江西理工大学2012本科生毕业设计(论文

图4-28角色管理页面

新增编辑角色信息页面设计如图4-29所示

图4-29 新增编辑角色信息页面

3.功能权限管理

功能权限管理是对超级管理员给不同角色的用户分配不同的功能权限。此系统主要分管理员与学生角色,对它们分配不同的权限。如图4-30所示:

图4-30功能权限管理

4.菜单管理

菜单管理是对页面菜单分布的管理,设置不同的用户能看到的界面。如图4-31所示:

47

江西理工大学2012本科生毕业设计(论文

图4-31菜单管理

4.4 小结

本章介绍系统的具体实现,大概的介绍了系统实现的环境与技术方案,重点讲解了前端

用户与后台管理的实现。前端用户系统的实现分三个方面系统登录页面实现,管理员页面实现,学生页面实现。后台管理系统主要就是超级管理员页面的实现。

48

江西理工大学2012本科生毕业设计(论文

第五章 系统测试

5.1 系统测试的目标、任务及方法

测试是软件开发过程中重要的组成部分。在软件开发过程中,一方面要求我们通过测试

活动验证所开发的软件在功能上满足软件需求,性能上满足客户要求;另一方面,还要满足在预算范围内尽快发布软件的要求。

该系统在本地服务器上进行运行和调试,鉴于对系统的内部结构和处理算法的了解以及对系统功能的掌握对系统进行白盒测试和黑盒测试。

在开发软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。测试目的在于:发现错误而执行一个程序的过程,测试的最重要目的是发现其中尚未发现的错误。

按照软件工程的观点,软件测试共包括4个层次。如图5-1所示,它表明了层次测试的信息流程。

测试报告模块单元测试测试报告单元测试软件设计信息软件需求信息系统的其他成分模块集成测试确认测试系统测可运行的系统试模块单元测试模块测试报告测试报告测试阶段测试报告验收阶段

图5-1 层次测试的信息流程图

1) 单元测试部分:该部分测试是在软件开发过程中要进行的最低级别的测试活动,在

单元测试活动中,系统的单元将在与程序的其他部分相隔离的情况下进行测试;

2) 集成测试部分:该部分测试把多模块按照需求规格,组装成子系统进行测试。进行

该集成测试之前,单元测试应该已经完成,组装测试中所使用的对象应该是已经经过单元测试的软件单元;

3) 确认测试部分:记过集成测试,系统已经按照需求设计把所有模块组装成一个完整

的系统,该部分测试的任务就是验证这个完整系统的有效性;

4) 系统测试部分:保证集成所有子系统功能后,测试其功能性、可靠性、效率,并完

49

江西理工大学2012本科生毕业设计(论文

成可移植性、可维护性的测试。

5.2 可用性测试

可用性测试主要是对功能及用户界面等进行测试并设计测试用例,分析测试结果。此系

统测试模块主要分系统登录页面测试,管理员页面测试,学生页面测试。下面分别对这几方面做相应的测试。

5.2.1 系统登录页面测试

系统登录页面测试主要是测试登录页面的验证,根据用户身份的不同,显示的操作菜单有所不同,一般学生只能查看图书信息和个人信息,并可以查询自己的借阅图书的历史记录;图书管理员可以对图书信息,学生信息以及借阅信息进行查看和管理。当输入错误的用户名称密码时显示登录错误并自动返回登录窗口,并弹出相应的提示信息。

系统登录系统测试如表5-1所示: 表5-1系统登录系统测试

测试要点 测试数据 角色 预期结果 测试结果 用户名,密码 用户名与密码同时输入任意 有误 用户名,密码 用户名输入有误,密码任意 正确 用户名,密码 用户名输入正确,密码任意 有误 用户名,密码 用户名与密码同时正确 超级管理员 用户名,密码 用户名与密码同时正确 管理员 用户名,密码 用户名与密码同时正确 学生 提示“你输入的用户名或密码有误” 提示“你输入的用户名或密码有误 提示“你输入的用户名或密码有误 显示超级管理员页面 显示管理员页面 显示学生页面 正确 正确 正确 正确 正确 正确 5.2.2 管理员页面测试

管理员页面测试主要是测试对学生信息,图书信息,借阅信息的管理。管理员对信息的管理体现在增,删,改,查。在添加与修改信息时,对所要添加或修改的信息进行必填验证与唯一性验证。在删除信息时,只进行确认验证,查询信息时,当输入的查询条件为空时,显示所有的记录,当输入查询条件时,显示所要查询的记录。下面以管理员对学生信息管理为代表,测试管理员页面信息管理的可用性与正确性。 添加或修改学生信息测试用例如表5-2如示: 表5-2添加或修改学生信息测试用例

测试要点 测试数据 预期结果 测试结果 必填项验证

其它数据已填,学号为空 提示“学号为 必填项” 正确 50

江西理工大学2012本科生毕业设计(论文

必填项验证 必填项验证 必填项验证 格式验证 格式验证 格式验证 唯一性验证 唯一性验证 其它数据已填,姓名为空 其它数据已填,身份证号为空 其它数据已填,性别为空 数据都已填,身份证号为15位 提示“姓名为 必填项” 提示“身份证号为 必填项” 提示“性别为 必填项” 提示“身份证号为必须为18位,请重新输入” 数据都已填,电话号码为“3943” 提示“电话号码格式不正确” 数据都已填,邮箱号为“3943” 提示“邮箱格式不正确” 数据都已填,学号为“20082262” 提示“学号输入重复,请重新输入!” 数据都已填,姓名为“张飞” 提示“姓名输入重复,请重新输入!” 正确 正确 正确 正确 正确 正确 正确 正确 因为学生查询条件设为学院,专业,班级。只有在选择学院的情况下才能选择相应的专业,否者不能用专业索引查询。只有在选择了专业信息才能去选择相应的班级。 查询学生信息测试用例如表5-3如示: 表5-3查询学生信息测试用例

测试要点 测试数据 预期结果 测试结果 查询条件 查询条件 查询条件 查询条件 查询条件为空 输入学院索引 输入学院,专业索引 输入学院,专业,班级索引 显示所有记录 显示所有该学院学生记录 显示所有该专业学生记录 显示所有该班级学生记录 正确 正确 正确 正确 删除学生信息只要确认验证即可!

5.2.3 学生页面测试

学生页面测试主要是测试学生对基本信息的查询以及修改验证,对图书信息的查询,借阅信息的查询与续借操作。下面学生对图书信息的查询为代表,测试学生页面的可用性与正确性。

查询图书信息测试用例如表5-4所示: 表5-4查询图书信息测试用例

测试要点 测试数据 预期结果 测试结果 查询条件 查询条件 查询条件 查询条件 查询条件为空 输入图书类型索引 输入图书编号 输入书名 显示所有记录 显示所有该类型图录 显示该编号图录 显示该书名图录 正确 正确 正确 正确 5.3 安全性测试

安全性测试主要是测试在管理员或用户输入有误或操作不当所带来的危害。为了防止出

51

江西理工大学2012本科生毕业设计(论文

现安全性问题,此系统采用了权限控制,对各类用户进行身份验证。超级管理员可以对系统进行任意操作,当系统出现任何状况下,超级管理员可以及时改正。管理员可能增,删,改,查相应的记录,学生只能查询信息以及修改个人信息。不管是管理员还是学生,操作不当引起的问题,超级管理员都能及时弥补。

5.4 小结

本章主要是对系统功能以及用户界面进行相应的测试,测试是软件开发过程中重要

的组成部分。在开发过程中,通过测试活动验证所开发的软件在功能上满足软件需求。主要是从可用性与安全性两个方面对系统进行了测试。

52

江西理工大学2012本科生毕业设计(论文

总 结

图书馆管理系统是基于开源框架SSH开发的,基本上实现了学生与管理员的功能需求,学生可以通过系统不仅可以查询到个人的基本信息以及借阅信息,及时了解图书馆的贮存的图信息,还能进行续借图书操作。管理员可以通过系统对学生信息,图书信息以及借阅信息的增,删,改,查,各个模块的功能都已基本实现。

在这次毕业设计过程中,也遇到了很多问题,由于对SSH的不太了解,刚开始根本就无从下手,后来通过了解SSH的相关知识,对SSH有了大体的掌握,通过环境的搭建对SSH的好处有了更加深该的认识。需求的不清晰,让我困惑了很久,因为不能弄清管理员以及学生之间的具体权限,让我在后来的系统设计里做了很多返工,有时由于某个字段而更改大量的代码。让我认识到了需求分析对系统开发的重要性,合格的需求可以让我们在此后的开发中,减少很多不必要的工作。

当然,通过这次毕业设计,也让我学到了很多,不仅对SSH有了更加深刻的认识,更重要的是认识到了软件开发流程的重要性。之所以前人要这样安排,必有他的理由。需求分析的重要是我身有体会。通过这次开发,让我在以后的开发中少走很多弯路。经验是最宝贵的财富,这次的经历让我在以后的开发中做的更好。

由于本人在知识、经验方面都存在着不足,在整个开发的过程中时间也比较仓促,因此该系统必然会存在一些缺陷和不足。本系统在图书续借等方面还有不足之处,由于对其具体功能分析的不够透彻,所以有待以后将其更加完善。

53

江西理工大学2012本科生毕业设计(论文

致 谢

在指导老师的指导和同学的帮助之下,我顺利地完成了本次毕业设计。在毕业设计这段时间里,我认识到了自己的不足并努力的争取完成我的设计,最终收获很多,学到了以前很多没有学到的知识,同时也巩固了所学过的知识。

感谢我的指导老师贺智明老师。作为我的导师,无论是在理论还是实践方面都给我提了很多宝贵的意见,使我的毕业设计在有条不紊的环境下进行,逐步趋于完善,得以顺利完成。 我也很感谢在开题检查时老师给我提出宝贵意见,还有其他老师在此期间的关怀和帮助,以及学院为我提供良好的毕业设计环境。

感谢在毕业设计中为我提供帮助的学院的老师和同学,以及在毕业设计中被我引用或参考的论著的作者,总之感谢在毕业设计期间给予我帮助的所有老师和同学,感谢你们对我的支持。

54

江西理工大学2012本科生毕业设计(论文

附 录A 安装、使用说明书

本系统采用的是本地的数据库Mysql数据库,下面介绍一下Mysql5.1的安装过程: 打开下载的安装文件,出现如图1-1所示:

图1-1 欢迎页面

mysql安装向导启动,点击“next”继续,如图1-2所示:

图1-2 选择安装类型

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程,如图1-3所示:

图1-3选择要安装的服务

在“MySQL Server(MySQL服务器)”上左键单击,选择“This feature, and all subfeatures, will beinstalled on local hard drive”,即“此部分,及下属子部分内容,全部安装在本地硬盘

55

江西理工大学2012本科生毕业设计(论文

上”。点选“Change...”,手动指定安装目录。如图1-4所示:

图1-4 选择安装路径

选择完安装路径后,点击OK,进入显示安装路径,如图1-5所示:

图1-5 显示安装路径

确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装,如图1-6所示:

图1-6 开始安装

正在安装中,请稍候,直到出现界面,如图1-7所示:

56

江西理工大学2012本科生毕业设计(论文

图1-7 MySQL EnterPrise

点击“next”继续,如图1-8所示:

图1-8 完成安装

现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql 配置向导,将“Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。配置MySQL Server,点击“Finsh”,出现如下界面,MySQL Server配置向导启动。如图1-9所示:

图1-9安装配置向导

点击“Next”,出现如下页面,如图1-10所示:

57

江西理工大学2012本科生毕业设计(论文

图1-10选择配置方式

选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程,点击“Next”,如图1-11所示:

图1-11选择服务器类型

择服务器类型,“Developer Machine(开发测试类,mysql 占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,根据自己的类型选择,一般选“Server Machine”,选择完后点击“Next”,如图1-12所示:

图1-12选择Mysql数据库

点击“Next”如图1-13所示:

58

江西理工大学2012本科生毕业设计(论文

图1-13 InnoDB Tablespace进行配置

默认后,直接点击“Next”,如图1-14所示:

图1-14 设置服务器

按上图设置后,点击“Next”,如图1-15所示:

图1-15设置端口

是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql 数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式(Enable Strict Mode)”,这样MySQL就不会允许细小的语法错误。还有一个关于防火墙的设置“Add firewall exception ……”需要选中,将MYSQL服务的监听端口加为windows防火墙例外,避免防火墙阻断。按“Next”继续。 如图1-16所示:

59

江西理工大学2012本科生毕业设计(论文

图1-16编码设置

按上图设置,点击“Next”,如图1-17所示:

图1-17设置windows服务

按上图设置,点击“Next”,如图1-18所示:

图1-18设置用户名与密码

按上图设置,点击“Next”,如图1-19所示

60

江西理工大学2012本科生毕业设计(论文

图1-19设置完成

设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql 的服务器上,解决的办法,先保证以前安装的mysql 服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql 安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的data文件夹删除,备份的data文件夹移回来,再重启mysql 服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

61

江西理工大学2012本科生毕业设计(论文

附 录B 源 码

源 码1(StudentEdit.js)

$(window).ready(function (){

getAcademyPhg();

$('#StudentPhg_edit_academyName_sel').change(function(){ });

$('#StudentPhg_edit_professionName_sel2').change(function(){ });

CheckSex(); //判断性别是否为空! SetStudent(); SaveButton(); getClassPhg(); getProfessionPhg();

SetBookName(); //首先判断图书编号是否为空,再进行图书编号与书号拼接

})

//获得学院信息

function getAcademyPhg(){ }

function setAcademyPhg(dataList){ }

//获得专业信息

function getProfessionPhg(){

AcademyPhgService.findAcademyPhg({callback:setAcademyPhg, async:false});

dwr.util.removeAllOptions(\"StudentPhg_edit_academyName_sel\"); dwr.util.addOptions(\"StudentPhg_edit_academyName_sel\

dwr.util.addOptions(\"StudentPhg_edit_academyName_sel\

\"academyName\");

var academyName = $(\"#StudentPhg_edit_academyName_sel\").val(); if(!(academyName==\"\"||academyName==null)){

62

江西理工大学2012本科生毕业设计(论文

}

}

AcademyPhgService.academyPhg(academyName,callback);

function callback(data){ }

function setProfessionPhg(dataList){ }

//获得班级信息 function getClassPhg(){ }

function callback2(data){ }

function setClassPhg(dataList){ }

//判断性别是否为空! function CheckSex(){

ProfessionPhgService.professionPhg(data,{callback:setProfessionPhg, async:false});

dwr.util.removeAllOptions(\"StudentPhg_edit_professionName_sel2\"); dwr.util.addOptions(\"StudentPhg_edit_professionName_sel2\

dwr.util.addOptions(\"StudentPhg_edit_professionName_sel2\

\"professioName\");

var professioName = $(\"#StudentPhg_edit_professionName_sel2\").val(); if(!(professioName==null||professioName==\"\")){ }

ProfessionPhgService.selprofessionPhg(professioName,callback2);

ClassPhgService.professionPhg(data,{callback:setClassPhg, async:false});

dwr.util.removeAllOptions(\"StudentPhg_edit_className_sel3\"); dwr.util.addOptions(\"StudentPhg_edit_className_sel3\

dwr.util.addOptions(\"StudentPhg_edit_className_sel3\

$('#saveBtnStudentPhg').mousedown(function(){

var sex = $('#StudentPhg_edit_sex_sel4').val(); if(sex==\"\"||sex==null){

63

江西理工大学2012本科生毕业设计(论文

}

});

}

alert(\"性别为 必填项\");

//首先判断图书编号是否为空,再进行图书编号与书号拼接 function SetBookName(){ }

//验证图书编号是否为必填 function SaveButton(){ }

//自动设置学号与姓名 function SetStudent(){

$('#BorrowInfoPhg_edit2_bookCode_as3').blur(function(){ });

var bookCode = $('#BorrowInfoPhg_edit2_bookCode_as3').val(); if(bookCode==\"\"||bookCode==null){ }

alert(\"图书编号为 必填项\");

BookPhgService.loadCheckBook(bookCode,function(fatalist){ });

var BookPhg = dataList[0];

$('#BorrowInfoPhg_edit2_bookName_text9').val(BookPhg.bookName);

}else{

$('#newBtnBorrowInfoPhg').click(function(){ });

$('#saveBtnStudentPhg').mousedown(function(){

var bookCode = $('#BorrowInfoPhg_edit2_bookCode_as3').val(); if(bookCode==\"\"||bookCode==null){ });

alert(\"图书编号为 必填项\"); }

江西理工大学2012本科生毕业设计(论文

}

$('#newBtnBorrowInfoPhg').blur(function(){ })

var studentCode = $('#StudentPhg_edit_studentCode_text').val(); var studentName = $('#StudentPhg_edit_studentName_text2').val(); $('#BorrowInfoPhg_edit2_studentCode_text12').val(studentCode); $('#BorrowInfoPhg_edit2_studentName_text11').val(studentName);

源 码2(AcademyPhgServiceImpl.java) /**

*通过此方法来判断学院编号与学院名称是否重复 */

public String addAcademyPhgCheck(String academyCode,String academyName){

String str =\"\";

AcademyPhg academyPhg = new AcademyPhg(); academyPhg.setAcademyCode(academyCode); academyPhg.setAcademyName(academyName);

if(super.findByProperty(AcademyPhg.class,

AcademyPhgDomain.academyCode,academyCode).isEmpty()){ //判断academyCode值在数据库中是否存在

if(super.findByProperty(AcademyPhg.class,

AcademyPhgDomain.academyName,academyName).isEmpty()){ //判断academyName值在数据库中是否存在

}

academyPhg.setRowStatus(BaseObject.ROWSTATUS_ADDED); this.addAcademyPhg(academyPhg); str = \"学院名称输入重复,请重新输入!\";

}else{

}else{

str = \"学院编号输入重复,请重新输入!\"; }

65

江西理工大学2012本科生毕业设计(论文

/**

return str;

}

* 自定义方法,实现联动 */

@SuppressWarnings(\"unchecked\")

}

academyPhg

=

(AcademyPhg)

super.loadAll(AcademyPhg.class,

return super.loadAll(AcademyPhg.class);

public List findAcademyPhg(){

public String validate(String academyName){

AcademyPhg

}

AcademyPhgDomain.academyName, academyName);

return academyPhg.getAcademyPhgId();

public AcademyPhg academyPhg (String academyName){

academyPhg

=

(AcademyPhg)

super.loadByPK(AcademyPhg.class,

AcademyPhg

}

AcademyPhgDomain.academyName, academyName);

return academyPhg;

源 码3(bookTypeEdit.js) //函数适配器

$(window).ready(function(){ })

//通过新增按扭来控制保存按扭 function Change(){

$('#saveBtnBookTypePhg').attr('disabled', true); Change(); ChangeBack(); Check(); SetTypeName();

66

江西理工大学2012本科生毕业设计(论文

}

$('#newBtnBookPhg').click(function(){ })

$('#saveBtnBookTypePhg').attr('disabled', false);

function SetTypeName(){ }

//当点击保存按钮时,让保存按钮失效 function ChangeBack(){ }

//先验证图书编号与书名是否为空,而后通过回调函数,判断图书编号与书名是否已存在. function Check(){

$('#newBtnBookPhg').blur(function(){ })

var bookType = $('#BookTypePhg_edit_typeName_text2').val(); $('#BookPhg_edit2_typeName_text8').val(bookType);

$('#saveBtnBookTypePhg').click(function(){ $('#saveBtnBookTypePhg').attr('disabled', true); })

$('#saveBtnBookTypePhg').mousedown(function(){

var bookCode = $('#BookPhg_edit2_bookCode_text3').val(); //定义变量 var bookName = $('#BookPhg_edit2_bookName_text4').val(); var writer = $('#BookPhg_edit2_writer_text5').val();

if(bookCode==\"\"||bookCode==null){ //判断图书编码是否为空

alert(\"图书编号为 必填项\"); }else{

if(bookName==\"\"||bookName==null){ //判断书名是否为空

alert(\"书名为 必填项\"); }else{

if(writer==\"\"||writer==null){

67

江西理工大学2012本科生毕业设计(论文

}

});

}

alert(\"作者为 必填项\");

BookPhgService.addBookPhgCheck(bookCode,bookName,function(str){ //通过回 }

if(str==\"\"){ }

alert(str); });

}

}else{

}else{

调函数,获取后台的传值,判断学院编码与学院名称是否已存在

源 码4(BookTypePhgService.java) 在

if(super.findByProperty(BookTypePhg.class,

BookTypePhgDomain.typeName,typeName).isEmpty()){ //判断typeName值在数据库中是否

/**

*通过此方法来判断类型编号与类型名称是否重复 */

public String addBookTypePhgCheck(String typeCode,String typeName){

String str =\"\";

BookTypePhg bookTypePhg = new BookTypePhg(); bookTypePhg.setTypeCode(typeCode); bookTypePhg.setTypeName(typeName);

if(super.findByProperty(BookTypePhg.class,

BookTypePhgDomain.typeCode,typeCode).isEmpty()){ //判断typeCode值在数据库中是否存

68

江西理工大学2012本科生毕业设计(论文

存在

} }else{

str = \"类型编号输入重复,请重新输入!\"; } return str;

bookTypePhg.setRowStatus(BaseObject.ROWSTATUS_ADDED); //this.addBookTypePhg(bookTypePhg); str = \"类型名称输入重复,请重新输入!\";

}else{

}

源 码5(borrowContinue.js) //函数适配器

$(window).ready(function(){ });

function Renew(){

Renew();

$(\"#commonBtnBorrowInfoPhg\").click(function(){

var datas = $('#BorrowInfoPhg_table').jqGrid('getRowDataBySelect');//表的ID var ids = $('#BorrowInfoPhg_table').jqGrid('getSelectRowIds');

if(datas.length==0){ }

for(var i=0;ivar renew = datas[i].renew;

alert(\"此书已续借,不能再次续借\"); return;

alert(\"请选中需要续借图书!\"); return;

if(renew==1){

}else{

69

江西理工大学2012本科生毕业设计(论文

var s1 = confirm(\"是否确定要借此图书?\"); if (s1==true){

BorrowInfoPhgService.updateBorrowInfoPhgById(ids,function(result){//传

if(result==\"1\"){

参过程

$('#BorrowInfoPhg_table').jqGrid(\"reloadGrid\");

}

}); }

}

}

});

}

源 码6(BookPhgServiceImpl.java) /** *实现输入图书编号,就能控制书名 */

@SuppressWarnings({ \"unchecked\ public List loadCheckBook(String bookCode){ QueryInfo queryInfo= new QueryInfo();

queryInfo.setQueryObjectName(BookPhgDomain.BookPhg); queryInfo.setWhereCondition(\"bookCode='\"+bookCode+\"'\");

queryInfo.setListType(QueryInfo.LISTTYPE_LIST);

List bookList = (List) super.findByQuery(queryInfo); return bookList;

} /**

*通过此方法来判断图书编号与书名是否重复 */

public String addBookPhgCheck(String bookCode,String bookName){

String str =\"\";

70

江西理工大学2012本科生毕业设计(论文

BookPhg BookPhg = new BookPhg(); BookPhg.setBookCode(bookCode); BookPhg.setBookName(bookName);

if(super.findByProperty(BookPhg.class,

if(super.findByProperty(BookPhg.class,

BookPhgDomain.bookCode,bookCode).isEmpty()){ //判断bookCode值在数据库中是否存在 BookPhgDomain.bookName,bookName).isEmpty()){ //判断bookName值在数据库中是否存

} }else{

str = \"图书编号输入重复,请重新输入!\"; } return str;

BookPhg.setRowStatus(BaseObject.ROWSTATUS_ADDED); //this.addBookPhg(BookPhg); str = \"书名输入重复,请重新输入!\";

}else{

}

71

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务