JAVA+SQL 图书馆管理系统课程设计.pdf





《JAVA+SQL 图书馆管理系统课程设计.pdf》由会员分享,可在线阅读,更多相关《JAVA+SQL 图书馆管理系统课程设计.pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、毕业设计(论文)毕业设计(论文)题目:题目:图书馆管理系统姓名姓名学学号号专业专业计算机科学与技术指导教师指导教师I目录摘要 IV前言 V第一章 图书馆管理系统分析 11.1 需求分析 11.2 功能分析 21.3 系统用例图设计 21。4 绘制系统流程图 31。5 系统的开发环境 4第二章 数据库分析与设计 42。1 数据库分析 42.2 数据库概念设计 42。3 数据逻辑结构设计 62.4 各表之间的联系图 8第三章 系统设计与功能实现 93。1 数据库 Dao 类的构建 93。2 系统登录模块 113.3 主窗体模块 123.4 图书类别管理模块 153.5 图书信息管理模块 173.6
2、 读者信息管理模块 213.7 图书订购管理模块 233。8 图书借阅管理模块 263。9 系统维护模块 29II第四章 系统测试 344.1 测试项目 344。2 测试用例 34结束语 36参考文献 37III图书馆管理系统摘要图书馆管理系统是采用 Java 做前台,后台数据库则采用的是 SQL Server 2005,本系统提供 6 个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、新书订购管理模块、图书借阅模块,以及系统维护模块。这 6 个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。图书馆管理系统是一个供内部人员使用的系统.而图
3、书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。论文将全面介绍所设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,最终使用 Java 完成系统开发.关键词:图书馆管理系统,SQL Server 2005,JavaIV前言随着社会的发展,人们对于知识的需求也在不断地增长.书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充
4、分利用.这时图书馆就特别需要开发一套图书馆管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本.一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中.V第一章 图
5、书馆管理系统分析1。1 需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的.一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅,归还进行管理,并对读者的罚款进行自动计算.通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供
6、一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。一个最基本的图书馆管理系统要有如下几个重要功能:(1)用户在借书超期的情况下得到来自管理员的提醒.(2)管理员可以方便进行图书管理,用户管理,管理员管理。图书管理包括图书信息以及图书分类的添加,修改,删除。用户管理包括用户信息的添加,删除,修改.管理员管理包括管理员信息的添加,删除,修改等。(3)用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。(4)未注册用户(游客)也可以浏览所有的图书信息和分类信息,但是无法借阅。(5)实现模糊查询,使用户得到更多的相关记录.并且考虑使用的方便性,
7、一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。(6)考虑程序执行操作时可能出现的情况,比如删除图书分类时该分类下存在图书,程序自动跳转该分类图书查看。删除某个用户,如果存在借书记录则不允许删除,跳转到该用户的借书记录。等待管理员确认该用户所借图书已经全部归还之后才允许删除该用户信息。一个图书馆管理系统要是能实现以上的各种功能,那么这个图书馆管理系统也就算是比较成功的一个系统了。11。2 功能分析根据以上需求分析,我所设计的图书馆管理系统有 6 个功能模块,分别是图书类别管理模块,图书信息管理模块,读者信息管理模块,新书订购管理模块,图书借阅模块以及系统维护模块
8、。其中各功能模块的具体说明如下:图书类别管理模块:该模块主要负责管理图书馆的图书种类信息,如图书种类的名称、可借天数、罚款数目等信息。图书信息管理模块:该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。读者信息管理模块:该模块主要负责管理图书馆的读者信息,如读者编号、读者信息、证件号码、最大借书量等信息。图书订购管理模块:该模块主要负责管理图书馆的新书订购信息、包括新书订购和验收新书两个子模块。图书借阅管理模块:该模块主要负责图书馆的书籍借阅和归还信息,包括图书借阅、图书归还、图书搜索 3 个子模块.系统维护模块:该模块主要负责图书馆的工作人员信息,包括用户管理和更
9、改系统口令两个子模块。1.3 系统用例图设计图书馆管理系统是一个内部人员使用的系统,也就是说不是所有的人都能够使用它,只有图书馆的工作人员才能使用.而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表,书籍信息,读者信息等进行管理。下面以管理员为例绘制其所对应的用例图如图 1.1所示。2图 1。1 管理员用例图1.4 绘制系统流程图本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。由于
10、不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图 1.2 所示.身份身份识别识别否否是否为合法用户是否为合法用户是是主窗体主窗体图书类别管理图书类别管理图书信息管理图书信息管理读者信息管理读者信息管理新书订购管理新书订购管理图书借阅管理图书借阅管理系统维护系统维护图书图书类别类别添加添加图书图书类别类别修改修改图书图书信息信息添加添加图书图书信息信息修改修改读者读者信息信息添加添加读者读者信息信息修改修改新书新书订购订购验收验收新书新书图书图书借阅借阅图书图书归还归还图书图书搜索搜索更改更改口令口令用户用户管理管理图 1.2 系统流程图31。5 系统的开发环境图
11、书馆管理系统的具体开发环境要求如下:(1)系统开发平台:Eclipse 3.4。(2)数据库管理系统软件:SQL Server 2005。(3)运行平台:Windows 7。(4)Java 开发包:JDK 5。0 以上。(5)分辨率:800600 以上。(6)GUI 开发包:Swing。第二章数据库分析与设计2.1 数据库分析在开发图书馆管理系统时,考虑到图书量大,数据库维护大的特点,选用 SQL Server2005作为数据库管理系统。在SQL Server 2005中新增一个数据库,其数据库名为db_library。数据库中可以包含图书信息、图书类别信息、图书借阅信息、操作员信息、图书订购
12、信息及读者信息等实体,用来存储不同的信息。2.2 数据库概念设计本系统一共设计规划出 6 个实体,分别是图书类别信息实体、图书信息实体、读者信息实体、操作员实体、图书借阅信息实体以及图书订购信息实体。图书的类别有很多,因此可以建立一个图书馆类别信息表,专门用来保存图书的类别信息。同时因为每种类别的书籍阅读时间有所不同,所以需要在类别表中保存该类别可借天数信息.图书类别信息实体 E-R 图如图 2.1 所示.图 2.1 图书类别信息实体E-R 图4对于图书馆来说最重要的就是要管理其下的书籍,所以需要建立一个图书信息表,用来保存图书的所有信息。图书信息实体 E-R 图如图 2.2 所示。图 2.2
13、 图书信息实体 ER 图要想在图书馆借书首先需要进行登记并交付押金.领取读书卡才能借书。所以需要建立一个读者信息表来保存图书馆的所有读者的登记信息。读者信息实体 E-R 图如图 2.3 所示。图 2.3 读者信息实体 ER 图图书馆里一般有一个以上的系统操作员,需要建立一个操作员信息表,用来保存操作员的身份信息。操作员信息实体 ER 图如图 2.4 所示。图 2。4 操作员信息实体 ER 图图书馆最大的功能就是能够借书,这时需要建立一个图书借阅信息表,用来保存读者5的借书信息。图书的借阅信息实体 E-R 图如图 2.5 所示。图 2。5 图书的借阅信息实体ER 图图书馆除了借书,还需要到出版社
14、或其他代理商订购新书,这是需要建立一个图书订购信息表,用来保存所有的订购信息。图书订购信息实体 ER 图如图 2。6 所示。图 2.6 图书订购信息实体ER 图2。3 数据逻辑结构设计根据设计好的各实体 ER 图创建数据库的逻辑结构,数据库各表的结构如下:(1)图书类别信息采表用来储存所有的图书类别信息,包括图书类别编号、图书类别名称、可借天数以及迟还一天的罚款数目 4 个字段。该表的逻辑结构如表 2。1 所示。表 2.1 图书类别信息表字 段 名idtypeNamedaysfk数 据 类 型整数(int)文本(varchar)整数(int)浮点数是 否 主 键是否否否描述图书类别编号图书类别
15、名称可借天数迟还一天的罚款数目(2)图书信息表用来储存所有的图书信息,包括图书编号、类别编号、图书名称、作者、译者、出版社、出版日期以及书籍价格 8 个字段。该表的逻辑结构如表 2。2 所示。表 2.2 图书信息表6字 段 名数 据 类 型文本(varchar)整数(int)文本(varchar)文本(varchar)文本(varchar)文本(varchar)日期时间(datetime)金钱货币(money)ISBNtypeIdbooknamewritertranslatorpublisherdateprice是 否 主 键是否(外键)否否否否否否描述图书编号类别编号图书名称作者译者出版社出
16、版日期书籍价格(3)读者信息表用来储存所有的读者信息,包括读者姓名、性别、年龄、证件号码、会员证有效日期、最大借书量、电话号码、押金、证件类型、职业、读者编号以及办证日期12 个字段。该表的逻辑结构如表 2.3 所示.表 2。3 读者信息表字 段 名数 据 类 型文本(varchar)文本(varchar)整数(int)文本(varchar)日期时间(datetime)整数(int)文本(varchar)金钱货币(money)整数(int)文本(varchar)文本(varchar)日期时间(datetime)namesexageidentityCarddatemaxNumtelkeepMon
17、eyzjzyISBNbztime是 否 主 键是否(外键)否否否否否否否否是否描述读者姓名读者性别读者年龄证件号码会员证有效日期最大借书量电话号码押金证件类型职业读者编号办证日期(4)操作员信息表用来保存操作员信息,包括操作员编号、用户名、性别、年龄、证件号码、工作时间、电话号码、是否为管理员、密码 9 个字段。该表的逻辑结构如表 2.4 所示.表 2。4 操作员信息表字 段 名idnamesexageidentityCardworkdateteladminpassword数 据 类 型整数(int)文本(varchar)文本(varchar)整数(int)文本(varchar)日期时间(da
18、tetime)文本(varchar)整数(int)文本(varchar)是 否 主 键是(自动递增)否否否否否否否否描述操作员编号用户名性别年龄证件号码工作时间电话号码是否为管理员密码7(5)图书借阅信息表用来保存所有图书的借阅信息,包括借阅编号、书籍编号、操作员编号、读者编号、是够归还、借书日期以及应还日期7 字段.该表的逻辑结构如表 2.5 所示.表 2.5 图书借阅信息表字 段 名idbookISBNoperatorIdreaderISBNisbackborrowDatebackdate数 据 类 型整数(int)文本(varchar)整数(int)文本(varchar)整数(int)日
19、期时间(datetime)日期时间(datetime)是 否 主 键是(自动递增)否(外键)否(外键)否(外键)否否否描述借阅编号书籍编号操作员编号读者编号是否归还借书日期应还日期(6)图书订购信息表用来保存图书馆的所有订购信息,包括书籍编号、订购日期、订购数量、操作员、是否验收以及书籍折扣 6 个字段。该表的逻辑结构如表 2。6 所示。表 2.6 图书订购信息表字 段 名ISBndatenumberoperatorcheckAndAcceptzk数 据 类 型文本(varchar)日期时间(datetime)整数(int)文本(varchar)整数(int)浮点是 否 主 键是否否否否否描述
20、书籍编号订购日期订购数量操作员是否验收书籍折扣2。4 各表之间的联系图各表间的联系图如图 2.7 所示。8图 2.7 各表间联系图第三章 系统设计与功能实现3。1 数据库 Dao 类的构建首先定义了一个类 Dao,并为该类添加了 4 中方法,分别是构造方法 Dao、查询方法executeQuery、更新方法 executeUpdate 以及关闭连接方法 close.public class Dao protected static String dbClassName=”com.microsoft.sqlserver.jdbc。SQLServerDriver;/数据库连接驱动类protecte
21、d static String dbUrl=jdbc:sqlserver:/localhost:1433;+DatabaseName=db_library;;/数据库连接 URL/数据库用户名/数据库密码/数据库连接对象protected static String dbUser=”sa;protected static String dbPwd=123;private static Connection conn=null;private static String ISBN;private Dao()try if(conn=null)/构造方法/如果连接对象为空/加载驱动类Class。fo
22、rName(dbClassName);9conn=DriverManager。getConnection(dbUrl,dbUser,dbPwd);/获得连接对象private static ResultSet executeQuery(String sql)try if(conn=null)new Dao();/如果连接对象为空,则重新调用构造方法/查询方法 catch(Exception ee)ee.printStackTrace();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UP
23、DATABLE).executeQuery(sql);/执行查询 catch(SQLException e)e.printStackTrace();return null;/返回 null 值 finally private static int executeUpdate(String sql)try if(conn=null)new Dao();/如果连接对象为空,则重新调用构造方法return conn。createStatement().executeUpdate(sql);/执行更新/更新方法 catch(SQLException e)e。printStackTrace();retu
24、rn 1;finally public static void close()/关闭方法try 10conn.close();/关闭连接对象 catch(SQLException e)e.printStackTrace();finallyconn=null;/设置连接对象为 null 值3。2 系统登录模块对于图书馆管理系统而言,不是所有的用户都是可以使用的,所有需要添加一个登陆模块.通过该模块来对用户的合法性进行判断,只有合法的用户才能进入到系统。整个登陆模块的实现非常简单,相信读者能够快速掌握其开发过程。登录模块的运行结果如图 3.1 所示。图 3。1 系统登录界面3.2.1 登陆窗体界面
25、设计与实现登陆窗体的界面设计我依然采用的是比较传统的方法,新建一个类BookLoginFrame类,用来显示登录窗体。在该窗体中需要使用到四类控件,分别是JLabel、JTextFieid、JPasswordField 以及 JButton.其中控件 JLabel 是用来显示顶部的图片以及标签文本;控件JTextFieid 用来接收用户名输入信息;控件 JPasswordField 用来接收密码输入信息;控件JButton 用来创建登陆和重置按钮。3.2。2 操作员登陆在 Dao 类中新增一个方法 check,通过该方法来检测用户信息是否合法。该方法接收两个参数,分别是操作员用户名 name,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA+SQL 图书馆管理系统课程设计 JAVA SQL 图书馆 管理 系统 课程设计

限制150内