欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    图书馆管理系统本科大学本科方案设计书.docx

    • 资源ID:6964538       资源大小:1.53MB        全文页数:37页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图书馆管理系统本科大学本科方案设计书.docx

    1、图书馆管理系统本科大学本科方案设计书姓 名 陈 平 学 号 专 业 计算机网络 指导教师 周亚凤 南京航空航天大学2012年4月图书馆管理系统摘要图书馆管理系统是采用Java做前台,后台数据库则采用的是SQL Server 2005,本系统提供6个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、新书订购管理模块、图书借阅模块,以及系统维护模块。这6个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。图书馆管理系统是一个供内部人员使用的系统。而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人

    2、员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。论文将全面介绍所设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,最终使用Java完成系统开发。关键词:图书馆管理系统,SQL Server 2005,Java前言随着社会的发展,人们对于知识的需求也在不断地增长。书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充分利用。这时图书馆就特别需要开发一套图书馆管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工

    3、作流和成本。一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中。第一章 图书馆管理系统分析1.1 需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整

    4、合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅,归还进行管理,并对读者的罚款进行自动计算。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。一个最基本

    5、的图书馆管理系统要有如下几个重要功能:(1)用户在借书超期的情况下得到来自管理员的提醒。(2)管理员可以方便进行图书管理,用户管理,管理员管理。图书管理包括图书信息以及图书分类的添加,修改,删除。用户管理包括用户信息的添加,删除,修改。管理员管理包括管理员信息的添加,删除,修改等。(3)用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。(4)未注册用户(游客)也可以浏览所有的图书信息和分类信息,但是无法借阅。 (5)实现模糊查询,使用户得到更多的相关记录。并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。 (6)考虑程序执行操作时

    6、可能出现的情况,比如删除图书分类时该分类下存在图书,程序自动跳转该分类图书查看。删除某个用户,如果存在借书记录则不允许删除,跳转到该用户的借书记录。等待管理员确认该用户所借图书已经全部归还之后才允许删除该用户信息。一个图书馆管理系统要是能实现以上的各种功能,那么这个图书馆管理系统也就算是比较成功的一个系统了。1.2 功能分析 根据以上需求分析,我所设计的图书馆管理系统有6个功能模块,分别是图书类别管理模块,图书信息管理模块,读者信息管理模块,新书订购管理模块,图书借阅模块以及系统维护模块。其中各功能模块的具体说明如下:图书类别管理模块:该模块主要负责管理图书馆的图书种类信息,如图书种类的名称、

    7、可借天数、罚款数目等信息。图书信息管理模块:该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。读者信息管理模块:该模块主要负责管理图书馆的读者信息,如读者编号、读者信息、证件号码、最大借书量等信息。图书订购管理模块:该模块主要负责管理图书馆的新书订购信息、包括新书订购和验收新书两个子模块。图书借阅管理模块:该模块主要负责图书馆的书籍借阅和归还信息,包括图书借阅、图书归还、图书搜索3个子模块。系统维护模块:该模块主要负责图书馆的工作人员信息,包括用户管理和更改系统口令两个子模块。1.3 系统用例图设计图书馆管理系统是一个内部人员使用的系统,也就是说不是所有的人都能够使

    8、用它,只有图书馆的工作人员才能使用。而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表,书籍信息,读者信息等进行管理。下面以管理员为例绘制其所对应的用例图如图1.1所示。图1.1 管理员用例图1.4 绘制系统流程图本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。由于不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图1.2所示。图1.2 系统流程图1.5

    9、 系统的开发环境图书馆管理系统的具体开发环境要求如下:(1)系统开发平台:Eclipse 3.4。(2)数据库管理系统软件:SQL Server 2005。(3)运行平台:Windows 7。(4)Java开发包:JDK 5.0以上。(5)分辨率:800600以上。(6)GUI开发包:Swing。第二章 数据库分析与设计2.1 数据库分析在开发图书馆管理系统时,考虑到图书量大,数据库维护大的特点,选用SQL Server 2005作为数据库管理系统。在SQL Server 2005中新增一个数据库,其数据库名为db_library。数据库中可以包含图书信息、图书类别信息、图书借阅信息、操作员信

    10、息、图书订购信息及读者信息等实体,用来存储不同的信息。2.2 数据库概念设计本系统一共设计规划出6个实体,分别是图书类别信息实体、图书信息实体、读者信息实体、操作员实体、图书借阅信息实体以及图书订购信息实体。图书的类别有很多,因此可以建立一个图书馆类别信息表,专门用来保存图书的类别信息。同时因为每种类别的书籍阅读时间有所不同,所以需要在类别表中保存该类别可借天数信息。图书类别信息实体E-R图如图2.1所示。图2.1 图书类别信息实体E-R图对于图书馆来说最重要的就是要管理其下的书籍,所以需要建立一个图书信息表,用来保存图书的所有信息。图书信息实体E-R图如图2.2所示。图2.2 图书信息实体E

    11、-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图图书馆除了借书,还需要到出版社或其他代理商订购新书,这是需要建立一个图书订购信息表

    12、,用来保存所有的订购信息。图书订购信息实体E-R图如图2.6所示。图2.6 图书订购信息实体E-R图2.3 数据逻辑结构设计根据设计好的各实体E-R图创建数据库的逻辑结构,数据库各表的结构如下: (1)图书类别信息采表用来储存所有的图书类别信息,包括图书类别编号、图书类别名称、可借天数以及迟还一天的罚款数目4个字段。该表的逻辑结构如表2.1所示。表2.1 图书类别信息表字 段 名数 据 类 型是 否 主 键描 述id整数(int)是图书类别编号typeName文本(varchar)否图书类别名称days整数(int)否可借天数fk浮点数否迟还一天的罚款数目 (2)图书信息表用来储存所有的图书信

    13、息,包括图书编号、类别编号、图书名称、作者、译者、出版社、出版日期以及书籍价格8个字段。该表的逻辑结构如表2.2所示。表2.2 图书信息表字 段 名数 据 类 型是 否 主 键描 述ISBN文本(varchar)是图书编号typeId整数(int)否(外键)类别编号bookname文本(varchar)否图书名称writer文本(varchar)否作者translator文本(varchar)否译者publisher文本(varchar)否出版社date日期时间(datetime)否出版日期price金钱货币(money)否书籍价格(3)读者信息表用来储存所有的读者信息,包括读者姓名、性别、年

    14、龄、证件号码、会员证有效日期、最大借书量、电话号码、押金、证件类型、职业、读者编号以及办证日期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)

    15、否职业ISBN文本(varchar)是读者编号bztime日期时间(datetime)否办证日期 (4)操作员信息表用来保存操作员信息,包括操作员编号、用户名、性别、年龄、证件号码、工作时间、电话号码、是否为管理员、密码9个字段。该表的逻辑结构如表2.4所示。表2.4 操作员信息表字 段 名数 据 类 型是 否 主 键描 述id整数(int)是(自动递增)操作员编号name文本(varchar)否用户名sex文本(varchar)否性别age整数(int)否年龄identityCard文本(varchar)否证件号码workdate日期时间(datetime)否工作时间tel文本(varcha

    16、r)否电话号码admin整数(int)否是否为管理员password文本(varchar)否密码 (5)图书借阅信息表用来保存所有图书的借阅信息,包括借阅编号、书籍编号、操作员编号、读者编号、是够归还、借书日期以及应还日期7字段。该表的逻辑结构如表2.5所示。表2.5 图书借阅信息表字 段 名数 据 类 型是 否 主 键描 述id整数(int)是(自动递增)借阅编号bookISBN文本(varchar)否(外键)书籍编号operatorId整数(int)否(外键)操作员编号readerISBN文本(varchar)否(外键)读者编号isback整数(int)否是否归还borrowDate日期时

    17、间(datetime)否借书日期backdate日期时间(datetime)否应还日期 (6)图书订购信息表用来保存图书馆的所有订购信息,包括书籍编号、订购日期、订购数量、操作员、是否验收以及书籍折扣6个字段。该表的逻辑结构如表2.6所示。表2.6 图书订购信息表字 段 名数 据 类 型是 否 主 键描 述ISBn文本(varchar)是书籍编号date日期时间(datetime)否订购日期number整数(int)否订购数量operator文本(varchar)否操作员checkAndAccept整数(int)否是否验收zk浮点否书籍折扣2.4 各表之间的联系图各表间的联系图如图2.7所示。

    18、图2.7 各表间联系图第三章 系统设计与功能实现3.1 数据库Dao类的构建首先定义了一个类Dao,并为该类添加了4中方法,分别是构造方法Dao、查询方法executeQuery、更新方法executeUpdate以及关闭连接方法close。public class Dao protected static String dbClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver。/数据库连接驱动类 protected static String dbUrl = jdbc:sqlserver:/localhost:1433。 + Dat

    19、abaseName=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.forName(dbClassName)。 /加载驱动类 conn = DriverManag

    20、er.getConnection(dbUrl, dbUser, dbPwd)。/获得连接对象 catch (Exception ee) ee.printStackTrace()。 private static ResultSet executeQuery(String sql) /查询方法 try if(conn=null) new Dao()。 /如果连接对象为空,则重新调用构造方法 return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE).executeQuery(sql

    21、)。/执行查询 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()。 return -1。 finally

    22、public static void close() /关闭方法 try conn.close()。/关闭连接对象 catch (SQLException e) e.printStackTrace()。 finally conn = null。 /设置连接对象为null值 3.2 系统登录模块 对于图书馆管理系统而言,不是所有的用户都是可以使用的,所有需要添加一个登陆模块。通过该模块来对用户的合法性进行判断,只有合法的用户才能进入到系统。整个登陆模块的实现非常简单,相信读者能够快速掌握其开发过程。登录模块的运行结果如图3.1所示。图3.1 系统登录界面3.2.1 登陆窗体界面设计与实现 登陆窗

    23、体的界面设计我依然采用的是比较传统的方法,新建一个类BookLoginFrame类,用来显示登录窗体。在该窗体中需要使用到四类控件,分别是JLabel、JTextFieid、JPasswordField以及JButton。其中控件JLabel是用来显示顶部的图片以及标签文本;控件JTextFieid用来接收用户名输入信息;控件JPasswordField用来接收密码输入信息;控件JButton用来创建登陆和重置按钮。3.2.2 操作员登陆在Dao类中新增一个方法check,通过该方法来检测用户信息是否合法。该方法接收两个参数,分别是操作员用户名name,操作员密码passsward。主要方法如

    24、下:public static Operater check(String name, String password) Operater operater=new Operater()。/操作员信息对象 String sql = select * from tb_operator where name= + name + and password= + password + and admin=1。 ResultSet rs = Dao.executeQuery(sql)。 try while (rs.next() operater.setId(rs.getString(id)。 opera

    25、ter.setName(rs.getString(name)。 operater.setGrade(rs.getString(admin)。 operater.setPassword(rs.getString(password)。 3.3 主窗体模块图书馆管理系统的主窗体模式是由三个部分组成的。第一部分是位于主窗体上组上端的系统菜单栏,用来实现链接系统功能菜单。第二部分位于菜单栏下面的工具栏,用来提供各种常用功能链接。第三部分位于工具下的系统功能窗口区域,主要用来显示各种功能窗口。3.3.1 主窗体界面设计在主窗体中可以显示其他功能窗体,所以需要在该窗体中加入一个桌面窗体。通过将其他功能窗体加

    26、入到该窗体中。从而实现多窗体显。同时在主窗口体中,还需要添加一个main方法,该方法为系统入口的方法,通过执行该方法来执行系统。其主要代码如下: public class Library extends JFrame private static final JDesktopPane DESKTOP_PANE = new JDesktopPane()。/桌面窗体 public static void main(String args) try UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName()。/设置系统界面外

    27、观 new BookLoginIFrame()。/登录窗口 catch (Exception ex) ex.printStackTrace()。 public static void addIFame(JInternalFrame iframe) / 添加子窗体的方法 DESKTOP_PANE.add(iframe)。 /新增子窗体下面再来配置主窗体的其他属性,首先需要设置其大小和位置,然后还要设置其菜单栏和工具栏,最后需要在桌面窗体中添加一个背景图片。其代码实现如下。public Library() super()。setDefaultCloseOperation(WindowConstan

    28、ts.EXIT_ON_CLOSE)。/设置关闭按钮处理事件Toolkit tool = Toolkit.getDefaultToolkit()。 /获得默认的工具箱Dimension screenSize = tool.getScreenSize()。 /获得屏幕的大小setSize(800, 600)。 /设置窗体大小setLocation(screenSize.width - getWidth() / 2,(screenSize.height - getHeight() / 2)。 /设置窗体位置setTitle(图书馆管理系统)。 /设置窗体标题JMenuBar menuBar = cr

    29、eateMenu()。 /调用创建菜单栏的方法setJMenuBar(menuBar)。 /设置菜单栏JToolBar toolBar = createToolBar()。 / 调用创建工具栏的方法getContentPane().add(toolBar, BorderLayout.NORTH)。/设置工具栏final JLabel label = new JLabel()。 /创建一个标签,用来显示图片label.setBounds(0, 0, 0, 0)。 /设置窗体的大小和位置label.setIcon(null)。 / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentR


    注意事项

    本文(图书馆管理系统本科大学本科方案设计书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开