您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页图书管理系统设计任务书

图书管理系统设计任务书

来源:华佗小知识


图书管理系统的设计与实现

摘 要

本文介绍了基于JSP技术开发的图书管理系统, 阐述了B/ S体系结构的图书管理系统的需求分析、总体设计和开发实现, 并介绍了JSP、JDBC、JavaBeans、session、数据库访问、数据库操作等主要技术及具体功能的实现。该系统利用了基于JSP 的动态Web 技术,基于B/ S 体系结构,执行效率高、操作简单、维护轻松,较好地实现了前端应用程序的高效率查看、后台管理的方便操作,具有很好的可维护性和可扩展性。

关键词: JSP 、图书管理系统、B/S、数据库

目 录

1 引言 ................................................ 错误!未定义书签。

1.1项目背景及意义................................. 错误!未定义书签。 1.2图书管理系统简介............................... 错误!未定义书签。 1.3本文的主要工作................................. 错误!未定义书签。 2 需求分析 ............................................................ 2

2.1 总体需求 ...................................................... 2 2.2 用户群体描述 .................................................. 2 2.3需求具体分析................................................... 3

2.3.1系统用户管理功能 ......................................... 3 2.3.2读者管理功能 ............................................. 3 2.3.3 图书管理功能 ............................................ 3 2.3.4 系统查询功能 ............................................ 4 2.3.5 图书借还功能 ............................................ 4 2.3.6 个人信息修改功能 .................................................................................. 4

3 概要设计 ............................................................ 5

3.1 系统程序流程 .................................................. 5 3.2 总体功能模块设计 .............................................. 5 3.3 模块功能概要设计 .............................................. 5

3.3.1 读者管理模块......................................... 5 3.3.2 图书管理模块......................................... 5 3.3.3 系统查询模块......................................... 6 3.3.4 图书借还模块................................................................................... 6

4 数据库设计 .......................................................... 7

4.1 数据库的需求分析 .............................................. 7 4.2 数据库概念设计 ................................................ 7

4.2.1 实体和属性的定义........................................................................... 7

4.3 数据库的实现 .................................................. 8 4.4数据库的连接................................................... 9

5 系统实现 ........................................................... 10

5.1 开发环境 ..................................................... 10 5.2 查询功能的实现.................................................... ........................................11

5.2.1图书查询的实现................................. .............................. ..........11

5.2.2借阅查询的实现........................... .............................................. ..11

5.3借、还书功能实现..........................................................................................11

6 测试报告 ............................................................ 12

6.1 测试项目 ..................................................... 12 6.2 测试结果 ..................................................... 12 总 结 ................................................................ 18 参 考 文 献 ........................................................... 18

1、引言

1.1项目背景及意义

随着科学技术的高速发展,我们已步入数字化、网络化的时代。在这个高速发展的信息化时代,对于一个高效的图书馆而言,传统的管理办法已远远不能满足要求,现代图书馆需要一个高速、快捷、方便的图书管理办法。因此,WEB图书管理系统应运而生,WEB图书管理系统的主要特点是利用了网络,它为读者和图书馆之间提供了一个交互的电子平台,使得读者通过网络就能轻松查询到图书的相关信息,极大地方便了读者,也提高了图书馆的工作效率、服务质量和管理水平。

1.2图书管理系统简介

图书管理系统的总体任务是实现图书管理和借阅的信息化,对图书信息和用户(读者,借阅者等)信息进行有效的管理。它主要用于图书馆工作人员对读者信息和图书信息进行管理,并提供对图书的查寻、借阅、归还等功能,为图书馆提供了管理工具,同时让学生可以通过网络实现浏览、查询图书信息等,提高了整体运作效能。

1.3本文的主要工作

1.在实现方式上

本文介绍的图书管理系统是基于Internet/Intranet及Web技术,建立以Browser/Server为结构模式、以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为图书管理员和读者提供便利和提高图书管理效率而设计的系统。 2.在功能方面

该系统可以实现用户注册、登录,并方便有效地进行相应图书资料的录入、修改和删除,能够对图书进行分类管理,可以根据关键字搜索图书信息及借阅记录并能执行图书的借出和归还等操作。

2、需求分析

本章主要阐述图书管理系统的总体需求和主要功能。

2.1 总体需求

图书管理系统的设计与开发应达到以下的总体目标,即主要功能: 1、系统用户管理功能:添加、删除用户和权限设置,权限设置用于实现用户可以使用系统的哪些功能。

2、读者管理功能。读者基本信息的添加、修改和删除,读者基本信息的输入包括读者姓名、读者性别、读者条形码、读者类型、出生日期、有效证件、证件号码、电话、Email、备注等;

3、图书管理功能,包括图书类型管理和图书档案管理。

图书类型管理可以添加、修改和删除图书类型及相应可借天数。

图书档案管理可以实现图书信息的添加、修改和删除。图书信息的输入包括图书的条形码、图书的名称、图书的类型、作者的姓名、出版社名称、价格、页码、所在书架等。

4、系统查询功能,包括图书档案查询和图书借阅查询。

图书档案查询。可按图书条形码、图书类别、书名、作者、出版社、所在书架等检索款目进行精确或模糊检索。

图书借阅查询。可以通过图书条形码、图书名称、读者条形码、读者名称快速查找目标书籍及其借阅情况。 5、图书借出和归还功能。

借书信息的输入,包括所借图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者已借图书的生成等。

还书信息的输入,包括所还图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者当前所借图书的生成等。 6、个人信息修改功能:修改登录系统的个人密码。

2.2 用户群体描述

基于WEB的图书管理系统一般分为两类使用实体:图书馆管理员和读者 1. 管理员

系统的管理者。负责对图书信息和读者信息进行管理及系统的参数设置,并提供对图书的查寻、借出、归还等功能。

2. 读者

网站的用户。注册后可以通过网络实现浏览、查询图书信息及借阅情况等。

2.3需求具体分析

2.3.1系统用户管理功能 1. 功能定义

可以添加、删除用户和进行权限设置,权限设置用于用户可以使用系统的哪些功能。 2. 前置条件

1) 用户档案必须在系统数据库里生成。 2) 用户信息修改完成后更新数据库。 2.3.2读者管理功能 1. 功能定义

可以实现读者基本信息的添加、修改和删除,读者基本信息包括读者姓名、读者性别、读者条形码、读者类型、出生日期、有效证件、证件号码、电话、Email、备注等; 2.3.3图书管理功能 1. 功能定义

可以实现图书类型管理和图书档案管理。

图书类型管理可以添加、修改和删除图书类型并设置其相应可借天数。 图书档案管理可以实现图书信息的添加、修改和删除。图书信息的输入包括图书的条形码、图书的名称、图书的类型、作者的姓名、出版社名称、价格、页码、所在书架等。 2.3.4系统查询功能 1. 功能定义

可以实现图书档案查询和图书借阅查询。

图书档案查询。可按图书条形码、图书类别、书名、作者、出版社、所在书架等检索款目进行精确或模糊检索。

图书借阅查询。可以通过图书条形码、图书名称、读者条形码、读者名称快

速查找目标书籍及其借阅情况。 2. 前置条件

1) 图书档案信息必须在系统数据库里生成。 2.3.5图书借还功能 1. 功能定义

可以实现图书的借阅和归还功能。

借书信息的输入,包括所借图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者已借图书的生成等。

还书信息的输入,包括所还图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者当前所借图书的生成等。 2.3.6个人信息修改功能 1. 功能定义

用于实现个人信息的修改,主要是修改登录系统的个人密码。

3、概要设计

3.1系统程序流程

图书管理系统在整体结构上,主要包括前端应用程序的前台查看模块以及数据库建立和维护的后台管理模块。前台查看模块主要是面向图书借阅者, 后台管理则面向管理员, 其总体处理流程图如图3.1 所示。

图3.1 系统程序流程图

3.2总体功能模块设计

整个系统分为四个功能模块:读者信息管理模块,图书信息管理模块,系统查询模块和图书借还模块。结构如图3.2所示。

图书管理系统 读者档案管理 图书档案管理 系统查询 图书借还 读者 添加 读者 修改 读者 删除 图书添加 图书修改 图书 删除 分类管理 图书查询 借阅查询 图书借阅 图书归还 分类添加 分类修改 分类删除 按条形码 按图书类别 按书名 按作者 按出版社 按所在书架 按图书条形码 按图书名称 按 读者条形码 按读者名称

图3.2 系统功能模块图

3.3模块功能概要设计

3.3.1读者管理模块

该模块用于实现读者基本信息的添加、修改和删除,读者基本信息的输入包括读者姓名、读者性别、读者条形码、读者类型、出生日期、有效证件、证件号码、电话、Email、备注等; 3.3.2图书管理模块

该模块用于实现图书类型管理和图书档案管理。

图书类型管理用于添加、修改和删除图书类型并设置其相应可借天数。 图书档案管理用于实现图书信息的添加、修改和删除。图书信息的输入包括图书的条形码、图书的名称、图书的类型、作者的姓名、出版社名称、价格、页码、所在书架等。

3.3.3系统查询模块

该模块用于实现图书档案查询和图书借阅查询。

图书档案查询。可按图书条形码、图书类别、书名、作者、出版社、所在书架等检索款目进行精确或模糊检索。

图书借阅查询。可以通过图书条形码、图书名称、读者条形码、读者名称快速查找目标书籍及其借阅情况。 3.3.4图书借还模块

该模块用于实现图书的借阅和归还功能。

借书信息的输入,包括所借图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者已借图书的生成等。

还书信息的输入,包括所还图书条形码、读者条形码、读者姓名、读者类型、证件类型、证件号码以及读者当前所借图书的生成等。

4、数据库设计

4.1 数据库的需求分析

图书管理系统必须满足来自两方面的需求,这两方面分别是管理员和读者。管理员可以对读者信息和图书信息进行管理,并提供对图书的查寻、借阅、归还等功能。普通读者可以通过网络实现浏览、查询图书信息和借阅情况、修改个人信息等。

在设计数据库时,为了方便数据的提取,减少数据库负担;除了明细表以外应建立统计表,在统计表中同一信息只保存一次,随信息的修改,数据库应随时更新。为了方便存取,建立多张数据统计表,将不同主题的信息放在不同的数据表中。

4.2 数据库概念设计

在概念设计阶段中,我们从页面显示数据的不同看待数据及处理要求,产生一个反映各个主题的概念模式,然后再把概念模式转换成逻辑模式。将概念设计

从设计过程中开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定的。 4.2.1实体和属性的定义

用户权限(权限编号,权限名称)

读者(读者姓名、读者性别、读者条形码、读者类型、出生日期、有效证件、证件号码、电话、Email、备注等) 图书分类(图书类型名称、可借天数)

图书(图书条形码、图书名称、图书类型、作者姓名、出版社名称、价格、页码、所在书架等)

图书借阅(图书条形码、图书名称、读者条形码、读者姓名、读者类型、证件类型、证件号码,开始借阅日期,结束借阅日期等)

4.3 数据库的实现

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是一个关系数据库管理系统,关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。MySQL是开源的开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。

各数据表的物理实现如下: bookinfo表[图书表]

booktype表[图书类型表]

borrow表[图书借阅表]

giveback表[图书归还表]

manager表[管理员表]

reader表[读者]

4.4 数据库的连接

对数据库的访问和操作都采用数据库的接口技术来处理, 本系统主要是使用了JDBC, 即Java Databse Connetctivity( Java数据库连接) 接口技术来访问数据库。JDBC 是一种可用于执行SQL 语句的Java API。它由一些Java 语言编写的类和界面组成。JDBC 为数据库应用前台工作提供了一种标准的程序设计接口,使开发人员只可以用纯Java 语言编写完整的数据库应用程序。它是一个比较独特的动态连接结构, 它使得系统模块化。使用JDBC来完成对数据库的访问主要包括以下几个组件: Java 的应用程序、JDBC 驱动管理程序、驱动器和数据源。

由于数据库连接与数据操作的重用机率比较高, 如果每个页面都编写一段数据库连接的代码, 将是比较烦的工作, 所以本图书管理系统使用JSP 的Bean 组件进行数据库连接。JavaBeans 是基于Java 的组件模型, 由属性、方法和事件组成。它是一种Java 的类, 通过封装成为具有某种功能或者处理某个业务的对象, 因此也可以通过嵌在JSP 页面内的Java 代码访问Bean 及其方法。Bean 的含义其实就是可重复利用的组件。在本系统中, 主要是使用了Bean 来实现设计平台中的事件操作处理, 即反复进行操作的数据库连接。数据库连接Bean 包括实现功能的主要语句为:

import java.sql.*; / / 导入JDBC 标准类库

String strDBDriver = \"sun.jdbc.odbc.JdbcOdbcDriver\"; / / JDBC 驱动程序

Class.forName(strDBDriver); / / 注册数据库驱动程序

String strDBUrl=\"jdbc:odbc:library\";/ / library 是数据库的名称 Connection conn=DriverManager.getConnection(strDBUrl)/ / 建 立数据库连接

Statement stmt=conn.createStatement(); / / 建立执行数据库操作的stmt 对象

5、系统实现

5.1 开发环境

1. JCreator

JCreator可无限撤销、代码缩进、自动类库方法提示、按所选智能定位查阅JavaAPI文档等功能;采用仿VS2005界面设计,体验感觉更快更好更易用。

2. JSP

JSP具有更新快,易于升级,易于部署,维护和修改的优点。我们使用JSP技术来完成Web查询子系统的开发。使用Eclipse3.2作为开发环境

3.Tomcat

Tomcat是一个JSP/Servlet容器,它是在Sun公司的JSWDK基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。Tomcat具有开源免费,小巧灵活等有点,适合中小型的应用。

4. MySQL

MySQL速度快,开源免费,支持多种操作系统,适合一般中小应用。在后台程序中我们使用MySQL自带的C API的方式对其进行操作,在Web查询模块中我们使用JDBC接口。

5.2 查询功能的实现

本系统的查询主要包括了图书查询和用户查询, 其主要是根据用户为查看或收集特定范围内的图书信息或读者信息而进行的操作, 服务器根据其查询条

件响应执行, 再把结果返回给用户。 5.2.1 图书查询的实现

图书查询功能主要是根据图书信息中的书条形码、图书类别、书名、作者、出版社、所在书架等检索款目进行单条件查询,有前方一致和任意匹配两种查询方式。图书查询是图书借阅者和资料室管理员共同的功能需求, 图书借阅者是通过图书查询功能检索图书以确定资料室是否存在此书, 此书在馆否, 此书可借否等信息, 以方便进行借阅。借阅者通过图书查询能查看到图书的详细信息、馆藏信息, 其中馆藏信息仅限于借阅状态、书刊状态、预约状态。而资料室管理员查询的结果则相对需求比较多, 如借阅信息、预约信息, 主要是为了方便管理员查询此书的去向有利于管理工作。同时, 两者查询的条件也不尽相同, 因为管理员的查询需求要涉及到入库时间、价格、借阅状态等条件, 以便于对书刊的管理。所以在这里就涉及到对用户权限检查的问题, 以确认有不同需求或不同操作权限的管理员和借阅者。判断用户权限, 就根据在数据库设计设定的用户角色来差别。在这里应用到了JSP 的内部session 对象。session 对象是JSP 页面用来在用户之间分别保存用户信息, 不同用户的session 对象一般是不同的。用户登录网站后,系统为其生成一个独一无二的session 对象来记录该用户的个人信息。一旦用户退出网站, 那么该session 会自动被注销。如此一来就可以根据用户不同的角色权限, 动态生成不同的查询条件, 显示不同的查询结果。 5.2.2 借阅查询的实现

借阅查询是为了便于管理员和读者查询图书借阅情况的。其查询条件是根据

图书条形码、图书名称、读者条形码、读者名称来对借阅情况查询, 可以是精确搜索,也可以是模糊搜索。借阅查询主要涉及到两种情况: 一类是根据图书条形码、图书名称来查询某图书当前是否被借阅、归还情况等信息;二类是根据读者条形码、读者名称来查询这一类用户借阅情况。

6、测试报告

6.1 测试项目

1、用户管理:进行用户的添加、修改、删除和权限设置,查看功能是否能

实现。

2、读者管理:进行读者信息的添加、修改、删除,查看功能是否能实现。 3、图书馆理:图书类型管理和图书档案管理。图书类型管理包括图书类型的添加、修改、删除以及可借天数的设置。图书档案管理包括图书基本信息的添加、修改和删除。测试各项功能检查是否能实现。

4、图书借还:进行图书的借阅和归还操作,查看功能是否能实现。 5、系统查询:查询图书信息和图书借阅情况,检查功能是否能实现。 6、更改密码:更改个人登录系统的密码,测试该功能是否能实现。

数据准备(数据操作(dao)对象和Javabean)

1.bookcaseform(书架设置javabean)

1: package com.actionForm;

2: import org.apache.struts.action.ActionForm; 3: public class BookCaseForm extends ActionForm { 4: private Integer id; 5: private String name; 6: //构造方法

7: public BookCaseForm(){

8: }....................//get.set方法 2.bookform(图书设置javabean)

1: package com.actionForm;

2: import org.apache.struts.action.ActionForm; 3: public class BookForm extends ActionForm { 4: private String author; 5: private String barcode; 6: private String bookName; 7: private String bookcaseName; 8: private int bookcaseid; 9: private int days; 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:

private int del; private Integer id; private String inTime; private String isbn; private String operator; private int page; private Float price; private String publishing; private String translator; private int typeId; private String typeName;

21: 22:

public BookForm(){

}....................//get.set方法

6.2 测试结果

1、登录页面

实现代码:

主界面主要是运用的表格操作,在表格中插入图片以及文本域,按钮进行验证。

9: <%@ page contentType=\"text/html; charset=gb2312\"

language=\"java\"%> 10:

11: charset=gb2312\"> 12: 13: 14: 15: 16: 17: 18: 19:

图书馆管理系统

//导入样式表

26:

cellspacing=\"0\" bgcolor=\"#F9D16B\" class=\"tableBorder\"> 27:

28:

cellspacing=\"0\"> 29: 30: 31:

 

32:

cellpadding=\"0\">

33:

border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"> 34:

重置\"> 

关闭\" onClick=\"window.close();\">//关闭按钮,调用window关闭事件

63:

width=\"100%\" height=\"271\" border=\"0\" cellpadding=\"0\"

cellspacing=\"0\">

35:

class=\"word_orange\">border=\"0\" cellpadding=\"0\" cellspacing=\"0\" background=\"Images/login.jpg\"> 36:

37:

 
height=\"63\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> 38: 39:

 

40:

action=\"manager.do?action=login\">

41:

cellspacing=\"0\" bordercolorlight=\"#FFFFFF\"

bordercolordark=\"#D2E3E6\"> 42: 43: 44: 45: 46: 47:

49:

50: 51:

52:

53: 54: 55: 56:

    
  管理员名称:

48: size=\"20\">

 
  管理员密码:id=\"pwd\" size=\"20\"> 
 type=\"submit\" class=\"btn_grey\" value=\"确定\" onClick=\"return check(form1)\"> 57: 58: 59: 60: 61: 62:

 

 

 
 
: 65: 66: 67:


2、 首页

3、 管理员设置

添加管理员 权限设置

4、 读者档案管理

添加读者信息

修改读者信息:

5、图书管理 图书类型管理

添加图书类型 修改图书类型

图书档案管理

添加图书信息 修改图书信息

图书类型管理

图书档案查询

6、 图书借还 图书借阅

图书归还

图书借阅查询

图书到期提醒

7、 系统设置 图书信息

参数设置

书架设置

8、更改密码

总结

图书管理系统是一个比较常见的信息管理系统,当前的很多技术或编程语言都可以很好地将它实现,但之所以选择了JSP技术除了因为它是当前网络编程的主流之外,它本身的优点也是一个很大的原因。

本图书管理系统采用了三层B/S模式,用户界面完全通过WWW浏览器实现,一部事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。极大地方便了系统的维护和信息的安全性。

由于之前我对JSP技术的了解不多,所以在设计过程中参阅了不少相关的书籍和资料,经过十天的设计和开发,图书管理系统开发完毕。经过测试,本系统的基本功能都得以实现,但还有很多值得改进的地方,也有很多其它优秀同类图书管理系统值得学习和借鉴,如图书的批量添加、对违章信息的检索,书籍流通数据的统计等。

在整个设计过程中,出现过很多问题,得到了老师和同学的帮助,在不断学

习的过程中我体会到:

1、作为一个不断学习的过程,从设计初的模糊认识到最后能够顺利完成,我

体会到在实践中学习的重要性。

2、由于开始时对系统缺乏整体认识,不具备软件开发思想,对系统的功能需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。这使我体会到设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。

通过本次课程设计,我对WEB图书管理系统有了一定的认识,对JSP技术和JAVA以及MySQL数据库也有了进一步的了解,丰富了自己的知识,提高了自我学习的能力。

参考文献

1 (美)Marty Hall,Larry Brown著,赵学良 译,《Servlet与JSP核心编程(第2版)》,

清华大学出版社 2007.7。

2 Vivek Chopra,Jon Eaves,Rupert Jones 等著,张文静,林琪 等译,《JSP程序设计》,

人民邮电出版社2006.1。

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

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

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

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