毕业设计论文图书管理系统的设计与实现doc.docx
《毕业设计论文图书管理系统的设计与实现doc.docx》由会员分享,可在线阅读,更多相关《毕业设计论文图书管理系统的设计与实现doc.docx(35页珍藏版)》请在冰豆网上搜索。
![毕业设计论文图书管理系统的设计与实现doc.docx](https://file1.bdocx.com/fileroot1/2023-1/5/ac3ba14d-4111-44c8-8395-347a411590bb/ac3ba14d-4111-44c8-8395-347a411590bb1.gif)
毕业设计论文图书管理系统的设计与实现doc
毕业论文
中文摘要
图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
采用SQLServer2005数据库作为后台数据库、VisualC#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。
系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员、图书总管理员三方面的需要,达到了设计要求。
关键词图书管理系统设计信息 ASP.NETSQLServer2005
第1章导论
1.1系统调研与可行性分析
1.1.1现状调查
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。
在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。
一个最典型的手工处理还书过程就是:
读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。
这样借书过程就完成了。
还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。
以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。
利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。
我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。
使用该程序之后,读者可以查阅并修改自己的信息、修改密码、查阅借阅情况、搜索图书;系统管理员可以进行读者维护、图书维护、图书搜索;图书馆管理人员可以进行图书的借阅与归还。
1.1.2可行性分析
本次毕业设计题目:
“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。
同时对整个系统的分析、设计过程给出一个完整论证。
图书管理系统是一种基于集中统一规划的数据库数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
本系统的设计主要从以下几方面做起:
系统业务流程分析、系统的功能设计、系统的数据库结构设计等。
作这些工作需对数据库知识有足够认识,并深入的了解VisualC#的使用和管理系统的相关知识。
在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。
随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。
1.1.3软件开发计划
此系统在开发方式上对毕业设计的需求,由于学校图书馆的借阅是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
1.1.4ASP.NET2.0和SQLServer2005概述
1.ASP.NET2.0新特性
ASP.NET技术从1.0版本升级到1.1变化不是很大。
然而,从ASP.NET1.x升级到2.0,却不是件轻而易举的事情。
ASP.NET2.0技术增加了大量方便、实用的新特性。
ASP.NET2.0主要提供控件、页面框架、服务与APIs等3个方面的技术特性。
控件
在ASP.NET1.x时代,由于内置服务器控件数量有限、功能覆盖面窄,因此,开发人员怨声载道。
为了消除这个技术软肋,ASP.NET2.0做出了突破性改进。
在ASP.NET2.0中,新增数十个服务器控件。
根据控件功能特征,可分为:
数据控件(包括数据源控件和数据绑定控件)、登录系列控件、Web部件、站点导航控件和其他控件等。
这些服务器控件对于提高工作效率,降低开发成本有着重要作用。
页面框架
在页面框架方面,ASP.NET2.0同样做出了重大改进,主要体现在以下4项技术特性:
母版页、主题和皮肤、编译机制和本地化。
母版页特性在大型Web站点中应用广泛,它能够在一定程度上代替框架页功能,从而迅速建立具有统一布局和外观的页面,并且有效降低维护人员的工作强度。
主题和皮肤是ASP.NET2.0的一项新增功能,使用此功能可以一次性设置一种类型的服务器控件外观样式。
该外观可方便地应用于单个页面、整个Web应用程序,甚至整个服务器。
在应用程序编译方面,ASP.NET2.0提供了几种替代方案,从而扩大了编译的选择范围,开发人员可以根据特定需要进行选择。
另外,ASP.NET2.0在本地化方面也做出了一些改进。
服务与APIs
这个部分包括的新特性在ASP.NET2.0中占有较大比例,主要包括成员资格管理、角色管理、用户配置、数据缓存、配置与管理工具等。
利用这些功能,可以快速实现用户和角色管理、个性化用户配置、数据缓存、应用程序可视化配置等任务。
以成员资格和角色管理功能为例,在ASP.NET1.x时代,实现这两项功能是比较繁琐和困难的;而在ASP.NET2.0中不仅提供默认数据库表,而且只需调用几个简单的方法,就能够轻松地实现成员和角色管理功能。
2.SQLServer2005概述
SQLServer是一个关系数据库管理系统它是由Microsoft推出的。
SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。
SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。
例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,.net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。
C#、VB.net、XQuery、XMLA、ADO.net2.0、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。
它具有以下特点:
上手容易
大多数的中小企业日常的数据应用是建立在Windows平台上的。
由于SQLServer与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,有关SQLServer的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数
兼容性良好
由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。
另外,SQLServer2000除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。
尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。
这些特点在.NET战略中发挥着重要的作用。
电子商务
在使用由MicrosoftSQLServer2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。
此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。
你还可以使用HypertextTransferProtocol(超文本传输协议,HTTP)来访问SQLServer2000,以实现面向SQLServer2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。
数据仓库
MicrosoftSQLServer2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。
OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。
数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。
通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
第2章系统分析
根据系统分析,图书管理系统的要求如下:
(1)需求分析:
①能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;
②能够实现对读者档案的查询和编辑管理;
③能够进行借阅历史的查询功能;
(2)系统性能要求:
①系统安全、可靠;
②功能齐全;
③操作方便、界面友好;
④易于维护和扩充。
2.1系统功能模块
图书管理系统需要实现的功能主要有三大块:
“书目检索”、“读者管理”、“图书管理”模块。
2.1.1功能的实现:
1.“书目检索”模块:
(1)普通检索:
书目检索提供给普通读者查询书目信息的功能,提供浏览器模式的图书信息检索工具。
检索时可按书名、ISBN、作者、出版社、索引号,以及丛书名进行任意条件组合,精确或模糊检索中文或英文图书。
(2)书目高级检索:
书目高级检索提供给普通读者或管理员用来查询书目信息的平台,提供浏览器模式的图书信息检索工具。
检索范围条件包括书号、书名、ISBN、作者、出版社和主题,可使用其中的一个或多个条件进行高级检索。
2.“读者管理”模块:
(1)读者登录:
读者通过管理人员提供的用户名和密码进行登录,登录系统后可以修改密码。
(2)读者信息:
读者可以查看自己的信息,并可以对自己的联系方式进行修改。
(3)读者借阅历史:
读者可以查看自己的所有借书记录。
(4)读者当前借阅:
读者查看自己目前所借阅图书情况。
(5)读者借阅过期催还:
读者查看自己是否有过期未还图书。
(6)管理员登录:
对于图书馆管理人员,通过管理员登录页面进入系统,分为两个权限,高级管理员可以实现对用户的维护和图书的维护,普通管理员可以实现图书的借阅与归还。
3.“图书管理”模块:
(1)图书借阅:
普通管理员实现用户对图书的借阅。
(2)图书归还:
普通管理员实现对图书的归还。
(3)添加用户:
高级管理员实现添加用户信息。
(4)用户维护:
高级管理员实现添加图书信息。
(5)添加图书:
高级管理员实现添加图书信息。
(6)图书维护:
高级管理员实现对图书的维护,包括图书的查询、修改和删除。
(7)修改密码:
此功能为公共功能,所有用户都可以使用此功能进行秘密的修改。
2.1.2模块框架图
2.2系统ER图
通过对图书管理系统的分析,可以得出该系统涉及三个实体:
读者、图书、管理员。
通过对各实体数据关系的整理,画出如下E—R图:
图2-1图书管理系统系统ER图
第3章系统详细设计
3.1开发运行环境
系统开发环境:
MicrosoftVisualStudio2005
运行平台:
WindowsXP
数据库:
SQLServer2005
Web服务器:
IIS5.1
3.2数据库设计
本系统使用的数据库管理系统为SQLServer2005,下面介绍图书管理系统数据库的结构设计。
设计数据库
图书管理系统具有用户表Users,用于存储不同身份的用户数据,其模式如表3.1所示。
表3.1Users(用户)表
字段名
数据类型
备注
UserID
varchar(50)
用户ID,主键
UserPassword
varchar(50)
用户密码
UserPower
int
用户权限
UserName
varchar(50)
用户姓名
UserSex
bit
用户性别
UserDepart
varchar(50)
用户系院
UserTelephone
varchar(50)
用户电话
UserEMail
varchar(50)
用户电子邮件
存储图书信息的表Book,如表3.2所示,用于存放图书管理系统中所有已录入的书目信息。
表3.2Book(图书)表
字段名
数据类型
备注
BookID
int
图书ID,自动增加,主键
BookName
varchar(50)
书名
BookISBN
varchar(50)
ISBN号
BookAuthor
varchar(50)
作者
BookPublish
varchar(50)
出版社
BookPublishDate
datetime
出版时间
BookClassify
varchar(50)
分类
BookSubject
varchar(50)
主题
BookIndex
varchar(50)
索取号
BookPrice
money
价格
BookPageNum
int
页数
BookSeries
varchar(50)
系列
BookDescription
test
描述
存储图书借阅信息的表Borrow,模式如表3.3所示。
改表存放了所有读者的借阅信息,借书和还书都对该表进行操作。
表3.3Borrow(图书借阅)表
字段名
数据类型
备注
BorrowID
int
图书借阅ID,自动增加,主键
UserID
varchar(50)
用户编号
BookID
int
图书编号
BorrowBeginDate
datetime
借阅时间
BorrowEndDate
datetime
应还时间或还书时间
BorrowState
int
借阅状态
存储用户权限表Power,模式如表3.4所示。
该表存放了系统中的所有权限情况,本系统中只有四类权限:
学生、老师、普通管理员和总管理员。
表3.4Power(权限)表
字段名
数据类型
备注
ID
int
权限ID,自动增加,主键
Name
varchar(50)
权限名称
3.3实现数据库
下面给出数据库实现的SQL命令(在SQLServer2005中执行通过)。
(1)创建Users表
CREATETABLE[dbo].[Users](
[UserID][varchar](50)NOTNULL,
[UserPassword][varchar](50)NOTNULL,
[UserPower][int]NOTNULL,
[UserName][varchar](50)NOTNULL,
[UserSex][bit]NOTNULL,
[UserDepart][varchar](50)NOTNULL,
[UserTelephone][varchar](50)NULL,
[UserEMail][varchar](50)NULL,
CONSTRAINT[PK_Users]PRIMARYKEYCLUSTERED
(
[UserID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(2)创建Book表
CREATETABLE[dbo].[Book](
[BookID][int]IDENTITY(1,1)NOTNULL,
[BookName][varchar](50)NOTNULL,
[BookISBN][varchar](50)NOTNULL,
[BookAuthor][varchar](50)NOTNULL,
[BookPublish][varchar](50)NOTNULL,
[BookPublishDate][datetime]NOTNULL,
[BookClassify][varchar](50)NOTNULL,
[BookSubject][varchar](50)NOTNULL,
[BookIndex][varchar](50)NOTNULL,
[BookPrice][money]NOTNULL,
[BookPageNum][int]NOTNULL,
[BookSeries][varchar](50)NULL,
[BookDescription][text]NULL,
CONSTRAINT[PK_Book]PRIMARYKEYCLUSTERED
(
[BookID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
(3)创建Borrow表
CREATETABLE[dbo].[Borrow](
[BorrowID][int]IDENTITY(1,1)NOTNULL,
[UserID][varchar](50)NOTNULL,
[BookID][int]NOTNULL,
[BorrowBeginDate][datetime]NOTNULL,
[BorrowEndDate][datetime]NOTNULL,
[BorrowState][int]NOTNULL,
CONSTRAINT[PK_Borrow]PRIMARYKEYCLUSTERED
(
[BorrowID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(4)创建Power表
CREATETABLE[dbo].[Power](
[ID][int]NOTNULL,
[Name][varchar](50)NOTNULL,
CONSTRAINT[PK_Power]PRIMARYKEYCLUSTERED
(
[ID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
数据关系图
为了保证数据的完整性和有效性,为Borrow数据表增加两个外键关系,并设置外键关系对复制、插入、更新的强制关系,而且级联更新和删除相关字段。
Borrow、Users、Book表之间关系图设置如图所示:
Borrow*
PK
BorrowID
FK
UserID
Fk
BookID
BorrowBeginDate
BorrowEndDate
BorrowState
Book*
PK
BookID
BookName
BookISBN
BookAuther
BookPublish
BookPublishDate
BookClassify
BookSubject
BookIndex
BookPrice
BookPageNum
User*
PK
UserID
UserPassword
UserPower
UserName
UserSex
UserDepart
UserTelephone
UserEmail
图3-1Borrow、Users、Book表之间关系图
第4章主要功能模块设计
4.1程序主界面
程序启动后,进入程序主界面,
图4-1主页面
4.2书目检索模块
1.检索页面
书目检索页面用于完成读者查阅图书信息的功能。
图4-2检索页面
当用户设置好相应查询条件,单击“确定”按钮时,系统使用Session对象来存放用户设置的查询条件,并转向查询结果页面显示数据。
“确定”按钮单击事件代码:
1.//确定按钮单击事件
2.protectedvoidconfirm_Click(objectsender,ImageClickEventArgse)
3.{
4.this.Session["Classify"]=rblClassify.SelectedItem.Text;//使用Session来存放查询条件
5.this.Session["Type"]=ddlType.SelectedValue;
6.this.Session["Content"]=txtContent.Text.Trim();
7.this.Session["Mode"]=int.Parse(rblMode.SelectedValue);
8.Response.Redirect("BookSearchResult.aspx");//转向查询结果页面
9.}
第4~7行使用Session来存放查询条件;
第8行转向查询结果页面。
2.检索结果页面
查询结果页面用于显示根据传递过来的参数查询出的数据。
图4-3检索结果页面
该页面用来显示查询结果,GirdViewBind方法代码如下:
1.//查询数据,绑定到GridView控件
2.privatevoidGridViewBind()
3.{
4.SqlParameter[]Params=newSqlParameter[4];
5.DataBaseDB=newDataBase();
6.Params[0]=DB.MakeInParam("@Classify",SqlDbType.VarChar,50,7.Session["Classify"].