学士学位论文图书管理系统.docx
《学士学位论文图书管理系统.docx》由会员分享,可在线阅读,更多相关《学士学位论文图书管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
学士学位论文图书管理系统
毕业设计(论文)
题目图书管理系统
专业计算机科学与技术
班级计123班
学生
指导教师
2016年
摘要
在人类文化的传承与发展中,书籍的作用功不可没,正如高尔基所言,书籍是人类进步的阶梯,随着知识的爆炸,读者日益增多,图书馆的出现满足了人们对知识的渴望,研究怎样高效的管理图书将是一个十分有意义的课题。
主要工作是图书管理和图书借还功能,图书信息是实现了图书的数字化管理,能方便管理员查看借还书记录;借书功能,读者可以通过此功能决定是否借书;还书功能,读者可以查看自己所借的图书信息;管理员可以查看借还书记录;管理员可以更新图书信息。
本系统使用HTML进行网页界面的设计,使用MVC设计模式,系统采用B/S结构实现,使用ASP.NET实现网站设计。
网站将用户分为两类角色,分别为管理员,用户,不同角色的权限不同。
网站通过IIS在服务器端配置发布,用户通过浏览器即可对网站内容进行访问。
网站中的数据使用MySQL数据库进行保存。
关键字:
ASP.NET,B/S,MySQL,MVC
Abstract
On the inheritance and development of human culture in the book goes to the role, as Gorky said, books are a ladder of human progress, with the explosion of knowledge, increasing readers, libraries appeared satisfied the people's desire for knowledge on how efficient management book is a very interesting subject.
Themain function is to achieve the book information, book circulation functions. Book Information function is to achieve a digital library management, administrators can easily view book information quickly; charging function, users can search for this feature to choose whether to lend books; also written feature, readers can see their own borrowed books, view the information; administrator can view the history of borrowing and returning books and illegal books information; View books specific information, administrators can view detailed information and books in the library's storage status.
This system using HTML for Web interface design, using the MVC design pattern, iSystemusingB/Sstructure,usingASP.NETtoachievewebdesign.Websitewillbedividedintotwotypesofusers,respectively,fortheadministrator,user,differentrolesofdifferentpermissions.WebsitethroughtheIISserverconfigurationisreleased,theusercanaccessthecontentofthesitethroughthebrowser.SitedatausingtheMySQLdatabasetosave,userpasswordsandothersensitivedatausingHashedencryptiontoensuresecurity.
KEYWORDS:
ASP.NET,B/S,SqlServer,MVC
AbstractI
第1章绪论1
1.1研究背景和意义1
1.2国内外现状分析 2
1.3课题研究的主要内容5
第2章系统分析6
2.1系统可行性分析6
2.1.1技术可行性分析6
2.1.2经济可行性分析9
2.1.3操作可行性分析9
2.2功能需求分析9
2.3系统分析10
2.3.1总体架构及流程10
2.3.2数据库表设计11
第3章图书管理系统平台设计14
3.1系统开发环境介绍14
3.1.1VisualStudio201014
3.1.2MySQL数据库14
3.2系统总体界面的设计14
3.3系统各模块的详细设计15
3.3.1登录模块15
3.3.2个人借还书模块15
3.3.3管理员操作模块16
3.3.4查看借还书记录模块16
3.3.5手工录入书籍模块16
3.3.6批量录入模块16
3.3.7修改库存模块16
第4章C语言在线辅导平台实现16
4.1创建ASP.NETWeb应用程序17
4.2登录功能实现19
4.3各模块功能实现23
4.3.1学生借还书模块功能实现23
4.3.2书籍信息和个人借书记录实现24
4.3.3管理员查看学生借还书记录模块实现25
4.3.4管理员手工录入书籍模块26
4.3.5管理员批量录入书籍模块26
4.3.6管理员修改库存模块27
4.3.7主页模块28
4.4数据库相关类28
第5章综合测试30
5.1登录、注册功能测试30
5.2各模块功能测试31
5.2.1学生主页模块功能测试31
5.2.2管理员模块功能测试32
第6章总结与展望35
6.1毕业设计总结35
6.2系统有待改进之处36
致谢38
参考文献39
第1章绪论
1.1研究背景和意义
近些年来,图书馆的管理已成为一个热门话题,科技的巨大进步已为图书馆在新世纪的发展打下了坚实的基础。
全球信息化和科学技术的发展也为图书馆的发展提供了更好的基础,传统的手工服务手段已不能满足学生的需求,自动化科技化的服务手段势在必行。
随着社会的发展,信息化社会的建立,图书馆开始冲破传统服务模式和很多高新科技结合起来,紧密地配合社会需求,提供信息化服务,有针对性的服务,不断提高学生的满意率。
随着社会大数据时代的到来,作为信息存储的主要媒体之一图书,在很多方面比以往任何时候都大的多,不论是我们自己学校还是社会图书管理系统都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,若采用一套高效简单操作的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前那种手工操作已不能满足人们的要求,开发和研究高效管理简单的管理系统是很有必要的。
21世纪是一个大数据时代。
在各行各业中离不开各种大型数据处理,所以计算机被广泛应用于信息管理系统。
计算机的最大好处在于操作简单,智能化高,比传统的人工操作高效简单。
使用计算机进行信息处理,不但大大的提高了工作效率,而且提升了系统的安全性。
尤其对于复杂的信息管理,计算机越能够发挥它的优势。
图书馆作为图书和用户信息的集散地,信息资源和资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
刚开始,他们对信息管理的主要方式手工处理,对于图书借阅情况(如借书天数、借书时间)的统计和核实等往往采用人工操作进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
这样做的话数据信息处理工作量太大,容易出错;而且数据繁多,容易丢失,且易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源没有充分利用,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力,如要对很长时间以前的图书进行更改就更加困难了。
这就是图书管理系统开发的基本环境。
针对这些问题,我认为有必要建立一个智能的图书管理系统,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
1.2国内外现状分析
我国图书管理系统始于上世纪八十年代,经过了30年的发展,已经取得了不少成就。
目前,我国绝大多数图书馆已经把计算机应用进图书管理系统,图书管理系统已经发展到计算机管理的自动化,网络化,数字化操作模式。
90年代中期,我国图书馆自动化系统的研发曾经出现了一个高潮时期,当时推出了目前在国内较有影响的几个大型自动化系统(如南京汇文、北邮MELINETS),并提出了“第三代图书馆自动化系统”的概念。
在此之后,国内图书馆自动化系统处于相对平淡的一个历史时期,无论在理论上,还是在整体技术实现上,都没有大的突破,有的研究人员甚至认为图书馆自动化系统已经到达了顶点,没有发展的余地。
国外自动化系统已经在我们所说的“第三代图书馆自动化系统”的基础之上,在多个方面(如体系结构、移动计算、门户集成)得到了较大的发展。
国外图书馆自动化系统的起源可以追溯到1954年,当时,美国海军兵器中心(NOTS)就在IBM 701机器上进行了单元词匹配检索。
1958年,IBM的研究员卢恩进行了著名的自动抽词试验,开创了自动分类、自动标引、信息检索等多个与图书馆学情报学密切相关的研究领域之先河。
图书馆自动化系统的真正发展是在1964年LC发起研制机读目录(Machine Readable Catalog)之后。
特别是20世纪70年代,以编目系统为基础的各种自动化系统已经成形,同时还出现了以编目系统为纽带的联机编目协作网,例如OCLC,BALLOTS,RLIN,WLN等;当时的图书馆自动化系统是由大学图书馆或有条件的大型图书馆自主开发的,如东伊利诺斯大学的联机图书流通系统,华盛顿州立大学的图书采购系统等。
从20世纪70年代末80年代初,图书馆自动化系统由单一功能性系统转向图书馆集成管理系统,其典型代表是西北大学的NOTIS系统;这期间还出现了专门为图书馆研制计算机管理系统的公司,其中
Innovative Interface.Inc成立于1978年,Sirsi成立于1979年,Dynix(epixtech)成立于1983年,Notis成立于1983年,Ex libris成立于1980年。
商品化的图书馆自动化系统的出现,本身就是社会分工的体现,使得图书馆能更进一步地专注于资源建设和服务质量的提高。
事实上,从上个世纪八十年代中期开始,发达国家的图书馆基本上不再自己独立研制软件,而是直接购买商品化的软件系统本文希望通过对这些国外图书馆自动化系统的分析,总结国外图书馆自动化系统的主要趋势,一方面为有志于提高国内自动化系统水平的有识之士提供参考;另一方面,也为一些希望引进国外自动化系统的图书馆提供一个当前国外图书馆自动化系统的基本概况。
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
传统的图书管理模式其最大的特点是手工。
首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。
对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录。
并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那里;还书的时候相对应的消去出借记录;这样做起来比较麻烦比较费时间。
传统图书管理的特点是一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。
这种管理方式存在着诸多缺点,如:
手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。
基于上面,有必要建立一个基于MVC的图书馆管理系统。
包括一下几点:
(1)图书检索模块:
是图书管理系统的重要模块之一,帮助读者更快速查询图书的用途和介绍。
(2)图书管理模块:
是图书管理员操作模块,读者是无权进入的。
由录入书籍、图书信息修改和读者借还书记录等模块构成。
(3)数据维护模块:
是由图书管理员控制的模块,它由对图书一系列操作构成,浏览修改读者、浏览修改图书等程序完成。
(4)数据统计模块:
由读者统计、图书统计、借还图书分类统计、借还书时间统计等几部分组成。
这个系统解决了以前的那种手工操作所存在着的如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者和管理员都减轻复杂的工序,更具有实用性。
1.3课题研究的主要内容
通过对于“图书管理系统”课题的研究,使自己对ASP.NET、网站建设及MySQL数据库有一个更加深入的了解和认识。
课题涉及C#编程,巩固与学习动态网页制作方面的知识。
同时此课题与MVC结构,CSS、HTML相关,还用到了部分JavaScript方面的知识,在不断的学习中,逐渐提高自己的知识水平和综合能力。
本图书管理系统是在Visual Studio.Net 平台上运用ASP.NET技术、SQL Server 数据库来实现的。
其主要功能有:
图书管理,图书信息管理,查询功能等。
论文在撰写过程中,最注重将理论与实践应用相结合,将各种理论和系统的实际应用和操作技巧上相结合,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。
网站主要实现的功能有查询、借阅、信息管理,其中信息管理为重点,包括图书信息管理、读者信息管理、管理员信息管理等。
通过对信息输入、编辑(增加、删除、查询、修改)等功能完成对图书信息数据库、用户信息数据库的操作管理。
第2章系统分析
2.1系统可行性分析
为采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。
开发本系统的可行性研究如下。
2.1.1技术可行性分析
我们一般认为 .NET 就是 .NET Framework 、Visual Studio.NET 及开发出的应用(ASP.NET、WinForms等),要说给 Microsoft .NET 下个准确定义,说实话,这个还挺难为人的。
微软自己有一段时间都承认给其对 .NET 的定义和使用给用户带来了很 confused 的感觉,后来“.NET”就不在 Windows 2003 Server 和其它一些服务器产品中使用了。
Microsoft® .NET 是 Microsoft XML Web services 平台。
XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。
对个人用户的好处是无缝的、吸引人的体验。
在 Microsoft 网站上对 .NET 定义如下:
Microsoft® .NET 是微软公司的一组软件技术,用来连接信息、人、系统和各种设备。
它通过使用 Web Services 技术来获得软件的高度集成。
除了将小型的、分散的、构建模块应用互相连接起来,还将 Internet 上的更大应用连接起来(翻译的可能不是很准确)。
第二种定义虽然模糊了许多,但是似乎更贴切一些。
两种定义里都把 Web Services 做为 .NET 的核心,其基本要素就是智能客户端、服务器、Web Services、开发工具以及一个额外的 .NET 体验。
由此给出我的定义:
Microsoft® .NET 是 Microsoft 围绕 Web Services 为核心,为信息、人、系统、各种设备提供无缝连接的一组软件产品(SmartClient、服务器、开发工具)、技术(Web Services)或服务(.NET Services,如 .NET Passport)。
MVC(ModalViewControler)本来是存在于Desktop程序中的,M是指数据模型model,V是指用户界面view,C则是控制器Controler。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据你可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
模型-视图-控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
MVC如何工作
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
视图
视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
为什么要使用MVC
大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。
它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。
经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。
MVC从根本上强制性的将它们分开。
尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。
首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。
对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是WAP界面;用一个模型就能处理它们。
由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。
例如,很多数据可能用HTML来表示,但是它们也有可能要用MacromediaFlash和WAP来表示。
模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。
因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。
如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。
一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。
由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。
对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
如图2.1MVC请求视图展示了MVC请求发起,处理,返回的流程。
图2.1MVC请求视图
JavaScript(简称js),是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。
它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。
在网页里面,js主要有两种实现方式,一是直接在网页中使用,在标签中间写入js语言,会告诉JavaScript在何处开始和结束。
二是把脚本保存到外部文件中,外部JavaScript文件的文件扩展名是.js。
然后使用引入外部文件,src属性中设置js路径。
js的主要特点是:
一、js是一种解释性脚本语言(代码不进行预编译);
二、主要用来向HTML页面添加交互行为;
三、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
js的主要功能有:
(1)嵌入动态文本于HTML页面
(2)对浏览器事件作出响应
(3)读写HTML元素
(4)在数据被提交到服务器之前验证数据
(5)检测访客的浏览器信息
(6)控制cookies,包括创建和修改等
总之来说,就是要处理速度快、准确通过