摘要
图书管理工作是每个学校必须面对的工作,如何利用较为先进的技术开发高效、安全、各平台间相互数据共享的信息化平台,也就是设计出稳定、全面、有效的图书借阅管理系统,这就显得尤为重要。文中介绍了图书借阅管理系统的开发过程,通过运用软件工程知识进行系统的分析、设计和实现,保证了图书借阅管理信息系统的质量,使得图书借阅管理信息系统开发成功,解决了图书管理信息管理的难题,使得图书管理信息管理实现了自动化。本系统主要实现了图书信息的修改、增加、删除;图书借阅信息的显示及归还图书;用户名以及密码的修改,注册新用户名和密码;退出系统。开发本软件,前台设计由java实现,后台以mysql为数据服务器,增加系统的安全性和完整性,提高了系统响应的速度。本系统界面设计简洁、实用,操作简单方便,是一款学校易于日常图书借阅管理的软件。
【关键词】图书借阅管理系统,Java,mysql,swing
第一章 概述
1.1 图书借阅管理信息系统概述
图书借阅的管理是学校经常遇到的问题。高校招生规模的逐步扩大和认识制度的改革,在校学生认识将不断增加,而图书借阅管理人员则相对减少。加上我国高等学校基层图书借阅管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。同时图书借阅的手工登录与查询,是一项非常繁重而枯燥的劳动,每年图书的变化都需要重新规划,耗费许多人才和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用数据库技术实现图书借阅的管理是可行而必要的工作,实现高校图书借阅管理信息系统,既能够提高工作效率,又可以提高工作水平。
计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在图书借阅的录入、统计中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者数据输入不正确的情形。
作为计算机应用的一部分,使用计算机对图书借阅进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。
第二章 图书借阅管理信息系统分析
2.1 可行性研究
可行性研究也称为可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
2.1.1技术可行性
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的Java Developers Kit, 简称 JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。
mysql的特点体现在如下几个方面。
1).使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。
2).支持C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL API等客户工具和 API。
3).可运行在不同操作系统平台上。
4)持多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数、FLOAT、DOUBLE、CHAR、V ARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM类型。
5)利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join)。
6) 在查询的SELECT和WHERE部分支持全部运算符和函数,例如:
mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
WHERE income/dependents > 10000 AND age > 30;
7) 通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速,通常在查询初始化后 不应该有任何内存分配。
8) 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数( COUNT()、COUNT(DISTINCT)、AVG ()、STD()、SUM()、 MAX()和MIN() )。
9)支持ANSI SQL的LEFT OUTER JOIN和ODBC语法,你可以在同一查询中混用来自不同数据库的表
10)一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,因为当 与一个服务器连接时,所有的口令传送被加密。
11)ODBC for Windiws 95。所有的 ODBC 2 . 5 函数和其他许多函数。例如,你可以用Access连 接你的 MySQL服务器,具备索引压缩的快速B树磁盘表。
12) 每个表允许有16个索引。每个索引可以由1~16个列或列的一部分组成。最大索引长度是 256 个字节(在编译MySQL时,它可以改变)。一个索引可以使用一个CHAR或VARCHAR字段的前缀。
13) 定长和变长记录。用作临时表的内存散列表。
14) 大数据库处理。我们正在对某些包含 50,000,000 个记录的数据库使用MySQL。
15) 所有列都有缺省值,你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为 他们的缺省值。为了可移植性使用 GNU Automake , Autoconf 和libtool。
16) 用C和C++编写,并用大量不同的编译器测试,一个非常快速的基于线程的内存分配系统。
17) 全面支持ISO-8859-1 Latin1 字符集。例如,斯堪的纳维亚的字符 @ringaccent{a}, @"a an d @"o 在表和列名字被允许。
18) 表和列的别名符合 SQL92 标准。
19) 函数名不会与表或列名冲突。例如ABS是一个有效的列名字。
20) 客户端使用TCP/IP 连接或Unix套接字(socket)或NT下的命名管道连接MySQL。
21) MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器 如何解决一个查询。
2.1.2 经济可行性
图书借阅管理信息系统主要面向学校这一应用领域,这可以大大减轻他们的工作量提高工作效率,减少不必要的支出。开发本系统所需费用很低,而带来的效益是巨大而长久的,费用的支出和带来的巨大收益相比自是不能相提并论了,所以开发本系统在经济上是可行的。
2.1.3 操作可行性
操作非常简单,只要在平台上输入管理员帐户密码,然后可以按照自己的需要选择相应的界面进行添加、修改、删除以及查询等相关操作,操作非常方便。从法律方面来说该系统完全可行。
2.2 系统需求分析
需求分析是软件工程的一项重要的任务,它是系统层软件配置与软件设计之间的桥梁。需求分析能够刻画软件的功能和性能,确定软件与其他系统元素的接口,并建立软件必须满足的约束。需求分析为软件设计提供了可用的数据、系统结构、界面和过程设计模型。
2.2.1 理解需求
下面是一份需求说明文本,这里列出了一些比较关键的部分:
(1) 软件能够对图书借阅记录进行登记,能够非常方便的添加、编辑和查询。能够通过软件及时了解相关的图书借阅情况,从而进行必要的修改,这对于图书借阅管理是非常重要的。
(2) 软件能够对学生的基本信息进行管理,能够将这些信息保存足够长的一段时间,作为历史记录信息,可用于备案查询使用,这对于增强图书借阅管理的安全性非常重要。
(3) 系统应该具有数据库维护的功能。
(4) 系统运行在Windows平台上。系统还应该有一个较好的图形用户界面。
(5) 系统应该有很好的可扩展性。
2.2.2 主要功能
图书借阅管理信息系统主要包括以下几个模块:
- 系统登陆模块:用户姓名和密码;
- 书库管理模块:图书信息的修改、增加、删除;借书信息的增加;
- 借还管理模块:借出书籍信息显示;归还图书;
- 用户信息模块:修改用户名与密码;注册新的用户名与密码;
第三章 图书借阅管理信息系统的设计
3.1 系统总体设计
图书借阅管理信息系统的模块
3.2系统详细设计
3.2.1 系统流程图
现在对系统及模块的流程进行整理,其具体流程如下:进入系统之后,管理者在登录框内输入用户ID和密码,系统验证无误后登录主界面,根据管理者所进行的操作系统做出相应的选择反馈给管理者,流程图
主要功能流程图
数据表设计
在数据库服务器上创建名为db_books的数据库,共2张表。
tb_books:记录图书的信息
tb_user:记录用户名以及密码
程序代码