图书管理系统设计与实现图书管理与读者管理毕业设计论文Word格式.docx
- 文档编号:17022076
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:21
- 大小:939.97KB
图书管理系统设计与实现图书管理与读者管理毕业设计论文Word格式.docx
《图书管理系统设计与实现图书管理与读者管理毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现图书管理与读者管理毕业设计论文Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
传统图书馆时期,由于各种信息资源极大部分由正规渠道获得,经过图书期刊编辑人员的认真校对,信息质量相对可靠。
而现代化信息的载体以及出版发行方式发生了很大变化,各种光盘、印刷品、网上信息、声像读物等良莠不齐。
这就要求图书馆采编人员掌握多方面的信息源,运用现代化的各种手段,对各种信息做出尽可能正确的判断。
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、运行环境
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)功能说明
本模块包含图书类别的添加及图书类别的修改。
图书类别的添加主要是对图书类别的名称、此种图书可借阅的天数及超期后每天的罚款。
图书类别的修改是对图书类别添加时出现错误的修改。
图书类别添加流程图如图4-2所示,图书类别修改流程图如图4-3所示。
图4-2图书类别添加流程图
图4-3类别修改的流程图
4.2.3图书信息管理模块
本模块包含二个功能,一个是对图书信息的添加,一个是对添加的图书信息进行修改。
图书信息主要包括,图书编号、类别、书名、作者、出版社、译者、出版日期、单价。
图书修改功能是对图书添加时出现错误的修改。
图书信息添加操作流程图如图4-4所示,图书信息修改流程跟图书信息添加流程类似所以这里不给出。
图4-4图书信息添加操作流程图
4.2.4新书订购管理模块
该功能模块包含二个子功能,分别是新书订购和验收新书。
新书订购是对以已经在图书信息里面添加的图书进订购。
验收新书是对所新订购的新书进行验书。
新书订购操作流程图如图4-5所示,验收新书操作流程比较简单这里就不画流程图。
图4-5新书订购操作流程图
4.2.5图书借阅功能模块
该功能是读者借书的一个功能,在正确填写读者编号、图书编号、以及没有超过读者的借书量才可以借书。
图书借阅功能操作流程图如图4-6所示
图4-6图书借阅功能操作流程图
4.2.6图书归还功能模块
该模块的功能主要是借阅者图书的归还、查看是否超期如果超期将计算出超期后的罚款、图书的续借。
图书归还操作流程图如图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;
}
inti=Dao.DelReader(ISBN.getText().trim());
if(i==1){
删除成功"
Object[][]results=getFileStates(Dao.selectReader());
model.setDataVector(results,columnNames);
table.setModel(model);
}
classModiButtonListenerimplementsActionListener{
ModiButtonListener(DefaultTableModelmodel){
if(readername.getText().length()==0){
OptionPane.showMessageDialog(null,"
读者姓名文本框不可为空"
return;
if(keepmoney.getText().length()==0){
押金文本框不可为空"
if(tel.getText().length()>
11||tel.getText().length()<
0){
JOptionPane.showMessageDialog(null,"
电话号码位数小于11位"
if(maxnumber.getText().length()==0){
JOptionPane.showMessageDialog(null,"
最大借书量文本框不可为空"
if(maxnumber.getText().length()>
2||tel.getText().length()<
最大借书量为两位数字"
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);
修改成功"
5.1.3图书类别添加模块的实现
图书类别添加界面如图5-3所示
图5-3图书类别添加
图书类别添中保存按钮监听器代码实现如下:
button.addActionListener(newActionListener(){
publicvoidactionPerformed(finalActionEvente){
if(bookTypeName.getText().length()==0){
图书类别文本框不可为空"
return;
if(days.getText().length()==0){
可借天数文本框不可为空"
if(fakuan.getText().length()==0||fakuan.getText().trim().equals("
单位为角"
)){
罚款文本框不可为空"
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){
书号文本框不可以为空"
StringISBNs=ISBN.getText().trim();
//分类
ObjectselectedItem=bookType.getSelectedItem();
if(selectedItem==null)
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));
添加成功"
doDefaultCloseAction();
5.1.5图书借阅模块的实现
图书借阅功能界面如图5-5所示
图5-5图书借阅功能
图书借阅模块中借出图书按钮监听器代码实现如下
classBorrowActionListe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 实现 读者 毕业设计 论文