合肥师范学院2015届本科生毕业论文(设计)
String airfirm = request.getParameter(\ String start = request.getParameter(\ String end = request.getParameter(\ String leaveTime = request.getParameter(\ String arriveTime = request.getParameter(\ String sql = \ end=?,leaveTime=?,arriveTime=? where id=?\ Object parames[] = new Object[]{id,airfirm,start,end,leaveTime,arriveTime,id1}; int i = fun.update(sql, parames); response.sendRedirect(\ } }
4.3机票预订模块
用户点击“机票预订”菜单,会进入到机票预订界面。页面中会显示所以机票的信息,用户可以根据起飞地、到达地和日期,进行查询筛选出所需机票。用户点击“订票”按钮完成交易。完成订票后会把机票的票数修改为原来的值减一,然后在用户订单表中插入一条记录。
图4-8 机票预订
图4-9 机票售完提示
17
合肥师范学院2015届本科生毕业论文(设计)
4.4我的订单模块
我的订单是根据用户预订机票产生的订单信息,用户可以对订单进行“改签”和“退票”操作。改签完成后会弹出改签前后票价信息的提示。改签调用gaiQian方法,在这个方法中把原记录删除再添加一条新纪录。
图4-10 我的订单
图4-11 改签后价格提示
4.5修改密码模块
点击“修改密码”菜单,会弹出窗口修改密码。用户需要输入原密码和两次新密码。通过调用updatePsw方法,在这个方法中用UPDATE语句对密码信息进行修改。
图4-12 修改用户密码
18
合肥师范学院2015届本科生毕业论文(设计)
/**
* 修改密码 */
public void updatePsw(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { String oldPsw = request.getParameter(\ //获得原密码 String newPsw = request.getParameter(\ //获得新密码 HttpSession session = request.getSession(); String name = (String) session.getAttribute(\ String sql = \ Object parames[] = new Object[]{newPsw,oldPsw,name}; int i = fun.update(sql, parames); response.sendRedirect(\ }
4.6用户注册模块
用户注册可以在登录界面点击“快速注册”进行注册或者在直接进入系统化点击菜单里的“注册”按钮注册用户。实现原理就是调用zhuCe方法,把注册的信息传递到zhuCe方法,然后INSERT到数据库中。
图4-13 修改用户密码
/**
19
合肥师范学院2015届本科生毕业论文(设计)
* 用户注册 */
public void zhuCe(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { String id = request.getParameter(\ String name = request.getParameter(\ String password = request.getParameter(\ String tel = request.getParameter(\ String idcard = request.getParameter(\ String sql = \ Object parames[] = new Object[]{id,name,password,sex,tel,idcard}; int i = fun.insert(sql, parames); request.getRequestDispatcher(\ } }
4.7用户管理模块
用户管理员登录后,可进行用户信息查询以及用户信息的删除。
图4-14 用户信息管理
/**
* 用户删除 */
public void userDelete(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException { String id = request.getParameter(\ String sql = \ Object parames[] = new Object[]{id}; int i = fun.delete(sql, parames); if(i!=-1){
request.getRequestDispatcher(\ } }
20
合肥师范学院2015届本科生毕业论文(设计)
5. 系统测试
5.1系统测试的概念
软件测试不仅仅包括程序测试,而是贯穿于整个软件开发的全过程,也就是说其对象除了包括需求分析所获得的开发成果、还包括概要设计所获得的开发成果、以及包括详细设计所获得的开发成果、和包括编码实现所获得的开发成果[10]。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等
比较常见的、典型的系统测试包括恢复测试、安全测试、压力测试[11]。下面对这几种测试进行一一介绍:
1)恢复测试
恢复测试作为一种系统测试,主要关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。在特定情况下,系统需具备容错能力。另外,系统失效必须在规定时间段内被更正,否则将会导致严重的经济损失。
2)安全测试
安全测试用来验证系统内部的保护机制,以防止非法侵入。在安全测试中,测试人员扮演试图侵入系统的角色,采用各种办法试图突破防线。因此系统安全设计的准则是要想方设法使侵入系统所需的代价更加昂贵。
3)压力测试
压力测试是指在正常资源下使用异常的访问量、频率或数据量来执行系统。
5.2测试策略及结果
5.2.1功能的测试
概述:功能测试也称为黑盒测试,就是运行整个系统测试各模块功能与预期的功能效果对比是否相同,在测试过程中把整个程序看成一个打不开的黑盒,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。就是按照开发的功能分析和各个模块的功能设计进行测试,主要针对软件界面和软件功能进行测试。功能测试既是测试的重点,
21