1、毕业论文图书管理系统的设计与实现姓 名: 指 导 教 师 : 专 业 名 称 : 软件技术 所 在 系 部 : 信 息 工 程 二一一年六月毕业论文(设计)开题报告学生姓名 班级 指导教师学号毕业论文(设计)题目 图书管理系统设计与实现一、国内外现状与选题的意义:随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了,图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者
2、相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。随着社会的日益发展,尤其是科技的迅猛发展,使得我国各项事业得到了前所未有的突破,不仅提高了工作效率,而且也降低了劳动强度,美化了工作环境。随着计算机广泛地应用在科学技术领域的各个方面,并逐渐进入家庭,成为人们生活中必不可少的一部分。为了适应读者对图书的需求,同时又大大减轻图书馆工作人员的工作量,全面提高图书馆的管理效率及服务质量,我以 C#为环境,基于 ACCESSS 数据库,开发了此应用软件,本系统适用于各类小型图书馆,以及各类大中专院校、中小学校、企
3、事业单位的图书馆和资料室的现代化综合管理。二、预期的目标与功能分析:本软件针对图书馆的业务范围及工作特点,设计了读者信息管理、借阅管理、新书入库管理、图书信息管理等系统,这些系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括菜单设计、数据输入、查询、删除、修改等设计。从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。本系
4、统的实现的主要功能有:读者信息管理、书籍信息管理,报表,以及读者和书籍的查询和修改,等等的功能,是一个可以满足借阅者和图书馆工作人员的需要的数据库。目 录引言 .第一章 系统功能设计 11.1 系统设计目标 .11.2 系统功能设计 .11.3 开发工具的选择 .2第二章 系统数据库设计与实现 32.1 系统数据库设计 .32.2 数据库的实现 .6第三章 主窗体设计 73.1 菜单设计 .73.2 工具栏设计 .73.3 主窗体代码的实现 .8第四章 主要功能模块的实现 94.1 登录窗体设计 .94.2 图书信息管理模块设计 .104.3 读者信息管理模块设计 .124.4 图书借阅处理模
5、块设计 .134.5 图书查询处理模块设计 .144.6 员工管理模块设计 .15第五章 结束语 17第六章 致谢 17参考文献 .18引言随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了,图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有
6、利于提高管理效率。随着社会的日益发展,尤其是科技的迅猛发展,使得我国各项事业得到了前所未有的突破,不仅提高了工作效率,而且也降低了劳动强度,美化了工作环境。随着计算机广泛地应用在科学技术领域的各个方面,并逐渐进入家庭,成为人们生活中必不可少的一部分。为了适应读者对图书的需求,同时又大大减轻图书馆工作人员的工作量,全面提高图书馆的管理效率及服务质量,我以C#为环境,基于 ACCESSS 数据库,开发了此应用软件,本系统适用于各类小型图书馆,以及各类大中专院校、中小学校、企事业单位的图书馆和资料室的现代化综合管理。本软件针对图书馆的业务范围及工作特点,设计了读者管理、图书管理、借阅管理、新书入库管
7、理、修改图书信息等 5 个子系统,这 5 个子系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括菜单设计、数据输入、查询、删除、修改等设计。从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。本系统的实现的主要功能有:读者信息管理、书籍信息管理,报表,以及读者和书籍的查询和修改,等等的功能,是一个可以满足借阅者和图书馆工作
8、人员的需要的数据库。第一章 系统功能设计1.1 系统设计目标系统功能依据用户需求而设计,主要包括信息管理对象的特征、事物流程的内容和数据流量,根据用户需求和方便用户使用的原则确定相应的功能模块。1本系统为学校的图书馆信息而设计,实现信息处理的自动化、规范化,主要用于处理图书日常借阅和还书、图书入库、各种查询操作,系统具有以下功能。1)图书借阅处理2)图书与读者信息查询与修改、删除3)图书入库与图书的信息修改、删除4)员工信息的修改、删除1.2 系统功能设计要求系统实现图书馆日常管理事务最主要的功能,包括图书的借出于还回,图书信息的录入、修改和查询,读者信息的录入、修改和查询,员工信息的录入、修
9、改和查询。实现这些基本功能,组建了图书管理系统的基本框架,根据功能的关联关系和集中分组的原则,将系统细化如图 1-1 所示的结构图。图书馆信息管理系统还书处理借书处理借阅处理信息查询图书信息管理读者信息管理员工信息系统设置读者信息查询借阅信息查询图书信息查询图书入库修改图书信息删除图书信息添加读者信息修改读者信息删除读者信息添加员工信息修改员工信息删除员工信息用户密码修改登录处理图 1-1 系统功能结构图1.3 开发工具的选择本系统采用 ACCESS 创建后台数据库,前台开发工具采用的 Visual Studio 2005,编程语言为 C#,程序采用 C/S 结构。2第二章 系统数据库设计与实
10、现数据库设计得合理与否,对数据库的完整性、安全性、程序运行的效率和程序设计的复杂程度有着十分密切的关系。数据库设计的内容包括数据库管理系统的选择、数据实体的确定、数据实体的 E-R 图和数据库的实现。32.1 系统数据库设计1. 实体 E-R 图根据图书管理系统分析与功能设计,图书信息管理系统中主要包括图书信息实体、读者信息实体、借阅信息实体、员工信息实体以及读者类别实体等。图书信息实体包括表征一本书基本特征的数据和由于管理需要而记录的一些数据,有 8 个属性构成。该实体的 E-R 图如图 1-2 所示。其中“图书编号”实际上就是 ISBN 编号,这是用于唯一确定一本合法出版物的标准编号,它作
11、为本实体的主键。图书信息出版社在库数图书编号价 格书 名类 别 作 者库存数图 1-2 图书信息实体 E-R 图读者信息实体标示一个读者的个人特征数据和该读者在图书馆的借阅状态信息,有 10 个属性构成。该实体的 E-R 图如图 1-3 所示。其中“读者编号”为主键,“读者姓名”、“性别”、单位和电话等式常见的基本信息。4读者信息单 位电话读者编号读者姓名读者类别可借书数 可借天数性 别图 1-3 读者信息实体 E-R 图借阅信息实体标示哪个读者在何时借了哪本书。从信息完整性和减少冗余度的角度来考虑,本实体只需 3 个属性,即:“读者编号”-是谁借了这本书:“图书编号”-借的是那本书:“借出日
12、期 ”-是那天接的。该实体的 E-R 图如图 1-4 所示。借阅信息读者编号图书编号借出日期图 1-4 借阅信息实体 E-R 图员工信息实体标示本馆员工的信息。员工信息实体是为图书馆管理者掌握本馆员工的资料而设计的,它的另一重要作用是提高员工登录系统时的编号和密码。该实体的 E-R 图如图 1-5 所示。员工信息手 机姓 名员工编号性 别 职 务密 码 图 1-5 员工信息实体 E-R 图52. 数据库结构设计根据图书信息管理系统 E-R 图设计系统数据库。本系统数据库名为“tsglxt”,其中包括五个数据表,分别存放图书信息、读者信息、读者类别信息、借阅信息和员工信息。1)图书信息表:表名为
13、:“book”,用于保存所以图书信息,其结够如图1-6 所示。图 1-6 book 表的结构2)读者信息表:表名为:“reader ”,用于保存可以在本馆借书的所有读者信息,其结果如图 1-7 所示。图 1-7 reader 表的结构3)读者类别表:表名为:“readerc”,用于保存各种类别的读者借阅的一些限制,该表结够如图 1-8 所示。图 1-8 readerc 表的结构64)借阅信息表:表名为:“borrow”,用于保存每本书的借出信息,借阅信息表的结够如图 1-9 所示。图 1-9 borrow 表的结构5)员工信息表:表名为:“employee”,用于保存本馆员工的信息,该表的架构
14、如图 1-10 所示。图 1-10 employee 表的结构2.2 数据库的实现选择“开始”“程序”“Microsoft Office”“Microsoft Office Access 2003”命令,连接服务器,在 “对象资源管理器 ”中创建数据库。数据库名称为“tsglxt ”,并输入表中的数据。7第三章 主窗体设计首先,启动程序“Microsoft Visual Studio 2005”,选择“文件”“新建”“项目”,打开“新建项目”对话框,输入项目名称为“tsgl”,并指定文件位置。将项目中的默认添加的第 1 个 Windows 窗体文件名称改为“frmMain.cs”,并将其作为主
15、窗体。在主窗体中先进行界面设计,然后再编写其相应的事件方法代码,主窗体的执行效果如图 1-11 所示。图 1-11 主窗体执行的效果图3.1 菜单设计菜单项的结构如图 1-11 所示。在窗体上添加 MenuStrip 控件,依次输入如图所示的各菜单的标题。3.2 工具栏设计利用工具栏可以快速执行系统中的常用命令。工具栏的设计步骤是:在主窗体上添加 ToolStrip 控件,在上面依次添加 7 个 Button,设置每个 Button 的DisplayStyle 属性均为“text”,并设置每个的属性依次为:借书、还书、图书信息查询、添加读者信息、添加员工信息、图书入库和退出。工具栏的运行效果如
16、图 1-12 所示。图 1-12 工具栏的运行效果图83.3 主窗体代码的实现分析:单击菜单项时,需将子窗体显示出来,单击工具栏上的按钮时,可以调用菜单项的 Click 事件方法代码。代码:举例说明部分的菜单项和工具栏按钮的代码实现。private void toolStripButton1_Click(object sender, EventArgs e)借书处理ToolStripMenuItem_Click(null, null);private void 借书处理ToolStripMenuItem_Click(object sender, EventArgs e) frmBorrow f
17、rmborrow = new frmBorrow();frmborrow.MdiParent = this;frmborrow.Show();private void 还书处理ToolStripMenuItem_Click(object sender, EventArgs e)frmReturn frmreturn = new frmReturn();frmreturn.MdiParent = this;frmreturn.Show();private void toolStripButton2_Click(object sender, EventArgs e)还书处理ToolStripMen
18、uItem_Click(null ,null );9第四章 主要功能模块的实现4.1 登录窗体设计登录窗体作为系统的启动窗体,用于核对用户和密码,只有图书馆工作管理人员才能登录到本系统进行操作。登录窗体的设计比较灵活,只要能实现用户和密码的验证即可,本系统将其设计成为一个小窗体,其运行界面如图 1-13所示。登录窗体文件名设计为“frmLogin.cs”.1. 界面设计:图 1-13 登陆窗体运行效果在该窗体上添加 2 个 Label、1 个 ComboBox、1 个 TextBox、2 个 Button 控件,其中登录窗体及其主要控件的属性设置如表 1-1 所示。表 1-1 登录窗体及其主要
19、控件的属性设置窗体及其控件类型 属性名称 属性值 说明Name frmLogin 窗体名称Text 登录 窗体的标题文本MaximizeBox False 窗体的最大化失效Startposition CenterScreen 窗体启动时位于屏幕中心FormFormBorderStyle FixedSingle 窗体的大小固定ComboBox Name cbxEmployeeNo 选择登录用户编号Name Txtpwd 输入用户登录密码TextBoxPasswordChar * 密码替代显示字符btnOK “确定”按钮Button NamebtnCancel “取消”按钮102. 代码设计:pr
20、ivate void btnOK_Click(object sender, EventArgs e)string note = new string2;OleDbConnection con = new OleDbConnection(“provider=Microsoft.Jet.OLEDB.4.0;“+“data Source=d:bylwtsgl.mdb“);OleDbCommand com = new OleDbCommand(“select* from employee where 员工编号=“+“+txtEmployeeNo .Text .Trim()+“,con ); con.O
21、pen();tryOleDbDataReader reader = com.ExecuteReader();if (reader.Read() note0 = (string )reader“员工编号“;note1 = (string )reader“密码“;elsethrow (new Exception(“您的账号有问题,请确认后再输!“);if (note0 = txtEmployeeNo.Text.Trim()if (note1 = txtPwd.Text.Trim() frmMain main = new frmMain();main.Show();this.Hide();else
22、throw (new Exception(“您的密码出现错误,请查证再输!“); elsethrow (new Exception(“您的账号有问题,请确认后再输!“);catch (Exception ex) MessageBox.Show(“登陆问题:n “+ex.Message , “登陆出错“, MessageBoxButtons.OK, MessageBoxIcon.Error);private void btnCancel_Click(object sender, EventArgs e)Application.Exit();4.2 图书信息管理模块设计图书信息管理模块的内容包括图
23、书入库和修改图书信息等。该功能模块主要负责图书信息的相关操作,保证数据库中的完整、规范和准确,使用户可以方便快捷地来管理图书信息。该模块主要操作针对数据库的的图书信息表“”进行添加、修改和删除记录。111. 图书入库窗体,其运行效果如图 1-14 所示。窗体设计:图 1-14 图书入库窗体的运行效果代码清单:(略)2. 修改图书信息窗体,其运行效果如图 1-15 所示。窗体设计:图 1-15 修改图书窗体的运行效果代码清单:(略)3. 删除图书信息窗体,其运行效果如图 1-16 所示。窗体设计:图 1-16 删除图书窗体的运行效果12代码清单:(略)4.3 读者信息管理模块设计每年都有新生入校
24、和老生毕业,作为一个学校的图书馆,读者信息需要实时的更新。读者信息管理包括添加读者信息、修改读者信息和删除读者信息。1. 添加读者信息窗体,其运行效果如图 1-17 所示。窗体设计:(略)图 1-17 添加读者信息窗体的运行效果代码清单:(略)2. 修改读者信息窗体,其运行效果如图 1-18 所示。窗体设计:图 1-18 修改读者信息窗体的运行效果代码清单:(略)3. 删除读者信息窗体,其运行效果如图 1-19 所示。13窗体设计:图 1-19 删除读者信息窗体的运行效果代码清单:(略)4.4 图书借阅处理模块设计图书借阅处理模块的本系统的核心模块,包括借书窗体和还书窗体的设计。1. 借书处理
25、窗体,其运行效果如图 1-20 所示。窗体设计:图 1-20 借书处理窗体的运行效果代码清单:(略)2. 还书处理窗体,其运行效果如图 1-21 所示。14窗体设计:图 1-21 还书处理窗体的运行效果代码清单:(略)4.5 图书查询处理模块设计查询功能是十分重要的功能,读者需要查询他所借的书和以还的书,图书馆工作人员需要查询本馆的图书、借阅信息和员工信息。查询功能仅仅需要显示符合条件的数据,并不需要对数据进行复杂的处理。系统设计的查询模块包含以下 3 个窗体。1) 图书信息查询窗体:2) 借阅信息查询窗体:3) 读者信息查询窗体:1. 图书信息查询窗体,其运行效果如图 1-22 所示。窗体设
26、计:图 1-22 图书信息查询窗体的运行效果15代码清单:(略)2. 借阅信息查询窗体,其运行效果如图 1-23 所示。窗体设计:图 1-23 借阅信息查询窗体的运行效果代码清单:(略)3. 读者信息查询窗体,其运行效果如图 1-24 所示。窗体设计:图 1-24 读者信息查询窗体的运行效果代码清单:(略)4.6 员工管理模块设计1、添加员工信息窗体,其运行效果如图 1-25 所示。16窗体设计:图 1-25 添加员工信息窗体的运行效果代码设计:(略)2、修改员工信息窗体,其运行效果如图 1-26 所示。窗体设计:图 1-26 修改员工信息窗体的运行效果代码设计:(略)3、删除员工信息窗体,其
27、运行效果如图 1-27 所示。窗体设计:图 1-27 删除员工信息窗体的运行效果代码设计:(略)17第五章 结束语经过一个月的设计和开发,图书管理信息系统基本开发完毕。其功能基本符合用户需求,能够完成管理主界面与登录程序设计,系统管理模块,图书信息管理模块,读者信息管理模块,还借信息管理模块等。并提供部分系统测试功能,使用户方便进行数据添加、数据查询、数据修改。由于时间较短和本人水平所限,该系统必然会存在一些缺陷和不足。但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本图书管理信息系统是一套学校在日常管理中必不可少的管理软件。
28、第六章 致谢首先诚挚的感谢指导老师*老师,老师悉心的教导使我得以通过开发这个系统,从以前的理论上升到实践,真正做到学有所用,虽然在设计中我遇到了不少问题,而且往往一个小小的错误都会使我花很多的时间和精力去寻找和修正,但在老师竭尽全力的帮助下和自己的努力下,最终还是一一克服了。通过这次设计,使我学到了很多东西,收益非浅,我感觉理论到实践是一个艰难的过程,必须勤动手,才能发现问题,使自己得到真正的提高。经过了这次的设计使我学到了很多知识,给我今后在工作和学习上也提供了不少宝贵的经验。并且通过这次设计也使我也发现了自己在学习上的不足,主要是动手能力的不足,我会努力在以后的工作道路上继续充实自我,完善
29、自我。但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。18参考文献1杨涛 Access 2007 实用教程 清华大学出版社 2007 年 第一版 页 281-3002李志云 周岩 徐春华等 Visual C#2005 数据库开发案例教程 机械工业出版社 2009 年第一版 页 146-1933 李春葆 金晶 曾平等 C#程序设计教程 清华大学出版社 2010 年第一版4陈桂林 Access 数据库程序设计 高等教育出版社 2007 年 第一版 5张波译 Access2007 宝典 人民邮电出版社 2008 年 第二版 页 9446向隅 数据库应用(Access2007)实例教程 清华大学出版社 北京交通大学出版社 2009 年 第一版 7李佳 丁宁 C#开发技术大全 清华大学出版社 2009 年 2 月 第一版 页 2302528李容 完全手册 Visual C# 2008 开发技术详解 电子工业出版社 2008年 5 月 第一版 页 183-206