




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.设计目的管理信息系统(mis)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。mis的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供对书籍进行的预先预订的功能。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。2.设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。该系统主要包括借阅者子系统、图书管理员子系统、系统管理员子系统、数据库子系统四个部分,各部分主要功能如下:借阅者子系统:查询书籍信息,预定书籍,借阅书籍,还书等。图书管理员子系统:借阅图书,归还图书。系统管理员子系统:增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除书籍。数据库子系统:账户信息管理,借阅信息管理,图书信息管理。3.开发和运行环境介绍开发语言:前台开发语言为java,后台数据库为sql server2000运行环境:eclipseeclipse是著名的跨平台的自有(ide)。最初主要用来java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如c+和python的开发工具。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。许多软件开发商以eclipse为框架开发自己的ide。4.需求分析4.1系统需求描述实现管理员对用户的增删改查,对图书信息增删查改、图书借阅信息的修改以,实现用户对图书的查找、借阅、续借、归还以及修改密码。该系统主要包括用户登录子系统、用户管理子系统、图书管理子系统、图书借阅与归还、图书和用户信息查询子系统四个部分,各部分主要功能如下:该系统主要包括借阅者子系统、图书管理员子系统、系统管理员子系统、数据库子系统四个部分,各部分主要功能如下:借阅者子系统:查询书籍信息,预定书籍,借阅书籍,还书等。图书管理员子系统:借阅图书,归还图书。系统管理员子系统:增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除书籍。数据库子系统:账户信息管理,借阅信息管理,图书信息管理。4.2系统功能结构图图书管理系统数据库管理系统信息管理图书信息管理借阅信息管理账户信息借阅者信息图书信息修改书目修改借阅者信息增加书籍删除书籍图书信息增加图书信息删除图书信息修改图书信息查询用户借书归还图书预定书籍借阅信息查询图 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否主键借书日期时间8否还书日期时间8备注文本50是否归还文本50否表3 借阅者信息表字段名称字段类型长度是否为空备注用户id数字4否主键用户名文本50否用户密码文本50否权限文本50否已借书数数字4否借书上限数数字4否5.系统设计与实现5.1 模块功能描述1在整个图书管理系统中系统管理员子系统(徐璐)的设计,主要包括如下功能:对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除书籍。2在整个图书馆管理系统中图书管理子系统(夏蒙娜)的设计,主要包括如下功能:处理还书:图书管理员处理用户归还的图书。管理图书:可以查询所有图书信息。3在整个图书馆管理系统中借阅者子系统(汤明玉)的设计,主要包括如下功能:图书借阅者能够通过该系统进行借阅图书,查询书籍信息,预定图书和归还图书等操作。4在整个图书管理系统中数据库子系统(卢佳丽)的设计,主要包括如下功能:账户信息管理:图书管理人员账号由系统创建,并给予一定的权限。借阅者可以向图书管理员申请创建账号,且只有部分使用权。借阅者信息管理:借阅者登录后可查看自己的借阅信息,也可搜索相关书籍并查看其详细信息。图书信息管理:图书馆购买新书后,由系统新建书籍信息表单,然后填写相关书籍信息,分类并保存。5.2 软件实现import java.sql.*;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;public class book extends jframe implements actionlistener jmenubar mb = new jmenubar();jmenu manasystem,querybook,bookin,deletebook,scanebook,gaimima,gethelp;jmenuitem outsystem,lookupbook,addbook,dropbook,glarebook,changemima,zuozheitem,aboutsystem,lentbook,usehelp,userlook,background,zhuomian1,zhuomian2,zhuomian3,zhuomian4,calendar;jmenu backcolor; jpanel jp=new jpanel();container cp=getcontentpane(); stringusername;book() book(string username)this.username=username;cp.add(mb,north);manasystem=new jmenu(系统管理(s);manasystem.setmnemonic(s);bookin=new jmenu(扩充书库(b);bookin.setmnemonic(b);querybook=new jmenu(图书查询(l);querybook.setmnemonic(l);deletebook=new jmenu(图书管理(m);deletebook.setmnemonic(m);scanebook=new jmenu(图书预览(g);scanebook.setmnemonic(g); gaimima=new jmenu(用户管理(u); gaimima.setmnemonic(u); gethelp=new jmenu(帮助(h); gethelp.setmnemonic(h); backcolor=new jmenu(更改主题(c); backcolor.setmnemonic(c); background=new jmenuitem(更改主题); zhuomian1=new jmenuitem(经典素白); zhuomian2=new jmenuitem(水墨轻灰); zhuomian3=new jmenuitem(睿智深灰); zhuomian4=new jmenuitem(黑色宇宙); background.add(backcolor); backcolor.add(zhuomian1); backcolor.add(zhuomian2); backcolor.add(zhuomian3); backcolor.add(zhuomian4); backcolor.setmnemonic(c); outsystem=new jmenuitem(退出系统(o); outsystem.setmnemonic(o); lookupbook=new jmenuitem(查询图书(l); lookupbook.setmnemonic(l); addbook=new jmenuitem(新书登记(n); addbook.setmnemonic(n); dropbook=new jmenuitem(删除管理(d); dropbook.setmnemonic(d); lentbook=new jmenuitem(借阅管理); glarebook=new jmenuitem(预览图书(g); glarebook.setmnemonic(g); changemima=new jmenuitem(修改密码(c); changemima.setmnemonic(c); userlook=new jmenuitem(用户查询); calendar=new jmenuitem(管理日志); zuozheitem=new jmenuitem(关于作者); aboutsystem=new jmenuitem(关于系统); usehelp=new jmenuitem(使用指南); manasystem.add(backcolor); manasystem.add(outsystem); querybook.add(lookupbook); bookin.add(addbook); deletebook.add(dropbook); deletebook.add(lentbook); scanebook.add(glarebook); gaimima.add(changemima); gaimima.add(userlook); gaimima.add(calendar); gethelp.add(zuozheitem); gethelp.add(aboutsystem); gethelp.add(usehelp); /backcolor.addactionlistener(this); zhuomian1.addactionlistener(this); zhuomian2.addactionlistener(this); zhuomian3.addactionlistener(this); zhuomian4.addactionlistener(this); outsystem.addactionlistener(this); lookupbook.addactionlistener(this); addbook.addactionlistener(this); dropbook.addactionlistener(this); glarebook.addactionlistener(this); changemima.addactionlistener(this); calendar.addactionlistener(this); userlook.addactionlistener(this); zuozheitem.addactionlistener(this); aboutsystem.addactionlistener(this); usehelp.addactionlistener(this); mb.add(manasystem);mb.add(bookin);mb.add(querybook);mb.add(deletebook);mb.add(scanebook);mb.add(gaimima);mb.add(gethelp);jp.setlayout(new borderlayout(); jlabel label1 = new jlabel();jp.add(label1); jlabel jl=new jlabel(水墨书乡 + 博观而约取,厚积而薄发。 + 苏轼 + ,swingconstants.center); jp.add(jl);jlabel label2 = new jlabel(©联系作者:759911049);jp.add(label2,south);jscrollpane scrollpane=new jscrollpane(jp);cp.add(scrollpane);settitle(欢迎登陆图书管理系统);jp.setbackground(color.lightgray); setsize(1100,600);setvisible(true);setdefaultcloseoperation(jframe.exit_on_close);public void actionperformed(actionevent e)if (e.getsource()=zhuomian4)jp.setbackground(color.black);if (e.getsource()=zhuomian3)jp.setbackground(color.darkgray);if (e.getsource()=zhuomian2)jp.setbackground(color.lightgray);if (e.getsource()=zhuomian1)jp.setbackground(color.white);if (e.getsource()=outsystem)system.exit(0);if (e.getsource()=changemima)new updatemima(username);if (e.getsource()=zuozheitem)joptionpane.showmessagedialog(this, 关于作者 卓明n qq:759911049n siso 软件124班);if (e.getsource()=aboutsystem)joptionpane.showmessagedialog(this,版本信息v1.0n此版本为初级试用版,力求界面整洁化、操作人性化。n注:版权所有,违者必究);if (e.getsource()=lookupbook)new querybook();if (e.getsource()=addbook)new bookin();if (e.getsource()=dropbook)new removebook();if (e.getsource()=glarebook)new bookbrower().showrecord(); if (e.getsource()=usehelp)joptionpane.showmessagedialog(this,本系统主题为“水墨书乡”,以墨色为主色调,避免纷繁多杂的视觉冲击, +其界面整洁有序,更彰显文化的古韵魅力。n操作上人性化设计:n1.添加了快捷方式,提高了操作效率。n2.添加了4款 +经典背景,用户可凭借喜好选取n实用性强:包含图书管理最核心基础的功能,反应速度快!适用于一般的个人、学校、企业的应用。 +n本版本为预览版,我们将在后继的版本中增加打印报表、借阅管理、台历日记等新的功能!);public static void main(stringargs)new book();/用户登录import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*; class login extends jframe implements actionlistener container cp=null; jframe f=null; jbutton j1,j2; jtextfield name; jpasswordfield pwd; jlabel jlable1,jlable2; jpanel jp;login()jp=new jpanel();jp.setlayout(new gridlayout(3,2);addcomponents();this.setlayout(new borderlayout(50,50);this.add(borderlayout.north,new jlabel();this.add(borderlayout.south,new jlabel();this.add(borderlayout.east,new jlabel();this.add(borderlayout.west,new jlabel();this.add(jp);this.settitle(用户登录界面);this.setsize(350,220);this.setvisible(true);/jp.setbackground(color.gray);void addcomponents()jlabel jlbu=new jlabel();jlbu.settext(用户名);name=new jtextfield();jlabel jlbp=new jlabel(); jlbp.settext(密码); pwd=new jpasswordfield(); /pwd.setechochar(*); j1=new jbutton(登录); j2=new jbutton(取消); j1.addactionlistener(this); j2.addactionlistener(this); jp.add(jlbu); jp.add(name); jp.add(jlbp); jp.add(pwd); jp.add(j1); jp.add(j2); public void confirm() tryclass.forname(com.mysql.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e) system.out.println(加载驱动程序失败!); trystring url = jdbc:odbc:book;connection con=drivermanager.getconnection(url);statement sql=con.createstatement();string uname=name.gettext().trim();string mima=pwd.gettext().trim();string querymima=select * from user where 用户名=+uname+ and 密码=+mima+;resultset rs=sql.executequery(querymima); if(rs.next()new book(uname);f.hide(); con.close(); elsejoptionpane.showmessagedialog(null,该用户不存在,提示!, joptionpane.yes_no_option); name.settext();pwd.settext(); catch(sqlexception g)system.out.println(g.geterrorcode();system.out.println(g.getmessage(); public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) confirm(); else if(cmd.equals(取消) f.dispose(); public static void main(string arg) login a=new login(); /预览图书import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.util.*;import java.sql.*;class bookbrower implements actionlistener jframe f;container cp;jpanel jps,jpanelwest;jbutton jbt1,jbt2;jlabel label,l;jtable table; object columnname=书名,书号,单价,作者,出版社,入架时间; object ar =new object10006;string sno;string count=1000; bookbrower() f=new jframe(预览图书);cp=f.getcontentpane();jps=new jpanel(); jpanelwest=new jpanel();jbt1=new jbutton(确定); jbt1.setbackground(color.lightgray);jbt2=new jbutton(返回);jbt2.setbackground(color.lightgray);label=new jlabel( +预览书库立志宜思真品格,读书须尽苦功夫阮元,swingconstants.center);label.setforeground(color.black);l=new jlabel(书库现在共有图书+count+本); table=new jtable(ar,columnname);jscrollpane scrollpane = new jscrollpane(table);jps.add(jbt1);jps.add(jbt2);jpanel jpanel=new jpanel();jpanel.add(label);jpanel pp4=new jpanel(); jpanel jpe=new jpanel();cp.add(jpanel,north);jpanel jp=new jpanel();jpanel p=new jpanel();/用来放两个表p.setlayout(new borderlayout();p.add(l,north);p.add(scrollpane);cp.add(pp4,west);cp.add(p,center); cp.add(jps,south);cp.add(jpe,east);jpanel.setbackground(color.lightgray);jps.setbackground(color.lightgray);jpanelwest.setbackground(color.lightgray); f.setsize(1000,600); f.setvisible(true); jbt1.addactionlistener(this);/注册监听器 jbt2.addactionlistener(this); int i=0; public void showrecord() while(i=0)ari0=;ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e)system.out.println(加载驱动程序失败!);try string url = jdbc:odbc:book; connection con=drivermanager.getconnection(url); string s=select * from book ; statement sql=con.createstatement(); resultset rs=sql.executequery(s); while(rs.next() string bname=rs.getstring(1);string bno=rs.getstring(2);string price=rs.getstring(3);string writer=rs.getstring(4);string publish=rs.getstring(5);string indate=rs.getstring(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=+i+;l.settext(书库现在共有图书+count+本);f.repaint(); con.close(); catch(sqlexception g) system.out.println(g.geterrorcode(); system.out.println(g.getmessage(); public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) f.hide(); if(cmd.equals(返回) f.hide(); public static void main(string arg) bookbrower a=new bookbrower(); a.showrecord();/新书登记import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.container;import java.util.*;import java.sql.*;import javax.swing.text.jtextcomponent;class bookin implements actionlistener jframe f3;container cp;jpanel jp1,jp2,jp3,jp4,jp,jpanelwest;jbutton jbt1,jbt2;jlabel label;jtextfield tf1,tf2,tf3,tf4,tf5,tf6; jlabel label1,label2,label3,label4;string sno; bookin() f3=new jframe(图书信息添加);cp=f3.getcontentpane(); jp1=new jpanel(); jp2=new jpanel();jp3=new jpanel();jp4=new jpanel();jpanelwest=new jpanel();jp=new jpanel();jbt1=new jbutton(确定); jbt2=new jbutton(取消);label=new jlabel(新书登记,swingconstants.center);label.setforeground(color.black);tf1=new jtextfield(20);tf2=new jtextfield(20);tf3=new jtextfield(20);tf4=new jtextfield(20);tf5=new jtextfield(20); tf6=new jtextfield(20);jp1.add(jbt1);jp1.add(jbt2);jpanel jpanel=new jpanel();jpanel.add(label);jpanel pp4=new jpanel(); jpanel jpane4=new jpanel();cp.add(jpanel,north);jpanel pp2=new jpanel(new gridlayout(6,1,20,10);jpanel pp3=new jpanel();pp4.setlayout(new gridlayout(6,1);pp4.add(new jlabel(图书名,swingconstants.center);pp2.add(tf1);pp4.add(new jlabel(图书号,swingconstants.center);pp2.add(tf2);pp4.add(new jlabel(单 价,swingconstants.center);pp2.add(tf3);pp4.add(new jlabel(作 者,swingconstants.center);pp2.add(tf4);pp4.add(new jlabel(出版社,swingconstants.center);pp2.add(tf5);pp4.add(new jlabel(入库时间,swingconstants.center);pp2.add(tf6);pp3.add(jbt1);pp3.add(jbt2);cp.add(pp4,west);cp.add(pp2,east); cp.add(pp3,south);cp.add(jpane4,center);f3.setsize(320,300); f3.setvisible(true); jbt1.addactionlistener(this); jbt2.addactionlistener(this); public void insertrecord() if(tf1.gettext().equals()|tf2.gettext().equals()|tf3.gettext().equals()| tf4.gettext().equals()|tf5.gettext().equals()|tf6.gettext().equals()joptionpane.showmessagedialog(f3,请填写图书资料);return; tryclass.forname(sun.jdbc.odbc.jdbcodbcdriver); catch(classnotfoundexception e) system.out.println(加载驱动程序失败!);trystring url = jdbc:odbc:book;connection con=drivermanager.getconnection(url);statement sql;string s=insert into book values(+tf1.gettext()+,+tf2.gettext()+,+tf3.gettext()+,+tf4.gettext()+,+tf5.gettext()+,+tf6.gettext()+); string query=select * from book where 图书号=+tf2.gettext()+;sql=con.createstatement(); resultset rs=sql.executequery(query);boolean morerecords=rs.next(); if(morerecords) joptionpane.showmessagedialog(f3,图书号已经被使用,请重新输入); con.close(); tf2.settext(); return; int insert=sql.executeupdate(s); if(insert=1) joptionpane.showmessagedialog(null,图书信息录入成功!);tf1.settext();tf2.settext();tf3.settext();tf4.settext();tf5.settext();tf6.settext(); catch(sqlexception g)system.out.println(g.geterrorcode();system.out.println(g.getmessage(); public void actionperformed(actionevent e) string cmd=e.getactioncommand(); if(cmd.equals(确定) insertrecord(); else if(cmd.equals(取消)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论