基于JSP的汽车租赁管理系统的设计与实现含源文件_第1页
基于JSP的汽车租赁管理系统的设计与实现含源文件_第2页
基于JSP的汽车租赁管理系统的设计与实现含源文件_第3页
基于JSP的汽车租赁管理系统的设计与实现含源文件_第4页
基于JSP的汽车租赁管理系统的设计与实现含源文件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

图2-5系统功能图基于JSP的汽车租赁管理系统图2-5系统功能图基于JSP的汽车租赁管理系统用户信息管理新闻信息管理订单信息管理添加用户信息查看用户信息修改用户信息删除用户信息修改新闻信息查看新闻信息添加新闻信息删除新闻信息管理订单记录查看订单记录订单历史记录删除订单信息留言信息管理车辆信息管理加盟商信息管理回复留言信息查看留言信息删除留言信息修改留言信息修改车辆信息添加车辆信息查看车辆信息删除车辆信息添加加盟商信息查看加盟商信息修改加盟商信息删除加盟商信息经过结构化分析方法,使用数据流图DFD描述系统中数据流程,标识了一个系统的逻辑输入和逻辑输出以及把逻辑转换逻辑输出所需的加工处理。

(1)顶层数据流图图2-6汽车租赁管理系统顶层数据流图(2)第一层数据流图图2-7汽车租赁管理系统

(3)第二层数据流图处理游客请求能够划分为浏览查询和注册。处理会员请求能够细化为浏览查询,登录,租赁,留言,添加新闻信息。处理管理员请求能够细化为发布新车辆,车辆更新,订单管理,新闻管理,加盟商管理和留言回复。图2-8处理游客请求细分

图2-9处理会员请求细分图2-10处理管理员请求细分2.2.3数据字典(1)外部实体定义名称:会员

输入数据流:查询信息、发布新闻、租赁订单、添加订单输出数据流:订单信息、车辆信息、留言信息、新闻信息名称:游客

输入数据流:查询信息、注册信息输出数据流:车辆信息、留言信息、新闻信息名称:管理员

输入数据流:车辆更新信息、订单处理、用户信息、新闻信息、加盟商信息、留言信息输出数据流:查询信息(2)处理过程定义名称:处理游客请求编号:P1

输入数据流:浏览查询要求、注册信息、留言输出数据流:浏览查询结果名称:处理会员请求编号:P2

输入数据流:浏览查询要求、留言、租赁订单、发布新闻输出数据流:浏览查询结果、订单信息、车辆信息名称:处理管理员请求编号:P3

输入数据流:车辆更新信息、审批申请、报表查询要求、留言输出数据流:浏览查询信息、处理订单结果、留言回复(3)数据流定义名称:注册信息数据流简述:注册会员需要填写的信息数据来源:游客数据项组成:[用户名|密码|邮箱|性别]名称:浏览查询要求数据流简述:查询车辆信息数据来源:游客、会员数据项组成:[车辆信息]名称:浏览查询结果数据流简述:显示浏览查询的结果数据去向:会员数据项组成:车辆信息、新闻信息、加盟商信息

名称:留言数据流简述:各种留言,用户对服务的评价数据来源:游客、会员数据项组成:留言,用户对服务的评价名称:留言回复数据流简述:回复留言,用户对服务的评价数据去向:会员数据项组成:回复用户对服务的评价名称:租赁订单数据流简述:租赁信息描述数据来源:会员数据项组成:[身份证编号|还车时间|押金]名称:车辆更新信息数据流简述:新车辆发布、修改、删除信息数据来源:管理员数据项组成:车辆信息3系统设计3.1概要设计3.1.1设计原则本系统遵循软件工程规定的设计方法和步骤,对系统进行细致地分析研究后,确定了以下基本设计原则:(1)实用性:尽量选择成熟实用的技术,使得整个系统有一个安全、稳定的运行环境。(2)安全性:为了保障系统平稳正常的运行以及数据的完整性,整个系统必须有很好的安全性,必须加强数据库的安全保密设计。(3)开放性:该系统在建设上必须加强标准化及采用统一的技术规范,以实现网络互联、资源共享、高效运行和科学管理。3.1.2系统结构分析与设计系统分析的任务是明确汽车租赁系统开发的目的、系统应用的功能等,主要有以下步骤:(1)软件结构分析对于大型系统的设计,一般分为两个阶段:结构设计和过程设计。结构设计:确定系统由哪些模块组成,以及这些模块之间的相互关系。过程设计:确定每个模块的处理过程。其中,结构设计是总体设计阶段的任务,而过程设计则是详细设计阶段的任务。这里只是一个小型的数据库管理系统,只分析构成它们最基本的成分以及所有这些成分之间的相互关系。结构分析就是系统分析人员对完成任务的每一个工序进行分析的过程。系统开发的过程首先是要确定需要建立的表格以及视图,即首先完成数据库的设计,这个过程主要是经过MySQL数据库来完成的;其次,就是进行界面的设计,这个过程是在MyEclipse中完成的,它是系统开发中比较重要的一步,系统界面在用户对软件的评价中占有很大的比重,影响到本系统开发的成功与否。最后就是详细代码的编写以实现系统的主要功能。(2)工作量分析对工作量的分析是以分析传统汽车租赁管理系统的各种工作量为基础的。分析包括输入量分析、显示分析、文档结构、程序编制、调试状况分析等,一般有问题分析与综合、数据库组织与结构的分析、文档结构分析与编制、子系统处理过程分析、与用户充分交流的分析、显示界面的分析、程序编制、调试状况分析和软件测试对象的分析等。整个系统主要由前台系统、后台管理两个部分组成。这个系统制作的基本目标是:结构清晰、内容丰富、方便快捷。本着这样的总体设计思想,又将需求分析具体化:=1\*GB3①用户操作方便,系统的运行能够给用户带来很大的便利。=2\*GB3②系统的运行能够节省许多资源。=3\*GB3③界面友好、美观、大方。=4\*GB3④系统的概要设计最重要的就是将系统模块化。模块化是指在解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性和可维护性,同时系统设计的模块化也为提高系统的可扩展性和系统的可移植性提供了方便,但模块的划分不能是任意的,应尽量保持其独立性。也就是说每个模块只完成系统要求的独立子功能,而且与其它模块的联系最少,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。3.1.3系统三层模式本系统采用三层架构模式:表示层(JSP页面),业务逻辑层(DAO模式),控制层(SERVLET),程序中业务的控制由控制器来负责,经过web.xml配置文件能够由系统负责判断某个JSP页面该调用哪个控制类中的哪个方法来处理请求,控制器再将请求的相关参数传递给实例化好的DAO组件,进行页面跳转。

(1)数据库连接DB包下设计了一个DBuser.java类,有getConnection()方法用来与数据库建立连接,close()方法用来关闭与数据库的连接。(2)表示层表示层主要是系统中的JSP页面,整个系统的实现经过主要页面的跳转实现。前台实现的功能主要为用户能够浏览系统提供的新闻信息、租赁车辆信息、供应商信息、公司招聘信息、公司的联系方式,而且能够在线预订车辆。前台主要页面有:default.jsp:默认首页;news.jsp:新闻信息页面;chexing.jsp:车型报价页面;order.jsp:在线预订页面;companys.jsp:联盟企业页面;job.jsp:招聘精英页面;company.jsp:联系我们页面;addmessage.jsp:留言页面;index.jsp:后台管理员登录页面。后台实现的功能为管理用户信息、新闻信息、车辆信息、加盟商信息、订单信息、留言信息。根据用户权限的分配有不同的显示界面。后台主要页面如下图所示:图3-1后台主要页面图(3)控制层系统经过CSS文件来控制整个系统的布局和整体框架。后台控制页面updateN.jsp为updateN.java控制,insertC.jsp为insertC.java控制等。这些控制在web.xml中都有配置。(4)业务逻辑层业务逻辑层是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。3.2数据库设计本系统数据库选择MySQL数据库,管理软件为NavicatforMySQL。数据库构建步骤为建立数据库连接,创立数据库,构建所需的表格,添加数据。创立新的数据库,名称为qczl。图3-2创立数据库双击打开刚才新建的数据库,选择表,点击右键新建数据库表,本系统的数据库中包含6张表,分别为:bus(汽车信息表)、franchisee(供应商信息表)、message(留言信息表)、newsinfo(新闻信息表)、orderinfo(订单信息表)、user(会员用户信息表)。

(1)对应的表结构依次是:表3-1bus汽车信息表idint11namevarchar20typevarchar20weishuvarchar11yajinvarchar20offervarchar50miaoshuvarchar1000dailyvarchar100monthvarchar100overtimevarchar100imgvarchar1000remainint20rentint20表3-2franchisee供应商信息表idint11namevarchar20provincevarchar20telvarchar50addressvarchar100ingvarchar1000miaoshuvarchar500regtimedate0topint1表3-3message留言信息表idint11sexvarchar4namevarchar20emailvarchar20contentvarchar1000gbdatevarchar20redatevarchar20recontentvarchar1000

表3-4newsinfo新闻信息表newsinfo_idint10newsinfo_uidvarchar10newsinfo_titlevarchar200newsinfo_typevarchar10newsinfo_contentvarchar1000newsinfo_datedate0newsinfo_updatetimedate0图3-5orderinfo订单信息表idint11useridint11busidint11orderdatevarchar20returndatevarchar20uservarchar20telvarchar20needsvarchar1000idcardvarchar18stateint1disableint1表3-6user会员用户信息表user_idint4user_namevarchar20user_passwordvarchar20user_sexvarchar2user_emailvarchar50user_regtimevarchar0user_typevarchar12

(2)表与表之间的关系外键主键主键user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主键iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用户orderinfo外键主键主键user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主键iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用户orderinfo订单bus汽车外键franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主键外键franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主键主键主键idnameprovinceteladdressimgmiaoshuregtimetopnews新闻4系统实现4.1用户注册用户注册验证成功后,则跳转到登录页面进行登录操作;如果注册验证不成功则提示用户注册失败原因重新填写注册信息。注册页面流程图如下图所示:帮助提示不经过重新填写个人资料经过合法用户资料审核会员注册填写个人资料(用户名、密码邮箱等)帮助提示不经过重新填写个人资料经过合法用户资料审核会员注册填写个人资料(用户名、密码邮箱等)图4-1注册页面流程图4.2前台功能模块导航栏里面有7大模块,分别为:首页、新闻中心、车型报价、在线订车、联盟企业、诚聘精英、联系我们,对应7个前台页面。前台默认首页从数据库里面调出最新上传的五款车辆信息,以及最新上传的前十条新闻记录。新闻中心页面显示的主要内容是从数据库里面按照时间倒序调出的新闻信息。联盟企业页面列出所有加盟商的信息,包括供应商的名称、联系电话、公司地址、公司的一些介绍、公司商标等。招聘精英页面则显示公司的一些招聘信息。联系我们页面列出公司的一些联系方式。下面则主要介绍本系统中主要功能模块。4.2.1前台默认界面前台默认首页上面从数据库里面调出最新上传的五款车辆信息以及最新上传的前十条新闻记录和公司的一些介绍图片。图4-2前台默认页面核心代码:<%Listlist=car.CarDao.top5();Iteratorit=list.iterator();while(it.hasNext()){Carinfocarinfo=(Carinfo)it.next();%><divclass="fllist_left"><imgsrc="<%=carinfo.getImg()%>"width="255"height="200"/></div><divclass="fllist_right"> <divclass="list_right_test"><h1><b><%=carinfo.getName()%></b></h1></div> <h2>:<%=carinfo.getOffer()%></h2> <p><%=carinfo.getMiaoshu()%></p> </div><%}%>

4.2.2车型报价列出所有的车辆信息,包括车辆的图片、车名、车位数、车供应商以及车辆的日租、月租、押金、超时费(元/每小时)的具体金额。用户能够在此查询出来想要租赁的车辆并点击我要租赁图片链接,经具体的车辆信息传到在线订车(order.jsp)的页面上进行在线对车的核对,并填写下一步信息进行车辆的在线订购。图4-3车型报价页面核心代码:<formmethod="post"action="csearchC.jsp"name="post"> <tablewidth="1800%"border="0"align="center"cellpadding="3"cellspacing="6"> <tr> <td>查询: <selectname="select"><!-- <option>选择类型</option> --><optionselected="selected"value="name">名称</option> <optionvalue="offer">供应商</option> </select></td> </tr> <tr> <td>关键字: <INPUTname="keyword"class="autoline02"size=15></td> </tr> <tr><tdalign="center"><inputtype="submit"name="submit"></input></td> </tr> </table></form> 4.2.3在线订车从上一个页面chexing.jsp接受要预订的车辆信息,让用户进行预订前的核对,系统自动生成订单的订单号,用户需要记下自己的订单号,接着填写预定该汽车所需要的信息,包括起租时间、还车时间、订单人的姓名、订单人的联系电话、订单人的身份证号以及客户所需要的一些特殊要求,填写好信息后用户可点击“确认订单信息”进行预订。如果客户没有从车型报价页面跳转过来,这样就没有具体的参数显示,系统会默认用“***”代替具体的信息值,并提示用户在车型报价页面进行车辆挑选、预订。图4-4在线订车页面4.3后台功能模块后台模块有管理用户会员信息、管理新闻信息、管理车辆信息、管理加盟商信息、管理订单信息、管理用户留言信息。根据用户权限的不同,有不同的显示界面。管理员有最高的权限,下面介绍后台的主要功能模块。

4.3.1后台默认界面此界面为系统后台登陆后的默认界面。图4-5后台默认页面4.3.2用户管理此页面为系统用户的管理界面,只有系统管理员才能够管理用户,因此只有是系统管理员登陆的时候才显示此界面,而普通会员则不显示此界面。图4-6用户管理页面

添加用户,包括用户名、性别、登录密码、用户邮箱,确认信息后,点击提交按钮交给系统进行用户的添加处理。图4-7添加用户页面4.3.3租车管理此页面是管理租赁车辆的管理模块,列出所有车辆信息,管理员能够点击查看按钮进行详细查阅,并可进行修改;点击删除按钮时删除该车辆对应的记录。图4-8后台租车管理页面

添加车辆信息界面,填写汽车车名、汽车类型、车辆的服务商、车位、日租金额、月租金额、车辆押金、更新汽车的数量等信息,用户填写完详细信息后点击确定按钮后由系统进行车辆信息的添加操作。图4-9后台添加车辆页面4.3.4订单管理此界面用来管理订单信息模块,列出所有订单信息,用户能够点击修改按钮进行详细查阅,并可进行修改;点击删除按钮时删除该订单对应的记录。图4-10后台订单管理页面核心代码:<%Connectionconn=null;Statementstmt=null;ResultSetrst=null;StringstrSQL="";intPageSize=15;intPage=1;inttotalPage=1;inttotalrecord=0;try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptionce){out.print(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:mysql://localhost/qczl","root","root");stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);strSQL="SELECT*fromorderinfowheredisable=0orderbyiddesc";rst=stmt.executeQuery(strSQL);if(rst.next()){rst.last();totalrecord=rst.getRow();rst.first();}if(totalrecord%PageSize==0)totalPage=totalrecord/PageSize;elsetotalPage=(int)Math.floor(totalrecord/PageSize)+1;if(totalPage==0)totalPage=1;if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))Page=1;elsetry{Page=Integer.parseInt(request.getParameter("Page"));}catch(NumberFormatExceptione){Page=1;}if(Page<1)Page=1;if(Page>totalPage)Page=totalPage;rst.absolute((1)*PageSize+1);out.print("<tableborder=1>");out.print("<tr><td>Oid</td><td>Uid</td><td>Cid</td><td>orderdate</td><td>returndate</td><td>联系人</td><td>电话</td><td>身份证</td><td>需求</td><td>状态</td><td>操作</td></tr>");for(intiPage=1;iPage<=PageSize;iPage++) {out.print("<tr><td>"+rst.getInt("id")+"</td>"); out.print("<td>"+rst.getInt("userid")+"</td>"); out.print("<td>"+rst.getInt("busid")+"</td>"); out.print("<td>"+rst.getString("orderdate")+"</td>"); out.print("<td>"+rst.getString("returndate")+"</td>"); out.print("<td>"+rst.getString("user")+"</td>"); out.print("<td>"+rst.getString("tel")+"</td>"); out.print("<td>"+rst.getString("idcard")+"</td>"); out.print("<td>"+rst.getString("needs")+"</td>"); if("1".equals(rst.getString("state"))){out.print("<td>"+"未出库"+"</td>");out.print("<td><ahref=updateO0?s="+"c"+rst.getInt("id")+">受理</a></td></tr>"); }elseif("0".equals(rst.getString("state"))){out.print("<td>"+"已出库"+"</td>");out.print("<td><ahref=updateO0?s="+"h"+rst.getInt("id")+">还车</a></td></tr>");} if(!rst.next())break; }out.print("</table>");}catch(SQLExceptione){System.out.print(e.getMessage());}finally{if(stmt!=null){stmt.close();} if(conn!=null){conn.close();}}%>在用户归还车辆后点击还车,这位条记录就不会在订单管理里面显示,自动在订单记录里面显示。这样能够使管理员方便直观的管理订单。图4-11后台订单记录页面4.3.5留言管理此界面用来管理留言信息模块,列出所有留言信息,用户能够点击修改按钮进行详细查阅,并可进行修改;点击删除按钮时删除该留言对应的一条记录。图4-12后台留言管理页面在后台留言管理页面上点击回复后进入留言的修改页面,在这里能够对用户的留言进行回复。图4-13后台回复用户留言页面核心代码:<%request.setCharacterEncoding("gbk");response.setContentType("text/html;charset=gbk");Stringmid=request.getParameter("id");Messagemessage=newMessage();message=MessageDao.selectContentByID(Integer.parseInt(mid));%><formaction="updateM"method="post"><divstyle="display:none"><inputtype="text"name="id"value="<%=message.getId()%>"/></div><tablewidth="440"height="235"border="0"align="center"><tr><tdcolspan="2"align="center"><h3>更新留言</h3></td></tr><tr><tdwidth="49">昵称</td><tdwidth="381"><inputtype="text" name="name"value="<%=message.getName()%>"size="20"/></td></tr><tr><td>性别</td><td><inputtype="text"name="sex" value="<%=message.getSex()%>"size="7"/></td></tr><tr><td>邮件</td><td><inputtype="text"name="email"value="<%=message.getEmail()%>"size="7"/></td></tr><tr><td>留言时间</td><td><inputtype="text"name="gbdate" value="<%=message.getGbdate()%>"size="7"/></td></tr><tr><tdheight="77">内容</td><td><textareaname="content"style="font-size:12px;width:325px; height:80px;border:1pxsolid#009CEC;"><%=message.getContent()%></textarea></td><tr><td>回复时间</td><td><inputtype="text"name="redate"value="<%=newjava.text.SimpleDateFormat("yyyy-MM-dd").format(newDate())%>"size="7"/></td></tr></tr><tr><tdheight="77">回复</td><td><textareaname="recontent"style="font-size:12px;width:325px;height:80px;border:1pxsolid#009CEC;"><%=message.getRecontent()%></textarea></tr><tr><tdcolspan="2"><inputtype="submit"name="sub"value="确定"><inputtype="reset"name="res"value="重置"></td></tr></table></form>

4.4问题解决(1)连接数据库的实现 privatefinalStringDBDRIVER="com.mysql.jdbc.Driver"; privatefinalStringDBURL="jdbc:mysql://localhost/qczl"; privatefinalStringDBUSER="root"; privatefinalStringDBPASSWORD="root"; privateConnectionconn=null; publicDBuser() {try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD)}catch(Exceptione){} } publicConnectiongetConnection()//取得数据库连接 {returnconn;} publicvoidclose()//关闭数据库连接 { try{ conn.close(); }catch(Exceptione){} }(2)字符串过滤的实现注册登录过程中,输入登录名夹杂中文和英文,在数据库中显示为乱码数字。 request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK");(3)上传图片的实现在更新车辆的过程中,每次都要重新上传一次图片。更新页面中出现车辆的图片,当需要修改汽车图片时,再浏览上传图片即可。上传图片用组件,导入commons-fileupload-1.2.1.jar、commons-fileupload.jar、commons-io-1.3.2.jar包。将图片上传到系统固定文件夹下面,并将具体图片路径存储到数据库表中,在页面调用时将路径放到img的src里面就能够将图片调用出来。<imgsrc="<%=c.getImg()%>(4)邮件格式问题限制的实现游客注册时填写的邮件,除了要限制它的长度外还得限制邮件的格式。functionvalidate(){varstrEmail=document.getElementById("email").value;varreg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;if(reg.test(strEmail))returntrue;else{alert("邮箱格式不正确");returnfalse;}(5)分页问题处理的实现publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;}/***//***初始化分页信息*/publicvoidinit(){this.isFirstPage=isFirstPage();this.isLastPage=isLastPage();this.hasPreviousPage=isHasPreviousPage();this.hasNextPage=isHasNextPage();}/***//***以下判断页的信息,只需getter方法(is方法)即可*/publicbooleanisFirstPage(){returncurrentPage==1;}publicbooleanisLastPage(){returncurrentPage==totalPage;}publicbooleanisHasPreviousPage(){returncurrentPage!=1;}publicbooleanisHasNextPage(){returncurrentPage!=totalPage;}/***//***计算总页数,静态方法,供外部直接经过类名调用*@parampageSize每页记录数*@paramallRow总记录数*@return总页数*/publicstaticintcountTotalPage(finalintpageSize,finalintallRow){inttotalPage=allRow%pageSize==0?allRow/pageSize:allRow/pageSize+1;returntotalPage;}/***//***计算当前页开始记录@parampageSize每页记录数*@return当前页开始记录号@paramcurrentPage当前第几页*/publicstaticintcountOffset(finalintpageSize,finalintcurrentPage){finalintoffset=pageSize*(current1);returnoffset;}/***//***计算当前页,若为0或者请求的URL中没有"?page=",则用1代替*@parampage传入的参数(可能为空,即0,则返回1)*@return当前页*/publicstaticintcountCurrentPage(intpage){finalintcurPage=(page==0?1:page);returncurPage;} 5系统测试5.1系统测试系统测试,顾名思义是对已经完成设计的系统进行检测,在系统投入使用之前检测出系统中的缺陷、漏洞等。系统测试是保证系统质量,提高系统可靠性的主要的工作之一。系统测试的目的是以最少的人力、物力和时间投入,尽可能多地找出系统中潜在的各种错误和缺陷。系统测试是软件系统完成后必须经历的一个步骤。基于Web的系统测试与传统的软件测试不同,Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统。设计测试用例的方法一般有两种:黑盒测试法和白盒测试法。(1)黑盒测试。如果已经知道产品应该具有的功能,能够经过测试来检验每个功能是否够正常使用,这样的测试称为黑盒测试,也叫做功能测试。黑盒测试法是将其看作一个黑盒子,完全不用考虑程序内部结构和处理过程。也就是说,黑盒是对程序接口进行的测试,它只检查程序功能是否能按照预期目标正常使用,程序是否能正确的接收输入的数据、处理数据、输出数据,并保证外部信息(如数据库)的完整性。(2)白盒测试。如果知道了产品内部工作过程,能够经过测试来检验产品内部动作是否按照预期的规定正常进行,这样的方法称为白盒测试,也叫做结构测试。与黑盒相反,白盒测试法的前提是把程序看做装在一个透明的盒子里,按照程序内部的逻辑测试程序,检验程序中的每条是否都按预定的要求正确工作。5.2系统测试方案本系统采用的测试用例方法是黑盒测试法,将系统所有可能的值来检查程序的正确性。需要测试的功能项是:(1)表单格式验证。(2)后台页面浏览权限。(3)系统中的分页。(4)管理员后台功能测试(车辆信息管理)。5.3系统检测过程在Tomcat服务器上发布已经完成的Web系统,设置该系统的IP地址为服务器的IP地址(本地:localhost),设置端口为8080,域名为空。然后,打开IE浏览器,在地址栏中输入http://localhost:8080/qczl/,即可转入系统的默认首页页面。经由浏览器能够顺利打开服务器上系统的默认页面,说明系统已经发布成功。能够经由Web进入系统进行操作。系统编码过程中出现的一些测试用例如下表所示:图5-1测试用例表测试功能模块测试点输入输出测试结果登录模块登录用户名:admin密码:admin正常登录登录功能正常用户名:不存在的密码:任意提示出错登录纠错功能正常后台页面浏览权限进入后台管理界面不登陆直接在浏览器上面输入后台页面地址直接跳转到后台登陆界面页面过滤功能正常并正常跳转到用户登录后在浏览器上面输入后台管理页面地址页面正常跳转到后台管理页面页面过滤功能正常

续表5-1测试功能模块测试点输入输出测试结果系统中的分页测试页面分页功能在页面上输入-1、0、10000这样的特殊数字当数字小于1是跳转到第一页;大于最大值时跳转到末页在页面上溢出值控制功能正常在页面上输入正常数字,例如:1、2页面正常跳转到对应的页面页面上分页功能正常管理员后台功能测试(车辆信息管理)查看功能管理员登录进入系统后台后,点击车辆管理界面上列出了要查看的车辆信息查看功能正常删除功能管理员登录进入系统后台后,点击车辆管理页面的删除按钮界面上显示删除成功,再次查看,已没有该车辆信息删除功能正常添加功能管理员登录进入系统后台后,在添加车辆信息的界面上输入需要添加的车辆信息,确认后点击确定按钮界面上显示添加成功,再次查看已有该车辆信息添加功能正常修改功能管理员登录进入系统后台后,选择需要修改的车辆信息,点击修改按钮进入车辆修改页面在页面上显示需要修改的车辆信息,填写需要修改的车辆信息,确认无误后,点击确认按钮提交信息。修改功能正常6总结经过三个多月的设计和开发,基于JSP的汽车租赁管理系统已经开发完毕,其功能符合基本需求:管理员管理会员信息、管理租赁车辆信息、管理租赁车辆订单信息、管理用户的留言信息、管理加盟商信息等。会员能够在线浏览租赁的车辆信息资源、发表留言、进行分类查询等基本信息。游客能够在线查看车辆信息、匿名留言等基本功能。经过对汽车租赁管理系统的开发,使我对系统开发有了很大的了解。需求分析和系统设计的质量往往是决定系统成功与否的决定性因素之一。在系统开发过程中,利用软件工程的知识理论开发软件,按“分析、设计、实现、测试”的步骤进行,避免人为盲目的“想到哪里就做到哪里”。从数据库的实现、系统功能的实现、系统关键技术的实现这三个角度对系统的部分实现进行分析。在数据库应用系统开发中,合理制定了存储过程,更加使系统中的查询灵活。拦截器的设置,让这个系统更加安全和贴近实际。在系统测试部分,从系统测试方法,系统测试内

温馨提示

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

评论

0/150

提交评论