图书管理系统设计任务书.docx
- 文档编号:12886361
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:32
- 大小:3.03MB
图书管理系统设计任务书.docx
《图书管理系统设计任务书.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计任务书.docx(32页珍藏版)》请在冰点文库上搜索。
图书管理系统设计任务书
图书管理系统的设计与实现
摘要
本文介绍了基于JSP技术开发的图书管理系统,阐述了B/S体系结构的图书管理系统的需求分析、总体设计和开发实现,并介绍了JSP、JDBC、JavaBeans、session、数据库访问、数据库操作等主要技术及具体功能的实现。
该系统利用了基于JSP的动态Web技术,基于B/S体系结构,执行效率高、操作简单、维护轻松,较好地实现了前端应用程序的高效率查看、后台管理的方便操作,具有很好的可维护性和可扩展性。
关键词:
JSP、图书管理系统、B/S、数据库
4.1数据库的需求分析7
4.2数据库概念设计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,即JavaDatabseConnetctivity(Java数据库连接)接口技术来访问数据库。
JDBC是一种可用于执行SQL语句的JavaAPI。
它由一些Java语言编写的类和界面组成。
JDBC为数据库应用前台工作提供了一种标准的程序设计接口,使开发人员只可以用纯Java语言编写完整的数据库应用程序。
它是一个比较独特的动态连接结构,它使得系统模块化。
使用JDBC来完成对数据库的访问主要包括以下几个组件:
Java的应用程序、JDBC驱动管理程序、驱动器和数据源。
由于数据库连接与数据操作的重用机率比较高,如果每个页面都编写一段数据库连接的代码,将是比较烦的工作,所以本图书管理系统使用JSP的Bean组件进行数据库连接。
JavaBeans是基于Java的组件模型,由属性、方法和事件组成。
它是一种Java的类,通过封装成为具有某种功能或者处理某个业务的对象,因此也可以通过嵌在JSP页面内的Java代码访问Bean及其方法。
Bean
的含义其实就是可重复利用的组件。
在本系统中,主要是使用了Bean来实现设计平台中的事件操作处理,即反复进行操作的数据库连接。
数据库连接Bean包括实现功能的主要语句为:
importjava.sql.*;//导入JDBC标准类库
StringstrDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";//JDBC
驱动程序
Class.forName(strDBDriver);//注册数据库驱动程序
StringstrDBUrl="jdbc:
odbc:
library";//library是数据库的名称
Connectionconn=DriverManager.getConnection(strDBUrl)//建
立数据库连接
Statementstmt=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自带的CAPI的方式对其进行操作,在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:
packagecom.actionForm;
2:
importorg.apache.struts.action.ActionForm;
3:
publicclassBookCaseFormextendsActionForm{
4:
privateIntegerid;
5:
privateStringname;
6:
//构造方法
7:
publicBookCaseForm(){
8:
}....................//get.set方法
2.bookform(图书设置javabean)
1:
packagecom.actionForm;
2:
importorg.apache.struts.action.ActionForm;
3:
publicclassBookFormextendsActionForm{
4:
privateStringauthor;
5:
privateStringbarcode;
6:
privateStringbookName;
7:
privateStringbookcaseName;
8:
privateintbookcaseid;
9:
privateintdays;
10:
privateintdel;
11:
privateIntegerid;
12:
privateStringinTime;
13:
privateStringisbn;
14:
privateStringoperator;
15:
privateintpage;
16:
privateFloatprice;
17:
privateStringpublishing;
18:
privateStringtranslator;
19:
privateinttypeId;
20:
privateStringtypeName;
21:
publicBookForm(){
22:
}....................//get.set方法
6.2测试结果
1、登录页面
实现代码:
主界面主要是运用的表格操作,在表格中插入图片以及文本域,按钮进行验证。
9:
<%@pagecontentType="text/html;charset=gb2312"language="java"%>
10:
11:
12:
13:
14:
验证管理员和密码
15:
functioncheck(form){
16:
if(form.name.value==""){
17:
alert("请输入管理员名称!
");form.name.focus();returnfalse;
18:
}
19:
if(form.pwd.value==""){
20:
alert("请输入密码!
");form.pwd.focus();returnfalse;
21:
}
22:
}
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
action=login"> 41: 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。