java图书管理系统_第1页
java图书管理系统_第2页
java图书管理系统_第3页
java图书管理系统_第4页
java图书管理系统_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.设计目的管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。本题目实现的是网络数据库管理系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。2.设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进

2、行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。该系统主要包括用户登录子系统、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分主要功能如下:用户登录子系统:用于数据库的连接,主界面的设计和不同身份用户的登录管理。用户管理子系统:用于用户信息的管理,如用户添加、用户信息修改、用户删除。图书管理子系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。图书借阅与归还子系统:用于用户借阅和归还图书。图书和用户信息查询:图书和用户信息的查询。3.开发和运行环境介绍开发语言:前

3、台开发语言为java,后台数据库为SQL server2000运行环境:eclipseEclipse是著名的跨平台的自有(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。4.需求分析4.1系统需求描述实现管理员对用户的增删改查,对图书信息增删查改、图书借阅信息的修改以,实现用户对图书的查找、借阅、续借、归还以及修改密码。该系统主要包括用户登录子系统、

4、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分主要功能如下:用户登录子系统:用于数据库的连接,主界面的设计和不同身份用户的登录管理。用户管理子系统:用于用户信息的管理,如用户添加、用户信息修改、用户删除。图书管理子系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。图书借阅与归还子系统:用于用户借阅和归还图书。图书和用户信息查询:图书和用户信息的查询。4.2系统功能结构图图书管理系统用户登录用户信息管理图书信息管理借阅信息管理管理员登录工作人员登录用户登录用户信息增加 用户信息删除用户信息查询用户信息修改图书信息增加图书信息删除图书信息修

5、改图书信息查询用户借书归还图书用户续借借阅信息查询图 1 图书管理系统系统流程图4.3 系统E-R图 用户用户ID权限用户名已借书数量密码借书上限图 2 用户实体图备注图书剩余数量作者图书ID图书出版社图书总数量价格出版日期书籍名称图3 书籍实体图1毕业设计选题系统N用户借阅还书日期借书日期图书图 4 实体属性图4.5数据库表结构表1 图书信息表字段名称字段类型长度是否为空备注图书id数字4否主键图书名称数字4出版社文本50作者文本50出版日期时间4价格文本50图书总数量数字4否图书剩余量数字4否备注文本50表2 用户借阅表字段名称数据类型长度是否为空备注用户id数字4否主键图书id数字4否主

6、键借书日期时间8否还书日期时间8备注文本50是否归还文本50否表3用户信息表字段名称字段类型长度是否为空备注用户id数字4否主键用户名文本50否用户密码文本50否权限文本50否已借书数数字4否借书上限数数字4否5.系统设计与实现5.1 模块功能描述1在整个图书管理系统中用户登录子系统(杨静)的设计,主要包括如下功能:连接远程数据库:首先建立连接,然后配置数据源。整个界面的设计:主框架,点击按钮分别触发事件。用户登录:管理员,图书馆工作人员,普通用户分别实现进入自己的界面。2在整个图书管理系统中用户管理子系统(庞聪)的设计,主要包括如下功能:用户添加:用于添加用户信息。用户信息修改:管理员可以修

7、改用户所有信息,用户可以修改自己的密码。用户删除:用于删除用户信息。包括按用户id和密码删除。3在整个图书馆管理系统中图书管理子系统(相如佩)的设计,主要包括如下功能:图书添加:用于添加图书信息。图书信息修改:管理员可以修改图书所有信息。图书删除:用于删除图书信息。包括按图书id删除。4在整个图书馆管理系统中图书借阅管理子系统(焉文臣)的设计,主要包括如下功能:借阅图书:用户借书。续借:通过改变归还日期来续借。借阅信息显示:管理员和工作人员可以查看所有用户借阅信息,普通用户只可以查看自己的借阅信息。5在整个图书馆管理系统中图书和用户信息查询子系统(乔霞)的设计,主要包括如下功能:图书信息查询:

8、可以查询所有图书信息,也可以根据图书id,图书名称,作者,出版社进行图书检索。用户信息查询:用于查询用户信息。5.2 软件实现用户登录子系统:连接数据库:import java.sql.*;public class NetConn /建立数据库连接类Connection con;Statement sql;public Statement connect()try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e1) try con=DriverManager.getConnection(jd

9、bc:odbc:liber_db,sa,123); sql=con.createStatement(); catch(SQLException e2) return sql;主框架:public class library public static void main(String args) Librarybox mf=new Librarybox(); mf.mi_system_alogin.setEnabled(false); mf.bookse.setEnabled(false); mf.bookth.setEnabled(false); mf.bookfo.setEnabled(f

10、alse); mf.bookfi.setEnabled(false); mf.mi_system_manger.setEnabled(false); public class Librarybox extends JFrame implements ActionListener JLabel mlabel,tlabel;JMenuBar mainmenu;static JMenu system,bookse,bookth,bookfo,bookfi,booksex,mi_system_manger;JMenuItem mi_system_login,mi_system_alogin,mifi_

11、system_adduser,mifi_system_moduser,mifi_system_deluser,mi_system_exit;JMenuItem se_book_addbook,se_book_modifybook,se_book_delbook;JMenuItem th_book_borrowmsg,th_book_borrowmsgmodif;JMenuItem fo_book_returnmsg;JMenuItem fi_msglabel_book,fi_msglabel_borrow,fi_msglabel_user;JMenuItem sex_edition;Login

12、frm frml=null;Adduser frma=null;Mdiuser frmm=null;Deluser frmd=null;Addbookfrm frmab;Mdibookfrm frmmb;Delbookfrm frmdb;Borbookfrm frmbb;BorMsgbookfrm frmbmb;Booklistfrm frmbl;Borlistbookfrm frmblb;Userlistfrm frmul;ReturnMsgbookfrm frmrmb;Returnbookfrm frmrb;Readme frmread;Message msg;int id=0;int u

13、nit=3;Librarybox()super(图书管理系统);frml=new Loginfrm(this,登录窗口,client,msg);frma=new Adduser(this,添加用户,client,msg);frmm=new Mdiuser(this,修改用户,client,msg);frmd=new Deluser(this,删除用户,client,msg);setLayout(new GridLayout(4,1);Font myFont1=new Font(楷体_GB2312,Font.BOLD,60);Font myFont2=new Font(楷体_GB2312,Fon

14、t.BOLD,40);mlabel=new JLabel(图书管理系统 );tlabel=new JLabel(请在系统管理中进行登录);mlabel.setFont(myFont1);tlabel.setFont(myFont2);add(mlabel);add(tlabel);mainmenu=new JMenuBar();system=new JMenu(系统管理);mi_system_login=new JMenuItem(用户登录);mi_system_alogin=new JMenuItem(重新登录);mi_system_manger=new JMenu(用户管理);mifi_s

15、ystem_adduser=new JMenuItem(添加用户);mifi_system_moduser=new JMenuItem(修改用户);mifi_system_deluser=new JMenuItem(删除用户);mi_system_manger.add(mifi_system_adduser);mi_system_manger.add(mifi_system_moduser);mi_system_manger.add(mifi_system_deluser);mi_system_exit=new JMenuItem(退出);mi_system_login.addActionLi

16、stener(this);mi_system_alogin.addActionListener(this);mi_system_exit.addActionListener(this);mifi_system_adduser.addActionListener(this);mifi_system_moduser.addActionListener(this);mifi_system_deluser.addActionListener(this);system.add(mi_system_login);system.add(mi_system_alogin);system.add(mi_syst

17、em_manger);system.addSeparator();/添加分隔线system.add(mi_system_exit);mainmenu.add(system);bookse=new JMenu(书籍管理 );se_book_addbook=new JMenuItem(添加书籍);se_book_modifybook=new JMenuItem(修改书籍);se_book_delbook=new JMenuItem(删除书籍);se_book_addbook.addActionListener(this);se_book_modifybook.addActionListener(t

18、his);se_book_delbook.addActionListener(this);bookse.add(se_book_addbook);bookse.add(se_book_modifybook);bookse.add(se_book_delbook);mainmenu.add(bookse);bookth=new JMenu(借阅管理 );th_book_borrowmsg=new JMenuItem(借书窗口);th_book_borrowmsgmodif=new JMenuItem(续借窗口);th_book_borrowmsg.addActionListener(this);

19、th_book_borrowmsgmodif.addActionListener(this);bookth.add(th_book_borrowmsg);bookth.add(th_book_borrowmsgmodif);mainmenu.add(bookth);bookfo=new JMenu(还书管理);fo_book_returnmsg=new JMenuItem(还书窗口);fo_book_returnmsg.addActionListener(this);bookfo.add(fo_book_returnmsg);mainmenu.add(bookfo);bookfi=new JM

20、enu(信息);fi_msglabel_book=new JMenuItem(书籍列表);fi_msglabel_borrow=new JMenuItem(借阅情况表);fi_msglabel_user=new JMenuItem(用户列表);fi_msglabel_book.addActionListener(this);fi_msglabel_borrow.addActionListener(this);fi_msglabel_user.addActionListener(this);bookfi.add(fi_msglabel_book);bookfi.add(fi_msglabel_b

21、orrow);bookfi.add(fi_msglabel_user);mainmenu.add(bookfi);booksex=new JMenu(帮助);sex_edition=new JMenuItem(制作信息及版本);sex_edition.addActionListener(this);booksex.add(sex_edition);mainmenu.add(booksex);this.setJMenuBar(mainmenu);Toolkit tool=getToolkit();Dimension dim=tool.getScreenSize();setBounds(0,0,d

22、im.width,dim.height);this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getActionCommand()=退出)dispose();System.exit(0);else if(e.getActionCommand()=添加用户)frma.setVisible(true);else if(e.getActionCommand()=用户登录)this.setVisible(false);this.dispose();frml.setVisible(true);else if(e.get

23、ActionCommand()=重新登录)this.dispose();frml.setVisible(true);else if(e.getActionCommand()=修改用户)frmm.setVisible(true);if(unit=3)Mdiuser.t_mid.setText(String.valueOf(id);Mdiuser.t_mid.disable();Mdiuser.c_munit.select(3);Mdiuser.c_munit.disable();else if(e.getActionCommand()=删除用户)frmd.setVisible(true);els

24、e if(e.getActionCommand()=添加书籍) frmab=new Addbookfrm(); frmab.setVisible(true);else if(e.getActionCommand()=修改书籍)frmmb=new Mdibookfrm();frmmb.setVisible(true);else if(e.getActionCommand()=删除书籍)frmdb=new Delbookfrm();frmdb.setVisible(true);else if(e.getActionCommand()=借书窗口)frmbb=new Borbookfrm();frmb

25、b.setVisible(true);else if(e.getActionCommand()=续借窗口)frmbmb=new BorMsgbookfrm();frmbmb.setVisible(true);BorMsgbookfrm.t_bookid.disable();BorMsgbookfrm.t_data.disable();else if(e.getActionCommand()=还书窗口)frmrb=new Returnbookfrm();frmrb.setVisible(true);else if(e.getActionCommand()=还书信息修改)frmrmb=new Re

26、turnMsgbookfrm();frmrmb.setVisible(true);else if(e.getActionCommand()=书籍列表)frmbl=new Booklistfrm();frmbl.setVisible(true);else if(e.getActionCommand()=借阅情况表)frmblb=new Borlistbookfrm();frmblb.setVisible(true);else if(e.getActionCommand()=用户列表)frmul=new Userlistfrm();frmul.setVisible(true);else if(e.

27、getActionCommand()=制作信息及版本)frmread=new Readme();frmread.setVisible(true);用户登录:class Loginfrm extends Dialog implements ActionListener JLabel l_name,l_pass,l_error;JTextField t_name;JButton b_enter,b_cancle,b_clear;JPanel pan1,pan2,pan3,pan4;JPasswordField t_pass;String sname,spass;int sunit;NetConn

28、sql;Statement sqll;ResultSet rs;Librarybox lbox;int until=0;Client client;Message msg;Loginfrm(Frame f,String s,Client client,Message msg)/界面布局super(f,s);l_name=new JLabel(名字:);l_pass=new JLabel(密码:);l_error=new JLabel(请输入用户名和密码登录);t_name=new JTextField(,10);t_pass=new JPasswordField(,10);t_pass.set

29、EchoChar(*);b_enter=new JButton(确定);b_enter.addActionListener(this);b_cancle=new JButton(取消);b_cancle.addActionListener(this);b_clear=new JButton(清除);b_clear.addActionListener(this);pan1=new JPanel();pan2=new JPanel();pan3=new JPanel();pan4=new JPanel();pan1.add(l_name);pan1.add(t_name);pan2.add(l_p

30、ass);pan2.add(t_pass);pan3.add(l_error);pan4.add(b_enter);pan4.add(b_cancle);pan4.add(b_clear);setLayout(new GridLayout(4,1);add(pan1);add(pan2);add(pan3);add(pan4);/建立数据库连接sql=new NetConn();/设置窗口大小setBounds(400,200,300,300);setVisible(false);this.client = client;this.msg = msg;public void actionPer

31、formed(ActionEvent e)/单击确定按钮的事件处理程序if(e.getSource()=b_enter)if(until=4)/如果用户名或者密码为空,将显示提示信息 if(t_name.getText().equals()|t_pass.getPassword().equals() l_error.setText(用户名和密码不能为空); else try sqll=sql.connect(); /根据用户名查询 rs=sqll.executeQuery(SELECT * FROM users where username=+t_name.getText()+); /遍历查询

32、得到的结果集 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) case 1: /l_error.setText(登录成功); this.dispose(); JOptionPane.showMessageDialog(this,登录成功,欢迎使用图书馆管理系统!,

33、,JOptionPane.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); lbox=new Librarybox(); lbox.bookfi.setEnabled(true); lbox.bookse.setEnabled(true); lbox.bookth.setEnabled(true); lbox.bookfo.setEnabled(true); lbox.mi_system_manger.setEnabled(true); lbox.setVisible(true); lbox.unit=1; Borlistbookfrm.unit=1; t_name.s

34、etText(); t_pass.setText(); break; case 2: /l_error.setText(登录成功); this.dispose(); JOptionPane.showMessageDialog(this,登录成功,欢迎使用图书馆管理系统!, ,JOptionPane.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); lbox=new Librarybox(); lbox.bookfi.setEnabled(true); lbox.bookse.setEnabled(false); lbox.bookth.setEnabled(true);

35、 lbox.bookfo.setEnabled(false); lbox.mi_system_manger.setEnabled(false); lbox.fi_msglabel_user.setEnabled(false); lbox.setVisible(true); lbox.unit=2; Borlistbookfrm.unit=2; t_name.setText(); t_pass.setText(); break; case 3: this.dispose(); JOptionPane.showMessageDialog(this,登录成功,欢迎使用图书馆管理系统!, ,JOpti

36、onPane.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); lbox=new Librarybox(); lbox.bookfi.setEnabled(true); lbox.bookse.setEnabled(false); lbox.bookth.setEnabled(false); lbox.bookfo.setEnabled(true); lbox.mi_system_manger.setEnabled(true); lbox.fi_msglabel_user.setEnabled(false); lbox.mifi_system_adduser.setEn

37、abled(false); lbox.mifi_system_deluser.setEnabled(false); B=t_name.getText(); Borlistbookfrm.unit=3; t_name.setText(); t_pass.setText(); rs=sqll.executeQuery(SELECT * FROM users where username=+t_name.getText()+); if(rs.next() lbox.id=rs.getInt(1); lbox.unit=3; t_name.setText(); t_

38、pass.setText(); lbox.setVisible(true); break; else l_error.setText(用户名或密码错误!); t_name.setText(); t_pass.setText(); until+; catch(SQLException e2) /超出登录次数elsel_error.setText(你已经超出登录次数);t_name.setEnabled(false);t_pass.setEnabled(false);b_enter.setEnabled(false);b_clear.setEnabled(false); /单击清除按钮的事件处理程

39、序else if(e.getSource()=b_clear)t_name.setText();t_pass.setText();l_error.setText(请输入用户名和密码登录);/单击取消按钮的事件处理程序else if(e.getSource()=b_cancle)dispose(); 用户管理子系统:修改用户信息:class Mdiuser extends Dialog implements ActionListener JLabel l_addname,l_fenge,l_id,l_pass,l_enter,l_unit;static JTextField t_mid;stat

40、ic Choice c_munit;JPasswordField t_mpass,t_menter;JButton b_mdiname,b_cancle;JPanel pan1,pan2,pan3,pan4,pan5,pan6,pan7;NetConn sql;Statement sqll;ResultSet rs;String a1,a2,a3,a4,a5;Mdiuser(Frame f,String s,Client client,Message msg)/界面布局super(f,s);l_addname=new JLabel(修改用户信息 );l_fenge=new JLabel(-);

41、l_id=new JLabel(id:);l_pass=new JLabel(原密:);l_enter=new JLabel(新密:);l_unit=new JLabel(权限:);t_mid=new JTextField(,10);t_mpass=new JPasswordField(,10);t_menter=new JPasswordField(,10);t_menter.setEchoChar(*);c_munit=new Choice();c_munit.add(1);c_munit.add(2);c_munit.add(3);b_mdiname=new JButton(修改);b_

42、mdiname.addActionListener(this);b_cancle=new JButton(取消);b_cancle.addActionListener(this);pan1=new JPanel();pan2=new JPanel();pan3=new JPanel();pan4=new JPanel();pan5=new JPanel();pan6=new JPanel();pan7=new JPanel();pan1.add(l_addname);pan2.add(l_fenge);pan2.add(l_id);pan2.add(t_mid);pan3.add(l_pass

43、);pan3.add(t_mpass);pan4.add(l_enter);pan4.add(t_menter);pan5.add(b_mdiname);pan5.add(b_cancle);pan6.add(l_fenge);pan7.add(l_unit);pan7.add(c_munit); /建立数据库连接sql=new NetConn();setLayout(new GridLayout(7,1);add(pan1);add(pan6);add(pan2);add(pan3);add(pan4);add(pan7);add(pan5);setBounds(450,150,250,30

44、0);public void actionPerformed(ActionEvent e) /单击放弃按钮的事件处理程序if(e.getSource()=b_cancle)dispose();/单击修改按钮的事件处理程序 else if(e.getSource()=b_mdiname) sqll=sql.connect(); try /通过用户姓名从数据库中查找记录 rs=sqll.executeQuery(SELECT * FROM users where userid=+t_mid.getText()+); /遍历查找到的记录集 while(rs.next() a2=rs.getString(3);/匹配记录中的密码和用户输入的密码 if(t_mpass.getText().equals(a2) a3=+t_mid.getText().trim()+; a4=+t_menter.getText().trim()+; a5=+c_munit.getSelectedItem().trim()+; /根据用户输入的信息,更新记录 String tem=UPDATE users SET passwo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论