图书出租系统的设计与实现-毕业论文_第1页
图书出租系统的设计与实现-毕业论文_第2页
图书出租系统的设计与实现-毕业论文_第3页
图书出租系统的设计与实现-毕业论文_第4页
图书出租系统的设计与实现-毕业论文_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、更多论文 毕业设计说明书学生姓名学 号院 (系)计算机科学系专 业计算机科学与技术题 目图书出租系统的设计与实现摘要: 随着科学技术的飞速发展,图书出租管理系统已经成为市场经济条件下,一些大众传播媒介和商家不可缺少的部分,它的使用不论对于媒介和商家的管理者,还是对于用户来说都至关重要。本文本着与时俱进的方针,从符合操作简便、界面友好、灵活、实用、安全的要求出发,描述了一个功能较完善的图书出租管理系统的开发过程,它集在线出租和后台管理功能为一体。文中主要描述了该系统的设计与实施方案,并对系统中关键技术作了较详细的介绍,最后针对该系统提出了改进方向。关键词:asp.net,c#,sql serve

2、r 2000,数据库,购物车abstract: with the rapid development of science and technology, book rental management system has become a market economy, some mass media and an indispensable part of business, regardless of its use of the media and business managers, and for users who are related to important. in thi

3、s paper, the principle of advancing with the times, from the simple, user-friendly, flexible, practical and security of the request, describes a function better book rental management system development process, it sets online rental and management background as one. in the main text describes the s

4、ystem design and implementation of programmer and system in key technology introduced in detail the final against the system in the direction of improvement.keywords: asp.net,c#,sql server 2000,database,shopping cart,目录1 引言11.1系统开发背景及现状分析11.2系统的研究意义12 开发工具及数据库基础12.1 c#语言和visual studio.net 2003平台介绍12

5、.2 ado.net简介22.3 asp.net简介22.4 sql server 2000简介32.5 系统技术平台33 系统分析33.1需求分析及功能模块确定33.1.1 需求分析33.1.2 系统主要功能模块43.2 系统全局e-r图设计44 系统实现的技术与开发过程74.1图书查询模块74.2用户注册模块94.3用户登录模块114.4用户信息修改模块124.5管理员登录模块164.5后台管理模块174.6图书信息管理模块194.7管理员信息修改模块205 系统测试215.1测试运行情况215.2程序有待改进方面22结 论23参考文献24致 谢251 引言1.1系统开发背景及现状分析随着

6、科学技术的不断提高,计算机科学的日渐成熟,计算机的强大功能已被人们深刻地认识,它已经和现代社会的发展隔离不开了。越来越多的人用计算机来处理日常事务,使计算机的应用得到普及,这样就创造出以计算机为基础的一系列生活方式。不仅如此,计算机还被广泛的应用到商业上,越来越多的人们意识到计算机给自己带来的方便以及它所创造的巨大财富。人们开始把计算机应用到现代的各个领域中,现代社会是一个计算机时代,如果没有计算机的应用,我们的发展就不会如此之快!作为计算机应用的一部分,使用计算机对图书出租等各项操作进行管理,具有手工管理所无法比拟的优点,其优势已非常明显。例如:查找方便、可靠性高、存储量大、保密性好、寿命长

7、、成本低等。这些优点能够极大的提高租赁操作的效率,节省了很大一部分时间,大大增强了企业的竞争能力,也是标志着一个企业的科学化、正规化管理,与世界接轨的重要条件。1.2系统的研究意义随着网络化时代的到来,图书出租信息的网络化可以大大节约人力和时间。为此,各种图书出租系统被开发并广泛地应用于学校和工业、商业、企业、事业、行政等单位。借毕业设计之际,基于上述背景,研究并实现了一个基于web的图书出租管理系统。开发图书出租系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和图书管理实践活动两者之间架设桥梁。该系统具有多方面的优点,主要体现为:1.具有极强的方便性和快捷性,顾客

8、可以预订到所需图书;2.减轻了图书管理的工作量,从而能够迅速查阅和搜索资料;3.解决顾客面对长长的图书目录,很难找到自己要找的图书的弊端。2 开发工具及数据库基础2.1 c#语言和visual studio.net 2003平台介绍c#是微软公司开发的一种高级程序编程语言,简单易学,是当今世界上应用最广泛的编程语言之一,它也被公认为编程效率最高的一种编程方法,c#可用于创建要运行在 .net 上的应用程序的语言之一,是microsoft专门为使用.net平台而创建的。无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,c#都是最快速、最简便的编程语言。visual st

9、udio.net 2003是一个功能强大、高效并且可扩展的编程环境。有许多激动人心的新功能,它提供统一的集成开发环境,支持在同样的开发环境里用visual basic、visual c+、visual c#、visual j#和其他数十种编程语言,可以编写、调试和部署各种应用程序。它充分展现了应用程序的开发潜能、并提供了生成应用程序的所需要的工具和技术。这些应用程序给当今的企业、机构提供了强大的支持,为开发下一代以xml web服务为中心的应用程序而设计,并推动下一代基于xml web服务软件的发展,是有始以来功能最强大、最受欢迎的软件开发工具。2.2 ado.net简介ado.net是对mi

10、crosoft activex data objects (ado)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是xml格式的,因此任何能够读取xml格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ado .net组件,它可以是基于一个microsoft visual studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。在ado.net中,我们将处理断开连接的数据集,在网站的访问者请求数据时,首先建立连接,传送数据,之后关闭连接;接着,访问者就可以修改数据,但这些修改不会在数据源中立即更新(如果需要对访问者所做的修改更新到数据库,必

11、须重新打开连接)。这种断开连接进行访问数据库的最大优点是效率高、可伸缩性好。在以往的数据库访问中必须为用户一直保持连接,直到该用户的会话结束为止,而web中可能同时处理上千个并行用户,可想而知,如果为每个用户同时保持连接在需要的系统资源是非常昂贵的。因此,使用断开式连接数据可以提高应用程序的执行效率,并能处理更多的工作负载(即它们的伸缩性更好)。2.3 asp.net简介asp.net 是一种建立在通用语言上的程序构架,能被用于一台web服务器来建立强大的web应用程序。asp.net提供许多比现在的web开发模式强大的的优势。asp.net是把基于通用语言的程序在服务器上运行。不像以前的as

12、p即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。asp.net构架是可以用microsoft(r)公司最新的产品 visual s开发环境进行开发,wysiwyg(what you see is what you get所见即为所得)的编辑。这些仅是asp.net强大化软件支持的一小部分。因为asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在windows 2000 server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合

13、到asp.net的web应用中。asp.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c+和java的结合体),vb,jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向asp.net。 2.4 sql server 2000简介 sql server 2000是microsoft 公司推出的sql server 数据库管理系统的新版本。该版本继承了sql server 7.0 版本的优点,同时又比它增加了许多更先进

14、的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行microsoft windows 98 的膝上型电脑,到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。 2.5 系统技术平台硬件:web服务器1台、客户机若干台、网卡、集线器等。软件:操作系统要求为中文windows98/2000/nt/xp;microsoft visual studio asp.net 2003程序设计;microsoft sql server 2000后台数据库。注意:安装 microsoft visual studio asp.net 2003之前要装i

15、is,建立相应的虚拟目录,其中虚拟目录要与文件夹的名字相同。3 系统分析3.1需求分析及功能模块确定3.1.1 需求分析 用户的需求体现在对各种信息的浏览、查询、保存和更新操作上,这就要求数据库结构能够满足用户的这些基本需求,并在效率和设计上做到高效与简洁。而系统的需求则体现在各系统功能对数据库提供的各种信息处理的要求上。用户的需求往往体现在系统的易用程度和功能强大与否;而系统的需求往往体现在系统运行的效率、稳定性与安全性等系统特性之上。在进行数据库需求分析时,用户需求和系统需求必须兼顾,在用户需求与系统需求产生冲突的情况下要找到一个功能与效率的平衡点。针对该系统的数据特点,可以总结出如下的需

16、求。1用户和管理员具有不同的身份。2用户信息记录用户资料。3图书信息记录图书的名称、出版社等信息。4租借信息记录用户租借图书的信息。3.1.2 系统主要功能模块图书出租系统主要包括两大模块:一是系统管理模块(管理员登陆),二是用户租赁模块(用户登陆)。在前两个模块下又各自包括分若干小模块,具体功能模块结构图如图3-1所示:3.2 系统全局e-r图设计e-r模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:n,m:n,还是1:1等。还要考察一个实体类型内部是否存在联系,

17、两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。本系统的部分实体与联系的e-r模型如图3-2所示:图书出租系统添加新图书管理模块用户模块修改图书信息删除图书用户管理图书搜索订单管理租赁统计修改用户信息购物车管理订单信息浏览图3-1图书出租系统功能模块结构图fdecba1m图3-2图书出租系统e-r图用户编号用户名 miming 名用户密码qq电子邮件预订订单数量订单编号租书图书图书名称图书编号名称作者出版社图书类型管理管理员密码姓名管理员id供应供应商供应商编号名称描述3.3 数据表设计几乎所有的web项目都是基于数据库的,这使得数据库在整个项目中的地位举足轻重。本系统涉及到八

18、个表。1.图书信息表2.管理员信息表:3.用户信息表:4.图书类型表:5.租赁表:6.供应商信息表:7.图书出租信息表:8.预订单表:4 系统实现的技术与开发过程4.1图书查询模块图4-1首页登录界面打开首页后,如果用户已经注册过,可以直接登录,登录之后可以查找自己所需要的图书,查找的代码如下:private void button3_click(object sender, system.eventargs e)id=this.textbox3.text;sqlconnection con=conn.connection();con.open();dataset strset=new dat

19、aset();if(this.textbox3.text!=) if(this.dropdownlist1.selecteditem.text=图书编号)strset.clear();sqldataadapter stradapter=new sqldataadapter(select * from bookinfo where bi_id_n=+convert.toint32(this.textbox3.text)+,con);stradapter.fill(strset,bookinfo); if(this.dropdownlist1.selecteditem.text=图书类型编号)st

20、rset.clear();sqldataadapter stradapter=new sqldataadapter(select * from bookinfo where bi_bs_id_fn=+convert.toint32(this.textbox3.text)+,con);stradapter.fill(strset,bookinfo); if(this.dropdownlist1.selecteditem .text =书名)strset.clear();sqldataadapter stradapter=new sqldataadapter(select * from booki

21、nfo where bi_title_s=+this.textbox3.text+,con);stradapter.fill(strset,bookinfo); if(this.dropdownlist1.selecteditem.text=作者)strset.clear();sqldataadapter stradapter=new sqldataadapter(select * from bookinfo where bi_author_s like %+this.textbox3.text.trim()+%,con);stradapter.fill(strset,bookinfo); i

22、f(this.dropdownlist1.selecteditem .text =出版社)strset.clear();sqldataadapter stradapter=new sqldataadapter(select * from bookinfo where bi_publisher_s=+this.textbox3.text+,con);stradapter.fill(strset,bookinfo); this.datagrid1.datasource=strset;this.datagrid1.databind();this.panel1.visible=true;4.2用户注册

23、模块图4-2用户注册界面为了方便图书出租管理,用户必须注册后才可预订或借阅图书。注册过程中,用户要详细填写个人信息。该注册代码如下:private void button1_click(object sender, system.eventargs e)if(this.isvalid)sqlconnection con =new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open ();string sql=insert into userinfo(ui_name_s,ui_id_n,ui_password_s,ui_emai

24、l_s,ui_qq_s) values(ui_name_s,ui_id_n,ui_password_s,ui_email_s,ui_qq_s);sqlcommand cmd=new sqlcommand(sql,con);cmd.parameters.add(new sqlparameter(ui_name_s,sqldbtype.varchar,20);cmd.parameters.add(new sqlparameter(ui_password_s,sqldbtype.varchar,100);cmd.parameters.add(new sqlparameter(ui_email_s,s

25、qldbtype.varchar,50);cmd.parameters.add(new sqlparameter(ui_qq_s,sqldbtype.varchar,50);cmd.parameters.add(new sqlparameter(ui_id_n,sqldbtype.int,4);cmd.parametersui_name_s.value=this.textbox1.text;cmd.parametersui_password_s.value=this.textbox2.text;cmd.parametersui_email_s.value=this.textbox4.text;

26、cmd.parametersui_qq_s.value=this.textbox5.text;cmd.parametersui_id_n.value=this.textbox6.text;trycmd.executenonquery();this.response.write( alert (注册成功!请点击会员登录); catch this.response.write( alert (注册失败!); response.redirect(用户登录.aspx);4.3用户登录模块图4-3用户登录界面用户登录时,需要检测用户名和密码;用户名和密码通过检测后,需要判断用户名是否被锁定。登录代码如下

27、:private void button1_click(object sender, system.eventargs e)string username=this.textbox1.text;string userpwd=this.textbox2.text;sqlconnection con =new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open();sqlcommand cmd=new sqlcommand(select count(*) from userinfo where ui_name_s=+usernam

28、e+and ui_password_s=+userpwd+,con);int count=convert.toint32 (cmd.executescalar ();if(count0)page.response.redirect (首页.aspx);/登录成功后,进入首页。elseresponse.write ( alert (用户名密码错误);4.4用户信息修改模块图4-4用户信息修改界面用户登录后可以通过次模块修改自己的资料。其修改的代码如下: private void button1_click(object sender, system.eventargs e)if (textbox

29、1.text != & textbox2.text != ) if(dropdownlist1.selecteditem.text=用户编号)sqlconnection con=new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open();sqlcommand com=con.createcommand();com.commandtext = select count(*) from userinfo where ui_id_n= + textbox1.text + ;int count1 = convert.toint32

30、(com.executescalar();if (count1 0)sqlcommand cmd = new sqlcommand(update userinfo set ui_name_s= + this.textbox2.text + where ui_id_n= + textbox1.text + , con);cmd.executenonquery();con.close();response.write(alert(修改成功!););this.filldg();else response.write(alert(修改失败!请重新修改!););if(dropdownlist1.sele

31、cteditem.text=用户名)sqlconnection con1 = conn.connection();con1.open();sqlcommand com1=con1.createcommand();com1.commandtext = select count(*) from userinfo where ui_id_n= + textbox1.text + ;int count= convert.toint32(com1.executescalar();if (count 0) sqlcommand cmd1 = new sqlcommand(update userinfo s

32、et ui_name_s= + this.textbox2.text + where ui_id_n= + textbox1.text + , con1);cmd1.executenonquery();con1.close();response.write(alert(修改成功!););this.filldg(); elseresponse.write(alert(修改失败!请重新修改!););if(dropdownlist1.selecteditem.text=密码)sqlconnection con1 = conn.connection();con1.open();sqlcommand c

33、om1=con1.createcommand();com1.commandtext = select count(*) from userinfo where ui_id_n= + textbox1.text + ;int count= convert.toint32(com1.executescalar();if (count 0) sqlcommand cmd1 = new sqlcommand(update userinfo set ui_password_s= + this.textbox2.text + where ui_id_n= + textbox1.text + , con1)

34、;cmd1.executenonquery();con1.close();response.write(alert(修改成功!););this.filldg(); elseresponse.write(alert(修改失败!请重新修改!););if(dropdownlist1.selecteditem.text=电子邮件)sqlconnection con2 = conn.connection();con2.open();sqlcommand com2=con2.createcommand();com2.commandtext = select count(*) from userinfo w

35、hereuserinfo where ui_id_n= + textbox1.text + ;int count= convert.toint32(com2.executescalar();if (count 0) sqlcommand cmd2 = new sqlcommand(update userinfo set ui_email_s= + this.textbox2.text + where ui_id_n= + textbox1.text + , con2);cmd2.executenonquery();con2.close();response.write(alert(修改成功!)

36、;);this.filldg(); elseresponse.write(alert(修改失败!请重新修改!););if(dropdownlist1.selecteditem.text=qq号码)sqlconnection con2 = conn.connection();con2.open();sqlcommand com2=con2.createcommand();com2.commandtext = select count(*) from userinfo whereuserinfo where ui_id_n= + textbox1.text + ;int count= conver

37、t.toint32(com2.executescalar();if (count 0) sqlcommand cmd2 = new sqlcommand(update userinfo set ui_qq_s= + this.textbox2.text + where ui_id_n= + textbox1.text + , con2);cmd2.executenonquery();con2.close();response.write(alert(修改成功!););this.filldg(); elseresponse.write(alert(修改失败!请重新修改!););elserespo

38、nse.write(alert(不能都为空!请填写!););如果修改成功后会弹出修改成功信息。4.5管理员登录模块图4-5管理员登录界面进入后台后只有管理员才可以登录,登录后可以查看用户的借阅记录,图书信息。该管理员登录代码如下:private void button1_click(object sender, system.eventargs e)string username=this.textbox1.text;string userpwd=this.textbox2.text;sqlconnection con =new sqlconnection(server=.;database=

39、图书出租;uid=sa;pwd=;);con.open();sqlcommand cmd=new sqlcommand(select count(*) from manage where managename=+username+and managepassword=+userpwd+,con);int count=convert.toint32 (cmd.executescalar ();if(count0)page.response.redirect (后台管理.aspx);elseresponse.write ( alert (用户名密码错误);4.5后台管理模块图4-5后台界面管理员登

40、录后可以管理图书的信息,查看图书的借阅情况。查看代码如下:private void bind3()sqlconnection con=new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open();sqlcommand cmd=new sqlcommand(select * from manage,con);sqldatareader sdr=cmd.executereader();this.datagrid3.datasource=sdr;this.datagrid3.databind();this.datagrid3.vi

41、sible=true;this.datagrid2.visible=false;this.datagrid1.visible=false;private void bind2()sqlconnection con=new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open();sqlcommand cmd=new sqlcommand(select * from userinfo,con);sqldatareader sdr=cmd.executereader();this.datagrid2.datasource=sdr;t

42、his.datagrid2.databind();this.datagrid1.visible=false;this.datagrid2.visible=true;this.datagrid3.visible=false;private void bind1()sqlconnection con=new sqlconnection(server=.;database=图书出租;uid=sa;pwd=;);con.open();sqlcommand cmd=new sqlcommand(select * from bookinfo,con);sqldatareader sdr=cmd.execu

43、tereader();this.datagrid1.datasource=sdr;this.datagrid1.databind();this.datagrid3.visible=false;this.datagrid2.visible=false;this.datagrid1.visible=true;private void button1_click(object sender, system.eventargs e)if(this.dropdownlist1.selectedvalue.tostring()=管理员信息表) this.bind3(); if(this.dropdownl

44、ist1.selectedvalue.tostring()=用户信息表)this.bind2();if(this.dropdownlist1.selectedvalue.tostring()=图书信息表)this.bind1();4.6图书信息管理模块图4-6图书信息管理界面管理员在后台登录后就可以对图书进行管理,如图书的修改,添加。添加新书的代码如下:private void button1_click(object sender, system.eventargs e)if(this.isvalid)bookxx sp=new bookxx();sp.bi_id_n=this.textbo

45、x1.text;sp.bi_bs_id_fn=this.textbox2.text;sp.bi_title_s=this.textbox3.text;sp.bi_author_s=this.textbox4.text;sp.bi_publisher_s=this.textbox5.text;if(bookxxcz.insertoperate(sp)response.write(alert(添加成功!););this.filldg();elseresponse.write(alert(添加失败!请重新添加!););4.7管理员信息修改模块图4-7管理员信息修改界面管理员可以修改用户名,密码。还可

46、以添加多个管理员。添加管理员信息代码如下:private void button1_click(object sender, system.eventargs e)if(this.isvalid)bookxx sp=new bookxx();sp.manageid=this.textbox1.text;sp.managename=this.textbox2.text;sp.managepassword=this.textbox3.text;if(a.insertoperate(sp)response.write(alert(添加成功!););this.filldg();elseresponse

47、.write(alert(添加失败!请重新添加!););以上分析了系统的主要模块,对于其他的技术细节本文不再一一详述。5 系统测试5.1测试运行情况任何一个系统的正确运行都是建立在多次测试基础上的,只有经过多次测试才可以发现系统存在的不足或逻辑错误。本文的网上书店系统在不断的调试过程中也或多或少地遇到一些问题,但最终基本一一解决,主要归纳为以下5点:1、实时性问题,由于本系统是b/s模式的,所以系统的响应速度是很重要的,当有大量的用户同时访问时,这样系统的响应速度必然下降。本系统在设计阶段就考虑了这方面的问题,其中最主要的解决方法就是尽量减少客户端和服务器间的通信,把一些能在客户端完成的验证都放在客户端验证,尽可能多的使用本地的脚本语言,这样客户端和服务器端的通信量就会大大减少,服务器的响应效率会提高很多。在本系统中开始时把一些验证信息放在了服务器端,这样每点一个按钮就向服务器发出一次请求,从而使服务器响应速度很慢,后来把一些控件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论