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

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

毕业论文

学生姓名:盘群学号:20040194学院:计算机科学与技术学院

专业年级:2004级计算机科学与技术

题目:基于https://www.360docs.net/doc/8c1559706.html,的图书管理系统

指导教师:谭军(讲师)

评阅教师:

2008 年5月25日

中文摘要

图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。采用SQL Server2005数据库作为后台数据库、Visual C#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员、图书总管理员三方面的需要,达到了设计要求。

关键词图书管理系统设计信息 https://www.360docs.net/doc/8c1559706.html, SQLServer2005

外文摘要

Title Liberary Management System

Abstract

Library management system is intelligent office systems (IOA) an important component of the result, library management system also convenient, fast advantage is slowly into people's lives, the traditional library management and thorough manner extricate themselves, improve efficiency, Reduce the heavy work of their previous work, reducing the probability of error, so that readers can spend more time in the choice of books and reading books on. So that people have more time to obtain information and understand information, access to information. Including the development of its database background to the establishment and maintenance, and front-end application development aspects. SQL Server2005 database used as a background database, Visual C # programming language as the prospects of development tools, database technology through a more in-depth study and application, mainly to complete bibliographic search, the reader management, loan management, library management, user maintenance, system maintenance , And other system functions. The results prove that the system is running, the paper designed by the library management system to meet the students and teachers to borrow, librarians, library administrators in three areas of need, to design requirements.

Keywords Book Management System Design Information https://www.360docs.net/doc/8c1559706.html, SQLServer2005

目录

第1章导论 (1)

1.1 系统调研与可行性分析 (1)

1.1.1 现状调查 (1)

1.1.2 可行性分析 (1)

1.1.3 软件开发计划 (2)

1.1.4 https://www.360docs.net/doc/8c1559706.html,2.0和SQL Server 2005 概述 (2)

第2章系统分析 (5)

2.1 系统功能模块 (5)

2.1.2 模块框架图 (6)

2.2 系统ER图 (7)

第3章系统详细设计 (8)

3.1 开发运行环境 (8)

3.2 数据库设计 (8)

3.3 实现数据库 (9)

第4章主要功能模块设计 (13)

4.1 程序主界面 (13)

4.2 书目检索模块 (13)

4.3 读者管理模块 (20)

4.4 图书管理模块 (24)

第5章系统测试 (34)

结论 (35)

致谢 (36)

参考文献 (37)

第1章导论

1.1 系统调研与可行性分析

1.1.1 现状调查

一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。

为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,读者可以查阅并修改自己的信息、修改密码、查阅借阅情况、搜索图书;系统管理员可以进行读者维护、图书维护、图书搜索;图书馆管理人员可以进行图书的借阅与归还。

1.1.2 可行性分析

本次毕业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。

图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。

本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系

统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解Visual C#的使用和管理系统的相关知识。

在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。

1.1.3 软件开发计划

此系统在开发方式上对毕业设计的需求,由于学校图书馆的借阅是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。

1.1.4 https://www.360docs.net/doc/8c1559706.html,

2.0和SQL Server 2005 概述

https://www.360docs.net/doc/8c1559706.html,

2.0新特性

https://www.360docs.net/doc/8c1559706.html,技术从1.0版本升级到1.1变化不是很大。然而,从https://www.360docs.net/doc/8c1559706.html, 1.x升级到2.0,却不是件轻而易举的事情。https://www.360docs.net/doc/8c1559706.html, 2.0技术增加了大量方便、实用的新特性。https://www.360docs.net/doc/8c1559706.html, 2.0主要提供控件、页面框架、服务与APIs等3个方面的技术特性。

控件

在https://www.360docs.net/doc/8c1559706.html, 1.x时代,由于内置服务器控件数量有限、功能覆盖面窄,因此,开发人员怨声载道。为了消除这个技术软肋,https://www.360docs.net/doc/8c1559706.html, 2.0做出了突破性改进。在https://www.360docs.net/doc/8c1559706.html, 2.0中,新增数十个服务器控件。根据控件功能特征,可分为:数据控件(包括数据源控件和数据绑定控件)、登录系列控件、Web部件、站点导航控件和其他控件等。这些服务器控件对于提高工作效率,降低开发成本有着重要作用。

页面框架

在页面框架方面,https://www.360docs.net/doc/8c1559706.html, 2.0同样做出了重大改进,主要体现在以下4项技术特性:母版页、主题和皮肤、编译机制和本地化。母版页特性在大型Web站点中应用广

泛,它能够在一定程度上代替框架页功能,从而迅速建立具有统一布局和外观的页面,并且有效降低维护人员的工作强度。主题和皮肤是https://www.360docs.net/doc/8c1559706.html, 2.0的一项新增功能,使用此功能可以一次性设置一种类型的服务器控件外观样式。该外观可方便地应用于单个页面、整个Web应用程序,甚至整个服务器。在应用程序编译方面,https://www.360docs.net/doc/8c1559706.html, 2.0提供了几种替代方案,从而扩大了编译的选择范围,开发人员可以根据特定需要进行选择。另外,https://www.360docs.net/doc/8c1559706.html, 2.0在本地化方面也做出了一些改进。

服务与APIs

这个部分包括的新特性在https://www.360docs.net/doc/8c1559706.html, 2.0中占有较大比例,主要包括成员资格管理、角色管理、用户配置、数据缓存、配置与管理工具等。利用这些功能,可以快速实现用户和角色管理、个性化用户配置、数据缓存、应用程序可视化配置等任务。以成员资格和角色管理功能为例,在https://www.360docs.net/doc/8c1559706.html, 1.x时代,实现这两项功能是比较繁琐和困难的;而在https://www.360docs.net/doc/8c1559706.html, 2.0中不仅提供默认数据库表,而且只需调用几个简单的方法,就能够轻松地实现成员和角色管理功能。

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.360docs.net/doc/8c1559706.html,、XQuery、XMLA、https://www.360docs.net/doc/8c1559706.html, 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。它具有以下特点:上手容易

大多数的中小企业日常的数据应用是建立在Windows平台上的。由于SQL Server 与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,

有关SQL Server的资料、培训随处可得,并且目前国内具有MCDBA认证的工程师不在少数

兼容性良好

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

电子商务

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

数据仓库

Microsoft SQL Server 2000非常明显的改进就是增加了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 图

读者

ID

姓名

系院

电话邮件

权限 借还书

借还书日期

图书

管理

管理员

索引号

ISBN 号 ID 价格

作者

书名

ID

姓名

权限

第3章系统详细设计

3.1 开发运行环境

系统开发环境:Microsoft Visual Studio 2005

运行平台:Windows XP

数据库:SQL Server 2005

Web服务器: IIS5.1

3.2 数据库设计

本系统使用的数据库管理系统为SQL Server 2005,下面介绍图书管理系统数据库的结构设计。

设计数据库

图书管理系统具有用户表Users,用于存储不同身份的用户数据,其模式如表3.1所示。

表3.1 Users(用户)表

字段名数据类型备注

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.2 Book(图书)表

字段名数据类型备注

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.3 Borrow(图书借阅)表

字段名数据类型备注

BorrowID int 图书借阅ID,自动增加,主键

UserID varchar(50) 用户编号

BookID int 图书编号BorrowBeginDate datetime 借阅时间

BorrowEndDate datetime 应还时间或还书时间

BorrowState int 借阅状态

存储用户权限表Power,模式如表3.4所示。该表存放了系统中的所有权限情况,本系统中只有四类权限:学生、老师、普通管理员和总管理员。

表3.4 Power (权限)表

字段名数据类型备注

ID int 权限ID,自动增加,主键

Name varchar(50) 权限名称

3.3 实现数据库

下面给出数据库实现的SQL命令(在SQL Server2005中执行通过)。

(1)创建Users表

CREATE TABLE [dbo].[Users](

[UserID] [varchar](50) NOT NULL,

[UserPassword] [varchar](50) NOT NULL,

[UserPower] [int] NOT NULL,

[UserName] [varchar](50) NOT NULL,

[UserSex] [bit] NOT NULL,

[UserDepart] [varchar](50) NOT NULL,

[UserTelephone] [varchar](50) NULL,

[UserEMail] [varchar](50) NULL,

CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED

(

[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表

CREATE TABLE [dbo].[Book](

[BookID] [int] IDENTITY(1,1) NOT NULL,

[BookName] [varchar](50) NOT NULL,

[BookISBN] [varchar](50) NOT NULL,

[BookAuthor] [varchar](50) NOT NULL,

[BookPublish] [varchar](50) NOT NULL,

[BookPublishDate] [datetime] NOT NULL,

[BookClassify] [varchar](50) NOT NULL,

[BookSubject] [varchar](50) NOT NULL,

[BookIndex] [varchar](50) NOT NULL,

[BookPrice] [money] NOT NULL,

[BookPageNum] [int] NOT NULL,

[BookSeries] [varchar](50) NULL,

[BookDescription] [text] NULL,

CONSTRAINT [PK_Book] PRIMARY KEY CLUSTERED

(

[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表

CREATE TABLE [dbo].[Borrow](

[BorrowID] [int] IDENTITY(1,1) NOT NULL,

[UserID] [varchar](50) NOT NULL,

[BookID] [int] NOT NULL,

[BorrowBeginDate] [datetime] NOT NULL,

[BorrowEndDate] [datetime] NOT NULL,

[BorrowState] [int] NOT NULL,

CONSTRAINT [PK_Borrow] PRIMARY KEY CLUSTERED

(

[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表

CREATE TABLE [dbo].[Power](

[ID] [int] NOT NULL,

[Name] [varchar](50) NOT NULL,

CONSTRAINT [PK_Power] PRIMARY KEY CLUSTERED

(

[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 BorrowBeginDat

e

BorrowEndDate BorrowState

图3-1 Borrow 、Users 、Book 表之间关系图

Book * PK

BookID BookName BookISBN BookAuther BookPublish BookPublishDate BookClassify BookSubject BookIndex BookPrice BookPageNum

User* PK UserID

UserPassword UserPower UserName UserSex UserDepart UserTelephone UserEmail

第4章主要功能模块设计

4.1 程序主界面

程序启动后,进入程序主界面,

图4-1 主页面

4.2 书目检索模块

1.检索页面

书目检索页面用于完成读者查阅图书信息的功能。

图4-2 检索页面

当用户设置好相应查询条件,单击“确定”按钮时,系统使用Session对象来存放用户设置的查询条件,并转向查询结果页面显示数据。“确定”按钮单击事件代码:

1. //确定按钮单击事件

2. protected void confirm_Click(object sender, ImageClickEventArgs e)

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. private void GridViewBind()

3. {

4. SqlParameter[] Params = new SqlParameter[4];

5. DataBase DB = new DataBase();

6. Params[0]=DB.MakeInParam("@Classify",SqlDbType.VarChar,50,

7.Session["Classify"].ToString()); //分类

8. Params[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 50,

9.Session["Type"].ToString()); //字段名

10. Params[2] = DB.MakeInParam("@Content", SqlDbType.VarChar, 50,

11.Session["Content"].ToString()); //字段值

12. Params[3] = DB.MakeInParam("@Mode", SqlDbType.Int, 4,

13.int.Parse(Session["Mode"].ToString())); //查询模式

14. DataSet ds = DB.GetDataSet("Proc_BookConditionQuery", Params);

15. ds.CaseSensitive = false;

16. GridView1.DataSource = ds;

17. GridView1.DataBind();

18. }

第4行创建参数数组对象Params;

第5行创建DataBase类对象DB;

第6~13行使用DataBase类方法MakeInParam方法实例化参数,并将参数存放在Params对象中;

第14行使用DataBase类方法GetDataSet方法查询数据,并将结果赋给DataSet对象;

第16行说明指示DataTable对象中的字符串比较不区分大小写;

第17~18行为GirdView控件指定数据源并绑定数据。

3.书刊详细信息

书刊详细信息用于显示图书的详细信息,通过传递过来的书号进行查询,将查询到的结果放在相应的控件中显示。

图 4-4 书刊详细信息页面

该页面用来显示图书详细信息,在页面的Page_Load事件中添加代码,ShowBookDetails()方法代码如下:

protected void Page_Load(object sender, EventArgs e)

相关主题
相关文档
最新文档