图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx

上传人:b****5 文档编号:4106054 上传时间:2022-11-27 格式:DOCX 页数:21 大小:939.97KB
下载 相关 举报
图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx_第1页
第1页 / 共21页
图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx_第2页
第2页 / 共21页
图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx_第3页
第3页 / 共21页
图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx_第4页
第4页 / 共21页
图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx

《图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx(21页珍藏版)》请在冰豆网上搜索。

图书管理系统设计与实现图书管理与读者管理毕业设计论文.docx

图书管理系统设计与实现图书管理与读者管理毕业设计论文

图书管理系统设计与实现

──图书管理与读者管理

摘要:

随着科学技术的进步,信息管理系统彻底改变了很多的经营管理模式,图书管理是每个高校都必须面对的工作,一直以来,人们使用传统的人工方式管理图书资料及其借阅。

这种方式存在着许多缺点,如效率低、保密性差且繁琐。

因此,开发图书管理系统是一个亟待解决的问题。

本文从系统的总体架构、数据库设计、详细设计等思路出发,进行了总体设计、详细设计。

关键词:

图书;读者;管理系统;数据库

Abstract:

Withthedevelopmentofscientifictechnology,informationmanagementsystemcompletelychangedalotofbusinessmanagementmode,thebooksmanagementiseachuniversitymustfacework,peoplehavealwaysbeenusedthetraditionalmanualmodeanditsborrowingbooksdatamanagement.Thiswayhasmanyshortcomings,suchaslowefficiency,secrecybadandredtape.Therefore,thedevelopmentbooksmanagementsystemmanagementsystemisaproblemtobesolved.Thispaperfromthesystemofgeneralframework,databasedesign,detaileddesignviewpoint,theoveralldesign,detaileddesign.

Keywords:

Book;Reader;ManagementSystem;Database

1前言

1.1系统开发目的

图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。

提高图书馆的工作效率,降低管理成本。

其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。

前者要求建立起数据一致性各完整性强、数据安全性好的数据库。

而后者则要求应用程序具有功能完备、易用等特点。

因此本系统结合开放式图书馆的要求,采用javaswing技术和SQLSERVER2005数据库进行系统的开发。

1.2图书管理系统现状

1.2.1信息资源收集的现代化

现代社会信息资源丰富,信息污染也很严重,给图书馆信息资源的收集带来了极大麻烦。

传统图书馆时期,由于各种信息资源极大部分由正规渠道获得,经过图书期刊编辑人员的认真校对,信息质量相对可靠。

而现代化信息的载体以及出版发行方式发生了很大变化,各种光盘、印刷品、网上信息、声像读物等良莠不齐。

这就要求图书馆采编人员掌握多方面的信息源,运用现代化的各种手段,对各种信息做出尽可能正确的判断。

1.2.2图书馆服务的现代化

服务是图书馆的生命。

图书馆所做的一切工作,只有一个目的,就是做好图书馆的读者服务工作。

服务的现代化包括两个方面,一是图书馆工作人员服务的现代化,二是服务手段的现代化。

总之,我们通过对图书管理系统的分析,对管理系统在其他情况下的应用,有了一个基础性的了解与掌握。

同时,对热门图书的科学管理,进一步提高其利用率,不断满足读者日益旺盛的阅读需要,有着十分积极的现实意义。

2系统分析

2.1系统开发目标

该系统主要建立一个基于java的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低。

借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现。

2.2可行性研究

2.2.1技术可行性

技术可行性包括以下几个方面:

硬件,系统软件,应用软件,技术人员。

针对这四个方面可行性都是没有问题的,本系统采用java编程语言加SQLSrver2005数据库。

目前,数据库产品较多,每种产品都具有各自的特点和适用的范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围选择最合适的。

Java编程语言的风格十分接近C、C++语言。

Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

2.2.2操作可行性

本系统开发的开发宗旨是以便捷为中心。

开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。

2.3需求分析

2.3.1功能需求

经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。

以下是图书管理系统必须具备的功能:

1、基础数据维护

基础数据维护包括读者信息管理、图书类别管理、图书信息管理及退出系统。

各管理功能的明细如下:

(1)读者信息管理:

包括读者信息添加、读者信息修改与删除。

其中,读者信息添加包括读者的姓名,性别,年龄,职业,最大借书量,电话等等。

(2)图书类别管理:

包括图书类别添加、图收类别修改2部分能。

(3)图书信息管理:

包括图书信息添加、图书修改。

(4)退出系统

2、新书订购管理

新书订购管理部分包括新书订购、验收新书等操作。

各管理部分的明细如下:

(1)新书订购:

新书订购包括图书信息和订购信息,其中订购信息包括,订购日期、订购数量、是否验收、折扣等。

(2)验收新书:

主要是对订购的新书进行一个验证与接收。

3、借阅管理功能

借阅管理部分包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询操作。

各管理部分的明细如下:

(1)图书借阅:

包括添加借书信息和查询借书信息两部分功能。

其中,借书信息包括借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期。

(2)图书归还:

实现添加还书信息功能。

其中,还书信息与借书信息各部分明细相同。

(3)图书搜索:

实现对图书的搜索功能,以了解图书的各方面的信息。

4、系统维护

设置操作人员。

系统初始设置一个管理员用户名和密码,操作人员可以利用这个超级用户登录,之后,可以设置其他的操作人员名称。

2.3.2数据描述

经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。

构造系统逻辑模型的工具是数据流图和数据字典。

根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,如图2-1所示。

图2-1图书管理系统的基本系统模型

根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2-2所示。

图2-2图书管理系统数据流图(顶层DFD图)

对顶层DFD图中的一个加工“读者管理”进行展开,如图2-3。

图2-3细化后数据流图

对顶层DFD图中的一个加工“图书管理”进行展开,如图2-4。

图2-4“图书管理”展开

2.3.3性能需求

为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:

1、系统处理的准确性和及时性

2、系统的开放性和系统的可扩充性

4、系统的标准性

5、系统的先进性

6、系统的响应速度

2.3.4系统出错处理需求

在用户输入一些不合法数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统错误,或者程序停止运行;

2.4开发环境及运行环境

1、开发环境:

操作系统:

Windows7

开发工具:

myEclipse、JDK1.6

数据库系统:

SqlServer2005

2、运行环境

操作系统:

Windows7

数据库系统:

SqlServer2005

3总体设计

3.1系统功能结构设计

1、业务流程

根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图3.1。

图3.1图书管理系统的业务流程

针对新的业务流程,现具体描述其功能如下:

(1)操作员登录:

系统对操作员合法性进行检查。

(2)图书入库:

对新购进的图书分类进行编号,并把图书基本信息录入计算机。

(3)图书借阅:

对已入库的图书,读者可以借阅,并进行登记。

(4)图书归还:

对读者已归还的图书进行归还登记。

(5)管理措施:

定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。

2、系统功能模块图

依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如图3-2所示。

图3-2系统功能模块图

4详细设计

4.1界面设计

4.1.1界面设计概述

界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。

而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。

同时界面如同人的面孔,具有吸引用户的直接优势。

设计合理的界面能给用户带来轻松愉快的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户畏惧与放弃中付诸东流。

目前界面设计引已起软件设计人员的重视。

4.1.2主界面设计

启动程序后自动进入到管理员登入界面,当用户登入成功便跳转到主界面,如图4-1图书管理系统主界面所示:

图4-1图书管理系统主界面

4.2主要功能模块设计

4.2.1读者信息添加模块

(1)功能说明

读者界面包括对读者姓名、性别、年龄、职业、有效证件等。

主要的功能是对读者信息的一个注册,只有注册的用户才能进行借阅书籍。

在进行注册时如果有文本框是空则弹出一个提醒对话框,当读者编码与已有的读者重复时则在点击添加时将没有反映。

(2)流程图

读者信息添加模块的流程图如图4-1所示:

图4-1读者模块流程图

4.2.2图书类别管理模块

(1)功能说明

本模块包含图书类别的添加及图书类别的修改。

图书类别的添加主要是对图书类别的名称、此种图书可借阅的天数及超期后每天的罚款。

图书类别的修改是对图书类别添加时出现错误的修改。

(2)流程图

图书类别添加流程图如图4-2所示,图书类别修改流程图如图4-3所示。

图4-2图书类别添加流程图

图4-3类别修改的流程图

4.2.3图书信息管理模块

(1)功能说明

本模块包含二个功能,一个是对图书信息的添加,一个是对添加的图书信息进行修改。

图书信息主要包括,图书编号、类别、书名、作者、出版社、译者、出版日期、单价。

图书修改功能是对图书添加时出现错误的修改。

(2)流程图

图书信息添加操作流程图如图4-4所示,图书信息修改流程跟图书信息添加流程类似所以这里不给出。

图4-4图书信息添加操作流程图

4.2.4新书订购管理模块

(1)功能说明

该功能模块包含二个子功能,分别是新书订购和验收新书。

新书订购是对以已经在图书信息里面添加的图书进订购。

验收新书是对所新订购的新书进行验书。

(2)流程图

新书订购操作流程图如图4-5所示,验收新书操作流程比较简单这里就不画流程图。

 

图4-5新书订购操作流程图

4.2.5图书借阅功能模块

(1)功能说明

该功能是读者借书的一个功能,在正确填写读者编号、图书编号、以及没有超过读者的借书量才可以借书。

(2)流程图

图书借阅功能操作流程图如图4-6所示

图4-6图书借阅功能操作流程图

4.2.6图书归还功能模块

(1)功能说明

该模块的功能主要是借阅者图书的归还、查看是否超期如果超期将计算出超期后的罚款、图书的续借。

(2)流程图

图书归还操作流程图如图4-7所示

图4-7图书归还操作流程图

5系统实现

5.1关键技术的实现

5.1.1管理员登录模块的实现

管理员登录界面如图5-1所示

图5-1管理员登入界面

管理员登录对话框登录按钮监听器代码实现如下:

classBookLoginActionimplementsActionListener{

publicvoidactionPerformed(finalActionEvente){

user=Dao.check(username.getText(),password.getText());

if(user.getName()!

=null){

try{

Libraryframe=newLibrary();

frame.setVisible(true);

BookLoginIFrame.this.setVisible(false);

}catch(Exceptionex){

ex.printStackTrace();

}

}else{

JOptionPane.showMessageDialog(null,"只有管理员才可以登");

username.setText("");

password.setText("");

}

}

5.1.2读者信息修改与删除模块的实现

读者信息修改与删除界面如图5-2所示

图5-2读者信息修改与删除界面

读者信息修改与删除界面中修改与删除按钮的监听器代码实现如下:

privatefinalclassDelButtonListenerimplementsActionListener{

privatefinalDefaultTableModelmodel;

privateDelButtonListener(DefaultTableModelmodel){

this.model=model;

}

publicvoidactionPerformed(finalActionEvente){

inti=Dao.DelReader(ISBN.getText().trim());

if(i==1){

JOptionPane.showMessageDialog(null,"删除成功");

Object[][]results=getFileStates(Dao.selectReader());

model.setDataVector(results,columnNames);

table.setModel(model);

}

}

}

classModiButtonListenerimplementsActionListener{

privatefinalDefaultTableModelmodel;

ModiButtonListener(DefaultTableModelmodel){

this.model=model;

}

publicvoidactionPerformed(finalActionEvente){

if(readername.getText().length()==0){

OptionPane.showMessageDialog(null,"读者姓名文本框不可为空");

return;

}

if(keepmoney.getText().length()==0){

JOptionPane.showMessageDialog(null,"押金文本框不可为空");

return;

}

if(tel.getText().length()>11||tel.getText().length()<0){

JOptionPane.showMessageDialog(null,"电话号码位数小于11位");

return;

}

if(maxnumber.getText().length()==0){

JOptionPane.showMessageDialog(null,"最大借书量文本框不可为空");

return;

}

if(maxnumber.getText().length()>2||tel.getText().length()<0){

JOptionPane.showMessageDialog(null,"最大借书量为两位数字");

return;

}

Stringsex="1";

if(!

JRadioButton1.isSelected()){

sex="2";}

Stringzj=String.valueOf(comboBox.getSelectedIndex());

System.out.println(comboBox.getSelectedIndex());

inti=Dao.UpdateReader(id,readername.getText().trim(),sex,age.getText().trim(),zjnumber.getText().trim(),Date.valueOf(date.getText().trim()),maxnumber.getText().trim(),tel.getText().trim(),Double.valueOf(keepmoney.getText().trim()),zj,zy.getText().trim(),Date.valueOf(bztime.getText().trim()),ISBN.getTexti().trim());

System.out.println(i);

if(i==1){

JOptionPane.showMessageDialog(null,"修改成功");

Object[][]results=getFileStates(Dao.selectReader());

model.setDataVector(results,columnNames);

table.setModel(model);

}

}

}

5.1.3图书类别添加模块的实现

图书类别添加界面如图5-3所示

图5-3图书类别添加

图书类别添中保存按钮监听器代码实现如下:

button.addActionListener(newActionListener(){

publicvoidactionPerformed(finalActionEvente){

if(bookTypeName.getText().length()==0){

JOptionPane.showMessageDialog(null,"图书类别文本框不可为空");

return;

}

if(days.getText().length()==0){

JOptionPane.showMessageDialog(null,"可借天数文本框不可为空");

return;

}

if(fakuan.getText().length()==0||fakuan.getText().trim().equals("单位为角")){

JOptionPane.showMessageDialog(null,"罚款文本框不可为空");

return;

}

inti=Dao.InsertBookType(bookTypeName.getText().trim(),days.getText().trim(),Double.valueOf(fakuan.getText().trim())/10);

if(i==1){

JOptionPane.showMessageDialog(null,"添加成功!

");

doDefaultCloseAction();

}

}

})

5.1.4图书信息添加模块实现

图5-4图书信息添加

添加按钮监听器代码的实现

classaddBookActionListenerimplementsActionListener{publicvoidactionPerformed(finalActionEvente){

//订书业务

if(ISBN.getText().length()==0){

JOptionPane.showMessageDialog(null,"书号文本框不可以为空");

return;

}

StringISBNs=ISBN.getText().trim();

//分类

ObjectselectedItem=bookType.getSelectedItem();

if(selectedItem==null)

return;

Itemitem=(Item)selectedItem;

StringbookTypes=item.getId();

Stringtranslators=translator.getText().trim();

StringbookNames=bookName.getText().trim();

Stringwriters=writer.getText().trim();

Stringpublishers=publisher.getText().trim();

StringpubDates=pubDate.getText().trim();

Stringprices=price.getText().trim();

inti=Dao.Insertbook(ISBNs,bookTypes,bookNames,writers,translators,publishers,java.sql.Date.valueOf(pubDates),Double.parseDouble(prices));

if(i==1){

JOptionPane.showMessageDialog(null,"添加成功");

doDefaultCloseAction();

}

}

}

5.1.5图书借阅模块的实现

图书借阅功能界面如图5-5所示

图5-5图书借阅功能

图书借阅模块中借出图书按钮监听器代码实现如下

classBorrowActionListe

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

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1