本科毕业论文-基于JSP+SQL 的图书馆管理系统的设计与开发.doc_第1页
本科毕业论文-基于JSP+SQL 的图书馆管理系统的设计与开发.doc_第2页
本科毕业论文-基于JSP+SQL 的图书馆管理系统的设计与开发.doc_第3页
本科毕业论文-基于JSP+SQL 的图书馆管理系统的设计与开发.doc_第4页
本科毕业论文-基于JSP+SQL 的图书馆管理系统的设计与开发.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

广州大学华软软件学院毕业论文(设计)课题名称 基于JSP+SQL 的图书馆管理系统 的设计与开发学 院 广州大学华软软件学院 系 别 软件工程系 专业班级 10 软件开发1班 学生姓名 学 号 指导教师 日 期 2013年4月1日 0摘 要随着网络技术的发展、计算机应用水平的提高的扩大,原来系统的时效性、数据的正确性、操作的方便性上都存在不足,已影响到系统的正常使用。经过考察比较,决定利用自己的力量对图书管理系统重新设计,使系统能利用软件开发技术的成果,方便图书的管理。图书管理系统是典型的信息管理系统。系统介绍了图书系统的开发过程,设计中遇到的问题及解决方法以及提高当前具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本次应用程序或系统开发进度和改善工作性能. 利用其提供的各种面向对象的开发工课程设计利用JSP开发工具和SQLServer数据库来开发这个图书管理系统。该系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、管理等功能。该系统能根据用户的需求,快捷方便的为读者提供借阅服务。关键词 图书管理系统 信息管理 JSP IAbstract Along with networkings development, the computer application levels enhancements expansion, systems effectiveness, the data accuracy, in the operation conveniences has the insufficiency originally, Has affected systems normal use. After the inspection comparison, decided that uses own strength to the literature management system management system redesign, enables the system to use the software development technology the achievement, convenient literature management.The literature registration management system management system is the typical information management system. The system introduced the literature referral systems performance history, in the design meets the question and the solution as well as enhance the current application procedure or the system development progress and the improvement operating performance. Each kind of object-oriented development kit which provides using it, first establishes the system application prototype in a short time, then, carries on the demand iteration to the initial prototype system, revises unceasingly and improves, until forms the user satisfied feasible system.This curriculum project 2000 databases develops this literature management system management system using the JSP 2.0 development kits and SQL the Server. This system must solve the literature administration center must solve the question, may satisfy the literature management essential requirements, including increase, inquiry, management and so on three aspect functions. This system can act according to the user the demand, what facilitates quickly is the reader provides the service.KEY WORDS Literature management system Information management JSP II目 录摘要IAbstractII第1章 前言11.1 课题背景11.2 课题意义11.3 文献综述21.3.1 技术综述21.4 总体设计原则2第2章 系统分析42.1 系统的需求分析42.2 业务流程分析52.2.1 系统管理员业务流程分析52.3 数据流程分析72.3.1 图书类别管理模块72.3.2 图书管理模块72.3.3 读者管理模块82.3.4 图书借阅模块82.3.5 修改密码模块92.4 数据字典92.4.1 数据项的描述92.4.2 数据流的描述10第3章 系统设计123.1 系统体系结构设计123.2 系统子模块功能介绍123.3 数据库设计133.3.1 数据库概念设计E-R模型133.3.2 数据库逻辑设计关系模型143.3.3 数据库选型143.3.4 数据库表结构设计143.3.5 数据库表间关系设计163.4 系统开发工具与开发模式的选择173.4.1 系统开发工具173.4.2 系统设计模式19第4章 系统实现214.1登陆模块214.2 图书类别管理模块224.3 图书管理模块234.4 读者管理模块244.5 图书借阅管理模块25第5章程序测试与调试265.1 程序调试265.2 程序的测试265.2.1 测试的重要性及目的265.2.2 测试的步骤275.2.3 测试的主要内容275.3测试结果28第6章 总结29参 考 文 献30致 谢31广州大学华软软件学院软件工程系 赵锐年 基于JSP+SQL的图书管理系统的设计与开发第1章 前言1.1 课题背景随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了,本文介绍了在Windows7及Java、JSP、SQL、MyEclipse环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现图书馆信息管理、资源共享的基本目标,从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是图书馆管理系统的开发的基本环境。1.2 课题意义数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于存在的这一问题,我认为有必要建立一个图书馆管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况1.3 文献综述目前的图书馆管理系统种类繁多,但依据各自不同的规模和功能需要,大体上所采取的技术体系采用VB + microsoft Access/ SQL Server技术,或者DEPHI + SQL Server,几乎有很少使用JSP体系结构技术。1.3.1 技术综述尽管有着众多的网络开发体系,但如何决定一个系统使用何种方法开发仍然是基于系统的基本需求,本文不详细描述各种开发体系的性能优劣,这里选取了二家不同规模的图书馆管理系统,将各系统选用的开发体系列表比较如下:表1.1 各系统选用的开发体系列表系统名称开发语言数据库Web服务器操作系统青岛大学图书管管理系统VBMicrosoft AccessIIS 6.0Windows Server 2000海尔图书馆管理系统ASP.NETMicrosoft SQL Server 2005IIS 6.0Windows Server 20001.4 总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。针对性:本系统设计是针对图书馆管理的需求定向开发设计,所以具有专业突出和很强的针对性。实用性:要求本系统能够满足图书馆管理的需求,因此具有良好的实用性。一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用JSP技术、SQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。35广州大学华软软件学院软件工程系 赵锐年 基于JSP+SQL的图书管理系统的设计与开发第2章 系统分析2.1 系统的需求分析本系统致力于建立灵活、方便的图书馆管理系统,主要有五大功能模块:类别管理模块、图书管理模块、读者管理、借阅管理和归还管理模块。图2.1 系统需求分析图1. 图书类别信息管理:作为一个社区的图书馆,涉及到的图书是很多的,这就有必要对图书进行分门别类,这样有利于对图书的查询和管理,管理员登陆系统后可以对图书类别进行添加,更新和删除操作。2. 图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了。3. 读者信息管理:管理员可以添加新的读者信息,修改已经存在的读者信息,删除读者信息。4. 图书借阅管理:管理员登陆系统后。可以管理读者的借阅信息。首先输入读者的借书证号,然后输入要借阅的图书和借阅时间,完成借阅的管理。5. 图书归还管理:当读者看完了书或需要归还时,管理员通过系统提供的接口完成图书归还操作。2.2 业务流程分析2.2.1 系统管理员业务流程分析系统管理员进入用户登录界面后,在登录功能区输入系统管理员的用户账号与密码,登录成功后跳转到系统主窗体。系统可以查看图书信息,并对其进行查找或删除等操作;查看读者信息,对不符合系统规定的进行删除操作;添加图书借阅信息,并对其进行编辑或删除等操作。结束各项操作后退出,回到系统主窗体。图2.2 系统管理员业务流程图2.3 数据流程分析2.3.1 图书类别管理模块图2.3 图书类别管理模块数据流程图2.3.2 图书管理模块图2.4 图书管理模块数据流程图2.3.3 读者管理模块图2.5 读者信息管理模块数据流程图2.3.4 图书借阅模块 参考文献 1 叶子,进实现J计算机工程与科学,2009,1(07):61-64. 2 基于MATLAB 实现的指纹图像预处理J2008,34(04):836-856. 3 /dafapuke/ 4 /yingfengguoji/ 5 By-gnksguybb 6 李 宁指纹增强算法研究D济南:山东大学,2007. 7 马扬彪基于Gabor 滤波的指纹图像增强J. 微计算机信息,2009,25(15):305-306. 8 向 锐面向低质量指纹的图像增强算法研究D重庆:西南政法大学,2008.图2.6 图书借阅模块数据流程图2.3.5 修改密码模块图2.7 修改密码模块数据流程图2.4 数据字典2.4.1 数据项的描述表2.8 图书类别数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间类别名称文本50最多25个字符类别介绍文本5000-500个汉字表2.9图书信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间名称文本42100个汉字作者文本502100个汉字出版社文本42100个汉字出版日期日期50年-月-日,形如“2011-5-19”ISBN文本102100个汉字 单价文本2100个汉字类别ID数字0000000000至9999999999之间表2.10 读者信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间姓名数字4250个汉字性别文本20250个汉字年龄数字101-100住址文本4250个汉字联系方式文本50250个汉字借书证号文本50250个汉字表2.11 借阅信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间用户ID数字40000000000至9999999999之间图书ID文本200000000000至9999999999之间借阅数量数字101-100借阅时间日期4年-月-日,形如“2011-5-19”归还时间日期4年-月-日,形如“2011-5-19”表2.12 管理员信息数据项描述数据项类型长度值范围ID数字100000000000至9999999999之间登陆账号文本10250个字符登陆密码文本5002500个字符2.4.2 数据流的描述(1)数据流名:图书类别信息简述:用户登录成功后可以添加、编辑和删除图书类别信息组成:图书类别参数=类别名称+备注数据量:约100次/日(2)数据流名:图书信息简述:系统管理员登录成功后可以浏览、删除、增加图书收费信息组成:图书信息=图书名称+作者+出版社+出版日期+图书ISBN+单价+库存数量+页码+类别编号数据量:约5000次/日(3)数据流名:读者信息简述:系统管理员登录成功后可以添加、编辑和删除读者信息组成:读者信息=姓名+性别+年龄+住址+联系方式+借书证号数据量:约100次/日(4)数据流名:借阅信息简述:系统管理员登录成功后可以添加、编辑和删除图书借阅信息组成:借阅信息=读者编号+图书编号+借阅天数+借阅时间+归还时间+备注数据量:约100次/日广州大学华软软件学院软件工程系 赵锐年 基于JSP+SQL的图书管理系统的设计与开发第3章 系统设计3.1 系统体系结构设计本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是系统主页,主要包括图书类别管理,图书信息管理、读者管理、借阅信息管理、修改密码等,用户登录成功后可以转至各个管理功能。第四层即各个管理功能的所有功能。图3.1 系统体系结构设计3.2 系统子模块功能介绍(1)图书类别管理模块:主要功能是系统管理员登入后,添加、编辑和删除图书类别的功能。(2)图书管理模块:主要功能是系统管理员登入后,添加、编辑和删除图书信息的功能。(3)读者管理模块:主要功能是管理员登入后,维护读者的信息。包括录入新的读者,删除不符合规定的读者,编辑现有的读者信息。(4)借阅管理模块:主要功能是管理员登入后,维护图书借阅的信息。包括增加新的,删除不符合规定的借阅,编辑现有的借阅信息。(5)修改密码模块:主要功能是管理员为了保证安全性。重设密码的功能3.3 数据库设计3.3.1 数据库概念设计E-R模型概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联系模型,即ER模型,它是用ER图来描述现实世界的概念模型。下列ER图清楚简便的描述出了本系统实体与其属性之间的关系。图3.2 数据库概念模型E-R图3.3.2 数据库逻辑设计关系模型下面将图3.2数据库E-R图转换为关系模型。图书类别信息(ID,类别名称,备注信息)图书信息(ID,名称,出版社,出版日期,ISBN,页码,库存,类别ID)读者信息(ID,姓名,性别,年龄,住址,联系方式,借书证号)借阅信息(ID,图书ID,读者ID,借阅数量,借阅时间,归还时间)管理员信息(用户名,密码)3.3.3 数据库选型本系统使用SQLSERVER关系型数据库。SQLSERVER是由微软公司出品,基于关系型数据库的大型数据库系统,该版本数据库具有独立于硬件平台、对称的多处理器结构、抢占式多任务管理、完善的安全系统和容错功能,更具有使用方便、可收缩性好与相关软件集成程度高等优点。3.3.4 数据库表结构设计本系统后台数据库中总共设计了5张数据表,分别为黑名称图书类别信息表(t_catelog)、图书信息表(t_book)、读者信息表(t_user)、借阅表(t_jieyue)和管理员信息表(t_admin)。具体结构设计如下:(1)图书类别信息表(t_catelog)图书类别信息表主要用于存放图书类别的信息,主要字段包括:ID,类别名称,备注信息等。表3.3 图书类别信息表(t_catelog)字段名数据类型字段描述长度主键IDintID4Mingchengvarchar类别名称50Beizhuvarchar备注信息500(2)图书信息表(t_book)图书信息表主要用于存储图书信息,主要字段有ID、图书名称、出版社、出版日期、ISBN号、页码、库存数量、类别ID等表3.4 图书信息表(t_book)字段名数据类型字段描述长度主键IDInt编号4NameVarchar图书名称50ChubansheVarchar出版社50ChubanriqiVarchar出版日期4IsbnVarchar图书ISBN50PriceVarchar单价50Kucunint库存数量50Catalog_idVarchar类别ID50(3)读者信息表(t_user)读者信息表主要用于存储读者信息,主要字段有姓名、性别、年龄、住址、联系方式、借书证号等 表3.5读者信息表(t_user)字段名数据类型字段描述长度主键IDInt编号4NameVarchar姓名50SexVarchar性别50AgeInt年龄4AddressVarchar住址50TelVarchar联系方式50JiehaoVarchar借书证号50(4)借阅信息表(t_jieyue)读者信息表主要用于存读者借阅图书的信息,主要字段有ID、图书ID、读者ID、借阅时间、归还时间、借阅数量等 表3.6借阅信息表(t_jieyue)字段名数据类型字段描述长度主键IDInt编号4Book_idInt图书编号50User_idInt读者编号50JieyueshijianVarchar借阅时间4JieyueshuliangVarchar借阅数量50GuihuanshijianVarchar归还时间50BeizhuVarchar备注50(5)管理员信息表(admin)管理员信息表主要用于系统管理员的信息,主要字段包括:编号、登陆账号、登陆密码。表3.7 管理员信息表(admin)字段名数据类型字段描述长度主键IDInt编号10Namevarchar登陆账号50Pwdvarchar登陆密码503.3.5 数据库表间关系设计图3.8 数据库表间关系图3.4 系统开发工具与开发模式的选择3.4.1 系统开发工具本系统主要使用JSP、SERVLET技术对系统进行设计和开发。JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和Java Bean无缝整合。 ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了ASP.NET,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上ASP.NET的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,ASP.NET确实是不错的选择。 JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。 从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。Java的开放性也使系统框架如雨后春笋般涌现,Struts,Webwork,Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的 Java代码导致的不利因素削弱。 总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。所以在线汽车销售网站采用了JSP技术。3.4.2 系统设计模式B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采TCP/IP协议。C/S 与 B/S 区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行 对安全要求不同 C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群. 对程序架构不同 C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟. 软件重用不同 C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 系统维护不同 系统维护是软件生存周期中,开销大, -重要C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 处理问题不同 C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 用户接口不同 C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 信息流不同C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。第4章 系统实现4.1登陆模块(1)登陆界面要想使用本系统,必须先登陆到系统中,在登陆页面,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。图4.1登陆模块界面(2)登陆模块关键代码 public String login(String userName,String userPw,int userType)tryThread.sleep(700); catch (InterruptedException e)/ TODO Auto-generated catch blocke.printStackTrace();String result=no;if(userType=0)/系统管理员登陆String sql=select * from t_admin where userName=? and userPw=?;Object params=userName,userPw;DB mydb=new DB();mydb.doPstm(sql, params);try ResultSet rs=mydb.getRs();boolean mark=(rs=null|!rs.next()?false:true);if(mark=false) result=no;4.2 图书类别管理模块(1)图书类别管理模块界面管理员登陆系统后,点击左面的菜单“图书类别管理”,页面调转到图书类别管理界面,录入图书类别的基本信息。如类别名称、备注信息等,点击保存按钮,调用后台的java类catelogServlett把图书类别信息保存到数据库。操作员管理界面如下图图4.2 图书类别管理模块界面(2)图书类别管理模块关键代码 public void catelogAdd(HttpServletRequest req,HttpServletResponse res)String name=req.getParameter(name);String jieshao=req.getParameter(jieshao);String del=no;String sql=insert into t_catelog values(?,?,?);Object params=name,jieshao,del;DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute(message, 操作成功);req.setAttribute(path, catelog?type=catelogMana); String targetURL = /common/success.jsp;dispatch(targetURL, req, res);public void catelogDel(HttpServletRequest req,HttpServletResponse res)String sql=update t_catelog set del=yes where id=+Integer.parseInt(req.getParameter(id);Object params=;DB mydb=new DB();4.3 图书管理模块(1)图书管理界面管理员登陆系统后,点击左面的菜单“图书管理”,页面调转到图书管理界面,录入图书的基本信息。包括名称、出版社、出版日期、ISBN、库存数量、单价等,点击保存按钮,调用后台的java类BookServet把图书信息保存到数据库。图书管理界面如下图图4.3 图书管理模块界面(2)图书管理模块关键代码 String name=req.getParameter(name);String zuozhe=req.getParameter(zuozhe);String chubanshe=req.getParameter(chubanshe);String chubanriqi=req.getParameter(chubanriqi);String isbm=req.getParameter(isbm);String price=req.getParameter(price);String yeshu=req.getParameter(yeshu);String kucun=req.getParameter(kucun);String catelog_id=req.getParameter(catelog_id);4.4 读者管理模块(1)读者模块界面在该界面中首先输入读者基本信息。单击“提交”按钮,即可完成读者录入操作。图4.3 读者模块界面(2)读者管理关键代码 public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException String type=req.getParameter(type);if(type.endsWith(userMana)userMana(req, res);if(type.endsWith(userAdd)userAdd(req, res);if(type.endsWith(userDel)userDel(req, res);if(type.endsWith(userAll)4.5 图书借阅管理模块(1)图书借阅模块界面管理员登陆系统后,点击左面的菜单“图书借阅管理”,页面调转到图书借阅管理界面,录入图书借阅的基本信息。如图书ID、读者ID、借阅数量、借阅时间等,点击保存按钮,调用后台的java类JieyueServlett把图书借阅信息保存到数据库。图书借阅管理界面如下图图4.3 图书借阅模块界面(2)借阅管理关键代码 String user_id=req.getParameter(user_id);String book_id=req.getParameter(book_id);String jieyueshuliang=req.getParameter(jieyueshuliang);String jieyueShijian=req.getParameter(jieyueShijian);String shifouguihuan=否;String guihuanshijian=;String del=no;String sql=insert into t_jieyue values(?,?,?,?,?,?,?);Object params=Integer.parseInt(user_id), Integer.parseInt(book_id), Integer.parseInt(jieyueshuliang), jieyueShijian, shifouguihuan, guihuanshijian, del;DB mydb=new DB();mydb.doPstm(sql, params);第5章程序测试与调试5.1 程序调试在设计系统的过程中,避免不了一些错误。对于语句的语法错误,在程序运行时自动提示,并提示请求立即纠正,因此,这类错误是比较容易发现和纠正。但有的错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,不一定会出现,因此,对这一类的错误的排查和纠正是非常耗时和费力的。5.2 程序的测试5.2.1 测试的重要性及目的(1)测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括: 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定; 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作; 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。 (2)测试的目的 如果测试的目的是为了尽可能

温馨提示

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

评论

0/150

提交评论