图书馆借阅查询系统设计.docx

上传人:b****6 文档编号:15346095 上传时间:2023-07-03 格式:DOCX 页数:43 大小:1.88MB
下载 相关 举报
图书馆借阅查询系统设计.docx_第1页
第1页 / 共43页
图书馆借阅查询系统设计.docx_第2页
第2页 / 共43页
图书馆借阅查询系统设计.docx_第3页
第3页 / 共43页
图书馆借阅查询系统设计.docx_第4页
第4页 / 共43页
图书馆借阅查询系统设计.docx_第5页
第5页 / 共43页
图书馆借阅查询系统设计.docx_第6页
第6页 / 共43页
图书馆借阅查询系统设计.docx_第7页
第7页 / 共43页
图书馆借阅查询系统设计.docx_第8页
第8页 / 共43页
图书馆借阅查询系统设计.docx_第9页
第9页 / 共43页
图书馆借阅查询系统设计.docx_第10页
第10页 / 共43页
图书馆借阅查询系统设计.docx_第11页
第11页 / 共43页
图书馆借阅查询系统设计.docx_第12页
第12页 / 共43页
图书馆借阅查询系统设计.docx_第13页
第13页 / 共43页
图书馆借阅查询系统设计.docx_第14页
第14页 / 共43页
图书馆借阅查询系统设计.docx_第15页
第15页 / 共43页
图书馆借阅查询系统设计.docx_第16页
第16页 / 共43页
图书馆借阅查询系统设计.docx_第17页
第17页 / 共43页
图书馆借阅查询系统设计.docx_第18页
第18页 / 共43页
图书馆借阅查询系统设计.docx_第19页
第19页 / 共43页
图书馆借阅查询系统设计.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书馆借阅查询系统设计.docx

《图书馆借阅查询系统设计.docx》由会员分享,可在线阅读,更多相关《图书馆借阅查询系统设计.docx(43页珍藏版)》请在冰点文库上搜索。

图书馆借阅查询系统设计.docx

图书馆借阅查询系统设计

毕业设计(论文)

题目:

图书馆借阅查询系统设计

姓名郭少华

学号090F********

专业计算机科学及应用

指导教师汪顺

中国地质大学远程与继续教育学院

2017年3月

(二)功能分析2

(三)系统用例图设计2

(四)绘制系统流程图3

(五)系统的开发环境4

二、数据库分析与设计5

(一)数据库分析5

(二)数据库概念设计5

(三)数据逻辑结构设计7

(四)各表之间的联系图9

三、系统设计与功能实现10

(一)数据库Dao类的构建10

(二)系统登录模块11

(三)主窗体模块13

(四)图书类别管理模块15

(五)图书信息管理模块17

(六)读者信息管理模块17

(七)图书借阅管理模块24

(八)系统维护模块27

四、系统测试10

(一)测试项目17

(二)测试用例17

 

图书馆借阅查询系统设计

摘要

图书馆借阅查询系统是采用Java做前台,后台数据库则采用的是SQLServer2005,本系统提供5个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、图书借阅模块以及系统维护模块。

这5个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。

图书馆借阅查询系统是一个供内部人员使用的系统。

主要负责图书的借阅和归还以及图书信息管理等工作

论文将全面介绍所设计的图书馆借阅查询管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,最终使用Java完成系统开发。

关键词:

图书馆借阅查询系统,SQLServer2005,Java

一、图书馆借阅查询系统分析

(一)需求分析

图书馆借阅查询系统是一个集图书信息处理、读者信息管理及后台系统维护的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。

一个典型的图书馆借阅查询系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。

该系统主要能够对图书的借阅,归还进行全方位管理,能减少管理人员的工作任务,从而降低管理开销和成本。

一个完整的图书馆借阅查询系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。

一个最基本的图书馆借阅查询系统要有如下几个重要功能:

(1)用户在借书超期的情况下得到来自管理员的提醒。

(2)管理员可以方便进行图书管理,用户管理,管理员管理。

图书信息管理包括图书信息以及图书分类的添加,修改,删除。

用户管理包括用户信息的添加,删除,修改。

管理员管理包括管理员信息的添加,删除,修改等。

(3)用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。

(4)未注册用户(游客)也可以浏览所有的图书信息和分类信息,但是无法借阅。

(5)实现模糊查询,使用户得到更多的相关记录。

并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。

(6)考虑程序执行操作时可能出现的情况,比如删除图书分类时该分类下存在图书,程序自动跳转该分类图书查看。

删除某个用户,如果存在借书记录则不允许删除,跳转到该用户的借书记录。

等待管理员确认该用户所借图书已经全部归还之后才允许删除该用户信息。

(二)功能分析

根据以上需求分析,我所设计的图书馆借阅查询系统有5个功能模块,分别是图书类别管理模块,图书信息管理模块,读者信息管理模块,图书借阅模块以及系统维护模块。

其中各功能模块的具体说明如下:

图书类别管理模块:

该模块主要负责管理图书馆的图书种类信息,如图书种类的名称、可借天数、罚款数目等信息。

图书信息管理模块:

该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。

读者信息管理模块:

该模块主要负责管理图书馆的读者信息,如读者编号、读者信息、证件号码、最大借书量等信息。

图书借阅管理模块:

该模块主要负责图书馆的书籍借阅和归还信息,包括图书借阅、图书归还、图书搜索3个子模块。

系统维护模块:

该模块主要负责图书馆的工作人员信息,包括用户管理和更改系统口令两个子模块。

(三)系统用例图设计

图书馆借阅查询系统是一个内部人员使用的系统,也就是说不是所有的人都能够使用它,只有图书馆的工作人员才能使用。

而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表,书籍信息,读者信息等进行管理。

下面以管理员为例绘制其所对应的用例图如图1.1所示。

图1.1管理员用例图

(四)绘制系统流程图

本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。

进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。

由于不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图1.2所示。

图1.2系统流程图

(五)系统的开发环境

图书馆借阅查询系统的具体开发环境要求如下:

(1)系统开发平台:

Eclipse3.4。

(2)数据库管理系统软件:

SQLServer2005。

(3)运行平台:

Windows7。

(4)Java开发包:

JDK5.0以上。

(5)分辨率:

800×600以上。

(6)GUI开发包:

Swing。

二、数据库分析与设计

(一)数据库分析

在开发图书馆借阅查询系统时,考虑到图书量大,数据库维护大的特点,选用SQLServer2005作为数据库管理系统。

在SQLServer2005中新增一个数据库,其数据库名为db_library。

数据库中可以包含图书信息、图书类别信息、图书借阅信息、操作员信息、图书订购信息及读者信息等实体,用来存储不同的信息。

(二)数据库概念设计

本系统一共设计规划出6个实体,分别是图书类别信息实体、图书信息实体、读者信息实体、操作员实体、图书借阅信息实体以及图书订购信息实体。

图书的类别有很多,因此可以建立一个图书馆类别信息表,专门用来保存图书的类别信息。

同时因为每种类别的书籍阅读时间有所不同,所以需要在类别表中保存该类别可借天数信息。

图书类别信息实体E-R图如图2.1所示。

图2.1图书类别信息实体E-R图

对于图书馆来说最重要的就是要管理其下的书籍,所以需要建立一个图书信息表,用来保存图书的所有信息。

图书信息实体E-R图如图2.2所示。

图2.2图书信息实体E-R图

要想在图书馆借书首先需要进行登记并交付押金。

领取读书卡才能借书。

所以需要建立一个读者信息表来保存图书馆的所有读者的登记信息。

读者信息实体E-R图如图2.3所示。

图2.3读者信息实体E-R图

图书馆里一般有一个以上的系统操作员,需要建立一个操作员信息表,用来保存操作员的身份信息。

操作员信息实体E-R图如图2.4所示。

图2.4操作员信息实体E-R图

图书馆最大的功能就是能够借书,这时需要建立一个图书借阅信息表,用来保存读者的借书信息。

图书的借阅信息实体E-R图如图2.5所示。

图2.5图书的借阅信息实体E-R图

(三)数据逻辑结构设计

根据设计好的各实体E-R图创建数据库的逻辑结构,数据库各表的结构如下:

(1)图书类别信息采表用来储存所有的图书类别信息,包括图书类别编号、图书类别名称、可借天数以及迟还一天的罚款数目4个字段。

该表的逻辑结构如表2.1所示。

表2.1图书类别信息表

字段名

数据类型

是否主键

描述

id

整数(int)

图书类别编号

typeName

文本(varchar)

图书类别名称

days

整数(int)

可借天数

fk

浮点数

迟还一天的罚款数目

(2)图书信息表用来储存所有的图书信息,包括图书编号、类别编号、图书名称、作者、译者、出版社、出版日期以及书籍价格8个字段。

该表的逻辑结构如表2.2所示。

表2.2图书信息表

字段名

数据类型

是否主键

描述

ISBN

文本(varchar)

图书编号

typeId

整数(int)

否(外键)

类别编号

bookname

文本(varchar)

图书名称

writer

文本(varchar)

作者

translator

文本(varchar)

译者

publisher

文本(varchar)

出版社

date

日期时间(datetime)

出版日期

price

金钱货币(money)

书籍价格

(3)读者信息表用来储存所有的读者信息,包括读者姓名、性别、年龄、证件号码、会员证有效日期、最大借书量、电话号码、押金、证件类型、职业、读者编号以及办证日期12个字段。

该表的逻辑结构如表2.3所示。

表2.3读者信息表

字段名

数据类型

是否主键

描述

name

文本(varchar)

读者姓名

sex

文本(varchar)

否(外键)

读者性别

age

整数(int)

读者年龄

identityCard

文本(varchar)

证件号码

date

日期时间(datetime)

会员证有效日期

maxNum

整数(int)

最大借书量

tel

文本(varchar)

电话号码

keepMoney

金钱货币(money)

押金

zj

整数(int)

证件类型

zy

文本(varchar)

职业

ISBN

文本(varchar)

读者编号

bztime

日期时间(datetime)

办证日期

(4)操作员信息表用来保存操作员信息,包括操作员编号、用户名、性别、年龄、证件号码、工作时间、电话号码、是否为管理员、密码9个字段。

该表的逻辑结构如表2.4所示。

表2.4操作员信息表

字段名

数据类型

是否主键

描述

id

整数(int)

是(自动递增)

操作员编号

name

文本(varchar)

用户名

sex

文本(varchar)

性别

age

整数(int)

年龄

identityCard

文本(varchar)

证件号码

workdate

日期时间(datetime)

工作时间

tel

文本(varchar)

电话号码

admin

整数(int)

是否为管理员

password

文本(varchar)

密码

(5)图书借阅信息表用来保存所有图书的借阅信息,包括借阅编号、书籍编号、操作员编号、读者编号、是够归还、借书日期以及应还日期7字段。

该表的逻辑结构如表2.5所示。

表2.5图书借阅信息表

字段名

数据类型

是否主键

描述

id

整数(int)

是(自动递增)

借阅编号

bookISBN

文本(varchar)

否(外键)

书籍编号

operatorId

整数(int)

否(外键)

操作员编号

readerISBN

文本(varchar)

否(外键)

读者编号

isback

整数(int)

是否归还

borrowDate

日期时间(datetime)

借书日期

backdate

日期时间(datetime)

应还日期

(6)图书订购信息表用来保存图书馆的所有订购信息,包括书籍编号、订购日期、订购数量、操作员、是否验收以及书籍折扣6个字段。

该表的逻辑结构如表2.6所示。

表2.6图书订购信息表

字段名

数据类型

是否主键

描述

ISBn

文本(varchar)

书籍编号

date

日期时间(datetime)

订购日期

number

整数(int)

订购数量

operator

文本(varchar)

操作员

checkAndAccept

整数(int)

是否验收

zk

浮点

书籍折扣

(四)各表之间的联系图

各表间的联系图如图2.7所示。

图2.7各表间联系图

三、系统设计与功能实现

(一)数据库Dao类的构建

首先定义了一个类Dao,并为该类添加了4中方法,分别是构造方法Dao、查询方法executeQuery、更新方法executeUpdate以及关闭连接方法close。

publicclassDao{

protectedstaticStringdbClassName=

"com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库连接驱动类

protectedstaticStringdbUrl="jdbc:

sqlserver:

//localhost:

1433;"

+"DatabaseName=db_library;";//数据库连接URL

protectedstaticStringdbUser="sa";//数据库用户名

protectedstaticStringdbPwd="123";//数据库密码

privatestaticConnectionconn=null;//数据库连接对象

privatestaticStringISBN;

privateDao(){//构造方法

try{

if(conn==null){//如果连接对象为空

Class.forName(dbClassName);//加载驱动类

conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);//获得连接对象

}

}catch(Exceptionee){

ee.printStackTrace();

}

}

privatestaticResultSetexecuteQuery(Stringsql){//查询方法

try{

if(conn==null)newDao();//如果连接对象为空,则重新调用构造方法

returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE).executeQuery(sql);//执行查询

}catch(SQLExceptione){

e.printStackTrace();

returnnull;//返回null值

}finally{

}

}

privatestaticintexecuteUpdate(Stringsql){//更新方法

try{

if(conn==null)newDao();//如果连接对象为空,则重新调用构造方法

returnconn.createStatement().executeUpdate(sql);//执行更新

}catch(SQLExceptione){

e.printStackTrace();

return-1;

}finally{

}

}

publicstaticvoidclose(){//关闭方法

try{

conn.close();//关闭连接对象

}catch(SQLExceptione){

e.printStackTrace();

}finally{

conn=null;//设置连接对象为null值

}

}

(二)系统登录模块

对于图书馆管理系统而言,不是所有的用户都是可以使用的,所有需要添加一个登陆模块。

通过该模块来对用户的合法性进行判断,只有合法的用户才能进入到系统。

整个登陆模块的实现非常简单,相信读者能够快速掌握其开发过程。

登录模块的运行结果如图3.1所示。

图3.1系统登录界面

1、登陆窗体界面设计与实现

登陆窗体的界面设计我依然采用的是比较传统的方法,新建一个类BookLoginFrame类,用来显示登录窗体。

在该窗体中需要使用到四类控件,分别是JLabel、JTextFieid、JPasswordField以及JButton。

其中控件JLabel是用来显示顶部的图片以及标签文本;控件JTextFieid用来接收用户名输入信息;控件JPasswordField用来接收密码输入信息;控件JButton用来创建登陆和重置按钮。

2、操作员登陆

在Dao类中新增一个方法check,通过该方法来检测用户信息是否合法。

该方法接收两个参数,分别是操作员用户名name,操作员密码passsward。

主要方法如下:

publicstaticOperatercheck(Stringname,Stringpassword){

Operateroperater=newOperater();//操作员信息对象

Stringsql="select*fromtb_operatorwherename='"+name

+"'andpassword='"+password+"'andadmin=1";

ResultSetrs=Dao.executeQuery(sql);

try{

while(rs.next()){

operater.setId(rs.getString("id"));

operater.setName(rs.getString("name"));

operater.setGrade(rs.getString("admin"));

operater.setPassword(rs.getString("password"));

……

}

}

}

3、主窗体模块

图书馆管理系统的主窗体模式是由三个部分组成的。

第一部分是位于主窗体上组上端的系统菜单栏,用来实现链接系统功能菜单。

第二部分位于菜单栏下面的工具栏,用来提供各种常用功能链接。

第三部分位于工具下的系统功能窗口区域,主要用来显示各种功能窗口。

(1)主窗体界面设计

在主窗体中可以显示其他功能窗体,所以需要在该窗体中加入一个桌面窗体。

通过将其他功能窗体加入到该窗体中。

从而实现多窗体显。

同时在主窗口体中,还需要添加一个main方法,该方法为系统入口的方法,通过执行该方法来执行系统。

其主要代码如下:

publicclassLibraryextendsJFrame{

privatestaticfinalJDesktopPane

DESKTOP_PANE=newJDesktopPane();//桌面窗体

publicstaticvoidmain(String[]args){

try{

UIManager.setLookAndFeel(UIManager

.getSystemLookAndFeelClassName());//设置系统界面外观

newBookLoginIFrame();//登录窗口

}catch(Exceptionex){

ex.printStackTrace();

}

}

publicstaticvoidaddIFame(JInternalFrameiframe){//添加子窗体的方法

DESKTOP_PANE.add(iframe);//新增子窗体

}

}

下面再来配置主窗体的其他属性,首先需要设置其大小和位置,然后还要设置其菜单栏和工具栏,最后需要在桌面窗体中添加一个背景图片。

其代码实现如下。

publicLibrary(){

super();

setDefaultCloseOperation(

WindowConstants.EXIT_ON_CLOSE);////设置关闭按钮处理事件

Toolkittool=Toolkit.getDefaultToolkit();//获得默认的工具箱

DimensionscreenSize=tool.getScreenSize();//获得屏幕的大小

setSize(800,600);//设置窗体大小

setLocation((screenSize.width-getWidth())/2,

(screenSize.height-getHeight())/2);//设置窗体位置

setTitle("图书馆管理系统");//设置窗体标题

JMenuBarmenuBar=createMenu();//调用创建菜单栏的方法

setJMenuBar(menuBar);//设置菜单栏

JToolBartoolBar=createToolBar();//调用创建工具栏的方法

getContentPane().add(toolBar,BorderLayout.NORTH);//设置工具栏

finalJLabellabel=newJLabel();//创建一个标签,用来显示图片

label.setBounds(0,0,0,0);//设置窗体的大小和位置

label.setIcon(null);//窗体背景

DESKTOP_PANE.addComponentListener(newComponentAdapter(){

publicvoidcomponentResized(finalComponentEvente){

Dimensionsize=e.getComponent().getSize();//获得组件大小

label.setSize(e.getComponent().getSize());//设置标签大小

label.setText("

+size.height+"src='"

+this.getClass().getResource("/backImg.jpg")

+"'>");//设置标签文本

}

};

DESKTOP_PANE.add(label,newInteger(Integer.MIN_VALUE));//将标签添加到桌面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2