论文部分内容阅读
[摘要]使用Java语言和SQLServer2000数据库开发适合院校图书馆使用的图书预约系统。介绍系统的设计思路、数据库实现和功能模块设计,展示系统结构清晰、模块设计合理和用户界面设计友好的特点。
[关键词]Java JDBC 数据库
中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2008)0520031-01
一、引言
随着日常事务管理信息的电子化和计算机网络的普及,越来越多的单位为提高办事效率和节约人力物力使用计算机来进行日常的管理。目前,许多图书馆使用了图书查询系统,这些图书查询系统之间的区别主要体现在采用C/S还是B/S结构、系统开发工具、数据库选择和功能模块的设计[1, 2]。
本文的图书预约系统是针对本校图书馆实际情况开发的,具有系统设计针对性强和模块功能实用的特点。该系统采用C/S结构,使用Java语言作为开发工具,数据库方面选择了SQLServer2000、设计了六个主要功能模块。该系统的开发过程清晰简单,不仅可以供图书馆使用,也可以为高校学生Java课程的实训内容提供一定的借鉴。
二、技术概述
Java编程语言是现在较流行的程序设计语言,已经在世界范围内被软件开发者接受。Java的易于编程和安全性使用户可以快速产生工作代码[3]。
SQLServer2000数据库是一种比较常用,而且比较适中的数据库。它提供的可视化界面使用简单,容易掌握,具有很强的实用性和教学性。
JDBC(Java数据库连接)体系结构是Java应用程序连接数据库管理系统的标准方式,它与数据库管理系统无关。JDBC是编程者需要使用的API,它提供了Java应用程序与各种不同数据库交互的标准接口,利用现有SQL标准可以和ODBC之类的数据库连接标准相互桥接[4]。
三、数据库设计
图书馆管理中所涉及到的数据主要分为图书信息和用户信息。针对这两者之间的关系,使用E-R图对数据库进行分析,并设计出不同的数据表。
(一)E-R图分析
该系统主要涉及到三个实体:管理员、普通读者和图书。管理员除了可以借阅图书之外,还可以对普通读者和图书进行删除和添加操作。管理员和图书之间的关系是一对多的关系,普通读者对图书是一对多的关系,管理员和普通读者之间的关系是一对多的关系,所以数据库的E-R简图如图1所示。
(二)数据库表设计
根据对所需数据库的初步分析,设计出三个表:读者表、图书表、借阅情况表。
读者表包含的字段主要有读者编号、姓名、身份、借阅状态等。其中,“读者编号”是表的主键。“身份”是指读者是普通读者还是管理员。在系统登录时由此字段确定系统登录者的身份。“借阅状态”是指读者是否可以正常借阅图书,如果读者有丢失图书等情况,则该读者的借阅状态就处于非正常状态。
图书表主要字段有图书编号、书名、内容介绍、在馆情况、预约情况等。其中,“图书编号”是该表的主键。“在馆情况”是指图书是否在图书馆内。“预约情况”指图书是否已经被其它读者预约。
借阅情况表记录了某个读者借阅和预约的图书,字段有“读者编号”、“图书编号”和“借阅情况”。该表和其他表通过“读者编号”和“借阅情况”字段进行联系。
四、系统模块设计
系统设计了以下功能模块:登录、主窗体、图书查询、预约情况、读者信息、借阅管理、读者管理、图书管理和退出系统。其中借阅管理包含图书借出和图书归还。读者管理包含读者添加、读者注销、信息修改和借阅限制。图书管理包含图书添加、图书注销和信息修改。
(一)登录模块设计
采用Java的图形用户界面设计方法,使用标签、按钮等控件,设计了图2所示的系统登录界面:
通过编写代码,加载jdbc驱动,对数据库进行动态链接。如果对数据库链接正常,则加载登录界面。读者输入编号和密码,点击“登录”按钮。如果读者编号和密码与数据库中读者表的某一条记录向吻合,则进入主界面。同时,从读者表中还可以确定该读者是普通读者还是管理员。如果读者是管理员,则主界面中的“借阅管理”、“图书管理”和“读者管理”功能就能够使用,反之,则不能使用这三个功能。
(二)主界面设计
主界面如图3所示:
使用javax.swing包中的JFrame类设计窗体,JLabel类显示欢迎信息,用JMenuBar类、JMenu类和JMenuItem类设计整个菜单。为各个菜单项添加事件监听。当鼠标单击相应的菜单项时,就会触发相应的菜单事件监听器,打开相应的子界面。
(三)图书查询模块
点击主模块下的“图书查询”菜单项就可以进入图书查询界面,如图4所示。
该界面使用下拉列表框向读者提供了查询字段,读者在文本框中输入查询内容,点击“查询”按钮即可获得查询结果。如果读者希望进行多个条件的查询,则可以点击“高级查询”按钮,进入高级查询界面。给出查询结果后,读者选中希望预约的图书,单击“预约”按钮,系统就会根据图书是否可以预约,读者是否达到最大预约数等条件,给出预约是否成功的提示。
五、总结
针对学校图书馆的特点,设计和实现了图书预约系统。该系统根据实际需求设计了相应的模块,实现了所需的功能。它的使用可以方便读者借阅和预定图书,提高了工作人员的办事效率。但系统在某些方面并不是很完善,比如在减小数据的冗余等方面还需要进行改进,对数据库还需要进行更深的分析和设计。除此之外,界面的美观程度也有待于改善。
参考文献:
[1]杨润梅. 基于JSP技术的图书馆信息查询系统的构想与实现. 石油教育 ,2004,(04) .
[2]曾新红,明仲,陈彦. 用Java实现基于CORBA的分布式图书馆查询系统. 现代图书情报技术 , 2004,(01) .
[3][美]Arnold,Gosling,Holmes著,虞万荣,王玉峰等译.Java编程语言(第三版).北京:中国电力出版社,2003.
[4]周亚辉.Java数据库系统项目开发实践.北京:科学出版社,2005.
[关键词]Java JDBC 数据库
中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2008)0520031-01
一、引言
随着日常事务管理信息的电子化和计算机网络的普及,越来越多的单位为提高办事效率和节约人力物力使用计算机来进行日常的管理。目前,许多图书馆使用了图书查询系统,这些图书查询系统之间的区别主要体现在采用C/S还是B/S结构、系统开发工具、数据库选择和功能模块的设计[1, 2]。
本文的图书预约系统是针对本校图书馆实际情况开发的,具有系统设计针对性强和模块功能实用的特点。该系统采用C/S结构,使用Java语言作为开发工具,数据库方面选择了SQLServer2000、设计了六个主要功能模块。该系统的开发过程清晰简单,不仅可以供图书馆使用,也可以为高校学生Java课程的实训内容提供一定的借鉴。
二、技术概述
Java编程语言是现在较流行的程序设计语言,已经在世界范围内被软件开发者接受。Java的易于编程和安全性使用户可以快速产生工作代码[3]。
SQLServer2000数据库是一种比较常用,而且比较适中的数据库。它提供的可视化界面使用简单,容易掌握,具有很强的实用性和教学性。
JDBC(Java数据库连接)体系结构是Java应用程序连接数据库管理系统的标准方式,它与数据库管理系统无关。JDBC是编程者需要使用的API,它提供了Java应用程序与各种不同数据库交互的标准接口,利用现有SQL标准可以和ODBC之类的数据库连接标准相互桥接[4]。
三、数据库设计
图书馆管理中所涉及到的数据主要分为图书信息和用户信息。针对这两者之间的关系,使用E-R图对数据库进行分析,并设计出不同的数据表。
(一)E-R图分析
该系统主要涉及到三个实体:管理员、普通读者和图书。管理员除了可以借阅图书之外,还可以对普通读者和图书进行删除和添加操作。管理员和图书之间的关系是一对多的关系,普通读者对图书是一对多的关系,管理员和普通读者之间的关系是一对多的关系,所以数据库的E-R简图如图1所示。
(二)数据库表设计
根据对所需数据库的初步分析,设计出三个表:读者表、图书表、借阅情况表。
读者表包含的字段主要有读者编号、姓名、身份、借阅状态等。其中,“读者编号”是表的主键。“身份”是指读者是普通读者还是管理员。在系统登录时由此字段确定系统登录者的身份。“借阅状态”是指读者是否可以正常借阅图书,如果读者有丢失图书等情况,则该读者的借阅状态就处于非正常状态。
图书表主要字段有图书编号、书名、内容介绍、在馆情况、预约情况等。其中,“图书编号”是该表的主键。“在馆情况”是指图书是否在图书馆内。“预约情况”指图书是否已经被其它读者预约。
借阅情况表记录了某个读者借阅和预约的图书,字段有“读者编号”、“图书编号”和“借阅情况”。该表和其他表通过“读者编号”和“借阅情况”字段进行联系。
四、系统模块设计
系统设计了以下功能模块:登录、主窗体、图书查询、预约情况、读者信息、借阅管理、读者管理、图书管理和退出系统。其中借阅管理包含图书借出和图书归还。读者管理包含读者添加、读者注销、信息修改和借阅限制。图书管理包含图书添加、图书注销和信息修改。
(一)登录模块设计
采用Java的图形用户界面设计方法,使用标签、按钮等控件,设计了图2所示的系统登录界面:
通过编写代码,加载jdbc驱动,对数据库进行动态链接。如果对数据库链接正常,则加载登录界面。读者输入编号和密码,点击“登录”按钮。如果读者编号和密码与数据库中读者表的某一条记录向吻合,则进入主界面。同时,从读者表中还可以确定该读者是普通读者还是管理员。如果读者是管理员,则主界面中的“借阅管理”、“图书管理”和“读者管理”功能就能够使用,反之,则不能使用这三个功能。
(二)主界面设计
主界面如图3所示:
使用javax.swing包中的JFrame类设计窗体,JLabel类显示欢迎信息,用JMenuBar类、JMenu类和JMenuItem类设计整个菜单。为各个菜单项添加事件监听。当鼠标单击相应的菜单项时,就会触发相应的菜单事件监听器,打开相应的子界面。
(三)图书查询模块
点击主模块下的“图书查询”菜单项就可以进入图书查询界面,如图4所示。
该界面使用下拉列表框向读者提供了查询字段,读者在文本框中输入查询内容,点击“查询”按钮即可获得查询结果。如果读者希望进行多个条件的查询,则可以点击“高级查询”按钮,进入高级查询界面。给出查询结果后,读者选中希望预约的图书,单击“预约”按钮,系统就会根据图书是否可以预约,读者是否达到最大预约数等条件,给出预约是否成功的提示。
五、总结
针对学校图书馆的特点,设计和实现了图书预约系统。该系统根据实际需求设计了相应的模块,实现了所需的功能。它的使用可以方便读者借阅和预定图书,提高了工作人员的办事效率。但系统在某些方面并不是很完善,比如在减小数据的冗余等方面还需要进行改进,对数据库还需要进行更深的分析和设计。除此之外,界面的美观程度也有待于改善。
参考文献:
[1]杨润梅. 基于JSP技术的图书馆信息查询系统的构想与实现. 石油教育 ,2004,(04) .
[2]曾新红,明仲,陈彦. 用Java实现基于CORBA的分布式图书馆查询系统. 现代图书情报技术 , 2004,(01) .
[3][美]Arnold,Gosling,Holmes著,虞万荣,王玉峰等译.Java编程语言(第三版).北京:中国电力出版社,2003.
[4]周亚辉.Java数据库系统项目开发实践.北京:科学出版社,2005.