图书管理系统java课程设计报告

更新时间:2023-12-07 14:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

焦作大学信息工程学院 《Java实训》报告

题目:图书管理系统 班级:网络(1)班 姓名:张辉 学号:100302335

2011年 12 月22日

沈阳工程学院课程设计报告 目录

摘 要

随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。

我们本次的Java课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java编程为我们本次程序的编写提供了方便。在设计中我们主要进行了数据库及类的设计,把整系统分成了15个类和5个表。通过应用awt、swing、sql、util等包,合理的添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理的布局,完成了窗体的设计,并通过建立JDBC-ODBC桥接器连接到Access数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。

本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致谢、参考文献7大块。在绪论中介绍了本次课设选题的缘由及思想。系统功能介绍中详细介绍了本图书管理系统的整体思想及其具体功能。在数据库需求分析中详细说明了数据库的需求分析、概念设计及表的设计。在系统功能实现中主要通过抓图来体现设计的结果。总之,我们的整体设计思想均在报告中体现。

关键词: 图书馆管理系统,Java程序设计语言,Access数据库

目 录

摘 要 ..................................................................................................................................................... I 第1章 绪 论 .................................................................................................................................. 1 第2章 系统功能介绍 ........................................................................................................................ 2

2.1系统功能总框图 ..................................................................................................................... 2 2.2 模块功能介绍 ........................................................................................................................ 2

2.2.1 管理员模块功能介绍 .................................................................................................. 2 2.2.2 读者管理 ...................................................................................................................... 3 2.2.3书籍管理模块功能介绍 ............................................................................................... 3 2.2.4 书籍借阅与归还功能介绍 .......................................................................................... 4 2.2.5 借阅超时功能介绍 ...................................................................................................... 4

沈阳工程学院课程设计报告 目录

2.3 组内任务分工 ........................................................................................................................ 4 第3章 数据库设计 ............................................................................................................................ 5 3.1 数据库需求分析 .................................................................................................................... 5 3.2 数据库概念结构设计 ............................................................................................................ 5 3.3 数据库表的设计 .................................................................................................................... 6 第4章 系统功能实现 ........................................................................................................................ 8

4.1 管理员模块功能实现 ............................................................................................................ 8

4.1.1 管理员登陆 .................................................................................................................. 8 4.1.2 管理日志 .................................................................................................................... 10 4.1.3 管理员添加功能实现 ................................................................................................ 11 4.1.4 管理员切换 ................................................................................................................ 13

4.2 读者管理模块功能实现 ...................................................................................................... 14 4.2.1 读者添加 .................................................................................................................... 14 4.2.2 读者修改 .................................................................................................................... 15 4.2.3 读者查询 .................................................................................................................... 17 4.2.4 读者删除 .................................................................................................................... 18 4.3 书籍管理模块功能实现 ...................................................................................................... 19

4.3.1 新书入库实现 ............................................................................................................ 19 4.3.2查询功能实现 ............................................................................................................. 21 4.4 书籍借阅与归还功能实现 .................................................................................................. 23

4.4.1 借阅书籍功能实现 .................................................................................................... 23 4.4.2 归还书籍功能实现 .................................................................................................... 25 4.5 借阅超时功能实现 .............................................................................................................. 28 结 论 ................................................................................................................................................ 30 致 谢 ................................................................................................................................................ 31 参考文献 ............................................................................................................................................ 32

沈阳工程学院课程设计报告 第1章 绪论

第1章 绪 论

随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。书籍做为人类的精神食粮,在现代社会中越来越受到重视,大量的书籍出现在市场上,人们有了各种各样不同的选择。与此同时,为了管理大量的图书,图书管理系统也大量的出现,随着图书的大量增加,其管理难度也越来越大,如何优化管理也就成为了一个大众化的问题。

现已有的图书管理系统,其功能已十分强大,为了便于管理员对图书管理系统进行妥善的管理和读者的查询,图书管理系统为管理员提供了管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库等功能,为读者提供了书籍查询、读者借阅信息查询、图书网上续借等很多功能。

大学为我们提供了自由的学习环境,使我们有更多的时间到图书馆借阅书籍,让我们可以随时掌握各方面的知识,不断提高自我、充实自我,但由于图书馆藏书成千上万,我们很难一本一本的去查找自己感兴趣的书籍,因此我们会经常用到学校为我们提供的图书管理系统,用时间长了便对此产生了兴趣,正好本次课程设计为我们提供了良好的机会,让我们亲自设计并实现了图书管理系统的部分功能。

设计一个图书管理系统必不可少的必须对全管书籍进行分类汇总。而这就是我们所说的数据库设计的第一阶段:需求分析。在这一阶段除了对具体情况诸如实行对管理员的管理、对读者的管理、书籍管理、书籍的借阅与归还、借阅超时等功能的实现,还需要对用户的需求进行调查和分析,否则就失去了设计这个系统的意义了。

对于界面的设计我们应该追求的是:美观、易读性强、清晰度高;原则是:不能因为刻意追求美观而以整个界面的清晰度的牺牲作为代价,不能为了清晰度而抛弃对易读性的追求。再设计的过程中我们应该根据实际的情况进行设计,做到具体问题具体分析,不刻意追求原则。

在对应的界面与Access数据库建立连接,并实现对应的SQL语句进行实现将产生的结果显示出来。并运用捕捉异常的方法,将异常信息显示出来。

实现SQL语句的时候借助前台开发工具中关于数据处理的控件来完成。对于读者而言他们的需求是了解图书的基本情况,自己的借阅情况。总而言之就是实现对各个信息表的查询。对于图书管理员而言要实现的功能相对而言比较多,例如实现新书入库、Access数据库表的创建、系统的维护等等,这些都需要设计和实现的。

1

沈阳工程学院课程设计报告 第3章 数据库设计

表3-4 读者表

字段名称 图书证号 姓名 性别 系别 班级

数据类型 文 本 文 本 文 本 文 本 文 本

长 度 10 15 15 15 15

备 注

⒌borrowbook表

表内记录了此时图书的借阅情况,如表3-5所示。

表3-5 借阅表

字段名称 图书证号 书号 借阅日期 应还日期

数据类型 文 本 文 本 DATE DATE

长 度 10 15 15 15

备 注

7

沈阳工程学院课程设计报告 第4章 系统功能实现

第4章 系统功能实现

4.1 管理员模块功能实现

4.1.1 管理员登陆

此模块是整个系统最主要的部分,管理员可以通过此模块实现进入其余各个模块如管理日志、管理员添加、管理员切换、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、借阅书籍、归还书籍、借阅超时及退出的功能。图书管理系统管理员界面如图4-1所示。

图4-1 图书管理系统管理员

主要程序代码如下: public void actionPerformed(ActionEvent e) { if(e.getSource()==itemAdmiqh)

{

this.dispose();

In winin=new In(\系统登陆\}

if(e.getSource()==itemtc) {

System.exit(0); }

8

沈阳工程学院课程设计报告 第4章 系统功能实现

if(e.getSource()==itemAdmixj) {

CreatAdmi creatAdmi=new CreatAdmi(\管理员添加\}

if(e.getSource()==itemAdmirz) {

WinTable wintable=new WinTable(\管理日志\}

if(e.getSource()==itemBookrk) {

AddInfy addInfy=new AddInfy(); }

if(e.getSource()==itemPersonlr) {

Winpersonadd winperson=new Winpersonadd(\读者添加\}

if(e.getSource()==itemPersoncx) {

Winpersonsearch winperson=new Winpersonsearch(\读者信息查询\}

if(e.getSource()==itemPersonxg) {

Winpersonmodify winperson=new Winpersonmodify(\读者信息修改\}

if(e.getSource()==itemPersonsc) {

Winpersondelete winperson=new Winpersondelete(\读者删除\}

if(e.getSource()==itemBookcx) {

Windowjj ok=new Windowjj(); }

if(e.getSource()==itemchaoshi) {

day win=new day(); }

if(e.getSource()==itemBorrowjs) {

Borrowbook win=new Borrowbook();

9

沈阳工程学院课程设计报告 第4章 系统功能实现

} if(e.getSource()==itemBorrowhs) { Returnbook win=new Returnbook(); } }

4.1.2 管理日志

此模块通过定义类WinTable继承顶层容器JFrame,再添加普通容器 JScrollPane、Jpanel,然后通过BorderLayout布局创建界面,最后主要通过数组利用while循环在连接好的数据库中查找表Admirz中的内容,从而实现了可以清楚的显示出书籍借阅与归还信息的功能。管理日志界面如图4-2所示。

图4-2 管理日志

主要程序代码如下: WinTable(String s) {

super(s);

try { Class.forName(\ } catch(ClassNotFoundException e)

{ } try {

System.out.println(\

con=DriverManager.getConnection(\

sql=con.createStatement();

rs=sql.executeQuery(\while(rs.next()) { k++; }

10

沈阳工程学院课程设计报告 第4章 系统功能实现

} }

}

catch(SQLException e) { System.out.println(\ }

try { con=DriverManager.getConnection(\ sql=con.createStatement(); rs=sql.executeQuery(\ a=new Object[k][6]; while(rs.next()) {

for(int j=0;j<6;j++) { if(j<5) a[i][j]=rs.getString(j+1); else { a[i][j]=rs.getDouble(j+1); i++; } }

} con.close(); }

catch(SQLException e) { System.out.println(\ } table=new JTable(a,name); Container con=getContentPane();

getContentPane().add(new JScrollPane(table),BorderLayout.CENTER); setBounds(120,125,700,500);

setVisible(true); validate();

addWindowListener(new DisposeListener());

4.1.3 管理员添加功能实现

功能介绍:该程序主要实现管理员的添加,以便于让实行对图书管理员的管理。按照标

11

沈阳工程学院课程设计报告 第4章 系统功能实现

签提示输入信息,然后点击确定按钮。首先判断管理员名文本框中输入的文本信息是否符合大于3个字符并小于10个字符的规则,如果不符合规则,则提示错误,如果符合规则,再到Admi表中进行查询,如果相同则用提示框提示错误。若无相同则可注册。但还需要保证前后两次的密码相同,才能成功注册,管理员登陆窗口如图4-3所示。

图4-3 管理员添加成功界面

主要程序代码如下:

public void actionPerformed(ActionEvent c) { String b=textUser.getText(); String d=textPassword1.getText(); String g=textPassword2.getText(); if(c.getSource()==buttonqk) { textUser.setText(null); textPassword1.setText(null); textPassword2.setText(null); } if(c.getSource()==buttonEnter||c.getSource()==textPassword2) { if(b.length()<3||b.length()>10) { JOptionPane.showMessageDialog(null,\用户名应在3~10个字符之间\ textUser.setText(null); } else { try { Class.forName(\ } catch(ClassNotFoundException e) { System.out.println(\ } try { con=DriverManager.getConnection(\ sql=con.createStatement(); rs=sql.executeQuery(\用户名=\

12

沈阳工程学院课程设计报告 第4章 系统功能实现

}

if(rs.next()) {

String user=rs.getString(1); if(b.equals(user)) {

JOptionPane.showMessageDialog(null,\此管理员已被注册\警告\

} } else { if(d.equals(g)) {

sql.executeUpdate(\

VALUES\

this.dispose(); JOptionPane.showMessageDialog(null,\管理员注册成功\ }

else JOptionPane.showMessageDialog(null,\两次输入密码不一致\警告\

}

con.close(); }

catch(SQLException e)

{ System.out.println(\ } }}

4.1.4 管理员切换

此模块功能是退出当前管理员界面,进入管理员切换窗口,另一用户可以通过输入自己的用户名和密码直接进入该系统。但此用户名和密码都必须与已经连接好的数据库中表Admi中的用户名和密码相吻合。管理员切换界面如图4-4所示。

图4-4 管理员切换

13

沈阳工程学院课程设计报告 第4章 系统功能实现

主要程序代码如下:

public void windowClosing(WindowEvent e) {

e.getWindow().dispose(); }

4.2 读者管理模块功能实现

4.2.1 读者添加

功能介绍:添加新的读者,使其能够进入图书系统阅览图书,读者添加如图4-5所示。

图4-5 读者添加

主要程序代码如下:

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button1) // 添加 { String ch=text1.getText(); if(ch.length()!=5){ JOptionPane.showMessageDialog(null,\请输入5位图书证号!\ text1.setText(null); } else{ ……//连接数据库 String number,name,sex,dept,classes,record,insertStr; number=text1.getText(); name=text2.getText(); if(box1.getState()==true)

14

沈阳工程学院课程设计报告 第4章 系统功能实现

{

sex=box1.getLabel();

} else { sex=box2.getLabel(); } dept=text3.getText(); classes=text4.getText(); rs=sql.executeQuery(\* FROM person WHERE 图书证号=\

if(rs.next()){

JOptionPane.showMessageDialog(null,\此图书证号已存在\警告

\

text1.setText(null); }

record=\asses+\

insertStr=\ALUES\ sql.executeUpdate(insertStr); JOptionPane.showMessageDialog(null,\添加成功!\ con.close(); } 4.2.2 读者修改

功能介绍:对读者需要修改的资料进行重定义,读者信息修改如图4-6所示。

图4-6 读者信息修改

主要程序代码如下:

public void actionPerformed(ActionEvent e)

15

沈阳工程学院课程设计报告 第4章 系统功能实现

if(e.getSource()==button1) //修改 {

{

String ch=text1.getText(); if(ch.length()!=5){ JOptionPane.showMessageDialog(null,\请输入5位图书证号!\ text1.setText(null); }else{ try

{

……//连接数据库

String number,name,sex,dept,classes,newnum,record,updateStr; newnum=text5.getText(); number=text1.getText(); name=text2.getText(); if(box1.getState()==true) { sex=box1.getLabel(); }

else { sex=box2.getLabel(); }

dept=text3.getText(); classes=text4.getText(); sql=con.createStatement();

rs=sql.executeQuery(\* FROM person where 图书证号

=\

if(rs.next()){ rs1=sql.executeQuery(\* FROM person where 图书证号=\

if(rs1.next()){ JOptionPane.showMessageDialog(null,\此图书证号已存在\警告\

text1.setText(null); }else {

16

本文来源:https://www.bwwdw.com/article/6o7t.html

Top