wzm图书管理系统设计流程.docx
- 文档编号:7580513
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:13
- 大小:226.28KB
wzm图书管理系统设计流程.docx
《wzm图书管理系统设计流程.docx》由会员分享,可在线阅读,更多相关《wzm图书管理系统设计流程.docx(13页珍藏版)》请在冰豆网上搜索。
wzm图书管理系统设计流程
图书管理系统
设计人:
一、项目介绍
二、需求分析
三、界面设计
四、程序设计
五、主要技术文档
一、项目介绍
项目名称:
java图书管理系统
1.1设计目的
背景:
随着图书馆规模的不断扩大,图书数量的不断增多,有关图书的各种信息量也是成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书管理上的混乱,人力与物力过多浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和管理控制,因此,必须制定一套合理有效规范图书管理系统,对图书资料进行统一的管理。
另一方面,IT产业和Internet获得了飞速的发展,计算机应用已经渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高计算机管理的工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
目标:
实现图书管理的管理员的注册(权限登录)、管理员修改密码、图书入库、图书查询、图书删除、图书信息修改、图书借阅、图书归还、图书借阅信息等简单功能。
二、需求分析
将学生图书管理系统的功能总结起来,其需要实现以下几个方面功能。
系统共有六个功能模块:
(1)系统管理:
用户登录,退出系统;
(2)用户管理:
管理员注册,管理员密码修改,管理员删除;(3)书籍管理:
图书入库,图书信息修改,图书删除;(4)借阅管理:
书籍借阅,书籍借阅信息修改;(5)还书管理:
书籍归还,书籍归还信息修改;(6)显示信息:
书籍列表,管理员列表,书籍借阅信息列表,而且支持管理权限登录。
三、界面设计
(1)界面设计分别采用了流式布局与自由布局方式:
自由布局代码如下:
publicJFrameframe;
publicJLabell_title,l_bn,l_publish,l_writer,l_data,l_cost,l_total,
l_note;
publicJTextFieldt_bookname,t_company,t_author,t_data,t_cost,
t_number,t_note;
publicJButtonb_clear,b_add,b_back;
publicJPanelpan1;
NetConnsql;
Statementsqll;
Stringa1,a2,a3,a4,a5,a6,a7;
Addbooks(){
super("添加书籍窗口");
pan1=newJPanel();
l_title=newJLabel("添加书籍");
l_title.setBounds(100,40,80,20);
pan1.add(l_title);
l_bn=newJLabel("书 名:
");
l_bn.setBounds(60,100,80,20);
pan1.add(l_bn);
l_publish=newJLabel("出版社:
");
l_publish.setBounds(60,140,80,20);
pan1.add(l_publish);
l_writer=newJLabel("作 者:
");
l_writer.setBounds(60,180,80,20);
pan1.add(l_writer);
l_data=newJLabel("出版日期:
");
l_data.setBounds(60,220,80,20);
pan1.add(l_data);
l_cost=newJLabel("价 格:
");
l_cost.setBounds(60,260,80,20);
pan1.add(l_cost);
l_total=newJLabel("新书数量:
");
l_total.setBounds(60,300,80,20);
pan1.add(l_total);
l_note=newJLabel("备 注:
");
l_note.setBounds(60,340,80,20);
pan1.add(l_note);
t_bookname=newJTextField();
t_bookname.setBounds(150,100,120,20);
pan1.add(t_bookname);
t_company=newJTextField();
t_company.setBounds(150,140,120,20);
pan1.add(t_company);
t_author=newJTextField();
t_author.setBounds(150,180,120,20);
pan1.add(t_author);
t_data=newJTextField();
t_data.setBounds(150,220,120,20);
pan1.add(t_data);
t_cost=newJTextField();
t_cost.setBounds(150,260,120,20);
pan1.add(t_cost);
t_number=newJTextField();
t_number.setBounds(150,300,120,20);
pan1.add(t_number);
t_note=newJTextField();
t_note.setBounds(150,340,120,20);
pan1.add(t_note);
b_clear=newJButton("重置");
b_clear.setBounds(210,380,60,20);
pan1.add(b_clear);
b_add=newJButton("確定");
b_add.setBounds(40,380,60,20);
pan1.add(b_add);
b_back=newJButton("退出");
b_back.setBounds(120,380,60,20);
pan1.add(b_back);
b_clear.addActionListener(this);
b_add.addActionListener(this);
b_back.addActionListener(this);
pan1.setLayout(null);
createComponent();
sql=newNetConn();
}
publicvoidcreateComponent(){
frame=newJFrame();
frame.setVisible(true);
frame.add(pan1);
frame.setSize(300,500);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("添加书籍窗口");
}
流式布局代码如下:
publicJLabeltitle,borrower,bookname,borrowdata,note;
publicJTextFieldt_borrower,t_bookname,t_borrowdata,t_note;
publicJButtonb_enter,b_clear,b_back;
publicJPanelpan1,pan2,pan3,pan4,pan5,pan6;
publicDated;
publicStringbooksname,booksnumber;
NetConnsql;
Statementsqll;
ResultSetrs;
Borrow(){
//界面布局
title=newJLabel("图书借阅窗口");
borrower=newJLabel("借阅者:
");
bookname=newJLabel("书名:
");
borrowdata=newJLabel("日期:
");
note=newJLabel("备注:
");
t_borrower=newJTextField("",11);
t_bookname=newJTextField("",11);
t_borrowdata=newJTextField("",11);
d=newDate();
t_borrowdata.setText("");
t_note=newJTextField("",11);
b_enter=newJButton("确定");
b_clear=newJButton("重置");
b_back=newJButton("返回");
b_enter.addActionListener(this);
b_clear.addActionListener(this);
b_back.addActionListener(this);
pan1=newJPanel();
pan2=newJPanel();
pan3=newJPanel();
pan4=newJPanel();
pan5=newJPanel();
pan6=newJPanel();
pan1.add(title);
pan2.add(borrower);
pan2.add(t_borrower);
pan3.add(bookname);
pan3.add(t_bookname);
pan4.add(borrowdata);
pan4.add(t_borrowdata);
pan5.add(note);
pan5.add(t_note);
pan6.add(b_enter);
pan6.add(b_clear);
pan6.add(b_back);
setLayout(newGridLayout(6,1));
add(pan1);
add(pan2);
add(pan3);
add(pan4);
add(pan5);
add(pan6);
//建立数据库连接
sql=newNetConn();
//设置窗口大小
setBounds(400,100,400,500);
}
(2)添加了背景图片与背景音乐:
4、程序设计:
登录类模块:
LoginIn.java.
(1):
可以通过判断管理员的权限进而对整个程序的使用进行限制,
while(rs.next()){
sname=rs.getString
(2);
spass=rs.getString(3);
sunit=Integer.parseInt(rs.getString(4));
if(t_pass.getText().equals(spass)){
switch(sunit){
case1:
{
t_name.setText("");
t_pass.setText("");
lbox=newLibrarybox();
lbox.message.setEnabled(true);
lbox.bookmanager.setEnabled(true);
lbox.borrowing.setEnabled(true);
lbox.back.setEnabled(true);
lbox.sym.setEnabled(true);
lbox.setVisible(true);
this.dispose();
break;
}
case2:
{
JOptionPane.showMessageDialog(null,
"用户二成功登陆");
t_name.setText("");
t_pass.setText("");
lbox=newLibrarybox();
lbox.message.setEnabled(false);
lbox.bookmanager.setEnabled(false);
lbox.borrowing.setEnabled(true);
lbox.back.setEnabled(false);
lbox.sym.setEnabled(false);
lbox.setVisible(true);
this.dispose();
break;
}
case3:
{
JOptionPane.showMessageDialog(null,
"用户三成功登陆");
t_name.setText("");
t_pass.setText("");
lbox=newLibrarybox();
lbox.message.setEnabled(true);
lbox.bookmanager.setEnabled(false);
lbox.borrowing.setEnabled(false);
lbox.back.setEnabled(true);
lbox.sym.setEnabled(false);
lbox.userlist.setEnabled(false);
lbox.setVisible(true);
this.dispose();
break;
}
}
}
(2):
如果登录密码或者账号不输入
会提示
如果账号与密码不符会提示
(3)添加用户Adduser.java时设置了添加用户的使用权限
(4)借阅图书系统borrow.java
当借阅的图书不在库中会提示
当要借阅书的数量为零时
而且当借阅时数据库中的books.dbo中的书籍数量conun会自动减一。
(5)还书系统:
backbook.Java
当归还图书时数据库中的books.dbo中的书籍数量conun会自动增加一。
(6)书籍列表booklist.java可以输入图书信息查询图书详细包括图书价格,出版社,数量,
(7)书籍借阅列表可以显示书籍当前的借阅情况:
是否归还,借阅日期,归还日期等
五、主要技术文档
(1)添加音乐:
importjava.applet.AudioClip;
importjava.applet.Applet;
import.MalformedURLException;
import.URL;
try{
URLcb;
Filef=newFile("e:
\\feichenwurao4.wav");//引号里面的是音乐文件所在的绝对路径
cb=f.toURL();
AudioClipaau;
aau=Applet.newAudioClip(cb);
//aau.play();//单曲播放
//aau.stop();//停止播放
//aau.loop();//循环播放
LibraryMsframe=newLibraryMs();
(2)添加背景图
PublicJMenuItemaboutbook
aboutbook=newJLabel();
aboutbook.setIcon(newImageIcon("addbook.jpg"));
aboutbook.setBounds(0,25,779,521);
add(aboutbook);
(4)归还借阅图书书籍数量自动增减一。
Stringminus="updatebookssetconun="
+"conun-1"+"wherebookname="+s3;
sqll.executeUpdate(minus);
Stringadd="updatebookssetconun="
+"conun+1"+"wherebookname="+s3;
sqll.executeUpdate(minus);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- wzm 图书 管理 系统 设计 流程