图书馆管理系统项目开发设计报告Word格式文档下载.doc
- 文档编号:3666624
- 上传时间:2023-05-02
- 格式:DOC
- 页数:28
- 大小:1.35MB
图书馆管理系统项目开发设计报告Word格式文档下载.doc
《图书馆管理系统项目开发设计报告Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《图书馆管理系统项目开发设计报告Word格式文档下载.doc(28页珍藏版)》请在冰点文库上搜索。
系统具有良好的运行效率,能够达到提高工作效率的目的;
平台的设计具有一定的灵活性;
使用户在进行图书信息的查询能够更快、质量更高,因此建立图书管理信息系统是非常重要的。
1.2业务流程分析
图4—1业务流程图
通过图4-1业务流程图读者可以通过借阅请求,还书请求进行信息查询。
办理借阅进行借阅登记,办理还书进行借阅记录。
管理员通过办理借阅,办理还书帮助读者信息查询,图书信息要通过办理借阅办理还书进行更新修改。
读者信息也通过办理借阅办理还书进行更新修改。
1.3数据流程图
顶层数据流程图
图4-2数据流程图1
第一层数据流程图
图4-3数据流程图2
2系统设计
2.1功能模块设计
图4-4功能图
系统开发的主要目的是实现图书馆信息管理的系统化、规范化和自动化。
图书馆信息管理系统主要提供对图书信息的管理及读者信息的管理。
需要完成的主要功能有:
有关读者信息的输入、更新和查询;
图书信息的输入、更新和查询。
系统管理主要负责密码管理和用户管理,用户的登陆管理员对用户信息的管理。
读者信息系统主要负责管理读者信息的功能。
书籍信息管理主要负责书籍种类的分类,书籍信息等的管理功能。
借阅信息管理主要负责借书、还书信息的管理等功能进而对书籍信息及时更新。
2.2系统运行环境
我们采用的设备为Intel奔腾四以上系列等PC台式机和便携式电脑;
采用WINDOWS操作系统,运用,硬件接口采用标准的键盘、鼠标控制接口;
运用eclipse开发软件基于Java的可扩展开发平台的运行环境。
2.3数据库设计
2.3.1数据库逻辑设计
图4-5E-R图
图中各实体属性如下:
读者信息:
学号,姓名,性别,借阅证号,专业,班级
借阅证:
借阅证号,姓名,性别,办证日期
管理员:
管理员编号,管理员姓名,登陆密码
库存表:
书号,书名
借出书库:
书号,借阅证号,借书日期,归还日期
图书档案:
书号,书名,作者,出版社,类别,总数,在册数
2.3.2数据库逻辑设计
表1读书者信息表格
表中列名
数据类型
可否为空
说明
readerno
numeric
Notnull
读者编号
readername
varchar(10)
读者姓名
readersex
varchar(5)
读者性别
readerindate
datetime
借阅日期
表2图书信息表格
Bookid
numeric
Notnull(主键)
图书书号
Bookname
varchar(10)
null
图书名
Booktype
varchar(10)
图书类别
Bookauthor
varchar(10)
作者
booktpub
varchar(20)
notnull
图书出版社
bookpubdate
datetime
图书出版日期
Bookkeyword
bookindate
datetime
关键字
入库时间
bookputup
是否借出
booktypeno
numeric
图书种类编号
表3图书类别信息表
数据类型
booktypeno
图书类别编号
booktypename
图书类别名
booktypekeyword
图书关键词
表4用户信息表
username
用户姓名
password
numeric
用户密码
表5图书借阅表
borrowno
Notnul
借阅编号
bookid
readerno
readername
bookno
图书编号
bookname
书籍名称
borrowdate
借出日期
returndate
还书日期
2.4输入/输出设计
2.4.1公告模块设计
①确定数据依赖
关系名
主要函数依赖
管理员
管理员编号—→(管理员姓名,登陆密码)
库存信息
书号—→书名等
借出信息
(书号)—→(借书日期,借阅证号,归还日期)
借阅证
借阅证号—→(借阅证号,读者姓名,性别,专业,已借书册书,是否允许借书)
图书信息
书号—→(书号,书名,作者,出版社,单价,图书类别,入库日期)
还书信息
借阅证号—→(姓名,书号,书名,借出日期,还书日期)
②关系模式的优化
(1)借阅证信息:
借阅证(借阅证号,姓名,性别,单位,发证日期,已借书册书,是否允许借阅)
(2)管理员信息:
管理员信息(管理员编号,管理员姓名,登陆密码)
(3)库存信息:
库存信息(书号,书名)
(4)借书信息:
借书信息(书号,借阅证号,姓名,书名,借书日期)
(5)还书信息:
还书信息(姓名,书号,书名,借出日期,还书日期)
(6)图书信息:
图书档案(书号,书名,作者,图书类别,出版社,进册书,总数)
③关系模式的调整
虽然在关系模式的优化中将各种关系满足了BCNF范式的要求,但是对某些数据库的操作却并没有简化,相反导致了查询等操作的效率低下。
于是对‘借阅证信息’,和‘图书信息’作出了以下调整。
借阅证(借阅证号,姓名,性别,单位,已借书册数,借书许可)
(2)图书信息:
图书档案(书号,书名,作者,出版社,类别,在册数,总数)
2.4.2系统界面模块设计
1)登陆界面:
为用户提供登录功能,登陆时将检查用户名以及用户密码。
2)管理员界面:
管理员所拥有的功能。
3)添加读者信息:
下面的添加图书信息、添加借阅信息给添加读者信息一样的步骤。
,需要注意的是添加图书信息和添加借阅信息时有外键,要根据具体的信息进行添加。
4)读者信息更新:
更新所需要变动的读者信息。
图书信息更新、借阅信息更新给更新读者信息一样的步骤。
5)读者信息查询:
查询所需要的读者信息。
图书信息查询、借阅信息查询给读者信息查询一样的步骤。
6)进行删除读者信息:
删除所不需要的读者信息。
删除图书信息、删除借阅信息给删除读者信息一样的步骤。
3系统实施
如实现添加读者信息界面:
packageframe;
..省略
JTextFieldt=newJTextField();
JTextFieldt1=newJTextField();
JTextFieldt2=newJTextField();
JTextFieldt3=newJTextField();
JLabell=newJLabel("
请输入你要添加的读者信息"
);
JLabell1=newJLabel("
读者编号:
"
JLabell2=newJLabel("
读者姓名:
JLabell3=newJLabel("
读者性别:
JLabell4=newJLabel("
读者借书日期:
"
JButtonj=newJButton("
添加"
GridBagLayoutgrid;
GridBagConstraintscts;
publicInsertr(JFrames,Stringtitle){..省略实现如下界面:
如实现读者信息删除界面:
packageframe;
...省略
publicclassDeleterextendsJDialog{
JTextFieldt=newJTextField();
请输入你要删除的读者编号"
删除"
Stringreaderno;
publicDeleter(JFrames,Stringtitle){.....
}catch(Exceptionex){JOptionPane.showMessageDialog(null,"
请输入你要删除的读者编号\n"
return;
}
readersDao.delete(readerno);
}});
setResizable(false);
setVisible(true);
}实现如下界面:
4参考文献
《Java+SQLServer项目开发实践》,中国铁道出版社,苏年乐主编
《软件工程导论(第四版)》,清华大学出版社,张海藩主编
《JAVA语言程序设计(第三版)》,清华大学出版社,邵丽萍主编
《数据库设计与开发》,熊壮老师课件
《数据库原理与应用》,高等教育出版社,李红主编
附录(程序关键代码)
前台界面实现代码
importjavax.swing.*;
importbean.readers;
importdao.DAO;
importdao.readersDao;
importjava.awt.*;
importjava.awt.event.*;
importjava.io.Reader;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
publicclassLogicFrame{
Container c;
GridBagLayoutgrid;
GridBagConstraintscts;
JRadioButtonr,m;
ButtonGroupbtg;
JTextFieldtext1,text2;
staticStringzhanghao;
staticStringmima="
;
JFramef;
intitemjishu=0;
publicLogicFrame(){
grid=newGridBagLayout();
cts=newGridBagConstraints();
r=newJRadioButton("
读者"
m=newJRadioButton("
管理员"
true);
btg=newButtonGroup();
btg.add(r);
btg.add(m);
cts.gridx=4;
cts.gridy=6;
cts.gridwidth=1;
cts.gridheight=1;
grid.setConstraints(r,cts);
cts.gridx=5;
cts.gridy=6;
cts.gridwidth=1;
cts.gridheight=1;
grid.setConstraints(m,cts);
f=newJFrame("
中原工学院信息商务学院"
c=f.getContentPane();
c.setLayout(grid);
c.setBackground(Color.green);
Jradioj=newJradio();
m.addItemListener(j);
r.addItemListener(j);
c.add(m);
c.add(r);
addLabel();
cts.gridx=4;
cts.gridy=7;
JButtonbutton1=newJButton("
登陆"
grid.setConstraints(button1,cts);
cts.gridx=5;
cts.gridy=7;
cts.gridwidth=1;
cts.gridheight=1;
JButtonbutton2=newJButton("
退出"
grid.setConstraints(button2,cts);
c.add(button1);
button1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringzhanghao1;
try{
zhanghao1=text1.getText();
}catch(Exceptionex){
JOptionPane.showMessageDialog(null,"
请输入有效的账户名!
\n"
}
Stringmima1=text2.getText();
try{
Connectionconn=newDAO().getConn();
//获得连接
Stringsql="
selectusername,passwordfromuserinformationwhereusername=?
PreparedStatementps=conn.prepareStatement(sql);
ps.setString(1,zhanghao1);
//通过实体类的实例为第1个参数赋值
ResultSetrs=ps.executeQuery();
//执行查询
while(rs.next()){
zhanghao=rs.getString("
username"
mima=rs.getString("
password"
}
rs.close();
ps.close();
conn.close();
if((zhanghao.equals(zhanghao1))&
&
(mima.equals(mima1))){
Usera=newUser();
f.setVisible(false);
}
elseJOptionPane.showMessageDialog(null,"
请核对您的个人信息!
}
catch(Exceptionex){
JOptionPane.showMessageDialog(null,"
数据库链接失败!
+ex.getMessage());
}
}
});
c.add(button2);
button2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
});
cts.gridx=3;
cts.gridy=4;
cts.gridwidth=4;
cts.gridheight=1;
cts.fill=1;
text1=newJTextField();
text1.setBackground(Color.orange);
text1.setEditable(true);
grid.setConstraints(text1,cts);
cts.gridy=5;
cts.gridwidth=4;
cts.gridheight=1;
cts.fill=1;
text2=newJTextField();
text2.setBackground(Color.orange);
text2.setEditable(true);
grid.setConstraints(text2,cts);
c.add(text1);
c.add(text2);
f.setBounds(500,300,350,300);
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){
e.printStackTrace();
}
f.setResizable(false);
f.setVisible(true);
}
publicJLabelsetLabel(intx,inty,intkuan,intchang,Stringtitle){
cts.gridx=x;
cts.gridy=y;
cts.gridwidth=kuan;
cts.gridheight=chang;
JLabellabel=newJLabel(title);
grid.setConstraints(label,cts);
returnlabel;
}
voidaddLabel(){
c.add(setLabel(3,2,4,1,"
图书管理系统"
));
c.add(setLabel(2,4,1,1,"
账户:
c.add(setLabel(2,5,1,1,"
密码:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 项目 开发 设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)