java图书管理系统.doc

上传人:laozhun 文档编号:2386845 上传时间:2023-02-17 格式:DOC 页数:53 大小:340.50KB
返回 下载 相关 举报
java图书管理系统.doc_第1页
第1页 / 共53页
java图书管理系统.doc_第2页
第2页 / 共53页
java图书管理系统.doc_第3页
第3页 / 共53页
java图书管理系统.doc_第4页
第4页 / 共53页
java图书管理系统.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《java图书管理系统.doc》由会员分享,可在线阅读,更多相关《java图书管理系统.doc(53页珍藏版)》请在三一办公上搜索。

1、 目录第1章 本设计所要达到的目的和要求 1.1 设计目的 1.2 设计要求第2章 设计内容第3 章 开发和运行环境介绍第4章 需求分析1、 本设计所要达到的目的和要求 1.1 设计目的 管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。本题目实现的是网络数据库管理系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级

2、管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。1.2 设计要求1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等; 2、用高级语言结合SQL Server数据库进行开发; 3、写出数据库关系模式及相应的数据库表关系图; 4、绘制成绩MIS相应的系统流程图、E-R图等; 5、完成成绩MIS登陆界面、主界面、图书信息录入、图书信息查询和其各项设计与操作。 2、设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管

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

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

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

6、统E-R图 用户用户ID权限用户名已借书数量密码借书上限图 2 用户实体图备注图书剩余数量作者图书ID图书出版社图书总数量价格出版日期书籍名称图3 书籍实体图1毕业设计选题系统N用户借阅还书日期借书日期图书图 4 实体属性图4.5数据库表结构表1 图书信息表字段名称字段类型长度是否为空备注图书idInt4否主键标准ISBNChar11图书名称Varchar50出版社Varchar50作者Varchar50价格Float4图书总数量int4否图书剩余量int4否备注varchar50表2 用户借阅表字段名称数据类型长度是否为空备注用户idInt4否主键图书idint4否借书日期Datatime8

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

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

9、图书信息,也可以根据图书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(jdbc:odb

10、c: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(false);

11、 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_system

12、_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;Loginfrm fr

13、ml=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 unit=3;

14、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,Font.BOLD

15、,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_system_

16、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.addActionListener

17、(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_system_man

18、ger);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(this);s

19、e_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);th_boo

20、k_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 JMenu(信息

21、);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_borrow)

22、;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,dim.wid

23、th,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.getAction

24、Command()=重新登录)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);else if(e

25、.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();frmbb.setV

26、isible(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 ReturnMs

27、gbookfrm();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.getAct

28、ionCommand()=制作信息及版本)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 sql;St

29、atement 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.setEchoCh

30、ar(*);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_pass);p

31、an2.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 actionPerformed

32、(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()+); /遍历查询得到的结果集

33、 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,登录成功,欢迎使用图书馆管理系统!, ,JOpti

34、onPane.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.setText

35、(); 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); lbox.

36、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,登录成功,欢迎使用图书馆管理系统!, ,JOptionPane

37、.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.setEnabled(false); lbox.mifi_system_deluser.setEnabled(false); Borlistbookfrm.name=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

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号