收藏 分享(赏)

java实训报告--图书管理系统.doc

上传人:HR专家 文档编号:4744871 上传时间:2019-01-10 格式:DOC 页数:15 大小:331.50KB
下载 相关 举报
java实训报告--图书管理系统.doc_第1页
第1页 / 共15页
java实训报告--图书管理系统.doc_第2页
第2页 / 共15页
java实训报告--图书管理系统.doc_第3页
第3页 / 共15页
java实训报告--图书管理系统.doc_第4页
第4页 / 共15页
java实训报告--图书管理系统.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1Java 实训报告 项目: 图书管理系统 专业: 软件技术 班级: 12 级软件技术 姓名: 马巍 杨迪 张倩茹 指导教师: 黄珍 兰州文理学院电子信息工程学院2014 年 7 月2目 录摘 要 31 实习(实训)器材或环境 .42 实习(实训)内容与过程 .42.1 数据库结构设计 42.2 主页面模块设计 52.3 与数据库建立连接 102.4 操作员管理设计 112.5 书籍管理模块设计 133 实习(实训)总结与体会 153摘 要近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力

2、与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。为此,在此次的实训中我选择了图书管理系统,它是以“图书”数据库为后台,在 java 和 Microsoft SQL Server2000 的开发环境下进行的。主要实现了对客户资料的添加、修改、删除等功能;在查询方面,利用了模糊查询、详细查询;4一、 实习(实训)器材或环境(注:针对计算机等专业的硬件、软件环境要求)1硬件环境 学校 101 机房电脑2软件环境 操作系统:Windows 98 或 Windows2000

3、/Windows NT Server4.0 Microsoft Access 2000 或 SQL Sever二、 实习(实训)内容与过程我们做的书籍借阅管理系统主要划分为以下七个模块:1) 操作员管理模块:实现操作员的登录及操作用户的添加,更改密码和删除用户的管理。2) 书籍信息管理模块:实现书籍信息的添加和更新。3) 书籍借出模块:书籍借出管理。4) 书籍还入模块:书籍还入管理。5) 信息一览模块:对书籍,读者和书籍借阅情况列表显示。6) 数据操作模块:封装对数据库的操作。具体操作如下:1) 数据库结构设计该系统包括书籍管理、借阅管理和用户管理,所以数据库应包括书籍信息表(图 1-1所示)

4、 、书籍借阅表(图 1-2 所示) 、用户表(图 1-3 所示) 。图 1-1 书籍信息表5图 1-2 书籍借阅表图 1-3 用户信息表2) 主界面模块设计根据功能需求和总体设计的结果,它应该由操作员登录、操作员管理、书籍借出管理、书籍还入管理和信息一览组成,如图 2-1 所示。可通过点击菜单项进入相应的功能模块。图 2-1 书籍管理系统主界面建立一个新的应用程序,并将其主窗口命名为“BookManagerMain” 。修改窗体布局为“XYLayout 或 NULL”。在此窗体上添加一菜单,名为“jMemuBar” 。代码如下:/设置权限。根据操作员的不同,设置相应的权限。管理员可操作所有功能

5、和添加用户;书籍操作员只能管理书籍;借阅操作员只能管理借阅情况。由于这个过程要在用户登录中使用,因此其函数作用范围要设为 publicpublic void setEnable(String powertype) 6if (powertype.equals(“管理员 “) jMenuUserManager.setEnabled(true);jMenuBookManager.setEnabled(true);jMenuBorrowBook.setEnabled(true);jMenuReturnBook.setEnabled(true);jMenuAllInfo.setEnabled(true)

6、;else if (powertype.equals(“书籍操作员“) jMenuUserManager.setEnabled(false);jMenuBookManager.setEnabled(true);jMenuBorrowBook.setEnabled(false);jMenuReturnBook.setEnabled(false);jMenuAllInfo.setEnabled(true);else if (powertype.equals(“借阅操作员“) jMenuUserManager.setEnabled(false);jMenuBookManager.setEnabled

7、(false);jMenuBorrowBook.setEnabled(true);jMenuReturnBook.setEnabled(true);jMenuAllInfo.setEnabled(true);else jMenuUserManager.setEnabled(false);jMenuBookManager.setEnabled(false);jMenuBorrowBook.setEnabled(false);jMenuReturnBook.setEnabled(false);jMenuAllInfo.setEnabled(false);/在主窗体被打开时打开登陆窗口void th

8、is_windowOpened(WindowEvent e) setEnable(“else“);/采用 userLogin(this)的形式,将父窗体对象传入userLogin dlg = new userLogin(this);Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSiz

9、e.height) / 2 + loc.y);dlg.setVisible(true);/打开登陆窗口void jMenuItemLogin_actionPerformed(ActionEvent e) 7userLogin dlg = new userLogin(this);Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(

10、frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开添加用户窗口void jMenuItemUserAdd_actionPerformed(ActionEvent e) userAdd dlg = new userAdd();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.wi

11、dth) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开用户密码修改窗口void jMenuItemUserUpdate_actionPerformed(ActionEvent e) userUpdate dlg = new userUpdate();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation

12、( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开用户删除窗口void jMenuItemUserDelete_actionPerformed(ActionEvent e) userDelete dlg = new userDelete();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = ge

13、tLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开书籍信息添加窗口void jMenuItemBookAdd_actionPerformed(ActionEvent e) bookAdd dlg = new bookAdd();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getS

14、ize();8Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开书籍信息更新窗口void jMenuItemBookUpdate_actionPerformed(ActionEvent e) bookUpdate dlg = new bookUpdate();Dimension dlgSize = dlg.getPreferredS

15、ize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开书籍删除窗口void jMenuItemBookDelete_actionPerformed(ActionEvent e) bookDelete dlg = new bookDelete();Dimension

16、dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开书籍出借 窗口void jMenuItemBookBorrow_actionPerformed(ActionEvent e) borrowBook dlg =

17、 new borrowBook();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开书籍出借信息修改窗口void jMenuItemBookBorrowUpdate_actionPerf

18、ormed(ActionEvent e) borrowInfoUpdate dlg = new borrowInfoUpdate();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);9dlg.setVisible(true);/打开书

19、籍还入窗口void jMenuItemBookReturn_actionPerformed(ActionEvent e) returnBook dlg = new returnBook();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y

20、);dlg.setVisible(true);/打开书籍还入信息修改窗口void jMenuItemBookReturnUpdate_actionPerformed(ActionEvent e) returnInfoUpdate dlg = new returnInfoUpdate();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + lo

21、c.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);/打开所有书籍列表窗口void jMenuItemAllBook_actionPerformed(ActionEvent e) bookList dlg = new bookList();Dimension dlgSize = dlg.getPreferredSize();Dimension frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - d

22、lgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);dlg.setVisible(true);void jMenuFileExit_actionPerformed(ActionEvent e) System.exit(0);/打开所有书籍借阅查询窗口void jMenuItemAllInfo_actionPerformed(ActionEvent e) AllInfo dlg = new AllInfo();Dimension dlgSize = dlg.getPreferredSize();Dime

23、nsion frmSize = getSize();Point loc = getLocation();dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,(frmSize.height - dlgSize.height) / 2 + loc.y);10dlg.setVisible(true);3) 与数据库建立连接package data;import java.sql.*; /引入 sql 包/数据库操作类public class DBManager private String driver=“sun.jdbc.odb

24、c.JdbcOdbcDriver“; private String url=“jdbc:odbc:BookManagerDB“; /创建指定数据库的 URL/查询方法,返回查询结果集public ResultSet getResult(String sql)ResultSet rs=null;try Class.forName(driver) ; /加载驱动程序 Connection conn=DriverManager.getConnection(url) ; /创建连接/创建 statement 对象Statement stmt=conn.createStatement(ResultSet

25、.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery(sql); /执行 SQL 语句,返回结果集/异常处理catch(Exception e)e.printStackTrace();return rs;/执行更新语句方法public int executeSql(String sql)int count=0;try Class.forName(“driver“) ; /加载驱动程序 Connection conn=DriverManager.getConnection(url) ; /创建连接 Sta

26、tement stmt=conn.createStatement(); /创建 statement 对象 count=stmt.executeUpdate(sql); /执行 SQL 语句,返回更新条数 catch(Exception e)e.printStackTrace();return count; /返回的 count0,表示操作成功114) 操作员管理设计1此模块要完成操作员或管理员的登录,因此界面设计得很乘法,只有【确定】和【取消】两个按钮,如图 3-1-1 所示。图 3-1-1 管理员和操作员登录窗口操作员登录系统由用户名和密码构成,输入用户名和密码后系统首先验证输入字符的有效性

27、,然后调用数据库查看此用户名是否存在、密码是否正确,然后再判断用户权限,从而确定是操作员还是管理员,根据权限的不同在执行主窗体中的 setEnable 过程时赋与不同的参数值。2此部分要完成添加新的操作员或管理员账号的功能,用户需要提供用户名、密码并选择登录权限,界面设计如图 3-2-1 所示。图 3-2-1 用户添加窗口登录权限采用 JcomboBox,密码和确认密码采用 JpasswordField。操作员的信息由用户名和密码构成,在操作员输入用户名和密码后,系统首先验证输入字符的有效性,再读取用户选择的登录权限,然后执行数据库的插入过程。3操作员密码或权限修改,这部分要实现友操作员或管理

28、员账号的密码或权限修改的12功能,用户需要提供用户名、原密码、亲密码和确认新密码或者要修改的权限,界面设计如图 3-3-1 所示。图 3-3-1 用户密码或权限修改窗口4操作员删除模块,这部分要实现支操作员或管理员账事情进行删除的功能,用户需要提供用户名和密码,界面如图 3-4-1 所示。图 3-4-1 用户删除窗口在操作员输入用户名和密码后,系统首先验证输入字符的有效性,然后调用数据库查看此用户名是否存在或密码是否正确,然后再执行更新过程。5) 书籍管理模块设计1添加书籍信息模块,这部分要实现添加书籍信息的功能,用户需要提供书籍信息的相关资料,从功能上考虑,界面设计如图 4-1-1 所示。1

29、3图 4-1-1 书籍信息添加窗口在操作员输入书籍信息的相关资料后,系统首先验证输入字符的有效性,然后再执行添加过程。2修改书籍信息模块,这部分要实现对书籍信息进行修改的功能,用户需要提供所要修改的书籍的名称,由功能考虑,界面设计如图 4-2-1 所示。在操作员输入书籍名称后,系统首先验证输入字符的有效性,然后市政用数据库对象执行更新过程。图 4-2-1 书籍信息更新窗口3删除书籍信息模块,这部分实现对书籍信息删除的功能,界面设计如图 4-3-1 所示。14图 4-3-1 书籍信息删除窗口在操作员打开此窗口后,窗体给出一个文本框,用来输入书籍名称,单击【确定】按钮后,执行相应的操作。6) 书籍

30、借出管理设计1书籍借出模块,这部分要实现支书籍借出的功能,用户需要提供借阅者姓名、书名和其他相关信息,系统首先验证输入的有效性,然后执行相关的数据库过程。界面设计如图 5-1-1 所示。点击【清空】按钮,会清空所有信息,输入借阅者姓名、借阅日期并选择要借书籍,点击【确定】按钮会保存此书借阅的相关信息到数据库。图 5-1-1 书籍借出窗口2书籍借出信息修改模块,这部分要实现对书籍借出信息修改的功能。窗体效果如图 5-2-1 所示。点击 【清空】按钮,会清空所有信息,输入借阅者姓名或书名点击【确定】按钮会调出此书相关信息, 【更新】按钮将保存你对所借阅信息的修改。15图 5-2-1 书籍借出信息修改窗口三、 实习(实训)总结与体会通过两个实训周的学习,我学到了不少新的东西,同时也温习了以前所学,老实说,实训的意义蛮大,特别是对我们动手、操作能力的培养,以及思维锻炼方面有非常大的作用,同时实训是我们平时的专业技能要求一个很好的体现,我们平时的掌握程度,通过实训,完全能够知道个大概,因为实训所涵盖的内容比较广,尽管就是我们平时的积累和学习,但是,要求明显有所提高。最后我希望在以后的学习生活中,能够很好的运用这所学知识,并且有更大的提高。参 考 资 料1java 教学课本 学习网站3百度网站4同学借鉴

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报