图书信息管理系统毕业论文设计.doc
湖南软件职业学院毕业设计(论文)图书信息管理系统The books information management system 专 业 名 称:计算机信息管理指 导 教 师:李菁毕业生姓名:刘少峰毕业生学号:20081030111论文提交日期:分类号: 学校代码: 4711密 级:无 毕业生学号:20081030111 图书信息管理系统The books information management system专 业 名 称:计算机信息管理指 导 教 师:李菁毕业生姓名:刘少峰毕业生学号:论文课题来源:教师科研课题论文提交日期:论文评审单位:湖南软件职业学院摘 要随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。特别是现代Internet的Web技术的发展大大地推动了社会各个方面的发展。设计一个现代的图书馆管理系统势在必行。图书馆管理系统是常用的信息管理系统之一,它的实现主要由两部分组成:数据库建立与维护和前台应用程序的开发。数据库要求非常强的一致性与完整性以及安全性,而前台应用程序则要求功能实现完善,简单易用。SQL server2000具有比较完善的功能。而Visual C#.NET是专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework和ASP.NET具有最为全面的支持。综合各个方面选择C#作为程序设计语言和SQL server 2000数据库。通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并进一步设计了数据库结构和应用程序。由此得到了一个基本满足读者,图书馆管理员和高级管理者需求的图书馆系统。关键词:图书馆管理系统 C#.NET SQL server 2000数据库AbstractAlong with the technical development and society's progress, the computer has become the people to live with the work in primary assistant.Specially the modern Internet Web technology development greatly impelled the social each aspect development.Designs for a modern age library management system imperative.The Library Management System of which development mainly contains two aspects that one is the establishment and maintenance of the backstage database and the other is the development of the fore-end application procedures is a typical Management Information System. The database which must has data consistency,integrality,security as well.And the sencond part will be characteristic with maturity of function,ease-to-use and so on. All above these,I chose the c# programming language and SQL server 2000 database. The reason why I chose to use the MS SQL Server 2000 as a development tool is that it can handle strong data completely and exactly .And I chose Visual C#.NET among many would-be languages, because it is the best language in developing the application procedure.According the analysis of requirement min or small library ,carved up the module of function,analyzed the mode of database and designed its structure and application.By that the book management system can satisfy the basical need of the reader ,the adminsistrators of the library and the high-level adminsistrators.Keywords: Libray management system C#.NET SQL server database 27 目 录引 言11 绪 论21.1 毕业设计主要任务21.2 目前图书管理系统存在的问题21.3 课题意义21.4 论文的工作和安排32 需求分析32.1 系统需求分析32.2 功能需求描述32.3 性能需求33 图书馆管理系统的可行性分析43.1 技术可行性43.2 经济可行性43.3 操作环境及运行环境44 系统总体设计54.1 业务流程54.2 系统功能模块图55 系统详细设计75.1 程序流程图75.2 数据库的设计75.2.1 数据库设计概述75.2.3 数据库的逻辑设计95.2.4 数据库物理设计126 系统设计156.1 用户登录156.2读者信息查询166.3 密码修改176.4 图书借阅界面187 总 结22参考文献23致 谢24附 录25引 言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的中小型图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,图书馆管理信息系统亦是如此。以往图书馆管理信息系统由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的图书馆管理信息系统就是为了使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。湖南软件职业学院毕业设计(论文) 绪论1 绪 论1.1 毕业设计主要任务 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;2.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;3.实现图书馆对新书入库,图书修改,并且建立书籍档案,方便进货;4.实现图书馆1.2 目前图书管理系统存在的问题1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。1.3 课题意义随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理,归还管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:用户管理、图书馆参数管理、图书管理、统计查询。1.4 论文的工作和安排本次设计的目标是,开发一个图书馆借阅管理系统。借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户.论文设计和实现了图书借阅管理系统系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分:第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是可行性分析,描述了系统的经济可行性,技术可行性等。 第四章为系统总体设计,系统功能模块分析。第五章是详细设计,包括程序流程图和数据库的设计。第六章是系统设计,提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第七章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。2 需求分析2.1 系统需求分析系统的主要目的是实现一个图书管理系统。系统有2 类用户分别为管理员、注册用户。管理员经口令认证进人系统后,管理员可完成维护系统的功能, 包括管理图书和管理用户。注册用户则完成查询图书、修改个人资料、查询个人借阅信息的功能, 工作完成后可以退出系统。2.2 功能需求描述图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作1. 登录。读者、图书管理员身份验证正确了才可以进入该系统.2. 系统设置功能:系统管理员可以设置图书馆相关的参数信息。3.用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。4.查询功能:对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。5.其他功能系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。2.3 性能需求图书馆在正常运行中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息,因此需要对读者资源、书籍资源、借书信息,还书信息进行及时处理,及时了解各个环节中信息的变更,力求提高管理效率。检验图书馆服务水平的重要标准。1.环境:图书室、阅览室环境清洁、安静、整齐、舒适;2.人员:图书馆管理工作人员热情、认真、主动,有专业能力;3.设备:图书馆设施先进、齐全,能满足功能需要; 4.文献:图书馆的文献资源符合工作性质与目标,数量多,质量好,有特色。一般的性能需求是指相互消息传递顺利,协议解析正确,界面友好,运行时间满足使用需要,安全性得到安全保证,不会出现基本的错误等。3 图书馆管理系统的可行性分析3.1 技术可行性技术可行性是从前台和后台的开发工具选择上进行分析的。微软公司开发的ASP.NET远远超越了ASP及其它开发软件,同时也给Web开发人员提供了更好的灵活性,有效缩短了Web应用程序的开发周期。而SQL Server 是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能。其版本SQL Server2000将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。SQL Server 2000 提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案,因此我们在图书馆管理系统中使用了在.NET环境基于Web页面的B/S服务模式。3.2 经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的3.3 操作环境及运行环境软件环境:操作系统:Windows XP, 数据库:SQL Sverver 2000,前台环境:Visual Studio硬件环境:Cpu: Pentium 166 MHz 以上,内存至少128 MB,硬盘空间80 M,显示器800 *600或更高分辨率。根据需求分析的得到的现行业务处理流程,在反复研究后,首先确定目标湖南软件职业学院毕业设计(论文) 系统总体设计4 系统总体设计4.1 业务流程管理员 借书或归还图书管理员用户验证 图书登记登录图3.1 图书管理系统的业务流程针对图书管理业务流程,现具体描述其功能如下:1用户登录:系统对用户合法性进行检查。2图书入库:对新购进的图书分类进行编号,把图书基本信息录入计算机。3图书借阅:对已入库的图书,会员可以借阅,并进行登记。4图书归还:对会员已归还的图书进行归还登记。 5信息查询:即对所有图书的借阅情况,或会员的基本情况和借阅情况进行查询。6管理措施:定义系统规定的借阅图书超期时间、超期处罚办法。4.2 系统功能模块图依据需求分析阶段得到的数据流图,在保证系统基本功能要求的前提下,结合系统业务流程确定系统必须具备的所有功能,由此给出图书馆管理系统的系统功能模块图如图3.2所示:功能模块图:图书管理系统图书管理功能读者管理功能借阅管理功能系统管理功能书籍信息书籍类别读者信息读者查询增加用户密码修改借书管理还书管理4.2 图书管理系统功能模块图湖南软件职业学院毕业设计(论文) 系统详细设计5 系统详细设计5.1 程序流程图依据详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。所以在此给出系统的主程序流程图,如图4.1所示。 开始 管理员登陆是否合法结束选择操作读者管理归还管理借阅管理图书管理管理设置管理员注销 Not Yes图4.3 主程序流程图5.2 数据库的设计5.2.1 数据库设计概述 计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。 为了使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。 根据软件工程的思想,数据库设计的周期可以划分为六个阶段: 规划阶段、需求分析阶段 、设计阶段、程序编制阶段 、调试阶段、运行和维护阶段 。数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。物理结构设计的原则如下:(1) 尽可能的减少数据冗余和重复(2) 结构设计与操作设计相结合(3) 数据结构具有相对的稳定性。基于以上设计原则,系统设计了一个数据库,包含基本信息表(如图书信息表、系统用户表等)及几个实体联系建模后的表(如借阅信息表、用户信息表等)。为了加快系统访问的速度把这些表放在一个数据库中。5.2.2 数据字典有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。列出系统的主要数据字典。1. 名称:管理员描述:记录管理员信息定义:管理员信息=管理员ID+管理员密码输入数据:管理员信息输出数据:管理员信息2. 名称:图书信息表结构描述:记录所有图书的基本情况定义:图书信息=图书编号+ISBN号+图书类别+图书名称+页码+作者+价格+出版社+出版时间+登记日期+备注输入数据:图书信息输出数据:图书信息3. 名称:读者信息表结构描述:记录所有读者的基本情况定义:读者信息=读者编号+性别+姓名+类别+身份证号+办证日期+证有效期+工作单位+E-mail+联系电话输入数据:读者信息输出数据:读者信息4. 名称:借书登记表结构描述:记录所有图书的借阅情况定义:借书信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期输入数据:借书信息输出数据:借书信息5. 名称:记录归还登记表结构描述:记录所有图书的归还情况定义:归还信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期+实还日期+罚款输入数据:归还信息输出数据:归还信息5.2.3 数据库的逻辑设计在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计得E-R图。1:管理员实体E-R图: 管理员密码用户ID图4.4 管理员实体E-R图2:读者信息实体E-R图:性别 读者卡号读者 姓名地址联系电话年龄 办卡日期 图4.5 读者实体E-R图3:图书信息实体E-R图:出版日期 图书编号 图书ISBN号 登记日期出版社名称数量类别 价格作者 图4.6 图书实体E-R图4:借书信息实体E-R图:出版 读者编号 借书 读者姓名书籍类别书籍编号应还日期 书籍名称借出日期 读者类别 书籍作者图4.7 借书实体E-R图6:还书信息实体E-R图:实还日期 读者编号 还书 付款金读者姓名书籍类别书籍编号应还日期 书籍名称借出日期 读者类别书籍作者图4.8还书实体E-R图7:总体E-R图:读者管理管理员图书管理 读者图书归还借阅 1 1 N N M M N N N 图4.9总体E-R图5.2.4 数据库物理设计我们可以设计出了后台数据库的各个数据表。如表5.1表5.10所示:表5.1用户表字段代号字段类型字段长度是否可以为空备注User_no(关键字)Nvarchar16否用户IDUser_pwdNvarchar16可以为空用户密码User_nameNvarchar4否用户名称表5.2 借书表字段代号字段类型字段长度是否可以为空备注Duzhe_noNvarchar50否读者编号Book_noNvarchar50否图书编号Book_nameNvarchar50否图书名称Borrow_dateDatetime8可以为空借书日期Back_dateDatetime8可以为空归还日期Pass_dateInt4可以为空超期天数moneyMoney8可以为空欠款数目表5.3 图书表字段代号字段类型字段长度是否可以为空备注Book_no(关键字)Nvarchar20否图书编号Book_nameNvarchar100否图书名称Book_zuozheNvarchar50否图书作者Book_chubansheNvarchar50否图书出版社Book_outdayDatetime8否图书出版日期Book_priceInt4否图书价格ISBNNvarchar10否图书ISBN号Book_arrivedayDatetime8否图书入库日期表5.4读者表字段代号字段类型字段长度是否可以为空备注Jieshu_no(关键字)Nvarchr50否借书证号Duzhe_nameNvarchr50否读者名称Sexbit1否读者性别Duzhe_zhuanyeNvarchr50否读者所属专业Bumen_noNvarchr50否部门号Banzheng_datatimeDatatime50可以为空办证日期湖南软件职业学院毕业设计(论文) 系统设计6 系统设计6.1 用户登录图6.1 图书登陆界面当我们从登录窗体输入读者的用户名和密码时,则进入读者信息查看界面.图6.2主界面当我们在登录界面中输入的是图书馆管理员的用户名和密码,那么我们进入的将是上面的主界面,在这个界面中,我们设定的有对读者信息的管理,对图书信息的管理,在菜单栏上点击就会出现读者信息界面,修改密码界面,图书录入界面和图书归还,读者添加等界面。6.2读者信息查询表6.2读者信息界面控件控件名称控件ID说明Label1Label1读者信息查询Label2Label2读者姓名Label1Label4输入要删除的读者姓名Button1Button1查询Button2lbl_delete删除Button3lbl_quxiao取消DataGridDataGrid1数据库连接窗口示通过上面的“按钮”代码运行后,当我们成功登录后,便跳转到了下面的读者基本信息查看界面.图6.3 读者信息查询6.3 密码修改要对读者的密码进行修改,我们普通的设计就是首先要验证输入的原密码,然后输入新密码,如果“新密码”框的输入符合规则且和“确认新密码”框的密码值是同样的,那么“确定”后便对密码进行了修改。 图6.4 密码修改6.4 图书借阅界面表6.4借阅界面控件控件名称控件ID说明Buttonbtn_submit借书Label lbl_book_name借书证号TextBoxtbx_book_no书目编号提示TextBox tbx_tushu_no图书编号Buttonbtn_Guihuan还书DataGridDataGrid1数据库连接Labellbl_note书目名称文本框TextBoxtbx_duzhe_no读者编号提示图6.5借书界面7 总 结通过对数据库知识的学习,使我了解了数据库与后台管理的连接方法,感触颇深。通过做这次毕业设计,使我的理论知识又得到了进一步的巩固。经过对网站的仔细调研,完成了图书馆管理网站的各大模块的设计,基本上实现了读者与管理员要求的功能,如图书的借阅归还、系统查询,权限设置等,管理员可以方便地通过后台对这个网站进行管理。在整个系统开发的过程中,我学到了很大新的知识,前学过的许多知识点在运用过程中也有了更为深入的分析,这是我大学期间做过的规模最大的项目,在这个过程中也体会到了如何将书本知识转化到实际的应用中。在这次设计过程中,还存在着一些不足,特别是感觉到安全性不够好,功能不够多。由于时间有限,我们的知识水平有限,系统中还有不足之处,还请各位老师批评指正。参考文献1唐政,房大伟,等著. C#项目开发全程实录清华大学出版社,2005年2马骏主编.C#网络应用编程基础.人民邮电出版社,2006年3程秉辉,John Hawke编著.解决网页设计一定会遇到210个问题.学出版社,2008年4马骏,党兰学,杜莹主编.ASP.NET网页设计与网站开发.人民邮电出版社,2007年5求是科技编著.ASP.NET信息管理系统开发实例导航.人民邮电出版社.2008年6王院峰 编著.零基础学ASP.NET2.0.机械工业出版社2006年7赵致格.数据库系统与应用编著.清华大学出版社2007年8张志清主编.管理信息系统实用教程.电子工业出版社.2004年9 吴晨,孙少波,叶莞编著.ASP.NET数据库项目案例导航. 清华大学出版社,2004年10 景丽等编著.ASP.NET数据库高级教程(C#版). 清华大学出版社, 2004年11 马里杰等编著.SQL Server数据库开发经典案例解析. 清华大学出版社,2006年12 萨师煊 王珊.数据库系统概论(第三版). 北京高等教育出版社,2000年13丛书编委会主编,郝文化审.ASP.NET与网站开发. 清华大学出版社,2005年14孙永强,王乔编著.Visaual C#.NET Web 应用程序设计. 清华大学出版社,2005年15侯志荣编著.Web 应用程序开发-算法分析与应用. 人民邮电出版社,2003年湖南软件职业学院毕业设计(论文) 附录致 谢非常感谢我的同学们我的老师们当我在毕业设计过程中遇到问题和困难时,是你们给我提出许多关键性的意见和建议,使我对整个毕业设计的思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我获益良多。是你们教授了我丰富的知识,教会了我学习知识的能力。谢谢我的母校对我的教育,我将以更加饱满的热情投入到研究生阶段的学习中去,充实自己,完善自己,向着自己的目标不断地前进,用我的所学去实现我心中的梦想!附 录登录代码如下:private void button1_Click(object sender, EventArgs e) /用数据集类实现 try da = new SqlDataAdapter("select * from 用户表 where 用户ID='" + comboBox1.Text.Trim() + "' and 密码='" + textBox2.Text.Trim() + "'", conn); DataSet ds = new DataSet(); if (conn.State = ConnectionState.Closed) conn.Open(); da.Fill(ds, "用户表"); conn.Close(); if (ds.Tables"用户表".Rows.Count > 0) userName = comboBox1.Text; userPwd = textBox2.Text; frMain frmain = new frMain(); this.Hide(); frmain.Show(); else MessageBox.Show("您输入用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); textBox2.Text = "" combo