精选优质文档-----倾情为你奉上辽 宁 工 业 大 学 管理信息系统设计课程设计报告(论文)题目: 图书馆管理管理系统的分析与设计 院(系): 软件学院 专业班级: 软件工程112 学 号: 学生姓名: 安凯辰 指导教师: 翟宝峰 教师职称: 副教授 起止时间: 2012.5.28--2012.6.8 课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研室学 号学生姓名安凯辰专业班级软件工程112课程设计(论文)题目图书馆管理系统的分析与设计课程设计(论文)任务管理信息系统课程设计作为独立的教学环节,是电子商务专业集中实践性环节系列之一,是学习完《管理信息系统》课程并进行完专业实习后进行的一次全面的综合练习任务:采用结构化的系统开发方法,应用具体的计算机语言(如Java、VB)和数据库(SQL、Oracle)等技术,按照软件工程的思想,开发一个实用的中小型管理信息系统,完成图书馆管理系统的分析设计实施工作,实现该系统设备管理等功能,并完成结合分析设计过程,撰写系统设计说明书(课设报告)。
1.根据课程设计时间选择适当规模大小的设计课题采用专业实习的调研内容作为课程设计选题2.根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动3.课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告4.开发出可以运行的管理信息系统,通过上机运行检查5.设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有有可操作性指导教师评语及成绩成绩: 指导教师签字: 2012年6月12日专心---专注---专业目 录第一章 系统分析 11.1需求分析 11.2系统数据流图 21.3数据字典 3第2章 系统设计 42.1 结构设计 42.1.1概念设计 42.1.2逻辑设计 52.1.3物理设计 62.2行为设计 72.2.1总体设计 72.2.2模块设计 8第3章 系统实施 113.1数据库的实现 113.2程序实现 12第4章 总结 14第一章 系统分析1.1需求分析需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。
在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会—了解用户究竟需要什么图书馆的管理直接关系到我们大学生如何更好的使用图书,更充分的利用现有资源学习,提高自身素质针对当今的大学图书馆藏书越来越多,学生借书越来越频繁,图书管理较为繁琐,图书馆管理工作人员付出的工作时间越来越多,得到的效率却很低这个现状为提高工作效率,减轻图书馆工作人员的工作负担,决定开发学校图书馆管理系统软件,以帮助更好的实现图书馆的管理,让我们能更便捷的借阅图书,让老师能花最少的时间办理好借阅图书手续 开发此图书馆管理系统软件,以供图书馆工作人员管理使用及学生和老师查询或者借书使用,方便操作者随时添加、查询、修改等为了我们提高软件开发的能力,学习JAVA编程的技巧,提高工作设计思想,通过本次的软件工程开发,开发人员与指导老师,能从中学习知识吸取经验,在技术和软件思想上同时得到锻炼和提高,从而使总体水升到一个新的高度开发此图书馆管理系统软件,也是对实现数字化图书馆管理的支持,现今各大学普遍存在着一个现象,图书的借阅手续都是由专门的老师来实现办理的,每当借阅高峰期时,排队借书的场面屡见不鲜,这样即耗费时间又使原本不太大的借书大厅拥挤不堪。
图书馆管理系统的实现,可以着眼于数字化借阅,简化学生图书查询流程,简化图书外借登记手续,即提高借阅效率又可实现图书借阅的完整进出记录,保证图书的合理使用,让广大师生受益 该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1.对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能1.2系统数据流图数据流程图是软件工程学和管理信息系统科学中的概念,它描述的是一个具体的业务处理系统的信息来源,存储,处理和信息将要流到何处去的全面情况,它可以辅助计算机专业人员更好的了解现有系统的一些状况,但还需要一些工具来补充系统的流程细节。
是以图形的方式表达在问题中信息的变换和传递过程它把系统看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个复杂的系统本系统总体流图如图1.1所示图1.1 数据流图1.3数据字典数据字典是一种用户可以访问的记录数据库和应用程序元数据的目录主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典数据字典中存放着系统中所有数据的定义,即对所有数据库结构的描述数据字典提供了对数据库描述的集中管理手段数据字典是一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许聚值范围的共享仓库作用是确保开发人员使用统一的数据定义,数据字典中有关系统的详细信息是系统设计、系统实施与维护的重要依据是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合任何字典最主要的用途都是供人查阅不了解的条目的解释,数据字典的作用也正是在软件分析和设计过程中给人提供关于数据的描述信息数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。
只有数据流图和对数据流图精确的定义放在一起,才能共同构成系统的规格说明 名字:BookInfo别名:图书表描述:图书信息定义:图书表=借阅信息+还书信息+还书信息+书籍类型名字:ReaderInfo别名:读者表描述:读者信息定义:读者表=读者类型+借阅信息+还书信息+用户管理名字:BorrowInfo别名:借阅信息描述:关于借阅者,借阅图书类型等信息记录定义:借阅信息=读者编号+图书编号+借书日期+应还日期名称:ReturnInfo别名:还书信息描述:记录读者还书信息还有罚款信息 定义:还书信息=读者编号+图书编号+借书日期+还书日期+罚款金额+操作员第2章 系统设计2.1 结构设计2.1.1概念设计概念模型是将显示世界中的客观对象抽象为某一种信息结构,即E-R图实体-联系图(Entity Relationship Diagram),它提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型构成E-R图的基本要素是实体型、属性和联系,其定义及表示方法为:实体型(Entity):客观存在并可相互区分的事物用矩形表示,矩形框内写明实体名; 属性(Attribute):是一个实体所具有的某一特性。
用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系(Relationship):现实世界中的事物之间是有联系的,这种联系必然要在信息世界中加以反映它用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n) 比如老师给学生授课存在授课关系,学生选课存在选课关系如果是弱实体的联系则在菱形外面再套菱形 下面是系统各个实体以及总体的E-R图:读者姓名ID借阅时间编号性别图2.1图书信息实体E-R图图书ID名称类别价格归还日期出版社借阅日期图2.2图书实体E-R图图书管理员借阅信息读者还书信息管理管理借/还管理1n1n11nn图2.3系统总体E-R图2.1.2逻辑设计表2.1.图书表列名数据类型长度空/非空约束条件注释IDInt4NPK(自增)编号BookIDvarchar40Nunique图书编号BookNamevarchar50N图书名称Authorvarchar50Y图书作者Pubsvarchar100Y出版社PublishTimesmalldatetime8Y出版时间PageNumberint4Y页数Typevarchar20YFK类别Storageint4NDefault:0现存数量Positionvarchar50NFK存放位置TotalNumberInt4NDefault:0图书总数InTimesmalldatetime8N入库时间Pricemoney8NDefault:0图书价格BorrowTimesint4NDefault:0借出次数表2.2读者表列名数据类型长度空/非空约束条件IDInt4NPK(自增)ReaderIDInt4NuniqueNamevarchar20NSexvarchar2NCheck(Sex=’男’ or Sex=’女’)Typevarchar20YFKCanBorrowNumint4YDefault:0UnReturnNumint4YDefault:0BorrowTimesint4YDefault:0RegDatesmalldatetime8Y表2.3 借阅信息表列名数据类型长度空/非空约束条件注释IDInt4NPK(自增)标志列ReaderIDVARCHAR20NFK读者编号BookIDVarchar20NFK图书编号BorrowDateSmallDateTime8N借出日期ReturnDateSmallDateTime8N应还日期表2.4 还书信息表列名数据类型长度空/非空约束条件注释IDInt4NPK(自增)标志列ReaderIDVARCHAR20NFK读者编号BookIDVarchar20NFK图书编号 BorrowDateSmallDateTime8N借书日期ReturnDateSmallDateTime8N还书日期PunishMoney8YDefault:0罚款金额OperatorVarchar20YFK操作员2.1.3物理设计1.数据库的物理设计的内容和方法数据库最终是要存储在物理设备上的。
为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性 数据库的物理设计通常分为两步: (1).确定数据库的物理结构 (2).对物理结构进行评价,评价的重点是时间和空间效率 2.2行为设计2.2.1总体设计系统功能结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传送关系事实上,系统中许多业务或功能都是通过数据文件联系起来的例如,某一功能模块向某一数据文件中存入数据,而另一个功能模块则从该数据文件中取出数据再比如,虽然在数据流程图中的某两个功能模块之间原来并没有通过数据文件发生联系,但为了处理方便,在具体实现中有可能在两个处理功能之间设立一个临时的中间文件以便把它们联系起来上述这些关系在设计中是通过绘制信息系统流程图来从整体上表达的下图为系统功能图图2.4 系统功能模块图2.2.2模块设计1. 用户登录界面设计在用户登录模块可以进行、新用户注册.登录.退出。
用户登录表窗体截图如图2.5所示图2.5用户登录截图主要代码如下所示: package com.handson.forms;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import .URLimport javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.SwingUtilities;import javax.swing.WindowConstants;import com.handson.base.User;import com.handson.bl.UserManagerBL;import com.handson.utils.ImagePanel;public class Login extends javax.swing.JFrame {private static final long serialVersionUID = L;public static void main(String[] args) {//测试是否可以正常连接到数据库,连接不上就退出new com.handson.utils.DatabaseCall().getConnection(); SwingUtilities.invokeLater(new Runnable() {public void run() {Login inst = new Login();inst.setLocationRelativeTo(null); inst.setVisible(true); }});}public Login() {super();initGUI();}private void initGUI() {try {setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);getContentPane().add(LabPaw);LabPaw.setText("\u5bc6\u7801\uff1a");LabPaw.setBounds(118, 149, 55, 24);LabPaw.setFont(new java.awt.Font("宋体",1,12));}{TxtName = new JTextField();getContentPane().add(TxtName);TxtName.setBounds(172, 120, 89, 22);}{TxtPsw = new JPasswordField();getContentPane().add(TxtPsw);TxtPsw.setBounds(172, 150, 89, 22);}{ButOk = new JButton();ButOk.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {ButOkActionPerformed();} });getContentPane().add(ButOk);ButOk.setText("\u767b\u5f55");ButOk.setBounds(102, 192, 70, 25);}{ButExit = new JButton();ButExit.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);}});JOptionPane.showMessageDialog(null,"没有通过验证,请重新输入!");TxtName.setText("");TxtPsw.setText("");TxtName.requestFocus();2. 在管理系统中登录管理员管理进入用户信息管理模块,此模块主要完成用户信息查看,用户的详细信息的管理。
用户信息管理表窗体截图如图2.6所示图2.6员工信息管理表截图主要代码如下所示:package com.handson.bl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.HashMapimport com.handson.utils.DatabaseCall;import com.handson.base.*;public class UserManagerBL extends DatabaseCall { user.setPassword(rs.getString(2));user.setIsAdmin(rs.getString(3));}catch(SQLException e) { e.printStackTrace();}return user;}public boolean ModifyUserPassWord(User user) { if(user == null) return false; String userName = user.getUser(); String strPwd = user.getPassword(); String strAdmin = user.getIsAdmin(); String sql = "update Users set Pwd = '"+ strPwd + "',isAdmin = '" + strAdmin+ "' where userName = '" + userName + "'"; return exeUpdate(sql); }}End Sub第3章 系统实施3.1数据库的实现1. 数据库表的创建打开SQL数据库,单击“创建数据库表”菜单的“新建数据库表结构”菜单项。
在弹出的“创建数据库表结构”界面中,单击“新建模板”按钮在弹出的对话中,输入数据库表名,然后,单击确定部分所建表如下所示:图2.7 图书信息图2.8 读者信息数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构,导入数据并进行程序的调试图书馆管理系统关系如图图2.10所示:图3.1图书馆管理关系图3.2程序实现1.借书管理界面的实现在此界面可以增加用户、修改用户和删除用户的借书信息如图3.2所示图3.2 借书管理界面实现图2.还书信息管理界面的实现此界面可以实现对读者所还图书进行登记还有查询如图3.3所示图3.3 还书信息管理界面实现图第4章 总结在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足另外,在整个开发的过程中,时间也比较仓促因此,该系统必然会存在一些缺陷和不足因为对校园图书馆管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求在这次设计的过程中,我也知道了自己在动手实践方面有许多不足之处这使得我在调试系统中出现了很多的问题比如某个地方出现错误看不懂也不知道怎么解决,但是在这次课设过程中也学到了很多东西,掌握了自己以前没有学好的知识,经过这一个学期对《信息管理系统》的学习,我了解了信息管理系统设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。
最后,我要衷心的感谢老师在我的课程设计过程中给予我的极大帮助,使我能够及时、顺利完成此次的课程设计尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的相信本图书馆管理信息系统是一套学校图书馆在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项目开发过程,进一步熟练了专业基本知识,巩固了我对Java和SQL的掌握毕业设计中的最大收获并不是掌握开发工具的应用,而是学会了设计系统的思维方法在整个系统开发的过程中,我学到了很大新的知识,前学过的许多知识点在运用过程中也有了更为深入的分析,这是我大学期间做过的规模最大的项目,在这个过程中也体会到了如何将书本知识转化到实际的应用中参考文献1. 耿祥义 JAVA大学实用教程 电子工业出版社 2005.032. 陈松乔,《现代软件工程》,北京:北方交通大学出版社,20003. 张立科.JAVA数据库系统开发实力导航.第一版.人民邮电出版社,2004.54.耿祥义 JAVA大学实用教程实验指导 电子工业出版社 2005.035.[美]Cay S.Horstmann 程峰等译 JAVA2核心技术 机械工业出版社 2003.066. 龚波,《SQL Server 教程》,北京:希望电子出版社,20048.徐守祥.数据库应用技术.第一版:人民邮电出版社,2005.69.[美]Philip M. Lewis/Arthur Bernstein/Michael Kifer. 中国,2005.7 10.Margare H. Dunham .清华大学出版社,2005.211.[美]matthew Hart /Scott Jesse 清华大学出版社,2005.312.张强华.《JAVA程序设计》.人民邮电出版社.2001.813.郝平,《数据库开发与应用》,北京:科学出版社,200514.黄义弘,《数据库系统原理与设计》,北京:清华大学出版社,2001 。