网上图书订阅系统的设计

网上图书订阅系统的设计[java毕业论文下载]

网上图书订阅系统的设计

  

随着Internet技术的发展,网络已经逐步渗透到人们生活的各个方面,各种信息管理系统的数字化、网络化已成为必然趋势。图书订阅系统是图书信息管理的重要手段,随着图书馆藏量的增大,人们对图书信息需求的不断增加,传统的手工图书订阅方式已不能满足这种需求,更不能适应当今信息时代的发展,因此,设计一个网上图书订阅系统,通过计算机管理图书信息,利用网络实现图书订阅,已成为图书订阅系统发展的新趋势。

网上图书订阅系统基于 Microsoft SQL Server 2000和ASP.NET平台,以C#为编程语言开发,实现了网上图书预订和借阅,订阅信息查询,图书和用户信息的修改,借阅排行和新到图书的查询等功能,这样不但可将管理员从繁重的劳动中解脱出来,提高管理图书的效率,更重要的是可以使每一位读者足不出户就能够通过上网来轻松订阅图书,查询相关订阅信息。

本文共五章:第一章 引言;第二章 理论基础;第三章 系统需求分析;第四章 系统设计;第五章 系统实施及测试。

 

关键词图书预订;图书借阅;订阅信息查询;图书管理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The Design of On-line Book Borrowing and Reserving System

Abstract

With development of Internet technology, the network has gradually penetrated into the people's lives in all areas. Information management system of digital and network technology has become an inevitable trend. The book borrowing and reserving system is an important tool to manage book information. With the increase of book possession and user’s demand, the traditional manual method won’t satisfy this demand and the development of today’s era any more. Thus it’s a new trend to design an on-line book borrowing and reserving system, which uses computer to deal with book information and network to realize borrowing and reserving.

The system is based on the ASP.NET platform and developed by the C# language and SQL Server 2000 database. It has realized on-line book borrowing and reserving, inquiring information of borrowing and reserving, changes of books and users borrow ranks and new book information. It can not only release the manager from heaven burden, improving the management efficiency, but also make the users at home borrow, reserve, and inquiry their concerned information.

This content is composed of five chapters: the first is Introduction; the second is theory foundation; the third is demanding analysis; the fourth is system design; the fifth is system realization and test.

 

Key words: book reserving;book borrowing;inquiry of borrowing and reserving information;book management

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目  录

论文总页数:21页

1 引言 1

1.1 选题背景 1

1.2 国内研究现状 1

1.3 课题研究的意义 1

2 理论基础 1

2.1 数据库技术 1

2.2 面向对象技术 2

2.3 B/S架构的WEB程序设计技术 2

3 需求分析 3

3.1 图书订阅系统现状描述 3

3.2 现行系统存在的主要问题分析 3

3.3 提出解决方案 3

4 系统设计 4

4.1 系统总体架构 4

4.2 数据库的设计 4

4.3 系统功能模块设计 8

4.3.1 登录模块 8

4.3.2 信息查询模块 9

4.3.3 数据管理模块 12

4.3.4 系统管理模块 15

5 系统实施及测试 16

5.1 实施概况 16

5.2 测试方案 17

5.3 测试结果 18

结    论 18

参考文献 19

致    谢 20

声    明 21

 

 

引言

1.1 选题背景

计算机和网络技术的迅猛发展,人们的生活已逐步实现了信息化,网络化,从而使图书订阅业务受到了强大的冲击。传统的图书管理和订阅方式已不能适应读者对日益增长的图书信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,手工方式必将被淘汰,如何运用先进的信息技术,提高图书订阅业务管理和服务水平,是我们面临的一个新的挑战。

1.2 国内研究现状

目前,随着信息时代的来临,国内的图书订阅系统已经逐渐从传统的人工处理模式中解放出来,形成了现在的网上图书订阅系统,它以数据库作为信息处理中心,结合先进的Web编程技术,为读者提供了方便、及时、准确的订阅和查询服务。但现有系统把大部分精力都投入到了功能的实现上,对数据处理的自动化,执行效率和系统稳定性都很少考虑。如对于预订超期的图书信息,虽然读者可自行取消,管理员也可一一删除,但如果读者忘记取消,管理员也没有删除,就会影响其他用户预订或借阅这些图书,降低了图书资源的利用率。另外,由于读者需要查询预订信息,导致系统的访问量大大增加,请求的处理速度缓慢,系统稳定性差。

1.3 课题研究的意义

根据对图书订阅系统现状的调查与分析,我深刻地认识到人工订阅的传统模式必须被淘汰,取而代之的将是结合了计算机与网络技术的、更加自动化的网上图书订阅系统。因此,我选择了网上图书订阅系统作为我的研究课题。

这种系统采用B/S结构模式,实现了足不出户订阅读书。它利用计算机和数据库技术实现动态改变数据库信息,使用户的订阅和查询等服务请求都能在瞬间完成,节省了用户时间,同时方便、准确地更新了数据库,大大减轻了管理员的工作量;它顺应了当今信息化发展趋势,实现了科学化、信息化、合理化的图书订阅管理。

理论基础

2.1 数据库技术

数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。数据库管理经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁。随着信息处理的日益发展,信息管理水平的不断提高,计算机管理数据方式的不断改进,数据库技术正逐步渗透到我们日常生活的各个方面。从书店的图书管理,到关系我们每个人身份的户籍管理,都离不开数据库技术。

Microsoft SQL Server 2000是目前使用最广泛的数据库,它与Windows网络操作系统的无缝集成,智能化的内容管理,强大的功能,使它得到大量用户的喜爱。与Access相比,它具有更好的应用特征:

² 支持企业级运算,支持C/S模型,提供了更好的性能和更方便的操作。

² 功能增强:海量的数据存储、数据复制、数据转换服务、分布式事务及全文检索。

² 支持多种协议(TCP/IP、NETBEUI)和分布式计算及分布式计算模型。

2.2 面向对象技术

面向对象技术(OOT)是一种软件开发和程序设计技术,C#具有面向对象编程语言的所有特性,它是微软公司专门为.NET量身定做的编程语言,与.NET有着密不可分的联系。C#的类型就是.NET框架所提供的类型,C#本身并无类库,而是直接使用.NET框架所提供的类库。另外,类型安全检查、结构化异常处理也都是交给CLR处理的。因此,C#是最适合开发.NET应用的编程语言。

C#不仅具有C++的强大功能,而且具有Visual Basic简单易用的特性。具有以下三个典型的特点:

  • 默认情况下,C#代码在.NET框架提供的受控环境下运行,不允许直接操作内存。
  • C#具有面向对象编程语言所应有的一切特性,如封装、继承和多态。在C#中,每种类型都可以看作一个对象。但C#只允许单继承,从而避免了类型定义的混乱。
  • C#没有全局函数,没有全局变量和常量,所有的都必须封装在一个类中。因此,用C#编写的代码具有更好的可读性,而且减少了发生命名冲突的可能。

2.3 B/S架构的WEB程序设计技术

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。目前,B/S架构主要使用4种语言:ASP、ASP.NET、PHP、JSP,其中ASP.NET功能强大,编写容易。与ASP相比,ASP.NET增加了很多特性,功能也更为强大:

² 使用NET提供的所有类库,可以执行以往ASP所不能实现的许多功能。

² 引入了服务器端控件的概念,这样使开发交互式网站更加方便。

² 引入了ADO.NET数据访问接口,大大提高了数据访问效率。

² 提供ASP.NET的可视化开发环境Visual Studio. NET,进一步提高编程效率。

² 保持对ASP的全面兼容,ASP.NET运行速度快。

² ASP.NET全面支持面向对象程序设计。

需求分析

3.1 图书订阅系统现状描述

在当今社会不断朝信息化、网络化发展的大背景下,我国很多地方的图书订阅却仍停留在纸介质的基础上,用户的借阅、归还、查询服务都是由管理员进行人工分析处理,工作流程大致如图所示:

 

 

 

 

 

                  

 

图3-1 工作流程图

3.2 现行系统存在的主要问题分析

图书订阅系统的使用是否方便,运行速度是否迅速,信息处理是否准确,直接影响到人们能否及时获得图书信息,然而,现在系统显然不能人们的需求,它存在的主要问题有:

  • 用户使用很不方便。用户为了借阅或归还图书,可能会排很长的队,这显然是对时间很大的浪费;另外,用户还必须记住所借每本书的借阅时间,并要经常提醒自己及时归还,以免超期,而在生活节奏越来越快的今天,人们日常事务已很繁琐,这种事情会很容易被遗忘。
  • 管理图书信息相当困难。图书的馆藏量越来越大,管理员要对馆藏的图书信息进行人工管理,工作量相当大,如用户借阅时,要查找厚重的记录册,然后对馆藏数量进行修改;归还时,又要再次修改相应的图书信息。
  • 处理效率低,准确度差。采用人工方式,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大。

3.3 提出解决方案

根据对现有图书现状及存在问题的分析,特提出以下解决方案:

  • 利用ASP.NET和C#编程语言,结合SQL Server 2000数据库技术。建立一个网上图书订阅系统。
  • 利用网络技术,通过IIS配置服务器的站点属性,使用户在家就可登录到图书订阅系统,实现网上图书订阅和查询。
  • 采用SQL Server 2000数据库技术,将图书信息,用户预订信息,用户借阅信息存储在不同的数据表内,实现信息分类管理,并通过编程技术动态改变数据信息。
  • 通过编程对数据库相关数据表的访问,实现用户对不同信息进行查询。如:用户查询其借阅信息,只需访问借阅信息表,找到该用户的借阅信息,然后在用户端的浏览器上显示出来。

所有功能的后台处理对用户都是透明的,用户只需向服务器提出请求,系统就会迅速、及时提供所需信息,大大地方便了用户。同时,由于采用了计算机和数据库技术,极大减轻了管理员工作量,提高了处理准确度。

系统设计

4.1 系统总体架构

本系统的总体功能结构如图:

 

 

 

图4-1 系统模块图

 

 

4.2 数据库的设计

根据前面功能模块的设计,系统数据库表包括有“用户信息表”,“用户类别表”,“图书信息表”,“图书类别表”,“图书缓存表”,“添加图书表”,“新书表”,“当前借阅信息表”,“预订信息表”,“借阅历史表”,“还书记录表”,“借阅超期表”, “借阅排行表”,“留言信息表”。

表1:tb_user

功能说明:存放用户信息,包括一般用户和管理员

 

表1 tb_user

字段名称

字段类型

字段说明

主键

外键

备注

Userid

Varchar(20)

用户账号

 

Userpassword

Varchar(50)

用户密码

 

Username

Varchar(50)

用户名

 

Userkind

Char(10)

用户类别

 

Degree

Varchar(50)

学历

 

Major

Varchar(50)

专业

 

Class

Varchar(50)

班级

 

 

 

表2:tb_userkind

功能说明:存放用户类别信息

表2 tb_userkind

字段名称

字段类型

字段说明

主键

外键

备注

Kindid

Char(10)

类别编号

 

Kindname

Varchar(50)

类别名称

 

 

 

表3:tb_book

功能说明:存放在馆图书

表3 tb_book

字段名称

字段类型

字段说明

主键

外键

备注

Bookid

Varchar(20)

图书编号

 

Bookname

Varchar(20)

图书名称

 

Kindid

Char(10)

图书类别

如:001

Publisher

Varchar(50)

出版社

 

Author

Varchar(50)

作者

 

Intime

Datetime(8)

入馆时间

 

Quantity

Int(4)

数量

 

 

 

表4:tb_bookkind

功能说明:存放图书类别信息

表4 tb_bookkind

字段名称

字段类型

字段说明

主键

外键

备注

Kindid

Char(10)

类别编号

 

Kindname

Varchar(50)

类别名称

 

 

 

表5:tb_bookcache

功能说明:暂存从tb_book中被借阅或预订完的图书信息,以后需要这些图书信息时,直接从该表读取。

表5 tb_bookcache

字段名称

字段类型

字段说明

主键

外键

备注

Bookid

Varchar(20)

图书编号

 

Bookname

Varchar(50)

书名

 

Kindid

Char(10)

类别编号

 

Kindname

Varchar(50)

类别名称

 

Publisher

Varchar(50)

出版社

 

Author

Varchar(50)

作者

 

Intime

Datetime(8)

入馆时间

 

 

 

表6:tb_newbook

功能说明:存放新书信息,入馆时间在15内的为新书

表6 tb_newbook

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

bookname

Varchar(50)

书名

 

Bookkind

Varchar(20)

类别

 

Author

Varchar(50)

作者

 

Publisher

Varchar(50)

出版社

 

Intime

Datetime(8)

入馆时间

 

 

 

表7:tb_borrow

功能说明:存放用户当前借阅信息

表7 tb_borrow

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Userid

Varchar(20)

用户名

 

Bookid

Varchar(20)

用户所借图书编号

 

ordertime

Datetime(8)

借阅时间

 

 

 

表8:tb_reserve

功能说明:存放用户预订信息

表8 tb_reserve

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Userid

Varchar(20)

用户名

 

Bookid

Varchar(20)

图书编号

 

reservetime

Datetime(8)

借阅时间

 

 

 

表9:tb_brohistory

功能说明:存放用户的借阅历史

表9 tb_brohistory

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Userid

Varchar(20)

用户名

 

Bookid

Varchar(50)

用户所借图书编号

 

ordertime

Datetime(8)

借阅时间

 

 

 

表10:tb_return

功能说明:存放用户还书信息

表10 tb_return

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Userid

Varchar(20)

用户名

 

Bookid

Varchar(20)

图书编号

 

Bookname

Varchar(50)

书名

 

 

 

returntime

Datetime(8)

借阅时间

 

 

 

表11:tb_cntborrow

功能说明:存放图书的借阅量

表11 tb_cntborrow

字段名称

字段类型

字段说明

主键

外键

备注

Bookid

Varchar(20)

图书编号

 

bookname

Varchar(50)

书名

 

ordernum

Int(4)

借阅量

 

 

 

表12:tb_overborrow

功能说明:存放借阅超期图书

表12 tb_overborrow

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Userid

Varchar(20)

用户名

 

Bookid

Varchar(50)

用户所借图书编号

 

ordertime

Datetime(8)

借阅时间

 

Overtime

int(4)

超期时间

 

 

 

 

表13:tb_Message

功能说明:存放留言

表13 tb_Message

字段名称

字段类型

字段说明

主键

外键

备注

Id

Int(4)

编号

自增长型

Name

Varchar(50)

用户昵称

 

Question

Ntext(16)

留言

 

Answer

Ntext(16)

回复

 

Sdtime

Datetime(8)

发布留言时间

 

Anstime

Datetime(8)

回复留言时间

 

 

4.3 系统功能模块设计

4.3.1 登录模块

 

图4-2 登录页面

用户在登录框内输入登录信息,系统账号信息记录到Session变量,并判断该密码和账号是否匹配,如果匹配则登录成功,进一步判断该用户是一般用户还是管理员,然后跳转到对应的用户页面。关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

4.3.2 信息查询模块

图4-3 信息查询模块图

管理员可输入账号查看用户信息,也可以浏览的方式查看所有用户信息。以浏览方式查看信息效果图:

 

图4-4 用户信息浏览

采用数据绑定,将用户信息表中一般用户的账号绑定到DataGrid控件,关键代码如下:

 

 

 

 

 

 

 

 

用户账号为超级链接,点击可查看详细信息:

 

图4-5 用户详细信息

查询馆藏图书信息:

 

图4-6 图书信息查询

从上图可知,用户根据四种关键字类型选择进行精确或模糊查询,以“编号”,“模糊查询”为例,输入“a”,查询结果如下:

 

图4-7 查询结果

关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

借阅排行查询:需要访问tb_cntborrow表,这是用来记录所借图书借阅量的表,表中记录的产生是在用户借阅图书时,同时更新tb_cntborrow表中,该图书编号对应的借阅数量。当用户点击“借阅排行”时,按借阅量降序显示。

更新借阅量关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

借阅超期查询:访问超期信息表tb_overborrow,该表的产生在后面的章节中介绍。

新书查询:访问新书信息表tb_newbook。系统规定15天内到馆的图书为新书,新书入库时,系统将新书信息加入该表,在用户页面加载时,删除表内到馆时间超过15天的图书,剩下的即为新书,关键代码如下:

 

 

 

 

 

 

 

 

4.3.3 数据管理模块

该模块主要是系统在实现特定功能时,对相关数据表的更新操作,以及根据需要对数据库中的数据进行删除或修改。

 

图4-8 数据管理模块

预订:首先查找tb_book表中是否有该图书,如果没有,弹出提示信息;如果有,下一步就在tb_user表中查找登录用户,即Session[“User”]的学历,不同的学历允许不同的预订数量,再从tb_reserve预订信息表中查找到该用户的预订数量,如果已达到允许量,则不能继续预订;否则可预订,首先根据需要更新图书暂存信息表tb_bkcache,再将相关信息插入tb_reserve表,并对tb_book表中该编号图书的信息作更新。

以用户学历是本科为例,允许预订数量为2本,实现预订的关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

借阅:不同学历有借阅数量限制,功能实现部分代码跟预订类似,不再累述。所不同的是,借阅后,会更新借阅数量表tb_cntbook,同时,将相关信息插入用户借阅历史表tb_brohistory。更新tb_cntborrow的关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

归还图书:如果是超期图书,用户不能自行归还,须由管理员处理,借阅时间超过30天,为超期图书;如果没有超期,需做以下处理:将相关信息插入还书记录表tb_return,更新图书信息表tb_book,如果表中该书没借完,则数量+1更新,否则,从tb_bkcache中,找到该图书信息,插入到tb_book,数量设为1,最后,删除tb_borrow中,该条借阅信息。

判断是否超期、超期提示关键代码:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

归还不能完成,显示提示信息:

 

 

 

 

 

 

 

 

 

 

添加图书:

 

图4-9 新书入库

后台处理时,查找图书类别表tb_bookkind,自动将类别名转换为类别编号,同时将该类别图书编号自动加1更新;入馆时间,默认为系统当前时间,新书信息需要插入到图书信息表和新书表,即tb_book和tb_newbook。

设置新书编号的关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

预订超期处理:系统打开后,对数据库中的预订信息表进行查找,找到预订超期的图书(预订允许时间为3天),并取消,取消即是将该条预订信息删除,同时图书信息表作数量更新。关键代码如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

借阅超期:这是管理员需要了解的信息,因此,在管理员主页加载时,系统将借阅信息表tb_borrow中超期记录插入到超期信息表tb_overborrow。

4.3.4 系统管理模块

该模块主要是为了更好的地管理系统而设计的。

 

图4-10 系统管理模块

网站计数器:个记录网站访问量,代码如下:

 

 

 

 

 

 

留言板的功能有:查看所有留言和回复,留言,管理员回复留言。

 

图4-11 留言板

注销: Session值清空,返回登录页面。关键代码为:

网上图书订阅系统的设计[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论