管理信息系统设计与开发.doc

上传人:rrsccc 文档编号:11050665 上传时间:2021-06-22 格式:DOC 页数:25 大小:226.50KB
返回 下载 相关 举报
管理信息系统设计与开发.doc_第1页
第1页 / 共25页
管理信息系统设计与开发.doc_第2页
第2页 / 共25页
管理信息系统设计与开发.doc_第3页
第3页 / 共25页
管理信息系统设计与开发.doc_第4页
第4页 / 共25页
管理信息系统设计与开发.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《管理信息系统设计与开发.doc》由会员分享,可在线阅读,更多相关《管理信息系统设计与开发.doc(25页珍藏版)》请在三一文库上搜索。

1、图书馆管理系统【摘要】设计主要是关于图书馆管理信息系统的信息,特别是讨论了关于设计该系统时的思想、方法和过程,以及在细节上分析函数和方法的实现思想。在本论文中讲述的图书馆管理信息系统拥有一个交互式的界面、逻辑的数据库结构。并且在设计数据库时还考虑到了实体完整性约束、参照完整性约束、及尽量减少数据的冗余,在数据库里有包括表、过程、函数、触发器等5个数据库对象。许多涉及到图书、读者的信息的功能在本系统中都有实现。例如,你可以将新书的信息插入到数据库的图书基本情况表里;还可以对已经插入的关于图书的信息进行修改;更重要的是,读者可以从图书馆里借阅书籍。经过多次的测试和运行,本系统能实现其在设计时的所有

2、功能。一需求分析说明书引言随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落。为了满足图书馆管理人员对图书馆书籍,读者资料,借还书等进行高效的管理,在工作人员具备一定的计算机操作能力的前提下,特编此图书管理系统软件以提高图书馆的管理效率。1. 1编写目的 本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。它必须服务于以下目标:(1) 便于用户,分析人员和软件设计人员进行理解和交流。(2) 支持目标软件系统的确认。(3) 控制系统进化过程。1.2 背景(1) 本软件名为

3、”图书管理系统”(2) 提出者: 北京师范大学珠海分校 主开发者: 张秋杰(组长) ,刘焕青 实现该软件的计算中心或计算机网络:基于各大院校之间的BBS电子邮件系统,可与BBS电子邮件系统进行有选择的信息交换,以实现网上对图书的借阅和归还;并与打印机系统相连,以实现图书和读者统计信息的打印1.3 定义 图书管理系统: 图书管理是帮助图书馆管理人员对图书信息进行管理的软件。1.4 参考资料 实用软件工程 第二版 赵池龙 电子工业出版社 软件工程基础教程郭庚麒 主编 科学出版社PowerDesigner系统分析与建模 赵韶平 罗海燕 李志等 清华大学出版社2 任务概述2.1 目标 该软件是为了能让

4、图书管理员更方便的管理图书,读者更方便的借阅图书而写的, 可应用于个大高校的图书馆. 本软件是独立软件。2.2 用户特点 (1) 本软件的最终用户为个院校的学生 (2) 本软件可以方便的让借阅者查阅资料和图书信息2.3 假定和约束 假设开发经费不到位,管理不完善,设计时没能周全得到考虑,本项目的开发都将受到很大的影响。 在各项任务都完成良好的条件下,本系统才具有较强的正确性,完善性,可移值性等。 本软件的开发期限为 2个月3 需求规定 3.1 对功能的规定 (1) 普通读者所具有的权限,图书信息查询。(2) 普通读者所具有的权限,可查询自己的借阅信息,修改密码。(3) 管理员权限,读者信息管理

5、。(4) 管理员权限,借书/还书登记。3.2 对性能的规定 3.2.1 精度在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求 3.2.2 时间特性要求在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求3.3 输入输出要求 (1) 图书的书名、作者、或者出版社,即可得到相应的图书信息。 读者输入图书的书名、作者、或者出版社,系统配置文件为数据库中的图书信息,通过查询即可得到该图书的所有相关信息。如果输入的内容不存在,则提示未找到,请重新输入。 屏幕显示图书的所有相关信息。 (2) 输入其用户名(为其学号),初始密码。即可登陆查看信息或修改密码

6、。 读者输入其用户名、密码后,系统配置文件为数据库中读者信息,通过比较判断用户名、密码是否正确,如果正确则显示读者信息或修改密码。如果错误,则提示用户名或密码错误,请重新输入。 屏幕显示相关读者信息。(3) 输入管理员用户名和密码登陆,然后即可增加或删除一个读者,查询或修改已有读者信息。管理员输入其用户名、密码后,系统配置文件为数据库中管理员信息,通过比较判断用户名、密码是否正确,如果正确则可进行读者信息管理。 屏幕显示读者信息。(4) 管理员权限,图书信息管理。 输入管理员用户名和密码登陆,然后即可增加或删除一本书,查询或修改已有图书信息。 管理员输入其用户名、密码后,系统配置文件为数据库中

7、管理员信息,通过比较判断用户名、密码是否正确,如果正确则可进行图书信息管理。 屏幕显示图书信息。(5) 管理员权限,借书/还书登记。输入 读者学号,书条码。 借书:输入读者学号,从系统配置信息数据库查询读者信息并显示。输入书条码,存入读者信息的借阅情况。书状态改为借出。还书:输入书码,从系统配置信息数据库查询读者信息并显示,将读者借阅本书情况删除,并将书状态改为在馆。输出书信息,读者信息。3.4 数据管理能力要求 要管理的数据库共5个 表和文卷若干 如果借阅者超过100000人时 可将人员进行分开管理 3.5 其他专门要求3.5.1数据库需求 数据库是实现有组织地,动态地存储大量关联数据,方便

8、多用户访问的计算机软硬自愿组成的系统;他与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。3.5.2 用户操作需求a 初始化操作。b 数据处理的操作。c 恢复操作。3.5.3 工作场地的需求学校图书馆4 运行环境规定4.1 设备 运行该软件所适用的具体设备是cpu 700Mhz 以上、内存64兆以上 4.2 支持软件 系统是 Microsoft windows xp2000的计算机二、管理信息系统设计与开发管理信息系统简介管理信息系统(MIS)是由人,计算机等组成的能进行信息的收集,传送,存

9、储,维护和使用的系统,能够实测企业的各种运作情况,并且利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。管理信息系统的主要功能(1) 信息处理 信息处理对组织的数据和信息进行收集,存储,传输,加工,查询等操作,以实现向管理人员及时提供所需的可靠,准确信息的功能。(2) 辅助事务处理,辅助组织管理 辅助事务处理,包括具有通用性的事务管理和各类特殊事务管理。它的深层次的功能是辅助组织管理,控制组织行为,帮助组织实现目标。(3) 支持决策 实测企业运行情况,预测企业未来行为,辅助企业决策人员进行决策是管理信息系统的重要功能,管理信息系统

10、主要是辅助结构化决策问题。管理信息系统设计原则(1) 实用性原则(2) 可扩展性原则与可维护性原则(3) 安全可靠性原则(4) 用户界面设计原则(5) 数据库设计原则管理信息系统设计与开发方法管理信息系统的开发方法有软件工程方法,结构化生命周期开发方法,原型发,面向对象的方法等。软件工程是指采用工程的概念,原理,技术和方法来开发和维护软件,其核心内容是以工程化的方式组织软件的开发。软件项目的开发应该遵循软件工程标准,这样可以提高软件开发的效率,减少软件开发与维护中的问题。软件的生命周期包括8个阶段:问题定义,可行性研究,需求分析,总体设计,详细设计,编码,综合测试,维护。信息管理系统所涉及的数

11、据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。下面根据管理信息系统的软件工程的方法进行该系统的设计开发平台:JBuilder9.0数据库工具:Oracle第一部分 系统设计一 系统的目标设计主要功能:书籍管理,读者信息管理,借书还书管理书籍管理:采购图书时,新书要登记入数据库 浏览数据库中的书籍信息,提供各种方式的数据查询读者信息管理:新读者加入时,增加一条读者记录 根据读者的信息可以查询其相关的借阅信息借书还书管理: 实现书籍借出还入管理 对相关的信息进行添加,查询与修改二 功能模块的划分第二部分 数据库设计1, 需求分析书籍信息:书号,书名,定价,出版社,出版

12、时间,作者读者信息:编号,姓名,性别,工作单位,联系电话,已借册数借阅信息:借阅人,所借的书,借出日期,归还日期2概念设计ER图3逻辑结构设计BookBorrow名称字段名称数据类型主键非空标识ID自动编号YesYes读者姓名Studentname文本NoYes书籍名称Bookname文本NoNo借出日期Borrowdate文本NoNo还入日期Returndate文本NoNo备注Comment文本NoNoBooks名称字段名称数据类型主键非空标识ID自动编号Yes Yes书店Bookname文本NoYes出版社Press文本NoNo作者Author文本NoNo出版社地址Address文本NoN

13、o出版日期Pressdate文本NoNo价格Price文本NoNo评论Comment文本NoNoUser名称字段名称数据类型主键非空标识ID文本YesNo用户名Username文本NoYes密码Password文本NoYes权限种别Power文本NoYes代码部分整体窗口/在窗体被打开时,先设定所有权限为false,使每一个操作员必须先登录才可以进行下一步的操作,这样就有效地实现了权限登录部分地功能,保证了应用程序的安全Void this_windowOpened(windowEvent e) setEnable(“false”); userLogin dlg=new userLogin(th

14、is); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开登录窗口Void jMenuItemLogin_actionperformed(ActionEvent e) userLogin dlg=new userLogi

15、n(this); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开添加用户窗口Void jMenuItemUserAdd_actionperformed(ActionEvent e) userAdd dlg=new us

16、erAdd(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开用户密码修改窗口 Void jMenuItemUserUpdate_actionperformed(ActionEvent e) userUpdate d

17、lg=new userUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开用户删除窗口Void jMenuItemUserUpdate_actionperformed(ActionEvent e) use

18、rUpdate dlg=new userUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开书籍信息添加窗口Void jMenuItemBookAdd_actionperformed(ActionEven

19、t e) bookAdd dlg=new BookAdd(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); /打开书籍信息更新窗口Void jMenuItemBookUpdate_actionperformed(Actio

20、nEvent e) bookUpdate dlg=new bookUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); 打开书籍删除窗口Void jMenuItemBookDelete_actionperform

21、ed(ActionEvent e) userUpdate dlg=new userUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); 打开书籍借出窗口Void jMenuItemBookBorrow_actio

22、nperformed(ActionEvent e) bookBorrow dlg=new bookBorrow(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show(); 打开书籍借出信息修改窗口Void jMenuItemBook

23、BorrowUpdate_actionperformed(ActionEvent e) bookBorrowUpdate dlg=new bookBorrowrUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg.show();

24、 打开书籍还入窗口Void jMenuItemBookReturn_actionperformed(ActionEvent e) returnBook dlg=new returnBook(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);Dlg.pack();Dlg

25、.show(); 打开书籍还入信息修改窗口Void jMenuItemBookreturnUpdate_actionperformed(ActionEvent e) returnInfoUpdate dlg=new returnInfoUpdate(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.h

26、eight)/2+loc.y);Dlg.pack();Dlg.show(); 打开所有书籍列表窗口Void jMenuItemAllBook_actionperformed(ActionEvent e) bookList dlg=new bookList(); Dimension dlgsize=dlg.geyPreferredSize(); Dimension frmSize=getSize();Point loc=getLocation();Dlg.setLocation(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSiz

27、e.height)/2+loc.y);Dlg.pack();Dlg.show(); /设置权限Public void setEnable(String powertype) If(powertype.equals(“管理员”); jMenuuserManager.setEnabled(true); jMenuBookManager.setEnabled(true);jMenuBorrowBook.setyEnabled(true);jMenuReturnBook.setyEnabled(true);jMenuAllInfo.setEnabled(true);Else If(powertype.

28、equals(“书籍操作员”); jMenuuserManager.setEnabled(false); jMenuBookManager.setEnabled(true);jMenuBorrowBook.setyEnabled(false);jMenuReturnBook.setyEnabled(false);jMenuAllInfo.setEnabled(true);Else If(powertype.equals(“借阅操作员”); jMenuuserManager.setEnabled(false); jMenuBookManager.setEnabled(false);jMenuBo

29、rrowBook.setyEnabled(true);jMenuReturnBook.setyEnabled(true);jMenuAllInfo.setEnabled(true);Else jMenuuserManager.setEnabled(false); jMenuBookManager.setEnabled(false);jMenuBorrowBook.setyEnabled(false);jMenuReturnBook.setyEnabled(false);jMenuAllInfo.setEnabled(false);Void jMenuFileExit_actionPerform

30、ed(ActionEvent e) System.exit(0);一操作员管理/操作员登录模块Import Java.sql;ResultSet rs;Private DBManager db=new DbManager();BookManagerMain myMain;Public userLogin(BookManagerMain bMain) This(null,”,false); myMain=bMain;/用户登录Void jButtonOK_mOuseClicked(MouseEvent e)If(jTextFieldusername.getText.trim().equals(“

31、”) JOptionPane.showMessageDialog(null,”用户名不可为空”); Return;If(jPassword.getText().trim().equals(“”) JOptionPane.showMessageDialog(null,”密码不可为空”); Return;String strSQL;strSQL=”select *from user where Username=”+ jTextFieldusername.getText.trim()+”and Password=”+(jPassword.getText().trim()+”;rs=db.getRe

32、sult(strSQL);Boolean isexist=false;Try Isexise=rs.first();Catch(SQLException ex)If(!isexist) JOptionPane.showMessageDialog(null,”用户名不可为空或密码不正确”); myMain.setEnabled(“false”);ElseTry Rs.first();myMain.setEnable(rs.getStrin(:Power”.trim();this.dispose();Catch(SQLException ex)Void jButtonCancel_mouseCli

33、cked(MouseEvent e) myMain.setEnable(“false”); this.dispose();/操作员密码修改Import java.sql;ResultSet rs;Private DBManager db=new DBManager;Void jButtonOKClicked(MouseEvent e) String strSQL; If(jFieldusername.getText().trim().equals(“”0) JOptionPane.showMessageDialog(null,”用户名不许为空”); Return; If(jPassword.g

34、etText().trim().equals(“”) JOptionPane.showMessageDialog(null,”密码不可为空”); Return;If(!jPasswordnewconfirm.getText().trim().equals(jPasswordnew.getText().trim() JOptionPane.showMessageDialog(null,”两次输入的密码不一致”); Return;strSQL=”select *from user where Username=”+ jTextFieldusername.getText.trim()+”and Pa

35、ssword=”+(jPassword.getText().trim()+”;rs=db.getResult(strSQL);Boolean isexist=false;Try Isexise=rs.first();Catch(SQLException ex)If(!isexist) JOptionPane.showMessageDialog(null,”用户名不可为空或密码不正确”); myMain.setEnabled(“false”);Else strSQL=”update user set Password=”+jPasswordnew.getText().trim()+”where

36、Username=”+jFieldusername.getText().trim()+”; if(db.executeSql(strSQL) JOptionPane.showMessageDialog(null,”成功更新”);Else JOptionPane.showMessageDialog(null,”更新失败,请重新操作!”); Void jButtonCancel_mouseClicked(MouseEvent e) This.dispose();二,书籍信息管理/添加书籍信息Private DBManager db=new DBManager();/添加一条新记录Void jBut

37、tonAdd_mouseClicked(MouseEvent e)If(jTextFieldname.getText().trim().equals(“ “) JOptionPane.showMessageDlg(null,”书名不许为空”); Return;If(jTextFieldauthor.getText().trim().equals(: J) JOptionPane.showMessageDialog(null,”作者不许为空”); Return;If(jTextFieldpress.getText().trim().equals(“ “) JOptionPane.showMess

38、ageDialog(null,”出版社不许为空”); Return;If(jTextFieldprice.getText().trim().equals(“ “) JOptionPane.showMessageDialog(null,”价格不许为空”); Return;String strSQL;strSQL=” insert into Books(Bookname,Press,Authir,Address,Pressdate,Price,Comment)”;strSQL=strSQL+”values(”+jTextFieldname.getText().trim()+”,”+jTExtFie

39、ldpress.getText().trim()+”,”;strSQL=strSQL+”+jTExtFieldauthor.getText().trim()+”,”+jTextFieldaddress.getText().trim()+”,”;strSQL=strSQL+”+jTextFieldpressdate.getText().trim()+,”+jTextFieldprice.getText().trim()+”,”;strSQL=strSQL+” ”+jTextFieldcomment.getText().trim(0+”)”;if(db.executeSql(strSQL) JOp

40、tionPane.showMessageDialog(null,”成功添加”);ElseJOptionPane.showMessageDialog(null,”添加失败,请重新操作”);/清空Void jButtonClear_mouxeClicked(MouseEvent e) jTextFieldname.setText(“”); jTextFieldperson.setText(“”);jTextFielddep.setText(“”);jTextFielddanwei.setText(“”);jTextFieldprice.setText(“”);jTextFieldcomment.s

41、etText(“”);/退出窗口Void jButtonExit_mouseClicked(MouseEvent e) This.dispose();/删除书籍信息Imort java.sql;ResultSet rs;Private DBManager db=new DBManager();Void jButtonOK-mouseClicked(MouseEvent e) String strSQL; If(jTextFieldname.getText.trim().equals(“”) JOptionPane.showMesageDialog(null,”书名不许为空”); Return;

42、 strSQL=”select *from Books where Bookname=”+jTextFieldname.getText().trim()+”; rs=db.getResult(strSQL); Boolean isexist=false; Try Isexist=rs.first(); Catch(SQLException ex1)If(!isexist)JOptionPane.showMessageDialog(null,”此书不存在”);Else strSQL=”delete from Books where Bookname=”+jTextField.getText().trim()+”;if(db.executeSql(strSQL) JOptionPane.showMessageDialog(null,”成功删除”);Else JOptoinPane.showMesageDialog(null,”删除失败”); /退出此窗口Void jButtonCancel_mouseEvent(MouseEvent e) This.dispose();三 书籍借出管理Import java.sql;ResultSet rs;Private DBManager d

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1