当前位置:文档之家› 关于图书管理系统毕业设计(论文)

关于图书管理系统毕业设计(论文)

第一章绪论

1.1 课题背景 (2)

1.2 系统开发的意义 (2)

1.3 图书馆信息化管理 (2)

第二章图书管理系统开发相关技术的介绍 (3)

2.1 https://www.doczj.com/doc/fc14286504.html,的介绍 (3)

2.2 SQL Server 2005 概述 (3)

2.3 Web技术 (5)

第三章需求分析 (6)

3.1 需求分析 (6)

3.2 系统综合要求及运行环境 (6)

3.3 系统可行性分析 (7)

3.4 组织结构分析 (7)

3.5 数据流程分析 (7)

第四章数据库设计 (9)

4.1 数据需求 (9)

4.2 数据库概念结构设计 (9)

4.3 创建数据库 (11)

4.4创建数据表 (11)

4.5 连接数据库 (14)

4.6主窗体设计 (154)

第五章系统详细设计 (15)

5.1 登录模块 (165)

5.2 管理员功能设计 (18)

5.3 操作员功能设计 (209)

5.4 读者功能设计 (22)

参考文献 (22)

源代码 (22)

第一章绪论

1.1 课题背景

随着现在科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用越来越重要,在我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展,图书馆信息化建设迈向了一个新台阶。

1.2 系统开发的意义

图书管理系统是图书管理工作中不可缺少的部分,它的内容对于图书馆的管理员和使用者来说都至关重要。所以图书管理系统应该能够为管理员或读者提供充足的信息和快捷的数据处理手段。作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。

1.3 图书馆信息化管理

图书馆的信息化从最初的对图书馆业务管理实行信息化发展到对图书馆各个业务流程进行系统和网络化管理,并建立大规模以个体文献目录联机查询为主的资源共享系统。进入21世纪,允许利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的计算机信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,既图书馆的图书期刊、音像资料等各种载体文献的采编、典藏、流通、检索及常规业务管理等工作,利用计算机技术,进行高效、准确的信息化管理。其根本目的是实现区域及地区、国家、国家间的资源共享。要达到资源共享的目的,必须制定一定的标准,只有各个系统都遵循这些标准,不同的系统间才可以实现联机查询、资源共享的效果。

第二章图书管理系统开发相关技术的介绍2.1 https://www.doczj.com/doc/fc14286504.html,的介绍

https://www.doczj.com/doc/fc14286504.html,可完全利用.Net架构的强大,安全,高效的平台特性。https://www.doczj.com/doc/fc14286504.html,是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(EarlyBinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为https://www.doczj.com/doc/fc14286504.html,带来卓越的性能。对XML,SOAP,WSDL等Internet 标准的强健支持为https://www.doczj.com/doc/fc14286504.html,在异构网络里提供了强大的扩展性。https://www.doczj.com/doc/fc14286504.html, 是一个已编译的、基于.NET的环境,可以用任何与.NET 兼容的语言创作应用程序。另外,任何 https://www.doczj.com/doc/fc14286504.html, 应用程序都可以使用整个.NET框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。在创建https://www.doczj.com/doc/fc14286504.html,应用程序、Web窗体和Web服务时,开发人员可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。“Web窗体”用于生成功能强大的基于窗体的Web页。生成这些页时,可以使

用https://www.doczj.com/doc/fc14286504.html,服务器控件来创建公共UI元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成Web 窗体,从而简化页面的代码。有关更多信息,请参阅Web窗体页。有关如何开发https://www.doczj.com/doc/fc14286504.html,服务器控件的信息,请参阅开发https://www.doczj.com/doc/fc14286504.html,服务器控件。

XML Web services提供了远程访问服务器功能的途径。通过使用Web服务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以获得和操作这些编程接口。这些模型中的每一个模型都可以充分利用所

有https://www.doczj.com/doc/fc14286504.html,功能,以及.NET 框架和.NET 框架公共语言运行库的强大功能。

https://www.doczj.com/doc/fc14286504.html,是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到https://www.doczj.com/doc/fc14286504.html,的Web应用中。https://www.doczj.com/doc/fc14286504.html,同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向https://www.doczj.com/doc/fc14286504.html,。

2.2 SQL Server 2005 概述

SQL Server 是一个关系数据库管理系统它是由Microsoft推出的。SQL Server 是一个具备完全Web 支持的数据库产品,提供了对可扩展标记语言(XML) 的核心支持以及在Internet 上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML 和Internet标准支持允许使用内置的存储过程以XML 格式轻松存储和检索数据。

SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、https://www.doczj.com/doc/fc14286504.html,、XQuery、XMLA、https://www.doczj.com/doc/fc14286504.html, 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。它具有以下特点:

(1)上手容易

大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA 认证的工程师不在少数

(2)兼容性良好

由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML 数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。

(3)电子商务

在使用由Microsoft SQL Server 2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML 支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。

(4)数据仓库

Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让

很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术

对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。

2.3 Web技术

浏览器/服务器(Browser/Server)结构:随着Web和Internet计算环境的发展,将使企业能够以更快的速度、更低的费用去创建和布置企业的应用系统,因而,普遍认为C/S架构将会被B/S结构取代。Internet为数据库应用系统提供了新的机会,采用B/S结构,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explores;中间层采用Web服务器,它接受客户端的请求,将其转换为SQL语句,通过ODBC或其他手段传给数据库服务器,并将数据库服务器返回的结果用HTML文件格式传回给客户机。客户机的要求大大降低,大部分程序在服务器端执行。采用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浏览器。习惯上,我们把采用这种体系结构的Web网站称作“动态网站”。目前,互联网中绝大部分网站和大多数Web应用系统都采用了这种体系结构。

IIS服务器技术:IIS(Internet Information Server Internet信息服务器)是Microsoft公司开发的一种集Web,FTP和Gopher服务于一身的服务器,它可以利用Windows XP Server的各种功能并且能在Internet上发布信息。IIS是微软随着WindowsXP Server附带的一个软件。IIS提供Internet信息服务器应用程序接口(ISAPI)扩展Web服务器的功能,并可通过https://www.doczj.com/doc/fc14286504.html,实现Web程序的快速开发,https://www.doczj.com/doc/fc14286504.html,支持服务器端的JavaScript, VBScript, Microsoft Java和ActiveX Server Component,还支持用VB编写的CGI程序,甚至用VB开发的C/S架构的程序不经过修改就可以在Web上发布,可以使开发动态主页更加方便,同时也保护了以前的投资。IIS还包括了Microsoft Index Server,可实现对本Web站点内容的全文检索以及Site Server Express用于分析站点访问的情况。IIS的管理功能是基于WindowsXP Server的,可充分利用WindowsXP Server提供的安全服务和目录服务。它的安全模型是以NTFS安全机制为基础的,这样利用资源管理器可以容易地管理使用IIS建立的Web站点的安全性。

第三章需求分析

3.1 需求分析

随着社会发展,人类的生产、生活越来越离不开信息。谁拥有了更多有效地信息。谁就将在竞争中处于有利位置。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。只是拥有了先进的数据库技术,才能有效地管理号浩如烟海的数据,并从中取出对自己有用的信息加以利用。

在设计图书管理系统之前,应当知道什么事数据库以及https://www.doczj.com/doc/fc14286504.html,的开发环境。所谓数据库是指以一定的组织方式储存在一起的,能为多个用户所共享的,与应用程序彼此独立的相关联的数据集合。而数据库系统是指实现有组织的动态的存储大量关联数据,支持多用户访问的计算机软硬件资源与数据库管理员组成的系统。我们的系统是按用户的需求进行数据库定义、存取、运行、建立和维护功能,系统的数据库定义如图3—1:

3.2 系统综合要求及运行环境

图书管理系统是基于Windows操作系统基础上,通过对大量图书馆管理系统的研究和分析并结合对单位图书信息管理进行分析提出来的。对原有图书馆信息管理的非图形界面操作对原来管理方法不稳定性、不可靠性等缺陷相应提出了一些要求:

1.要求提高系统的可交互性,有友好的用户界面

2.要求提高系统的安全性,防止非法用户进入。

3.要求提高系统的可操作性,方便用户操作。

4.要求提高系统的可维护性,系统的数据要求能随时进行备份与恢复。

3.3 系统可行性分析

1.经济可行性分析

图书馆开发了一个满足业务要求的管理信息系统,由于提高了效率,减少了人工和用时,系统的开发应用带阿里无形巨额经济效益,因此可见在经济上是完全可行的。

2.管理可行性分析

图书馆领导者必须具有高度的适应性,不仅要适应变化的对象和内容,而且适应变化的力度和节奏,要善于敏锐地发现变化的动向,善于果断地捕捉变化的契机,善于促进本馆工作的变革与更新。

3.4 组织结构分析

组织在这里是指一个单位或部门。我们到任何一个组织中区调查研究,首先接触到的具体情况是系统的组织结构。组织结构师指组织内部的部门划分以及它们的相互关系。现行系统中信息的流动关系是以组织结构为背景的。在一个组织中,各部门之间存在着各种关联。主要有以下几种:

1、领导关系

2、信息传递关系

3、资源传递的关系

3.5 数据流程分析

数据流程是系统中的信息处理的方法和过程的统一。由于老的系统中的数据处理时建立在手工处理或成就的信息处理手段的基础上的,我们有理由相信,新的信息技术条件将为数据处理提供较为有效地处理方法.

第四章数据库设计

4.1 数据需求

根据系统的需求,首先将要记录的信息分类,要记录的信息如下。

(1)读者信息:包括证号、姓名、联系方式、已借书数目、读者类别和能否借书等。

(2)出版社信息:包括名称、地址、网址、E-mail等。

(3)书籍信息:包括书号、丛书系列、作者、责任编辑、字数、定价、出版时间、主题分类、二级分类、馆内借阅分类、总册数、库存量、出版社和书名等。

(4)借阅信息:包括借阅日期、应归还日期、实际归还日期、能否续借、书号和证号等。

(5)管理者信息:包括管理者名称、对应密码和对应权限等。

根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。

4.2 数据库概念结构设计

根据规划出的实体有:图书信息实体、读者信息实体、图书借阅信息实体、罚款信息实体。各个实体具体的业务流程图如下:

图2-1 系统业务流程图

图2-2 图书信息实体E-R图

图2-3 读者信息实体E-R图

图2-4 借阅信息实体E-R图

图2-5 罚款信息实体E-R图

4.3 创建数据库

(1)在服务器资源管理器中的任一节点右击。

(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”

话框中输入数据库名Library,选中“使用WindowsNT集成安全性”单选按钮。

(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。

4.4创建数据表

创建数据库后,为Library数据库添加数据表,步骤如下。

(1)在服务器资源管理器中右击数据库Library下的“表”文件夹。在弹出的快捷菜单中执行“新建表”命令,出现表设计器。

(2)本系统使用的数据库管理系统为SQL Server2005。数据库中的表有管理员信息表、图书信息表、读者信息表、管理员权限表、图书借阅归还表等。

图书管理员基本信息表tb_admin,如表4-6所示。

字段名数据类型长度主键描述id varchar50是管理员编号name varchar50否管理员名称pwd varchar30否密码

表4-6 tb_admin(管理员)表

读者详细信息表tb_reader,如表4-7所示。

字段名数据类型长度主键描述id varchar 30 是读者编号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-mail createDate smalldatetime 4 否注册日期oper varchar 30 否操作员remark text 16 否备注borrownum int 4 否借阅次数

表4-7 tb_reader(读者信息)表

图书详细信息表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 4 否入馆时间oper 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 smalldatetime 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_purview(权限信息)表

4.5 连接数据库

为数据库Library和本系统之间建立一个数据连接。

(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider 选项卡,选中列表框中的Microsoft OLE DB Provider for SQL Server项。

单击“下一步”切换到Connection选项卡。

(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库Library,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。

4.6主窗体设计

创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“主窗体”,把“主窗体”作为本系统中的主界面。在窗体中添加两个Pannel控件,7个Button控件和7个Linklabel控件。

第五章系统详细设计

本系统的设计的最大的特色是采用了分层的设计思想,系统界面采用Web 页面作为表现层和数据粘合层,为了进行一些常用的逻辑处理的需要还创建了业务逻辑层,为了为逻辑处理提供数据有创建了数据层,同时为了数据访问创建了数据模型层。在本节中示例的功能代码,都比较短并且不具体,那是因为很多功能都封装的功能类库里了,这里说明一下。具体请看系统源代码。各个功能层关系如下图(5.1):

图5-1

5.1 登录模块

图5-2 系统登录界面

如果使用系统就必须先登录到系统,用户使用登录模块登录系统。界面效果如图5-2:

单击“登录”按钮的处理代码如下:

string str_name;

string str_password;

string str_sql;

//获取用户输入的登录用户名和密码

str_name = TextBoxUserName.Text.ToString().Trim(); //去除用户名两边的空格

str_password = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBoxMM.Text.ToString(),

"MD5");

//查询相应的用户名和密码的SQL语句

str_sql = "select ReaderName,ReaderLevel,readerID from tb_Reader where LibraryCardID='" + str_name + "'and Readerpwd='" + str_password + "'";

OleDbDataReader dr = ms.Datareader(str_sql);

if (dr.Read() == true)

{

//session变量记录用户名

Session["user"] = dr["ReaderName"].ToString().Trim();

//session变量记录管理员级别

Session["userlevel"] = dr["ReaderLevel"].ToString().Trim();

//Session变量记录读者的ID号

Session["userID"] = dr["readerID"].ToString().Trim();

//Session变量记录读者的借阅证号

Session["userCardID"] = str_name;

//session变量记录读者的密码

Session["userPwd"] = str_password;///////////////////////

ms.Close();

//返回跳转的目的页

string strweb = https://www.doczj.com/doc/fc14286504.html,erLevel(Session["userlevel"].ToString());

Response.Write("");

}

else

{ ms.Close();

https://www.doczj.com/doc/fc14286504.html,belErrorMessage.Visible = true;

https://www.doczj.com/doc/fc14286504.html,belErrorMessage.Text = "您必须输入有效的用户名和密码!";} }

图5-3 登录成功提示

登录的用户先弹出提示登录成功并按用户级别自动跳转到相应的功能页面,判断用户级别

的代码在业务逻辑层,代码如下:

switch (strLevel)

{

case "系统管理员":

strLevel = "a_UserReg.aspx";

break;

case "图书管理员":

strLevel = "BookBorrow.aspx"; break;

default:

strLevel = "ReaderQuery.aspx"; break;

}

return strLevel;

5.2 管理员功能设计

图5-4 管理员功能截图

当用户登录成功后,在功能列表中会显示当前用户的用户姓名。管理员功能列表如图5-4:所示。限于篇幅这里只介绍一下用户注册功能,和图书类别管理。因为用户名必须是唯一的,所以当用户点击提交时先判断用户名是否可用,如果已经有此用户则提示。为了增强用户密码的安全性,用户的密码是经过md5加

密以后再

图5-5 提示注册成功

存入数据库的。主要代码如下:

string str_sql;

//判断该用户是否已经注册

string str_sqlName = "select LibraryCardID from tb_Reader where

LibraryCardID='"+TextBoxUserName.Text.Trim()+"'";

OleDbDataReader dr = ms.Datareader(str_sqlName);

if (dr.Read())

{

TextBoxUserName.Text = null;

ms.Close();

Response.Write(")");

}

else

{

string pwd =

FormsAuthentication.HashPasswordForStoringInConfigFile(TextBoxpwd2.Text.ToS tring().Trim(), "MD5");

//在用户表中插入新数据的SQL语句

str_sql = "insert into

tb_Reader(LibraryCardID,Readerpwd,ReaderLevel,ReaderName,ReaderSex,ReaderUn its,RegistrationDate) values ('" + TextBoxUserName.Text + "','" + pwd + "','" + DropDownListLevel.SelectedValue.ToString() + "','" + TextBoxRealName.Text + "','" + RadioButtonListSex.SelectedItem.Text + "','" + TextBoxUnits.Text + "','"+DateTime.Now+"')";

ms.ExecSql(str_sql);//执行插入操作

TextBoxUserName.Text = null;

TextBoxRealName.Text = null;

TextBoxUnits.Text = null;

Response.Write(")");

}

图5-6 图书类别管理功能截图

图5-7 提示删除需要重新分类

可以对分类进行编辑和更新等操作,当然也可以把它删除,但是删除时必须该分类下的图书就没办法表示了,我设计了一个“未分类”的分类,如果某一个分类的图书被删除后那么该分类下的图书的分类就是未分类。为防止用户无删除,我设计了,即使是用户无意中点中了“删除”按钮,也不要紧,因为它会提示(如图5-7)用户是否删除。

5.3 操作员功能设计

图5-8 操作员功能

操作员的功能是最复杂的,它包含了系统的大部分的功能(功能列表如右图),其中包括图书借阅、图书归还、罚款管理、借阅管理、新书入库、图书管理、库存管理和修改密码等功能。同样这里仅仅介绍了图书数量管理。

当用户进行新书入库操作时,图书会自动统计图书的数量,实现数量的自动化管理。用户还要定期盘存图书的实际在架的数量,在库存信息管理中输入,当用户更新了盘存信息后,系统会记录下图书的盘存时间,以便于提供参考。

用户可以根据图书分类和图书名称来进行模糊查询,图书的库存信息。在查询条件选择要查询的方式,再在文本框内输入要查询的内容,点击查询按钮就行了,查询的结果会在下面列表显示。“返回”按钮的作用是返回到用户查询前的状态。主要功能代码如下:(图5-9)

相关主题
文本预览
相关文档 最新文档