图书管理系统毕业论文

更新时间:2024-05-21 08:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要 .................................................................................................................................................................3 Abstract ...............................................................................................................................................................4 1. 绪 论 ...........................................................................................................................................................5

1.1课题背景 .................................................................................................................................................5 1.2图书管理系统简介 ................................................................................................................................6 1.3图书管理系统的发展现状 ....................................................................................................................7 1.4可行性分析 ............................................................................................................................................8

1.4.1经济可行性 ................................................................................................................................8 1.4.2 技术可行性 ...............................................................................................................................8 1.4.3运行可行性 ................................................................................................................................8

2.相关理论及开发工具 .....................................................................................................................................10

2.1 软件工程概述 .....................................................................................................................................10 2.2 数据库技术概述 .................................................................................................................................10

2.4.1 Eclipse版本 .......................................................................................................................... 11 2.4.2 主要组成 ................................................................................................................................. 11 2.5.1 Swing简介 ..............................................................................................................................12 2.5.2 开发图形界面常用的类: .....................................................................................................12 2.5.3 创建图形界面步骤 .................................................................................................................13

3.系统总体设计分析 .........................................................................................................................................15

3.1 系统目标 .............................................................................................................................................15 3.2 系统总体结构设计 .............................................................................................................................15

3.2.1图书管理系统总体结构图 ......................................................................................................15 3.2.2 处理对象 .........................................................................................................................................16 3.3业务分析 ..............................................................................................................................................17 3.4图书管理系统数据流程图 ..................................................................................................................17 3.5图书管理系统数据流程图 ..................................................................................................................17

3.6功能描述 ......................................................................................................................................18 3.6.1图书管理员详细功能描述 ......................................................................................................18 3.6.2读者详细功能描述 ..................................................................................................................19 3.7 功能描述 .....................................................................................................................................19 3.7.1 图书管理模块功能 .................................................................................................................19 该功能模块主要实现对管理员对图书进行基本操作和信息管理,功能如下: .........................19 3.7.2 图书借阅预约模块功能 .........................................................................................................20 3.7.3 图书查询模块功能 .................................................................................................................21 3.7.4 用户信息管理模块 .................................................................................................................21 3.7.5 热门图书模块 .........................................................................................................................22 4.1 数据库设计 .........................................................................................................................................23 4.1.1图书信息表结构设计 ......................................................................................................................23

4.1.2 学生用户信息表结构设计 .....................................................................................................24 4.1.3 管理员信息表结构设计 .........................................................................................................24 4.1.4 图书状态信息表结构设计 .....................................................................................................25 4.1.5 已借图书信息表结构设计 .....................................................................................................25 4.1.6 已借图书次数信息表结构设计 .............................................................................................26 4.1.7 用户意见信息表结构设计 .....................................................................................................26 4.2 数据库实施 .........................................................................................................................................26

1

4.2.1 根据以上分析,建立数据库、数据表: .............................................................................26 4.2.2 SQLyog的使用 ........................................................................................................................28 5.1 系统流程设计 .....................................................................................................................................28

5.1.1系统操作流程图 ......................................................................................................................28 5.1.2数据增加流程 ..................................................................................................................................30 5.1.3 数据修改流程 .................................................................................................................................30 5.1.4数据删除流程 ..................................................................................................................................31 5.2 程序设计 .............................................................................................................................................32 5.2.1程序设计概述 ..................................................................................................................................32

5.2.2数据库的连接与关闭 ..............................................................................................................32 5.2.3登录模块程序设计 ..................................................................................................................33 5.2.4系统管理员功能模块的实现 ..................................................................................................40 5.2.5用户功能模块的实现 ..............................................................................................................57 6.1 图书入库时入库时间限制为日期格式 .............................................................................................68 6.2 java中传参问题 ................................................................................................................................68 6.3 java中条件语句的使用 ....................................................................................................................68 6.4 在程序设计过程中错误与异常的解决方法 .....................................................................................68

2

河南理工大学毕业设计(论文)说明书

摘 要

随着计算机的广泛应用,其逐步成为现代化的标志。图书馆的信息量也会越来越大,因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。

随着科学技术的进步,计算机行业的迅速发展,计算机信息处理系统的引进已彻底改变了许多系统的管理方式。图书管管理系统就是其中一个,该系统解决了学校图书馆管理中出现的基本问题以及相关统计工作。读者用户可以进行图书的查询、借阅信息的查询及个人信息的修改的操作。管理员用户可以进行图书的查询、借书还书、图书及管理员的添加、删除等操作。系统采用Java中的Swing包来进行界面的设计,使用C/S设计模式,采用了Eclipse开发平台。论文叙述了图书馆管理系统的整个实现过程,简单介绍了Java编程的相关知识,重点阐述了各个模块的设计思想以及设计难点。

【关键词】:Java;c/s;MySql;数据库设计;数据查询

3

河南理工大学毕业设计(论文)说明书

Abstract

With the widely application of the computer, and gradually become a sign of modernization. Library information also will be more and more big, so need to readers, books, resources, borrow books information, return books information management, timely understanding of change in the information in the various sectors, to timely processing of the resulting documents, in order to improve the library, or the enterprise internal management of the books in automation, can more quickly to meet the requirements of the readers, improve the efficiency of all kinds of work, now for the corresponding system design, in order to achieve the purpose of the above.

With the progress of science and technology, the rapid development of computer industry, the introduction of computer information processing system has completely changed the way many system management. Is one of the library management system, this system solved the basic problems in the school library management and related statistical work. Readers could book query, borrowing information query and modify personal information operations. Administrator users can book query, library books, books, and also the administrator to add, delete, and so on. System USES Java Swing in the package for the design of the interface, using C/S design pattern, using the Eclipse development platform. Paper describes the whole process of implementation of library management system, introduces the related knowledge of Java programming, expounds the various modules of the design idea and design difficulty.

Keywords:Java;C/S;MySQL;Database design;Data query

4

河南理工大学毕业设计(论文)说明书

1. 绪 论

1.1课题背景

上个世纪90年代美国科学家首次提出数字图书馆(Digital Library)这一概念以来,全球开展数字图书馆研究与实践已经十几个年头。我国图书情报界,IT(Information Technology)业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究,关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可以分为以下三种类型:资源服务型,服务研究型和联合建设型。虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已自大多数图书馆开展,是现阶段我国图书情报界提供网上数字服务的主要形式。

随着信息技术的发展,需要存储和传播的信息量越来越大,信息的种类和形式越来越丰富,传统图书馆的机制显然不能满足这些需要。因此,人们提出了数字图书馆的设想。数字图书馆是一个电子化信息的仓储,能够存储大量各种形式的信息,用户可以通过网络方便地访问它,以获得这些信息,并且其信息存储和用户访问不受地域限制。

数字图书馆是传统图书馆在信息时代的发展,它不但包含了传统图书馆的功能,向社会公众提供相应的服务,还融合了其他信息资源(如博物馆、档案馆等)的一些功能,提供综合的公共信息访问服务。可以这样说,数字图书馆将成为未来社会的公共信息中心和枢纽。信息化、网络化、数字化,这一连串的名词符号其根本点在于信息数字化;同样电子图书馆、虚拟图书馆、数字图书馆,不管用什么样的名词,数字化也是图书馆的发展方向。

随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现图书信息的管理势在必行。目前图书管理的借阅工作部分大多数还是手工管理,工作效率很低,并且不能及时了解图书的种类和读者们比较需求的图书等,不能更好的适应当前读者的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对读者的

5

河南理工大学毕业设计(论文)说明书

uname id

varchar Int

20 20

Yes No

是否预约 key

4.1.6 已借图书次数信息表结构设计

该表的设计是用于对已借阅图书的借阅次数进行记录,bookname是借阅图书名,count表示借阅次数,表的具体结构设计如下:

表 4.1.6 已借图书次数信息表bookcount

字段名称

数据类型 varchar int Int

字段长度 20 20 20

可否为空 Yes Yes No

说明 图书名 借阅次数 key

bookname count

id

4.1.7 用户意见信息表结构设计

该表的设计是用于对用户意见进行记录,bookname是借阅图书名,count表示借阅次数,表的具体结构设计如下:

表 4.1.7 用户意见信息表userview

字段名称

数据类型 varchar varchar varchar Int

字段长度 20 20 20 20

可否为空 Yes Yes Yes No

说明 用户名 意见 时间 key

uname view

time id

4.2 数据库实施

4.2.1 根据以上分析,建立数据库、数据表:

26

河南理工大学毕业设计(论文)说明书

首先建立数据库,代码如下: create database new3

基于成本考虑,图书馆的书籍价格在20——200为宜,book表建立的代码如下: CREATE TABLE book

( price float check(price between 22 and 200), stock int, indate date,

publish varchar(20) DEFAULT NULL, // translator varchar(20) DEFAULT NULL, writer varchar(20) DEFAULT NULL, price varchar(20) DEFAULT NULL, bname varchar(20) DEFAULT NULL, bno varchar(20) DEFAULT NULL, PRIMARY KEY (bno ) )

借书时间和数量的设置,yonghu表的建立如下: CREATE TABLE yonghu(

// days_num int CHECK(days_num<=11) DEFAULT NULL, //max_num int CHECK(max_num<=3) DEFAULT NULL, 权限 varchar(20) DEFAULT NULL, 密码 varchar(20) 123 NULL, 用户名varchar(20) 用户 NULL, id int,

PRIMARY KEY (id) )

borrowedbook表的建立如下: CREATE TABLE borrowedbook( bno varchar(20) DEFAULT NULL, bname varchar(20) DEFAULT NULL,

27

河南理工大学毕业设计(论文)说明书

uno varchar(20) DEFAULT NULL, uname varchar(20) DEFAULT NULL, id int,

PRIMARY KEY (id) )

其它表的建立同上。

4.2.2 SQLyog的使用

SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。

可以使用SQLyog 图形化建立数据库、数据表,对表中的记录进行添加,删除,修改,查询操作。

5. 图书管理系统详细设计

5.1 系统流程设计

5.1.1系统操作流程图

28

河南理工大学毕业设计(论文)说明书

系统主界面 错误信息 系统登录界面 输入账号 输入密码 数据库 检查 密码错误 密码正确 用户 功能界面 管理员

功能界面 功能处理 图5.1.1

功能界面

29

河南理工大学毕业设计(论文)说明书

5.1.2数据增加流程

添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:

开始 输入数据 否 是否合法 是 写入数据库 结束

图5.1.2 数据增加流程

5.1.3 数据修改流程

在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图5.1.3所示。

30

河南理工大学毕业设计(论文)说明书

开始 选择需要修改记录 输入数据 否 是否合法 是 写入数据库 结束

图5.1.3 数据修改流程图

5.1.4数据删除流程

当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图5.1.4所示。

31

河南理工大学毕业设计(论文)说明书

开始 选择需要删除记录 是否删除 更新数据库

图5.1.4 数据删除流程图

5.2 程序设计

5.2.1程序设计概述

本系统是窗口式应用软件,采用C/S模式来设计,所以各个模块内的每一个功能都要用窗口来显示。为了体现程序的封装性,每个窗口用一个类来实现。为实现窗口视图,应用的类都有继承窗口类对象,并实现事件响应监听接口,以便使用时产生相应功能的事件响应。

为体现窗口界面风格,在个窗口上各个控件的布局应当一致,用于显示的字

体设置为同一字体,各窗口界面颜色须保持一致,以保证对用户的友好界面。具体实现过程现举例如下。

5.2.2数据库的连接与关闭

利用JDBC访问数据库包含三个步骤:

(1)建立与数据库的连接;

(2)通过发送SQL语句对数据库进行读写;

32

河南理工大学毕业设计(论文)说明书

(3)处理语句的执行结果,特别是查询语句的返回数据。 具体实例: try{

Class.forName(\

}catch(ClassNotFoundException e){System.out.println(\加载驱动程序失败!\

try{

Connection

con=DriverManager.getConnection(\

String s=\ Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s);

5.2.3登录模块程序设计

本模块主要是用户通过图书管理系统的首页登录进入该系统。用户输入正确的用户名和密码,系统会根据用户的身份进行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,并且禁止系统用户进行任何操作。图书借阅管理系统的登录主页面如图所示:

图5.2.3 图书管理系统登录首页

33

河南理工大学毕业设计(论文)说明书

用户在登录页面写好用户名和密码,选择确定,登录成功则跳转到系统的首页,否则提示错误信息。系统会根据用户名来判断跳转到用户首页或管理员首页。

实现此登陆模块的类与方法:

此模块命名为Login,继承了JFrame类,并实现ActionListener接口,使用JComponent的子类JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的组件调用事件相应的方法。其主要的对象及方法如下表:

表5.2.3 Login类主要对象与方法

主要对象与方法

jp对象 jlArray对象 jbArray对象 jtxtArray对象 jpassword对象 Login()方法 actionPerformed( ActionEvent e)方

法 main()方法

功能与作用

以便向该模块中添加GUI组件

用于显示标签组(如:用户名和密码等标签) 创建的按钮组(如:学生登录和管理员登录按钮) 创建的文本框,用于接收键盘向其输入的字符串 创建的密码框,用于接收键盘输入的密码并以特殊字符显示 此为该类的构造函数,对组件的布局及方法的调用封装在这里 实现事件响应监听器接口中的方法,其响应的事件源有文本框、

密码框和布局在此类中的按钮

程序的入口,JVM识别此main方法从而编译该程序生成.class

文件

部分代码:

创建Login类继承JFrame父类实现ActionListener借口。添加按钮,文本输入框,密码输入框等控件。

添加构造器Login(),验证用户和密码的confirm()方法。其中构造器用来初始化窗口的各种属性,confirm()方法通过用户名和密码的输入来判断用户权限,选择进入用户界面或管理员界面。

class Login extends JFrame implements ActionListener {

34

河南理工大学毕业设计(论文)说明书

Container cp=null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2;

//构造器 Login(){

f=new JFrame(\小型图书管理系统\ f.setResizable(false); j1=new JButton(\确定\ j2=new JButton(\取消\ //初始化一个容器 cp=f.getContentPane();

jlable1=new JLabel(\输入用户名 \ jlable2=new JLabel(\用户密码 \ jp1=new JPanel(); jp2=new JPanel(); t1=new JTextField(18); t2=new JPasswordField(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2); jp1.add(t2);

JLabel JL=new JLabel(\楷体

35

河南理工大学毕业设计(论文)说明书

'> 欢 迎 登 录\

jp1.setBackground(new Color(100,155,255)); //jp1的背景颜色 cp.add(JL,\ jp2.add(j1); jp2.add(j2);

cp.add(jp1,\ cp.add(\

// jp2.setBackground(new Color(100,155,255)); //jp2的背景颜色

//使窗口显示到屏幕中央

Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screen=kit.getScreenSize(); int x=screen.width;

/*取得显示器窗口的宽度*/

int y=screen.height; /*取得显示器窗口的高度*/ // setSize(x,y); /*让系统窗口平铺整个显示器窗口*/

f.setSize(260,300);//适应界面优化

// f.setSize(300,300);

int xcenter=(x-260)/2; int ycenter=(y-300)/2; /*显示在窗口中央*/

f.setLocation(xcenter,ycenter);//窗口的位置 f.setVisible(true);

//----------------------------------------------------- j1.addActionListener(this);//注册事件监听器 j2.addActionListener(this);

36

河南理工大学毕业设计(论文)说明书

); }

f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0);} }

public void confirm()//验证用户和密码 { try{

Class.forName(\

}catch(ClassNotFoundException e){System.out.println(\加载驱动程序失败!\

try{

Connection

con=DriverManager.getConnection(\

Statement sql=con.createStatement(); String uname=t1.getText().trim(); String Mima=t2.getText().trim(); //查询yonghu表 判断是否为用户

String queryYonghu=\* from YONGHU where 用户名='\密码='\

ResultSet rs1=sql.executeQuery(queryYonghu); //查询manager表 判断是否为用户

// String queryManager=\* from MANAGER where 用户名='\密码='\

// ResultSet rs2=sql.executeQuery(queryManager); if(rs1.next()) {

37

河南理工大学毕业设计(论文)说明书

//根据输入的用户名

JOptionPane.showMessageDialog(null,\您好\用户\

new BookUser(uname);//弹出用户界面

// new Book();//new 一个Book对象 f.hide();//隐藏Login窗口 con.close();//关闭数据库连接 }

//查询manager表 判断是否为用户

String queryManager=\* from MANAGER where 用户名

='\密码='\

ResultSet rs2=sql.executeQuery(queryManager);

if(rs2.next()){

JOptionPane.showMessageDialog(null,\您好\管理员\

new BookManager(uname);//弹出管理员界面

f.hide();//隐藏Login窗口 con.close();//关闭数据库连接 } else{

JOptionPane.showMessageDialog(null,\用户名或密码输入错误\提示!

\

}

38

河南理工大学毕业设计(论文)说明书

t1.setText(\ t2.setText(\

} catch(SQLException g)

{ System.out.println(\ System.out.println(\ } }

public void actionPerformed(ActionEvent e) {

String cmd=e.getActionCommand(); if(cmd.equals(\确定\ confirm(); }

else if(cmd.equals(\取消\ f.dispose();} }

public static void main(String args[]){

try {

UIManager.setLookAndFeel(new SubstanceLookAndFeel()); UIManager.put(\

if (System.getProperty(\ JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); }

System.setProperty(\ SubstanceLookAndFeel.setCurrentTheme(new

SubstanceLightAquaTheme());//设置当前的主题风格,同样我 们还可以设置当前的按钮形状,水印风格等等

39

河南理工大学毕业设计(论文)说明书

} catch (Exception e) {

System.err.println(\ }

Login a=new Login(); } }

5.2.4系统管理员功能模块的实现

本模块中最主要的是管理系统用户,设置图书馆信息等操作,其中管理系统用户包括对他们进行添加,修改,删除操作。

创建系统管理员界面BookManager 类,其中包括图书管理和用户管理两项功能,图书管理有图书查询、图书入库、图书删除、图书概览等功能,用户管理有添加用户、删除用户、用户查询、修改用户密码等功能。

系统管理员操作页面如下图所示:

40

本文来源:https://www.bwwdw.com/article/69f7.html

Top