《毕业设计论文网上图书购买系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文网上图书购买系统的设计.doc(18页珍藏版)》请在三一办公上搜索。
1、网上图书购买系统的设计摘 要随着Internet技术的发展,网络已经逐步渗透到人们生活的各个方面,各种信息管理系统的数字化、网络化已成为必然趋势。图书订阅系统是图书信息管理的重要手段,随着图书馆藏量的增大,人们对图书信息需求的不断增加,传统的手工图书订阅方式已不能满足这种需求,更不能适应当今信息时代的发展,因此,设计一个网上图书订阅系统,通过计算机管理图书信息,利用网络实现图书订阅,已成为图书订阅系统发展的新趋势。网上图书订阅系统基于 Microsoft SQL Server 2000和ASP.NET平台,以C#为编程语言开发,实现了网上图书预订和借阅,订阅信息查询,图书和用户信息的修改,借阅
2、排行和新到图书的查询等功能,这样不但可将管理员从繁重的劳动中解脱出来,提高管理图书的效率,更重要的是可以使每一位读者足不出户就能够通过上网来轻松订阅图书,查询相关订阅信息。本文共五章:第一章 引言;第二章 理论基础;第三章 系统需求分析;第四章 系统设计;第五章 系统实施及测试。关键词:图书预订;图书借阅;订阅信息查询;图书管理The Design of On-line Book Borrowing and Reserving SystemAbstractWith development of Internet technology, the network has gradually pen
3、etrated into the peoples 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 users demand, the traditional
4、 manual method wont satisfy this demand and the development of todays era any more. Thus its 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 platf
5、orm 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, improvi
6、ng 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 sys
7、tem realization and test.Key words: book reserving;book borrowing;inquiry of borrowing and reserving information;book management目 录论文总页数:21页1引言11.1选题背景11.2国内研究现状11.3课题研究的意义12理论基础12.1数据库技术12.2面向对象技术22.3B/S架构的WEB程序设计技术23需求分析33.1图书订阅系统现状描述33.2现行系统存在的主要问题分析33.3提出解决方案34系统设计44.1系统总体架构44.2数据库的设计44.3系统功能模块设
8、计84.3.1登录模块84.3.2信息查询模块94.3.3数据管理模块124.3.4系统管理模块155系统实施及测试165.1实施概况165.2测试方案175.3测试结果18结 论18参考文献191 引言1.1 选题背景计算机和网络技术的迅猛发展,人们的生活已逐步实现了信息化,网络化,从而使图书订阅业务受到了强大的冲击。传统的图书管理和订阅方式已不能适应读者对日益增长的图书信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,手工方式必将被淘汰,如何运用先进的信息技术,提高图书订阅业务管理和服务水平,是我们面临的一个新的挑战。1.2 国内研究现状目前,随着信息时代的来临,国
9、内的图书订阅系统已经逐渐从传统的人工处理模式中解放出来,形成了现在的网上图书订阅系统,它以数据库作为信息处理中心,结合先进的Web编程技术,为读者提供了方便、及时、准确的订阅和查询服务。但现有系统把大部分精力都投入到了功能的实现上,对数据处理的自动化,执行效率和系统稳定性都很少考虑。如对于预订超期的图书信息,虽然读者可自行取消,管理员也可一一删除,但如果读者忘记取消,管理员也没有删除,就会影响其他用户预订或借阅这些图书,降低了图书资源的利用率。另外,由于读者需要查询预订信息,导致系统的访问量大大增加,请求的处理速度缓慢,系统稳定性差。1.3 课题研究的意义根据对图书订阅系统现状的调查与分析,我
10、深刻地认识到人工订阅的传统模式必须被淘汰,取而代之的将是结合了计算机与网络技术的、更加自动化的网上图书订阅系统。因此,我选择了网上图书订阅系统作为我的研究课题。这种系统采用B/S结构模式,实现了足不出户订阅读书。它利用计算机和数据库技术实现动态改变数据库信息,使用户的订阅和查询等服务请求都能在瞬间完成,节省了用户时间,同时方便、准确地更新了数据库,大大减轻了管理员的工作量;它顺应了当今信息化发展趋势,实现了科学化、信息化、合理化的图书订阅管理。2 理论基础2.1 数据库技术数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。数据库管理经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁
11、。随着信息处理的日益发展,信息管理水平的不断提高,计算机管理数据方式的不断改进,数据库技术正逐步渗透到我们日常生活的各个方面。从书店的图书管理,到关系我们每个人身份的户籍管理,都离不开数据库技术。Microsoft SQL Server 2000是目前使用最广泛的数据库,它与Windows网络操作系统的无缝集成,智能化的内容管理,强大的功能,使它得到大量用户的喜爱。与Access相比,它具有更好的应用特征: 支持企业级运算,支持C/S模型,提供了更好的性能和更方便的操作。 功能增强:海量的数据存储、数据复制、数据转换服务、分布式事务及全文检索。 支持多种协议(TCP/IP、NETBEUI)和分
12、布式计算及分布式计算模型。2.2 面向对象技术面向对象技术(OOT)是一种软件开发和程序设计技术,C#具有面向对象编程语言的所有特性,它是微软公司专门为.NET量身定做的编程语言,与.NET有着密不可分的联系。C#的类型就是.NET框架所提供的类型,C#本身并无类库,而是直接使用.NET框架所提供的类库。另外,类型安全检查、结构化异常处理也都是交给CLR处理的。因此,C#是最适合开发.NET应用的编程语言。C#不仅具有C+的强大功能,而且具有Visual Basic简单易用的特性。具有以下三个典型的特点: 默认情况下,C#代码在.NET框架提供的受控环境下运行,不允许直接操作内存。 C#具有面
13、向对象编程语言所应有的一切特性,如封装、继承和多态。在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增加了很
14、多特性,功能也更为强大: 使用NET提供的所有类库,可以执行以往ASP所不能实现的许多功能。 引入了服务器端控件的概念,这样使开发交互式网站更加方便。 引入了ADO.NET数据访问接口,大大提高了数据访问效率。 提供ASP.NET的可视化开发环境Visual Studio. NET,进一步提高编程效率。 保持对ASP的全面兼容,ASP.NET运行速度快。 ASP.NET全面支持面向对象程序设计。3 需求分析3.1 图书订阅系统现状描述在当今社会不断朝信息化、网络化发展的大背景下,我国很多地方的图书订阅却仍停留在纸介质的基础上,用户的借阅、归还、查询服务都是由管理员进行人工分析处理,工作流程大致
15、如图所示:借阅请求查找登记 图3-1 工作流程图3.2 现行系统存在的主要问题分析图书订阅系统的使用是否方便,运行速度是否迅速,信息处理是否准确,直接影响到人们能否及时获得图书信息,然而,现在系统显然不能人们的需求,它存在的主要问题有:(1) 用户使用很不方便。用户为了借阅或归还图书,可能会排很长的队,这显然是对时间很大的浪费;另外,用户还必须记住所借每本书的借阅时间,并要经常提醒自己及时归还,以免超期,而在生活节奏越来越快的今天,人们日常事务已很繁琐,这种事情会很容易被遗忘。(2) 管理图书信息相当困难。图书的馆藏量越来越大,管理员要对馆藏的图书信息进行人工管理,工作量相当大,如用户借阅时,
16、要查找厚重的记录册,然后对馆藏数量进行修改;归还时,又要再次修改相应的图书信息。(3) 处理效率低,准确度差。采用人工方式,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大。3.3 提出解决方案根据对现有图书现状及存在问题的分析,特提出以下解决方案:(1) 利用ASP.NET和C#编程语言,结合SQL Server 2000数据库技术。建立一个网上图书订阅系统。(2) 利用网络技术,通过IIS配置服务器的站点属性,使用户在家就可登录到图书订阅系统,实现网上图书订阅和查询。(3) 采用SQL Server 2000数据库技术,将图书信息,用户预订信息,用户借阅信息存
17、储在不同的数据表内,实现信息分类管理,并通过编程技术动态改变数据信息。(4) 通过编程对数据库相关数据表的访问,实现用户对不同信息进行查询。如:用户查询其借阅信息,只需访问借阅信息表,找到该用户的借阅信息,然后在用户端的浏览器上显示出来。所有功能的后台处理对用户都是透明的,用户只需向服务器提出请求,系统就会迅速、及时提供所需信息,大大地方便了用户。同时,由于采用了计算机和数据库技术,极大减轻了管理员工作量,提高了处理准确度。4 系统设计4.1 系统总体架构本系统的总体功能结构如图:图4-1 系统模块图4.2 数据库的设计根据前面功能模块的设计,系统数据库表包括有“用户信息表”,“用户类别表”,
18、“图书信息表”,“图书类别表”,“图书缓存表”,“添加图书表”,“新书表”,“当前借阅信息表”,“预订信息表”,“借阅历史表”,“还书记录表”,“借阅超期表”, “借阅排行表”,“留言信息表”。表1:tb_user功能说明:存放用户信息,包括一般用户和管理员表1 tb_user字段名称字段类型字段说明主键外键备注UseridVarchar(20)用户账号是否UserpasswordVarchar(50)用户密码否否UsernameVarchar(50)用户名否否UserkindChar(10)用户类别否否DegreeVarchar(50)学历否否MajorVarchar(50)专业否否Clas
19、sVarchar(50)班级否否表2:tb_userkind功能说明:存放用户类别信息表2 tb_userkind字段名称字段类型字段说明主键外键备注KindidChar(10)类别编号是否KindnameVarchar(50)类别名称否否表3:tb_book功能说明:存放在馆图书表3 tb_book字段名称字段类型字段说明主键外键备注BookidVarchar(20)图书编号是否BooknameVarchar(20)图书名称否否KindidChar(10)图书类别否是如:001PublisherVarchar(50)出版社否否AuthorVarchar(50)作者否否IntimeDateti
20、me(8)入馆时间否否QuantityInt(4)数量否否表4:tb_bookkind功能说明:存放图书类别信息表4 tb_bookkind字段名称字段类型字段说明主键外键备注KindidChar(10)类别编号是否KindnameVarchar(50)类别名称否否表5:tb_bookcache功能说明:暂存从tb_book中被借阅或预订完的图书信息,以后需要这些图书信息时,直接从该表读取。表5 tb_bookcache字段名称字段类型字段说明主键外键备注BookidVarchar(20)图书编号是是BooknameVarchar(50)书名否否KindidChar(10)类别编号否是Kind
21、nameVarchar(50)类别名称否否PublisherVarchar(50)出版社否否AuthorVarchar(50)作者否否IntimeDatetime(8)入馆时间否否表6:tb_newbook功能说明:存放新书信息,入馆时间在15内的为新书表6 tb_newbook字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型booknameVarchar(50)书名是是BookkindVarchar(20)类别否否AuthorVarchar(50)作者否否PublisherVarchar(50)出版社否否IntimeDatetime(8)入馆时间否否表7:tb_borro
22、w功能说明:存放用户当前借阅信息表7 tb_borrow字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(20)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否表8:tb_reserve功能说明:存放用户预订信息表8 tb_reserve字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(20)图书编号否否reservetimeDatetime(8)借阅时间否否表9:tb_brohistory功
23、能说明:存放用户的借阅历史表9 tb_brohistory字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(50)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否表10:tb_return功能说明:存放用户还书信息表10 tb_return字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(20)图书编号否否BooknameVarchar(50)书名returntimeDatetime(8)借阅
24、时间否否表11:tb_cntborrow功能说明:存放图书的借阅量表11 tb_cntborrow字段名称字段类型字段说明主键外键备注BookidVarchar(20)图书编号是否booknameVarchar(50)书名否否ordernumInt(4)借阅量否否表12:tb_overborrow功能说明:存放借阅超期图书表12 tb_overborrow字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(50)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否Overtimeint(
25、4)超期时间否否表13:tb_Message功能说明:存放留言表13 tb_Message字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型NameVarchar(50)用户昵称否否QuestionNtext(16)留言否否AnswerNtext(16)回复否否SdtimeDatetime(8)发布留言时间否否AnstimeDatetime(8)回复留言时间否否4.3 系统功能模块设计4.3.1 登录模块图4-2 登录页面用户在登录框内输入登录信息,系统账号信息记录到Session变量,并判断该密码和账号是否匹配,如果匹配则登录成功,进一步判断该用户是一般用户还是管理员,然后
26、跳转到对应的用户页面。关键代码如下:string strComm=select * from tb_user where userid=+userid+;/查找用户信息表 if(sdruserpassword.ToString()=userpwd)/密码正确string strComm1=select * from tb_userkind where kindid=+sdruserkind.ToString()+;/查找该用户权限if(sdr1kindname.ToString()=管理员)/如果身分是管理员,则跳转到管理员页面Response.Redirect(admin.aspx?name
27、=+ System.Web.HttpUtility.UrlEncode(sdrusername.ToString();4.3.2 信息查询模块图4-3 信息查询模块图管理员可输入账号查看用户信息,也可以浏览的方式查看所有用户信息。以浏览方式查看信息效果图:图4-4 用户信息浏览采用数据绑定,将用户信息表中一般用户的账号绑定到DataGrid控件,关键代码如下:string strComm=select userid,username,userkind from tb_user where userkind=002;SqlDataAdapter sda=new SqlDataAdapter(st
28、rComm,Conn);DataSet ds=new DataSet();sda.Fill(ds,tb_user);dg.DataSource=ds.Tablestb_user.DefaultView;dg.DataBind();用户账号为超级链接,点击可查看详细信息:图4-5 用户详细信息查询馆藏图书信息:图4-6 图书信息查询从上图可知,用户根据四种关键字类型选择进行精确或模糊查询,以“编号”,“模糊查询”为例,输入“a”,查询结果如下:图4-7 查询结果关键代码如下:if(rd_id.Checked)/如果关键字类型为编号else /如果为模糊查询string strComm=selec
29、t * from tb_book where bookid like %+srchkey+%;/查找编号类似的图书if(ds.Tablestb_book.Rows.Count0)/查找的图书存在,绑定到控件dg_bk.DataSource=ds.Tablestb_book.DefaultView;dg_bk.DataBind();elseResponse.Write(alert(类似编号不存在!);15) string strComm1=delete from tb_newbook where intime=+tim+; 4.3.3 数据管理模块4.3.4 系统管理模块该模块主要是为了更好的地
30、管理系统而设计的。图4-10 系统管理模块网站计数器:个记录网站访问量,代码如下:Application.Lock();/锁定ApplicationCount=Convert.ToInt32(ApplicationCount)+1;Application.UnLock();/解锁lbct.Text=ApplicationCount.ToString();留言板的功能有:查看所有留言和回复,留言,管理员回复留言。图4-11 留言板注销: Session值清空,返回登录页面。关键代码为:Session.Abandon();Response.Redirect(login.aspx);5 系统实施及测
31、试5.1 实施概况本系统的运行环境是Windows +IIS,IIS是Internet Information Server的缩写,它是微软公司主推的服务器,它与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。本系统配置站点的配置如下:网站IP地址:127.0.0.1TCP端口:80虚拟目录名称:mysite本地路径:C:InetPubwwwrootbkorder默认文档:login.aspx系统的编程环境为C#
32、.NET,数据库为 SQL Server 2000。为检验系统功能的实现情况,数据准备情况大体如下:用户信息表中有一个管理员和一个用户;图书信息表中有各类别图书,数量最少为1;预订、借阅信息表中都有超期图书。5.2 测试方案本系统几乎所有功能都是对数据库操作,因此,检验功能实现与否是通过检查数据库中数据的变化情况。以“图书借阅”为例,设账号为“2003215026”用户,学历为“本科”,已借阅信息如图:图5-1 借阅信息系统规定,本科生可借阅4本图书,该用户已借3本,因此,可再借一本,如图示:图5-2 借阅成功现在该用户已借阅4本书,达到可借数量,不能继续借阅,如图示:图5-3 借阅失败可见,
33、已达到了预期目标!5.3 测试结果该系统经过多次测试,预期功能都能正常实现,能够实现图书的预订和借阅,并能根据用户需要提供相关查询信息,但系统还存在一些不完善的地方,比如:系统运行速度较慢,实际应用中,由于数据量的增加,这种缺陷更加明显;有些界面在使用时不是很友好,如查看图书信息时,不能在页面加载时就显示,而必须通过“点击查看”按钮;系统没有对某些信息形成必要的统计报表,如超期图书信息,管理员如果能将超期信息打印并公布出来,对用户是一种很好的提醒;另外,可能是程序设计方面的问题,系统在运行过程中,偶尔会出现一些意想不到的错误。结 论网上图书订阅系统实现了读者随时登录系统,都可方便地进行图书预订
34、、借阅,查询馆藏图书和当前的预订、借阅信息等功能;解决了人工订阅图书时,操作繁琐,订阅信息查询困难,出错率高的问题,极大地方便了读者的订阅和查询。通过测试和试用,发现系统还存在以下不足之处,本人会在以后的时间里加以改进:(1) 信息查询速度较慢,这在图书信息量不断增加的情况下,将会更加明显;(2) 数据管理中,虽然能为实现功能提供准确的数据服务,但数据库中存在大量的垃圾数据,而系统没有设计对这部分数据的处理功能;(3) 系统管理模块,网站计数器是一个很不可靠的计数器,因为系统每刷新一次,计数值就加1,这显然是不合理的;(4) 由于测试方案较简单,系统可能还存在其他问题,有待我进一步发现,并加以
35、完善。这次毕业设计的过程,也是自己成长的过程,从中学到了不少东西,最重要的是让自己认识到只要用心去做,保持乐观、积极的态度,坚持下去,就没有做不到的事!参考文献1 东方人华.C#编程技术M.北京:清华大学出版,2001。 2 (美)威克斯.C#和.NET架构M.北京:人民邮电出版社,2002。3 黎卫东.ASP.NET网络开发入门与实践M.北京:人民邮电出版社,2004。4 方睿.网络数据库原理及应用M.成都:四川大学出版社,2005。5 王晟.Visual C#.NET数据库开发经典案例解析M.北京:清华大学出版社,2005。6 王保健.ASP.NET网站建设专家M.北京:清华大学出版社,2005。7 桂思强.ASP.NET与数据库程序设计M.北京:中国铁道出版社,2002。第 15 页 共 21页