网上图书订阅系统的设计毕业设计论文.doc

上传人:仙人指路1688 文档编号:3991273 上传时间:2023-03-30 格式:DOC 页数:57 大小:816.50KB
返回 下载 相关 举报
网上图书订阅系统的设计毕业设计论文.doc_第1页
第1页 / 共57页
网上图书订阅系统的设计毕业设计论文.doc_第2页
第2页 / 共57页
网上图书订阅系统的设计毕业设计论文.doc_第3页
第3页 / 共57页
网上图书订阅系统的设计毕业设计论文.doc_第4页
第4页 / 共57页
网上图书订阅系统的设计毕业设计论文.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《网上图书订阅系统的设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《网上图书订阅系统的设计毕业设计论文.doc(57页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)网上图书订阅系统的设计论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:网上图书订阅系统的设计摘 要随着Internet技术的发展,网络已经逐步渗透到人们生活的各个方面,各种信息管理系统的数字化、网络化已成为必然趋势。图书订阅系统是图书信息管理的重要手段,随着图书馆藏量的增大,人们对图书信息需求的不断增加,传统的手工图书订阅方式已不能满足这种需求,更不能适应当今信息时代的发展,因此,设计一个网上图书订阅系统,通过计算机管理图书信息,利用网络实现图书订阅,已成为图书订阅系统发展的新趋势。网上图书订阅系统基于 Microsoft SQL Server 2

2、000和ASP.NET平台,以C#为编程语言开发,实现了网上图书预订和借阅,订阅信息查询,图书和用户信息的修改,借阅排行和新到图书的查询等功能,这样不但可将管理员从繁重的劳动中解脱出来,提高管理图书的效率,更重要的是可以使每一位读者足不出户就能够通过上网来轻松订阅图书,查询相关订阅信息。本文共五章:第一章 引言;第二章 理论基础;第三章 系统需求分析;第四章 系统设计;第五章 系统实施及测试。关键词:图书预订;图书借阅;订阅信息查询;图书管理The Design of On-line Book Borrowing and Reserving SystemAbstractWith develop

3、ment of Internet technology, the network has gradually penetrated 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 inc

4、rease of book possession and users demand, the traditional 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 borrow

5、ing 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 ca

6、n 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 demandi

7、ng 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引言11.1选题背景11.2国内研究现状11.3课题研究的意义12理论基础12.1数据库技术12.2面向对象技术22.3B/S架构的WEB程序设计技术23需求分析33.1图书订阅系统现状描述33.2现行

8、系统存在的主要问题分析33.3提出解决方案34系统设计44.1系统总体架构44.2数据库的设计44.3系统功能模块设计84.3.1登录模块84.3.2信息查询模块94.3.3数据管理模块124.3.4系统管理模块155系统实施及测试165.1实施概况165.2测试方案175.3测试结果18结 论18参考文献19致 谢20声 明211 引言1.1 选题背景计算机和网络技术的迅猛发展,人们的生活已逐步实现了信息化,网络化,从而使图书订阅业务受到了强大的冲击。传统的图书管理和订阅方式已不能适应读者对日益增长的图书信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,手工方式必将被

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

10、要查询预订信息,导致系统的访问量大大增加,请求的处理速度缓慢,系统稳定性差。1.3 课题研究的意义根据对图书订阅系统现状的调查与分析,我深刻地认识到人工订阅的传统模式必须被淘汰,取而代之的将是结合了计算机与网络技术的、更加自动化的网上图书订阅系统。因此,我选择了网上图书订阅系统作为我的研究课题。这种系统采用B/S结构模式,实现了足不出户订阅读书。它利用计算机和数据库技术实现动态改变数据库信息,使用户的订阅和查询等服务请求都能在瞬间完成,节省了用户时间,同时方便、准确地更新了数据库,大大减轻了管理员的工作量;它顺应了当今信息化发展趋势,实现了科学化、信息化、合理化的图书订阅管理。2 理论基础2.

11、1 数据库技术数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。数据库管理经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁。随着信息处理的日益发展,信息管理水平的不断提高,计算机管理数据方式的不断改进,数据库技术正逐步渗透到我们日常生活的各个方面。从书店的图书管理,到关系我们每个人身份的户籍管理,都离不开数据库技术。Microsoft SQL Server 2000是目前使用最广泛的数据库,它与Windows网络操作系统的无缝集成,智能化的内容管理,强大的功能,使它得到大量用户的喜爱。与Access相比,它具有更好的应用特征: 支持企业级运算,支持C/S模型,提供了更好的性能和更

12、方便的操作。 功能增强:海量的数据存储、数据复制、数据转换服务、分布式事务及全文检索。 支持多种协议(TCP/IP、NETBEUI)和分布式计算及分布式计算模型。2.2 面向对象技术面向对象技术(OOT)是一种软件开发和程序设计技术,C#具有面向对象编程语言的所有特性,它是微软公司专门为.NET量身定做的编程语言,与.NET有着密不可分的联系。C#的类型就是.NET框架所提供的类型,C#本身并无类库,而是直接使用.NET框架所提供的类库。另外,类型安全检查、结构化异常处理也都是交给CLR处理的。因此,C#是最适合开发.NET应用的编程语言。C#不仅具有C+的强大功能,而且具有Visual Ba

13、sic简单易用的特性。具有以下三个典型的特点: 默认情况下,C#代码在.NET框架提供的受控环境下运行,不允许直接操作内存。 C#具有面向对象编程语言所应有的一切特性,如封装、继承和多态。在C#中,每种类型都可以看作一个对象。但C#只允许单继承,从而避免了类型定义的混乱。 C#没有全局函数,没有全局变量和常量,所有的都必须封装在一个类中。因此,用C#编写的代码具有更好的可读性,而且减少了发生命名冲突的可能。2.3 B/S架构的WEB程序设计技术B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。目前,B/S

14、架构主要使用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 需求分析3.1 图书订阅系统现状描述在当今社会不断朝信息化、网

15、络化发展的大背景下,我国很多地方的图书订阅却仍停留在纸介质的基础上,用户的借阅、归还、查询服务都是由管理员进行人工分析处理,工作流程大致如图所示:借阅请求查找登记 图3-1 工作流程图3.2 现行系统存在的主要问题分析图书订阅系统的使用是否方便,运行速度是否迅速,信息处理是否准确,直接影响到人们能否及时获得图书信息,然而,现在系统显然不能人们的需求,它存在的主要问题有:(1) 用户使用很不方便。用户为了借阅或归还图书,可能会排很长的队,这显然是对时间很大的浪费;另外,用户还必须记住所借每本书的借阅时间,并要经常提醒自己及时归还,以免超期,而在生活节奏越来越快的今天,人们日常事务已很繁琐,这种事

16、情会很容易被遗忘。(2) 管理图书信息相当困难。图书的馆藏量越来越大,管理员要对馆藏的图书信息进行人工管理,工作量相当大,如用户借阅时,要查找厚重的记录册,然后对馆藏数量进行修改;归还时,又要再次修改相应的图书信息。(3) 处理效率低,准确度差。采用人工方式,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大。3.3 提出解决方案根据对现有图书现状及存在问题的分析,特提出以下解决方案:(1) 利用ASP.NET和C#编程语言,结合SQL Server 2000数据库技术。建立一个网上图书订阅系统。(2) 利用网络技术,通过IIS配置服务器的站点属性,使用户在家就可登

17、录到图书订阅系统,实现网上图书订阅和查询。(3) 采用SQL Server 2000数据库技术,将图书信息,用户预订信息,用户借阅信息存储在不同的数据表内,实现信息分类管理,并通过编程技术动态改变数据信息。(4) 通过编程对数据库相关数据表的访问,实现用户对不同信息进行查询。如:用户查询其借阅信息,只需访问借阅信息表,找到该用户的借阅信息,然后在用户端的浏览器上显示出来。所有功能的后台处理对用户都是透明的,用户只需向服务器提出请求,系统就会迅速、及时提供所需信息,大大地方便了用户。同时,由于采用了计算机和数据库技术,极大减轻了管理员工作量,提高了处理准确度。4 系统设计4.1 系统总体架构本系

18、统的总体功能结构如图:图4-1 系统模块图4.2 数据库的设计根据前面功能模块的设计,系统数据库表包括有“用户信息表”,“用户类别表”,“图书信息表”,“图书类别表”,“图书缓存表”,“添加图书表”,“新书表”,“当前借阅信息表”,“预订信息表”,“借阅历史表”,“还书记录表”,“借阅超期表”, “借阅排行表”,“留言信息表”。表1:tb_user功能说明:存放用户信息,包括一般用户和管理员表1 tb_user字段名称字段类型字段说明主键外键备注UseridVarchar(20)用户账号是否UserpasswordVarchar(50)用户密码否否UsernameVarchar(50)用户名否

19、否UserkindChar(10)用户类别否否DegreeVarchar(50)学历否否MajorVarchar(50)专业否否ClassVarchar(50)班级否否表2:tb_userkind功能说明:存放用户类别信息表2 tb_userkind字段名称字段类型字段说明主键外键备注KindidChar(10)类别编号是否KindnameVarchar(50)类别名称否否表3:tb_book功能说明:存放在馆图书表3 tb_book字段名称字段类型字段说明主键外键备注BookidVarchar(20)图书编号是否BooknameVarchar(20)图书名称否否KindidChar(10)图

20、书类别否是如:001PublisherVarchar(50)出版社否否AuthorVarchar(50)作者否否IntimeDatetime(8)入馆时间否否QuantityInt(4)数量否否表4:tb_bookkind功能说明:存放图书类别信息表4 tb_bookkind字段名称字段类型字段说明主键外键备注KindidChar(10)类别编号是否KindnameVarchar(50)类别名称否否表5:tb_bookcache功能说明:暂存从tb_book中被借阅或预订完的图书信息,以后需要这些图书信息时,直接从该表读取。表5 tb_bookcache字段名称字段类型字段说明主键外键备注Bo

21、okidVarchar(20)图书编号是是BooknameVarchar(50)书名否否KindidChar(10)类别编号否是KindnameVarchar(50)类别名称否否PublisherVarchar(50)出版社否否AuthorVarchar(50)作者否否IntimeDatetime(8)入馆时间否否表6:tb_newbook功能说明:存放新书信息,入馆时间在15内的为新书表6 tb_newbook字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型booknameVarchar(50)书名是是BookkindVarchar(20)类别否否AuthorVarcha

22、r(50)作者否否PublisherVarchar(50)出版社否否IntimeDatetime(8)入馆时间否否表7:tb_borrow功能说明:存放用户当前借阅信息表7 tb_borrow字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(20)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否表8:tb_reserve功能说明:存放用户预订信息表8 tb_reserve字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否

23、BookidVarchar(20)图书编号否否reservetimeDatetime(8)借阅时间否否表9:tb_brohistory功能说明:存放用户的借阅历史表9 tb_brohistory字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否否BookidVarchar(50)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否表10:tb_return功能说明:存放用户还书信息表10 tb_return字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户名否

24、否BookidVarchar(20)图书编号否否BooknameVarchar(50)书名returntimeDatetime(8)借阅时间否否表11:tb_cntborrow功能说明:存放图书的借阅量表11 tb_cntborrow字段名称字段类型字段说明主键外键备注BookidVarchar(20)图书编号是否booknameVarchar(50)书名否否ordernumInt(4)借阅量否否表12:tb_overborrow功能说明:存放借阅超期图书表12 tb_overborrow字段名称字段类型字段说明主键外键备注IdInt(4)编号是否自增长型UseridVarchar(20)用户

25、名否否BookidVarchar(50)用户所借图书编号否否ordertimeDatetime(8)借阅时间否否Overtimeint(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 登录页面用户在登录框内输入登

26、录信息,系统账号信息记录到Session变量,并判断该密码和账号是否匹配,如果匹配则登录成功,进一步判断该用户是一般用户还是管理员,然后跳转到对应的用户页面。关键代码如下: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

27、.ToString()=管理员)/如果身分是管理员,则跳转到管理员页面Response.Redirect(admin.aspx?name=+ System.Web.HttpUtility.UrlEncode(sdrusername.ToString();4.3.2 信息查询模块图4-3 信息查询模块图管理员可输入账号查看用户信息,也可以浏览的方式查看所有用户信息。以浏览方式查看信息效果图:图4-4 用户信息浏览采用数据绑定,将用户信息表中一般用户的账号绑定到DataGrid控件,关键代码如下:string strComm=select userid,username,userkind from

28、 tb_user where userkind=002;SqlDataAdapter sda=new SqlDataAdapter(strComm,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 查询结果

29、关键代码如下:if(rd_id.Checked)/如果关键字类型为编号else /如果为模糊查询string strComm=select * 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

30、 tb_newbook where intime=+tim+; 4.3.3 数据管理模块该模块主要是系统在实现特定功能时,对相关数据表的更新操作,以及根据需要对数据库中的数据进行删除或修改。图4-8 数据管理模块预订:首先查找tb_book表中是否有该图书,如果没有,弹出提示信息;如果有,下一步就在tb_user表中查找登录用户,即Session“User”的学历,不同的学历允许不同的预订数量,再从tb_reserve预订信息表中查找到该用户的预订数量,如果已达到允许量,则不能继续预订;否则可预订,首先根据需要更新图书暂存信息表tb_bkcache,再将相关信息插入tb_reserve表,并对

31、tb_book表中该编号图书的信息作更新。以用户学历是本科为例,允许预订数量为2本,实现预订的关键代码如下:string strsel=select * from tb_book where bookid=+id+ ;/判断该书是否已被预订、借阅完if(!sd.Read()Response.Write(alert(书已借完);/script); string strdgr=ds.Tablestb_user.Rows0degree.ToString();/用户学历int num=(int)Comm3.ExecuteScalar();/已预订数量if(strdgr=本科)if(num2)/满足预订

32、条件,对相关表进行操作lb_msg.Text=您已预订;/已达到允许预订量 txb_msg.Text=num.ToString();lb_msg2.Visible=true;lb_msg2.Text=本!;借阅:不同学历有借阅数量限制,功能实现部分代码跟预订类似,不再累述。所不同的是,借阅后,会更新借阅数量表tb_cntbook,同时,将相关信息插入用户借阅历史表tb_brohistory。更新tb_cntborrow的关键代码如下:string strcnt=select * from tb_cntborrow where bookid=+id+;/表中是否已存在该图书/如果有,则借阅量+1

33、更新string ordnum=sdrstrordernum.ToString();int ordtim=int.Parse(ordnum)+1;string updtcnt=Update tb_cntborrow set ordernum=+ordtim+ where bookid=+id+;Else/如果该编号图书不存在,插入图书信息,借阅量设为1Stringstrin=insertintotb_cntborrow (bookid,bookname,ordernum)values(+id+,+bkname+,1); 归还图书:如果是超期图书,用户不能自行归还,须由管理员处理,借阅时间超过3

34、0天,为超期图书;如果没有超期,需做以下处理:将相关信息插入还书记录表tb_return,更新图书信息表tb_book,如果表中该书没借完,则数量+1更新,否则,从tb_bkcache中,找到该图书信息,插入到tb_book,数量设为1,最后,删除tb_borrow中,该条借阅信息。判断是否超期、超期提示关键代码:string tim=ds.Tablestb_borrow.Rows0ordertime.ToString();/获取借阅时间DateTime t1=DateTime.Parse(tim);TimeSpan ts=DateTime.Now-t1;if(tover0)/如果没有超期,但

35、离超期时间小于3天Label1.Text=离超期还有;txb_over.Text=tover.ToString();/显示离超期还有几天 if(ndays30)Label1.Text=借阅超期;txb_over.Text=over.ToString();/显示超期时间归还不能完成,显示提示信息:if(ndays30)/如果超期Response.Write(alert(书已超期,需由管理员退还!);/script);Else/没有超期string strCm=insert into tb_return(userid,bookid,bookname,returntime)values(+usrid

36、+,+bookid+,+bknm+,+notim+);/插入到归还记录表添加图书:图4-9 新书入库后台处理时,查找图书类别表tb_bookkind,自动将类别名转换为类别编号,同时将该类别图书编号自动加1更新;入馆时间,默认为系统当前时间,新书信息需要插入到图书信息表和新书表,即tb_book和tb_newbook。设置新书编号的关键代码如下:int d=Convert.ToInt32(Comm1.ExecuteScalar();/将该类编号总数转化为整形int n=d-1;string num=ds.Tablestb_book.Rowsnbookid.ToString();/找到最后一条记

37、录的图书编号bookidstring str1=num.Substring(1,4);/取最后4个字母,如编号为A0006,则取0006string str2=num.Substring(0,1);/取第一个字母,如编号为A0006,则取A接下页string str3=(int.Parse(str1)+1).ToString().PadLeft(4,0);/先将0006转化为整形,加1,得到7,再在7前添0,补足4位string bkid=str2+str3;/将第一个字母与后4位字母相加,如A+0007得到A0007,即新书编号为A0007预订超期处理:系统打开后,对数据库中的预订信息表进行查找,找到预订超期的图书(预订允许时间为3天),并取消,取消即是将该条预订信息删除,同时图书信息表作数量更新。关键代码如下:string strComm=select * from tb_reserve;string rsvtim=sdrreservetime.ToString();/获取预订时间DateTime rsvt1=DateTime.Parse(rsvtim);TimeSpan rsvts=DateTime.Now-rsvt1;/到当前时间为止,计算预订时间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号