1、 学校图书管理系统的开发学校图书管理系统的开发1学校图书管理系统的开发摘要:图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。采用 SQL Server2005 数据库作为后台数据库、Visual C#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索
2、、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员两方面的需要,达到了设计要求。关键词:图书管理;系统设计;信息;ASP.NET;SQLServer2005 The development of the library book management system(Dept.of Computer Science system design ;information; ASP.NET;SQLServer2005学校图书管理系统的开发21 引言随着计算机及网络技术的飞速发展,Internet/Intrane
3、t 应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。1.1 图书管理的现状一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工
4、。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。随着近年来信息技术及计算机网络技术的不断发展, 图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作
5、图书借阅一直未能很好地开展。在平常的图书借阅工作中, 由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于 WEB 的查询系统,实现图书在一个单位的网络内甚至 Internet 上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。传统的图书管理模式其最大的特点是手工;首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。对于有学生(教师)证的学生(教师)来说还要对
6、他们资料作一定的记录。并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把借书证留在那里;还学校图书管理系统的开发3书的时候,相对应的消去出借记录;这样做起来比较麻烦,比较费时间。传统图书管理的特点是一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。这种管理方式存在着诸多缺点,如:手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。1.2 现有
7、图书管理系统的概述在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有 Visual Basic6.0、Visual ForPro6.0、Power Builder 等,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:1、图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。2、图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借
8、图书登记子模块构成。3、数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 4、数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。比如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书
9、,而不用跑到图书馆或图书室里去用那里的电脑查询,这就需要一个网络化的联机查询系统。1.3 题目的目的、意义 随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的
10、原则。学校图书管理系统的开发41.4 图书管理系统的可行性分析本次毕业设计题目:“学校图书管理系统的开发”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解 Visual C#的使用和管理系统的相关知识。在信息时
11、代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性
12、分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。 (2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。 (4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。1.5 系统开发运行环境 系统开发环境:Microsoft Visual Studio 2005系统开发语言:ASP.net+C#运行平台:Windows XP数据库:SQL Serv
13、er 2005Web服务器: IIS5.1 学校图书管理系统的开发52 图书管理系统开发相关技术的介绍2.1 A 的介绍2.1.1 A 的优势介绍ASP.Net可完全利用.Net架构的强大,安全,高效的平台特性。 ASP.Net是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(EarlyBinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.Net 带来卓越的性能。 对XML, SOAP,WSDL等Internet 标准的强健支持为A在异构网络里提供了强大的扩展性。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与
14、 .NET 兼容的语言创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个.NET 框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。在创建 ASP.NET 应用程序、Web 窗体和 Web 服务时,开发人员可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。“Web 窗体”用于生成功能强大的基于窗体的 Web 页。生成这些页时,可以使用 ASP.NET 服务器控件来创建公共 UI
15、元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成 Web窗体,从而简化页面的代码。有关更多信息,请参阅Web 窗体页。有关如何开发ASP.NET 服务器控件的信息,请参阅开发 ASP.NET 服务器控件。XML Web services 提供了远程访问服务器功能的途径。通过使用 Web服务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以获得和操作这些编程接口。这些模型中的每一个模型都可以充分利用所有ASP.NET 功能,以及 .NET 框架和 .NET 框架公共语言运行库的强大功能。 2.1.2 A 的特点ASP.net
16、是 基 于 通 用 语 言 的 编 译 运 行 的 程 序 , 所 以 它 的 强 大 性 和 适 应 性 ,可 以 使 它 运 行 在 Web应 用 软 件 开 发 者 的 几 乎 全 部 的 平 台 上 。 通 用 语 言 的 基 本库 , 消 息 机 制 , 数 据 接 口 的 处 理 都 能 无 缝 的 整 合 到 ASP.net的 Web应 用 中 。ASP.net同 时 也 是 language-independent语 言 独 立 化 的 , 所 以 , 你 可 以 选 择 一种 最 适 合 你 的 语 言 来 编 写 你 的 程 序 , 或 者 把 你 的 程 序 用 很 多
17、种 语 言 来 写 , 现在 已 经 支 持 的 有 C#( C+和 Java的 结 合 体 ) , VB, Jscript。 将 来 , 这 样 的 多种 程 序 语 言 协 同 工 作 的 能 力 保 护 您 现 在 的 基 于 COM+开 发 的 程 序 , 能 够 完 整的 移 植 向 ASP.net。学校图书管理系统的开发62.2 SQL Server 2005 概述SQL Server 是一个关系数据库管理系统它是由 Microsoft 推出的。SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Inter net
18、上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML 数据库与Web Service 的支持将使您的应用实现 Internet 数据互联,.net 集成极大的扩展了开发空间,异构数据集成、Service Broker 使您的数据和其它应用无缝集成,各种新数据类型和 T-SQL 扩展带来了诸多灵活性。C#、VB.net、XQuery、
19、XMLA、ADO. net 2.0、 SMO、AMO 等都将成为 SQL Server 数据平台上开发数据相关应用的有力工具。它具有以下特点:(1)上手容易大多数的中小企业日常的数据应用是建立在 Windows 平台上的。由于 SQL Server 与 Windows 界面风格完全一致,且有许多“向导(Wizard)“帮助,因此易于安装和学习,有关 SQL Server 的资料、培训随处可得,并且目前国内具有MCDBA 认证的工程师不在少数(2)兼容性良好由于今天 Windows 操作系统占领着主导地的位,选择 SQL Server 一定会在兼容性方面取得一些优势。另外,SQL Server
20、2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML 格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。(3)电子商务在使用由 Microsoft SQL Server 2005 关系数据库引擎的情况下,XML 数据可在关系表中进行存储,而查询则能以 XML 格式将有关结果返回。此外,XML 支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用 Hypertext Transfer Protocol(超文本传输
21、协议,HTTP)来访问 SQL Server 2005,以实现面向 SQL Server 2005 数据库的安全 Web 连接和无须额外编程的联机分析处理(OLAP)多维数据集。(4)数据仓库Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理)学校图书管理系统的开发7功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋
22、势进行预测。2.3 Web 技术2.3.1 浏览器/服务器(Browser/Server)结构随着Web和Internet 计算环境的发展,将使企业能够以更快的速度、更低的费用去创建和布置企业的应用系统,因而,普遍认为C/S架构将会被B/S结构取代。Internet为数据库应用系统提供了新的机会,采用 B/S结构,客户机上只要安装一个浏览器(Browser ),如 Netscape Navigator或Internet Explores;中间层采用Web服务器,它接受客户端的请求,将其转换为SQL 语句,通过ODBC或其他手段传给数据库服务器,并将数据库服务器返回的结果用HTML文件格式传回给
23、客户机。客户机的要求大大降低,大部分程序在服务器端执行。采用3层体系结构的Web应用程序由Web浏览器、Web服务器和数据库3部分组成,如图2-1所示。Web浏览器与Web服务器之间的通信仍然遵循 HTTP,Web服务器与数据库之间的通信遵守CGI(Common Gateway Interface)或者Server API规范。在采用三层体系结构的Web应用程序中,Web浏览器向Web服务器请求某个HTML文档或者请求执行某个CGI脚本程序。Web服务器根据Web浏览器请求的是某个 CGI程序或者API程序,Web服务器则执行(或调用外部程序执行 )该程序,然后将程序执行结果返回给Web浏览器
24、。习惯上,我们把采用这种体系结构的Web网站称作“动态网站”。目前,互联网中绝大部分网站和大多数Web应用系统都采用了这种体系结构。2.3.2 IIS 服务器技术IIS(Internet Information Server Internet 信息服务器)是 Microsoft 公司开发的一种集 Web,FTP 和 Gopher 服务于一身的服务器,它可以利用 Windows XP Server 的各种功能并且能在 Internet 上发布信息。IIS 是微软随着 WindowsXP Server 附带的一个软件。IIS 提供 Internet 信息服务器应用程序接口(ISAPI)扩展 Web
25、 服务器的功能,并可通过 ASP.NET 实现 Web 程序的快速开发,ASP.NET支持服务器端的 JavaScript, VBScript, Microsoft Java 和 ActiveX Server Component,还支持用 VB 编写的 CGI 程序,甚至用 VB 开发的 C/S 架构的程序不经过修改就可以在 Web 上发布,可以使开发动态主页更加方便,同时也保护了以前的投资。IIS 还包括了 Microsoft Index Server,可实现对本 Web 站点内容的全文检索以及 Site Server Express 用于分析站点访问的情况。IIS 的管理功能是基于 Win
26、dowsXP Server 的,可充分利用 WindowsXP Server 提供的安全服务学校图书管理系统的开发8和目录服务。它的安全模型是以 NTFS 安全机制为基础的,这样利用资源管理器可以容易地管理使用 IIS 建立的 Web 站点的安全性。3 系统总体设计分析3.1 系统需求分析随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜
27、爱。该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别,还为用户提供图书的排行榜让用户能知道那些图书受到大家的欢迎。3.2 系统实现的目标 学校图书管理系统的开发主要要实现的目标有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)强大的查询功能,保证数据查询的灵活性。(5)实现对图书借阅和归还过程的全程数据信息跟踪。(6)提供图书借阅
28、排行榜,为图书管理员提供了真实的数据信息。(7)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(8)具有易维护性和易操作性。3.3 系统功能模块设计(1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案。(3)图书管理模块:添加删除不同类型的的图书及注明图书可借的天数库存数量、添加删除图书的档案。(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。学校图书管理系统的开发9(5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)
29、查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。3.4 系统功能结构图根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置、图书管理、读者管理、图书借还、系统查询、排行榜6个部分各个部分的具体功能的系统功能结构图如图3-1所示。图书管理系统系统设置管理员设置书架设置读者管理排行榜图书管理图书借还系统查询读者类型管理图书借阅排行榜读者借阅排行榜图书借阅查询图书档案查询图书归还图书借阅图书档案管理图书类型管理读者档案管理图3-1 系统功能结构图(1)图书借
30、阅系统完成用户的借书过程其数据流图如图3-2所示。学校图书管理系统的开发10图3-2 借阅系统的数据流图(2)还书系统完成图书的归还过程其数据流图如图3-3所示。图3-3 归还系统的数据流图(3)图书档案管理系统为用户提供图书档案信息其数据流图如图3-4所示。学校图书管理系统的开发11图3-4 图书档案管理数据流图(4)读者档案系统用于记录读者的详细信息其数据流图如图3-5所示。图3-5 读者档案管理数据流图3.5 系统流程图图书管理系统的流程是用户先输入自己的帐号密码及系统显示的验证码进入系统如有一项不符合则不能进入系统,成功登陆系统后系统根剧登陆的帐号信息从数据库中的数据进行对比判断是读者
31、还是管理员,如果是读者则能进行信息查询,及修改自己的相关信息,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者的所有信息、设置相学校图书管理系统的开发12应的权限、为图书更新排行榜的信息、以及完成读者的图书借阅与归还。图书管理系统的系统流程图如图3-6所示。登陆系统是否登陆判断身份管理员 读者图书归还 图书借阅 信息查询排行榜信息 图书信息 读者信息否图3-6 图书管理系统的流程图4 数据总体结构设计4.1 数据库概念结构设计数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的
32、各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶段可用的工具很多。用的最多的是 E-R 图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software Engineering, CASE)可以帮助进行设计。本系统采用了 E-R 图的方法进行数据库概念结构设计。 E-R 图是描述数据实体关系的一种直观描述工具。这种图中有:学校图书管理系统的开发13(1)实体:用方框表示,方框内为实体的名称。(2)实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线
33、段将其和响应的实体连接起来。(3)实体之间的联系:用菱形表示,菱形内为联系的名称。实体和实体之间的联系较多,比较常见的联系有 l:1,l:N 和 M:N 这三种。4.2 数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。该数据库系统具有以下方面的特点
34、:结构合理,对一个人员建立多条记录。所建立的数据冗余度小,独立性强。建档、修改、查询、统计快速而准确。保密性好、可靠性好。 图书管理系统中要有图书,图书是图书管理系统中密不可分的部分,因此要创建一图书信息实体,用来保存图书的详细信息。图书信息实体属性图如图4-1 所示。学校图书管理系统的开发14图 4-1 图书信息实体属性图读者是图书管理系统重要组成部分,这里创建了一个读者信息实体,用来存储读者的详细信息。读者信息实体 E-R 图如图 4.2 所示。图 4-2 读者信息实体属性图图书的借阅和归还是图书管理系统中的一项重要的环节,开发图书管理系统就是为了方便读者对图书的借阅和归还,因此要建立一个
35、图书借还实体,用来保存读者对图书的借阅和归还的详细信息。图书的借阅和归还实体属性图如图 4-3 所示。学校图书管理系统的开发15图 4-3 读者借还实体属性图图书管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才能进入管理员的操作界面,因此套在数据库中创建一个存放登录用户信息的管理员实体。管理员实体属性图如图 4-4 所示。图 4-4 管理员实体属性图4.3 图书管理系统的系统 E-R 图图书管理系统的系统 E-R 图如图 4-5 所示。学校图书管理系统的开发16读者图书管理员管理管理借还还书时间借书时间删除类型 条形码修改密码 修改名称编号类型 编号添加添加删除图 4-5 图
36、书管理系统的系统 E-R 图4.4 数据表设计本系统使用的数据库管理系统为 SQL Server 2005。数据库中的表有管理员信息表、图书信息表、读者信息表、管理员权限表、图书借阅归还表等。图书管理员基本信息表 tb_admin,如表 4-6 所示。字段名 数据类型 长度 主键 描述id varchar 50 是 管理员编号name varchar 50 否 管理员名称pwd varchar 30 否 密码表 4-6 tb_admin(管理员)表 读者详细信息表 tb_reader,如表 4-7 所示。学校图书管理系统的开发17字段名 数据类型 长度 主键 描述id varchar 30 是
37、 读者编号name varchar 50 否 读者名称sex char 4 否 性别type varchar 50 否 读者类型 birthday smalldatetime 4 否 生日paperType varchar 20 否 证件类型paperNum varchar 30 否 证件号码tel varchar 20 否 电话email varchar 50 否 E-mailcreateDate smalldatetime 4 否 注册日期oper varchar 30 否 操作员remark text 16 否 备注borrownum int 4 否 借阅次数表 4-7 tb_reade
38、r(读者信息)表图书详细信息表 tb_bookkifo,如表 4-8 所示。字段名 数据类型 长度 主键 描述Bookcode varchar 30 是 图书条形码bookname varchar 50 否 图书名称type varchar 50 否 图书类型autor varchar 50 否 作者translator varchar 50 否 译者pubname varchar 100 否 出版社price money 8 否 价格page int 4 否 页码bcase varchar 50 否 书架storage bigint 8 否 存储数量inTime smalldatetime
39、4 否 入馆时间学校图书管理系统的开发18oper varchar 30 否 操作员borrownum int 4 否 被借次数表 4-8 tb_bookkifo(图书信息)表图书借阅和归还信息表 tb_borrowandback,如表 4-9 所示。字段名 数据类型 长度 主键 描述id varchar 30 是 借书编号readid varchar 20 否 读者编号bookcode varchar 30 否 图书条形码borrowTime smalldatetime 4 否 借书时间ygbackTime smalldatetime 4 否 应该还书时间sjbackTime smallda
40、tetime 4 否 实际还书时间borrowoper varchar 30 否 借书操作backoper varchar 30 否 还书操作isback bit 1 否 是否归还表 4-9 tb_borrowandback(图书借阅和归还信息)表权限信息表 tb_purview,如表 4-10 所示。字段名 数据类型 长度 主键 描述id varchar 50 是 用户编号syset bit 1 否 系统设置readset bit 1 否 读者管理bookset bit 1 否 图书管理borrowback bit 1 否 图书借还syaquery bit 1 否 系统查询表 4-10 tb
41、_purview(权限信息)表5 图书管理系统详细设计5.1 系统流程分析根据开发图书管理系统的需求分析,本系统设计了三种用户,分别为系统管理员、教师和学生。学校图书管理系统的开发19系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户登录后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入读者管理界面、图书管理界面、图书借还界面、系统查询界面、排行榜界面,在读者界面中,管理员添加和修改学生或教师信息、用户可以查看自己信息,在图书管理界面管理员可以添加和修改图书信息、用户可查看图书,在图书借还界面完成读者借书还书的操作,系统查询界面管理员可以查看借出去的图书信息及库
42、存的信息、用户可以查找自己的所需的图书,排行榜界面主要是可以让用户知道哪些图书受到读者的喜爱。读者(老师和学生)使用读者帐号登陆系统后,可以查询自己所需要的图书的信息、也可以查询自己个人的基本信息及图书的借还信息,还能查看排行榜的信息。读者的借书和还书过程是通过管理员完成的。5.2 主要模块的运行5.2.1 登陆界面当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。比较的过程是由浏览器将指令,数据发送到 Web 服务器,Web 服务器通过对数据库进行查询将结果返回到浏览器,从而端显示成功的
43、消息,用户只有成功登陆系统后才能进行一系列的操作,如下图 5-1 所示。5-1 图书管理系统登陆界面学校图书管理系统的开发205.2.2 图书信息管理模块图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,用户可以在查看图书信息页面查看图书的基本信息,管理员也可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接或 GridView 控件中的“详情”超级链接转到添加或删除图书信息界面,并在该页中添家或修改图书信息,如图 5-2 与 5-3 所示。图 5-2 查看图书信息界面图 5-3 添家或修改图书信息界面图书信息管理模块的实现,主要是使用了 ADO.NET 操作数据库技术。
44、在使用 ADO.NET 技术操作数据库时,主要用到了Connection、Command、DataAdaper 和 DataSet4 个对象重要负责在 Connection对象主要负责连接数据库,Command 对象主要负责生成并执行 SQL 语句,DataAdaper 对象主要负责在 Command 对象执行完 SQL 语句后生成并填充学校图书管理系统的开发21DataSet 和 DataTable,而 DataSet 对象主要负责存取和更新数据。5.2.3 图书借还信息模块图书借还管理模块主要分为图书借阅页面和图书归还页面,用户可以在通过这个模块查看图书的借阅和归还信息。管理员可以在图书通
45、过这个模块来完成读者借和还书的操作,如图 5-4 与 5-5 所示。图 5-4 图书的借阅管理图 5-5 图书归还管理实现图书的借还功能主要用到了 GridView 模板列技术。5.3 系统开发的遇到的相关问题及解决5.3.1 图书管理系统索引 图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息操作是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面:(1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提下,尽量减少表的连接操作。(2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,学校图书管理系统的开发22减小系的大小和数据量也是
46、必要的。(3)建立合理的索引结构。索引相当于一个映射机构,将键值转换成相对应的记录地址,形成索引文件。索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大地提高系统的查询速度,但是同时做 Insert、Update、Delete 操作时会降低速度,因为做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。比如满足下列条件之一的不易建立索引:不出现或很少出现的属性或表、属性分布严重不均的属性、经常更新的属性或表、过长的属性、太小的表等。满足下列条件之一的可以考虑建立索引:主键和外键都建立索引、对于以读为主或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于
47、等值查询(即查询条件以等号为比较符),最好建立索引、对查询范围(即查询条件,/ 验证输入为Email/ / / public bool validateEmail(string str)学校图书管理系统的开发23return Regex.IsMatch(str, “w+(-+.w+)*w+(-.w+)*.w+(-.w+)*“);#endregion5.3.3 自动计算图书归还日期在图书管理系统运行中会常常遇到这样的问题:在借阅图书时,需要自动计算图书的归还日期,而这个日期又不是固定不变的,它是需要根据系统日期和数据表中保存的各类图书的最多借阅天数来计算的,即图书归还日期=“系统日期”+“最多借
48、阅天数”。因此本系统是这样解决问题的:首先获取系统时间,然后从数据表中查询出该类图书最多借阅天数,最后计算归还日期。计算方法如下:首先取出所借图书的最多借阅天数,然后根据图书的最多借阅天数,使用TimeSpan.FromDays方法返回一个 TimeSpan,最后使用当前时间与先返回的Timespan时间间隔相加。自动计算图书归还日期的关键代码如下:int days = Convert.ToInt32(btypemanage.FindBTypeByName(btypemanage,“tb_booktype“).Tables0.Rows02.ToString(); TimeSpan tspan
49、= TimeSpan.FromDays(double)days); borrowandbackmanage.YGBackTime = borrowandbackmanage.BorrowTime + tspan; 5.3.4 系统登陆验证码的实现在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。因此,设置一个随机函数在数字 09 和英文字母 AZ中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成4 个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是学校图书管理系统的开发24很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加了系统的安全性。验证码