1、inquiry of borrowing and reserving information;book management论文总页数:21页1引言1.1选题背景计算机和网络技术的迅猛发展,人们的生活已逐步实现了信息化,网络化,从而使图书订阅业务受到了强大的冲击。传统的图书管理和订阅方式已不能适应读者对日益增长的图书信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,手工方式必将被淘汰,如何运用先进的信息技术,提高图书订阅业务管理和服务水平,是我们面临的一个新的挑战。1.2国内研究现状目前,随着信息时代的来临,国内的图书订阅系统已经逐渐从传统的人工处理模式中解放出来,形成
2、了现在的网上图书订阅系统,它以数据库作为信息处理中心,结合先进的Web编程技术,为读者提供了方便、及时、准确的订阅和查询服务。但现有系统把大部分精力都投入到了功能的实现上,对数据处理的自动化,执行效率和系统稳定性都很少考虑。如对于预订超期的图书信息,虽然读者可自行取消,管理员也可一一删除,但如果读者忘记取消,管理员也没有删除,就会影响其他用户预订或借阅这些图书,降低了图书资源的利用率。另外,由于读者需要查询预订信息,导致系统的访问量大大增加,请求的处理速度缓慢,系统稳定性差。1.3课题研究的意义根据对图书订阅系统现状的调查与分析,我深刻地认识到人工订阅的传统模式必须被淘汰,取而代之的将是结合了
3、计算机与网络技术的、更加自动化的网上图书订阅系统。因此,我选择了网上图书订阅系统作为我的研究课题。这种系统采用B/S结构模式,实现了足不出户订阅读书。它利用计算机和数据库技术实现动态改变数据库信息,使用户的订阅和查询等服务请求都能在瞬间完成,节省了用户时间,同时方便、准确地更新了数据库,大大减轻了管理员的工作量;它顺应了当今信息化发展趋势,实现了科学化、信息化、合理化的图书订阅管理。2理论基础2.1数据库技术数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。数据库管理经历了从手工管理阶段、文件管理阶段到数据库管理阶段的变迁。随着信息处理的日益发展,信息管理水平的不断提高,计算机管理数据方
4、式的不断改进,数据库技术正逐步渗透到我们日常生活的各个方面。从书店的图书管理,到关系我们每个人身份的户籍管理,都离不开数据库技术。Microsoft SQL Server 2000是目前使用最广泛的数据库,它与Windows网络操作系统的无缝集成,智能化的内容管理,强大的功能,使它得到大量用户的喜爱。与Access相比,它具有更好的应用特征:支持企业级运算,支持C/S模型,提供了更好的性能和更方便的操作。功能增强:海量的数据存储、数据复制、数据转换服务、分布式事务及全文检索。支持多种协议(TCP/IP、NETBEUI)和分布式计算及分布式计算模型。2.2面向对象技术面向对象技术(OOT)是一种
5、软件开发和程序设计技术,C#具有面向对象编程语言的所有特性,它是微软公司专门为.NET量身定做的编程语言,与.NET有着密不可分的联系。C#的类型就是.NET框架所提供的类型,C#本身并无类库,而是直接使用.NET框架所提供的类库。另外,类型安全检查、结构化异常处理也都是交给CLR处理的。因此,C#是最适合开发.NET应用的编程语言。C#不仅具有C+的强大功能,而且具有Visual Basic简单易用的特性。具有以下三个典型的特点:默认情况下,C#代码在.NET框架提供的受控环境下运行,不允许直接操作内存。C#具有面向对象编程语言所应有的一切特性,如封装、继承和多态。在C#中,每种类型都可以看
6、作一个对象。但C#只允许单继承,从而避免了类型定义的混乱。C#没有全局函数,没有全局变量和常量,所有的都必须封装在一个类中。因此,用C#编写的代码具有更好的可读性,而且减少了发生命名冲突的可能。2.3B/S架构的WEB程序设计技术B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。目前,B/S架构主要使用4种语言:ASP、ASP.NET、PHP、JSP,其中ASP.NET功能强大,编写容易。与ASP相比,ASP.NET增加了很多特性,功能也更为强大:使用NET提供的所有类库,可以执行以往ASP所不能实现的许
7、多功能。引入了服务器端控件的概念,这样使开发交互式网站更加方便。引入了ADO.NET数据访问接口,大大提高了数据访问效率。提供ASP.NET的可视化开发环境Visual Studio. NET,进一步提高编程效率。保持对ASP的全面兼容,ASP.NET运行速度快。ASP.NET全面支持面向对象程序设计。3需求分析3.1图书订阅系统现状描述在当今社会不断朝信息化、网络化发展的大背景下,我国很多地方的图书订阅却仍停留在纸介质的基础上,用户的借阅、归还、查询服务都是由管理员进行人工分析处理,工作流程大致如图所示: 图3-1 工作流程图3.2现行系统存在的主要问题分析图书订阅系统的使用是否方便,运行速
8、度是否迅速,信息处理是否准确,直接影响到人们能否及时获得图书信息,然而,现在系统显然不能人们的需求,它存在的主要问题有:(1)用户使用很不方便。用户为了借阅或归还图书,可能会排很长的队,这显然是对时间很大的浪费;另外,用户还必须记住所借每本书的借阅时间,并要经常提醒自己及时归还,以免超期,而在生活节奏越来越快的今天,人们日常事务已很繁琐,这种事情会很容易被遗忘。(2)管理图书信息相当困难。图书的馆藏量越来越大,管理员要对馆藏的图书信息进行人工管理,工作量相当大,如用户借阅时,要查找厚重的记录册,然后对馆藏数量进行修改;归还时,又要再次修改相应的图书信息。(3)处理效率低,准确度差。采用人工方式
9、,不但增加了工作量,浪费了人力,更重要的是不可避免地会降低处理效率,且出错机率大。3.3提出解决方案根据对现有图书现状及存在问题的分析,特提出以下解决方案:(1)利用ASP.NET和C#编程语言,结合SQL Server 2000数据库技术。建立一个网上图书订阅系统。(2)利用网络技术,通过IIS配置服务器的站点属性,使用户在家就可登录到图书订阅系统,实现网上图书订阅和查询。(3)采用SQL Server 2000数据库技术,将图书信息,用户预订信息,用户借阅信息存储在不同的数据表内,实现信息分类管理,并通过编程技术动态改变数据信息。(4)通过编程对数据库相关数据表的访问,实现用户对不同信息进
10、行查询。如:用户查询其借阅信息,只需访问借阅信息表,找到该用户的借阅信息,然后在用户端的浏览器上显示出来。所有功能的后台处理对用户都是透明的,用户只需向服务器提出请求,系统就会迅速、及时提供所需信息,大大地方便了用户。同时,由于采用了计算机和数据库技术,极大减轻了管理员工作量,提高了处理准确度。4系统设计4.1系统总体架构本系统的总体功能结构如图:图4-1 系统模块图4.2数据库的设计根据前面功能模块的设计,系统数据库表包括有“用户信息表”,“用户类别表”,“图书信息表”,“图书类别表”,“图书缓存表”,“添加图书表”,“新书表”,“当前借阅信息表”,“预订信息表”,“借阅历史表”,“还书记录
11、表”,“借阅超期表”, “借阅排行表”,“留言信息表”。表1:tb_user 功能说明:存放用户信息,包括一般用户和管理员表1 tb_user字段名称字段类型字段说明主键外键备注UseridVarchar(20)用户账号是否UserpasswordVarchar(50)用户密码Username用户名UserkindChar(10)用户类别Degree学历Major专业Class班级表2:tb_userkind 存放用户类别信息表2 tb_userkindKindid类别编号Kindname类别名称表3:tb_book 存放在馆图书表3 tb_bookBookid图书编号Bookname图书名称
12、图书类别001Publisher出版社Author作者IntimeDatetime(8)入馆时间QuantityInt(4)数量表4:tb_bookkind 存放图书类别信息表4 tb_bookkind 表5:tb_bookcache 暂存从tb_book中被借阅或预订完的图书信息,以后需要这些图书信息时,直接从该表读取。表5 tb_bookcache 书名表6:tb_newbook 存放新书信息,入馆时间在15内的为新书表6 tb_newbookId编号自增长型booknameBookkind类别表7:tb_borrow 存放用户当前借阅信息表7 tb_borrow用户所借图书编号order
13、time借阅时间表8:tb_reserve 存放用户预订信息表8 tb_reservereservetime表9:tb_brohistory 存放用户的借阅历史表9 tb_brohistory表10:tb_return 存放用户还书信息表10 tb_returnreturntime表11:tb_cntborrow 存放图书的借阅量表11 tb_cntborrowordernum借阅量表12:tb_overborrow 存放借阅超期图书表12 tb_overborrowOvertimeint(4)超期时间表13:tb_Message 存放留言表13 tb_MessageName用户昵称Quest
14、ionNtext(16)留言Answer回复Sdtime发布留言时间Anstime回复留言时间4.3系统功能模块设计4.3.1登录模块图4-2 登录页面用户在登录框内输入登录信息,系统账号信息记录到Session变量,并判断该密码和账号是否匹配,如果匹配则登录成功,进一步判断该用户是一般用户还是管理员,然后跳转到对应的用户页面。关键代码如下:string strComm=select * from tb_user where userid=+userid+;/查找用户信息表 if(sdruserpassword.ToString()=userpwd)/密码正确 string strComm1=
15、select * from tb_userkind where kindid=+sdruserkind.ToString()+/查找该用户权限 if(sdr1kindname.ToString()=管理员)/如果身分是管理员,则跳转到管理员页面 Response.Redirect(admin.aspx?name=+ System.Web.HttpUtility.UrlEncode(sdrusername.ToString();4.3.2信息查询模块图4-3 信息查询模块图管理员可输入账号查看用户信息,也可以浏览的方式查看所有用户信息。以浏览方式查看信息效果图:图4-4 用户信息浏览采用数据绑定
16、,将用户信息表中一般用户的账号绑定到DataGrid控件,关键代码如下:select userid,username,userkind from tb_user where userkind=002 SqlDataAdapter sda=new SqlDataAdapter(strComm,Conn); DataSet ds=new DataSet(); sda.Fill(ds,tb_user); dg.DataSource=ds.Tables.DefaultView; dg.DataBind();用户账号为超级链接,点击可查看详细信息:图4-5 用户详细信息查询馆藏图书信息:图4-6 图书信
17、息查询从上图可知,用户根据四种关键字类型选择进行精确或模糊查询,以“编号”,“模糊查询”为例,输入“a”,查询结果如下:图4-7 查询结果if(rd_id.Checked)/如果关键字类型为编号 else /如果为模糊查询select * from tb_book where bookid like %+srchkey+%/查找编号类似的图书 借阅排行查询:需要访问tb_cntborrow表,这是用来记录所借图书借阅量的表,表中记录的产生是在用户借阅图书时,同时更新tb_cntborrow表中,该图书编号对应的借阅数量。当用户点击“借阅排行”时,按借阅量降序显示。更新借阅量关键代码如下:借阅超期查询:访问超期信息表tb_overborrow,该表的产生在后面的章节中介绍。新书查询:访问新书信息表tb_newbook。系统规定15天内到馆的图书为新书,新书入库时,系统将新书信息加入该表,在用户页面加载时,删除表内到馆时间超过15天的图书,剩下的即为新书,关
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1