第1章 绪论
1.1 课题背景
科技时代早已到来, 会在不断地进步,尤其是电脑类产品大范围的普及,电脑的应用也已逐步的从大规模科学计算的数据处理转移到大量的事务处理。因此产生了以计算机为中心内容,利用数据库作为存储工具取代传统的手工记录。系统在大规模的事务处理等方面有着大量应用,尤其是在高效化信息管理的应用受到广泛的关注。当今世界已步入信息时代,世界的各个领域都发生了巨大的变化,任务,也称作业,作为国民经济最为重要的一环,很早就扮演着不可替代的角色出现在人类的生产生活当中,但把任务纳入学校食堂管理系统中高效处理和应用是在人类信息化浪潮席卷的初始元年的70年代初。为了能正确适应信息化进程,本系统提供了学校食堂管理的功能,方便及满足了学校员工以及管理人员的需求。
1.2 课题研究目的及意义
本信息系统合理的借鉴国际领先的食堂管理思想并结合国内食堂管理现状,可以完全能满足国内食堂管理的需要。并通过对各行业食堂管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业食堂管理信息系统。本系统将会提高食堂的办公效率和可靠性,减少工作人员的劳动强度,提高学校的现代化管理水平。
本系统拥有较强大的存储功能。此系统是建立在WEB平台上的,后台数据库使用MYSQL,具有多种查询和统计功能。按照现在学校食堂管理信息查询的需求所设计,数据库容量大并且安全可靠。能及时让用户了解学校食堂管理信息资讯,且能对学校食堂管理信息进行查询和统计,数据备分功能使得本系统更加完善,能有效地防止菜名和统计的数据破坏和丢失。
1.3 研究方法
在学校食堂管理系统的设计与实现的设计开发中,我会利用大学四年所学到知识,利用软件工程中的原型模型来规范设计流程。在系统开发过程中,会严格按照模型的各个阶段的流程来做出相应的设计。
通过对本系统的研究与资料翻阅、查找,第一步进行对系统的需求分析,完成系统的可行性分析。在概念设计阶段,分析E-R图进行对数据库的设计并且确定将要应用的软件。在详细设计阶段中,将整个学校食堂管理系统的模块进行细化,细化各个模块的相应功能;代码实现阶段中,细心且有耐心的进行代码的编写,遇到问题及时的向老师请求帮助,在完成页面设计之后实现数据库和页面之间的连接;根据测试用例对系统进行全面的测试。
1.4 本章小结
本章主要说明学校食堂管理系统的设计与实现的设计与实现的选题意义以及研究方法,本系统要实现学校食堂管理信息查询的系统化、规范化、智能化、自动化和信息化,从而达到提高学校食堂管理信息查询效率的目的,使个人学校食堂管理信息查询更为方便。
第2章 相关技术介绍
2.1 MVC简介
MVC的是一个模型视图控制器,是一种软件设计模式,用来组织代码分离业务逻辑和数据的方法,它通过将视图层(一般是JSP、ASP、HTML)与业务控制层(URL所请求的Action)分离,并且在控制层通过调用模型[15]来实现业务的交互。使用MVC的架构思想在极大程度上实现的程序的解耦,使后台开发人员专注于业务逻辑的实现,而不关注前台的展示。相同,前端开发人员也不需要知道后代业务逻辑的实现,只需要接受后台向前台发送的已经约定好的数据格式,将其展示出来即可。
大多数开发者会将MVC认为是一种设计模式,但事实并非如此,与其说MVC是一种设计模式,不如说MVC是一种开发的标准和规范。他们是完全不同的概念。
框架,是一种对程序代码的封装,定义了在数据交互上的特定方式,它提供了一个通用的标准,要求程序员按照这个标准去实现自己的业务逻辑,使用框架来实现自己的逻辑,通常的好处是可以不需要考虑底层的实现机制,它会把比较繁琐的实现做一个封装,我们只需要重点实现自己的逻辑,调用框架提供的接口[16],就可以实现我们想要的功能。使用框架进行开发的好处是可以最大程度的节约时间成本,并且开发出来的产品会比较稳定,受开发者素质影响会相对较小。
框架和设计模式有本质上的区别。设计模式是一种开发的思想。它是一种综合考虑了程序的性能已经拓展性以及鲁棒性的设计思想。使用合理的设计模式开发的产品,能够很好的适应各种需求的变更。但是,开发出很合理的设计模式,需要程序员具备一定的素质。不得不说,设计模式是一把双刃剑,如果不能合理的在项目中部署设计模式,也会使系统的维护变得更加困难。
MVC架构如图2-1:
图2-1 MVC三层架构示意图
2.2 servlet简介
Servlet(Server Applet),全名是Java Servlet。是用Java编写的服务器端程序。 它的主要功能是交互式浏览和修改数据以生成动态Web内容。 Servlet是指实现Java语言的接口。广泛定义的Servlet是指实现此Servlet接口的任何类。通常,人们通常将Servlet理解为后者。
Servlet的工作模式是客户端向服务器发送请求,然后服务器启动并调用Servlet,然后Servlet根据客户端的请求生成响应内容,并将其传输到服务器,最后服务器返回对客户的回应。
2.3 JavaBean简介
JavaBean是描述Java的软件组件模型,与Microsoft的COM组件概念有些相似。 作为一种好的动态 站开发语言,JSP已被广泛用于各种JSP应用程序中。 JSP + JavaBean的组合已成为事实上的标准JSP最常见的程序。
JavaBeans可视化了传统的应用程序领域,例如AWT应用程序。 自Java Beans诞生于JSP以来,它已被应用到更多的非可视领域,并且服务器端应用程序越来越显示出强大的生命力。使用非可视JavaBean,封装业务逻辑,操作数据库等,可以将前端程序(例如JSP)和业务逻辑分开,从而使系统更加灵活和健壮。
2.4 Mysql简介
Mysql是最流行的关系型数据库,MySQL软件采用了双授权政策(本词条“授权政策”),它分为 区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型 站的开发都选择MySQL作为 站数据库。
2.5 B/S模式分析
B/S框架是目前被广泛采用的一种先进的框架结构,它是一种基于互联 的程序架构。当前的使用已经非常广泛,突破了传统的C/S结构的模式,给程序开发的模式带来新的技术革命。它是随着互联 技术的不断发展而发展起来的。随着互联 技术的不断发展,各种信息 站已经不能单独在一台电脑上使用和运行了,所以基于互联 的模式就逐步的发展起来了,并且得到了大规模的应用。B/S三层框架结构图如图2-1:
图2-2 B/S三层框架结构图
2.6 本章小结
本章主要介绍在线学校食堂管理系统中所用到的技术、应用以及运行环境。通过本章内容可以看出本设计所用到的技术都是当今软件开发行业比较受欢迎的,实现的功能也是友好的。Java语言开发使本设计的通用性更强,MySql数据库则使本系统运行访问数据更快。
第3章 系统分析
3.1 需求分析
3.1.1 应用需求分析
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动考虑到运行效率和安全性等方面的问题。系统的硬件环境:酷睿 CPU、4GB(RAM)、500GB(HD)。运行系统的时候对数据的安全保密性能要求不高,一般对数据不进行加密要求。另外,也不依赖其他的软件,程序有比较好的健壮性。
3.1.2 运行需求分析
硬件条件:局域 ;酷睿 CPU、4G RAM、PC机要求500G硬盘以上;打印机。
软件条件:Windows 7 IE6.0以上。
表3-1 硬件软件配置
服务器 |
硬件 |
处理器:Intel 酷睿 |
软件 |
Microsoft Windows 7 Mysql 5.5 tomcat 7.0 或更高版本 |
|
客户机 |
硬件 |
无特殊要求,只要能上连接互联 即可 |
软件 |
Microsoft Windows 7 IE 6.0 或更高版本 |
3.1.3 运行环境需求
本系统在任何地点都可以使用,只需要有一台能够联 的计算机即可,计算机配置如表3-2所示。
表3-2 运行环境配置
硬件 |
软件环境 |
处理器:inter酷睿i5以上 |
操作系统:windows7 |
内存:4G以上 |
数据库:Mysql5.5 |
硬盘空间:500GB以上 |
浏览器:IE11以上 |
3.1.4 其他需求分析
本次要开发的系统有效率,可理解性、可靠性和可维护性都比较高。用户很容易理解和学会操作。可维护性包括两种含义,即可读性和可测试性等。可靠性一般是指健壮性和正确性。在开发这个系统的过程中,需要权衡多种矛盾的目标,并在(时间、经费、可能用到的硬件和软件资源等条件)的限制下,使上面所说的各种要求得到最大限度的满足。
3.2 数据流程分析
3.2.1 系统操作流程
系统登录的主要操作流程是通过 址主页来填写表单进行用户登录,输入密码等信息,密码正确则可进入功能界面,错误则需重新填写信息。
图3-1 系统操作流程图
3.2.2 数据增加流程
本系统的每条数据再新增时每张数据表都会有对应的主键ID值,代码在控制层取值UUID进行自动赋值,并且不可更改,用户输入其他主要信息,然后前端进行表单检验数据的合法性,如果通过校验就会交互到后台控制层后进而保存到数据库中,否则需要表单的重新填写。
图3-2 数据增加流程图
3.2.3 数据修改流程
在数据信息修改时类似于信息添加,首先修改的控制层需要获取准备修改的数据对应的主键ID,然后依然是判断数据的合法性,不合法需要重新输入,数据修改流程图如图3-3所示。
图3-3 数据修改流程图
3.2.4 数据删除流程
数据的删除流程一般都会体现系统的友好性,选中并删除数据时会通过一个简单的前端Alert语句来确认用户是否真的要删除,防止误操作,数据删除流程图如图3-4所示。
图3-4 数据删除流程图
3.3 可行性分析
本系统在分析总结国内其他学校食堂管理系统的设计与实现所采用的技术支持的基础上,对目前学校食堂管理系统的设计与实现建设使用的不同技术的优缺点进行了比较分析,基于JSP技术如下所述的优点及Mysql数据库服务器的优势,最终确定使用JSP作为本系统的动态 页制作技术,Mysql作为本系统数据库服务器。通过调查分析,新系统设计方案有以下三个可行性:
3.3.1 经济可行性
由于本系统是作为毕业设计由我们自己开发的,经济投资很少。 系统建成后,将为今后学校食堂管理提供极大的便利以此估算新系统的开发成本以及未来的运营和维护成本。该管理系统的设计与实现,可以代替传统的添加到查询流程,降低人工成本,节省资金,大大提高了信息的获取效率,缩短了信息处理周期,提高了信息管理效率。直观性和更合理的权限分配优势极大地降低了管理成本。 该项目的开发支出在经济上是可以接受的,并且在该项目实施后,可以显着提高工作效率并节省开支。 所有费用都小,所以本项目在经济上是可行的。
3.3.2 技术可行性
(1)可行性分析硬件
系统的硬件要求的特殊的地方的作用是不存在,只需要的硬件配置,只是以确保系统的正常工作即可,以非常高的效率。如果有低级别的硬件,它可以导致系统的低性能,效率低,从而不可能实现整体的设计过程。现在,它似乎对硬件的要求是很容易实现。因此,研究后,硬件方面完全符合要求。
(2)可行性分析软件
Java语言提供了一种类似于借口动态模型的通用机制,并且设计更加集中。 另外,使用Java语言可以轻松实现信息的模块化和存储。 此外,代码重用也可以很好地体现出来。因此,最终决定使用Java语言的MySql数据库,以便前端接口和数据库具有完美的交互和组合。通过上述分析,该软件是可行的。
3.3.3 操作可行性
努力提高登录界面简单和用户友好度。采用常见的界面窗口的登录界面,乃至整个行业的发展系统采用最常见的结构层次。这些结构层次使得用户不需要很长的时间才能够快速熟悉系统后,就可以掌握操作方法。
系统要长期生存,必须先有一个全局的系统出发点,遵循管理系统是完美的,一定要合理的制度,再采用科学的方法实现可持续发展,最后还要与时俱进,不断改革,使系统有时间去适应形式的变化。最重要的是要确保科学的管理方法,为系统获得长远发展的竞争力提高的唯一途径。
3.4 本章小结
本章叙述的主要是对本设计的需求分析,数据流程分析,可行性分析。只有做好这些必要的分析才能做接下来的设计。良好的需求分析可以避免或尽早提出早期的错误,从而降低软件的开发成本,改进软件的质量。通过本章的分析,我能够更高效、更准确的完成该设计。
第4章 系统设计
4.1 系统开发步骤
一般说来,信息管理系统的应用和成立可以分为三个阶段的:开发系统,总体规划和操作系统,可进一步划分为系统开发系统实施,系统设计和系统分析和工作等方面的阶段。每个发展阶段安排在一个严格的线性序列来开发,在每一个阶段所产生的工作指导和依据每个阶段处理文件审查下一阶段的完整的技术文档,相信这个阶段已经完成,之后实现要求进入下一个阶段,而在以后的工作中不能轻易对以前的评估结果有所改变。
上述开发的方法是有便于进行设计开发工作的管理和组织的最大优点,而且在最大程序上减少了开发信息管理系统的复杂性。国内外有很多已经开发好的系统的实际例子都能证明这是一个效果非常不错的开发方法。
曾经国外有专家统计了开发某些项目的软件在各个开发阶段的工作量,结果表明,在设计开发的过程里每个阶段的工作所占所有工作量的分别达到系统比重分析:系统设计:编程:模块调试:系统软件调试=20%:15%:20%:25%:20%。由此看来,程序的编写过程在开发的所有工作中只占据到一个很小的比例,而调试程序的工作却占据整个系统开发工作量的一半,因此“系统开发就是编程”这一片面习惯说法显然是不正确的。另外据一定统计,在三个建立信息管理系统的阶段中,系统的规划总体和开发系统的阶段里的工作量大约是整个系统开发工作量的2/3,然而运行阶段和维护阶段竟占1/3工作量,这些数据说明开发出一个信息管理系统后,更应对它的维护工作特别重视,从而达到系统可以不断的完善并充分发挥其作用。
4.2 功能模块设计
如果要进行系统的功能模块设计,就要在系统前期的需求分析阶段明确系统建设必须要“实现什么”的问题,描绘出一个基于系统主要思想的逻辑模型。然后把想的东西去落地,去塑造一个实实在在的物理模型,看看系统的实际需求是否真正的完全实现。
系统功能模块如图4-1所示:
图4-1 系统功能模块图
4.3 数据库概念设计
在每一个应用程序中,数据库的设计是其中非常重要的部分,选择合适的数据库并创建合计的结构式开发程序时首要的问题。数据库将用mysql进行设计和管理。数据库安全性就是保证数据库信息的保密性,完整性,一致性和可用性,防止非法用户越权使用数据库从而窃取,更改或破坏数据库中数据,将提供一些安全措施来保证数据库的安全。
4.4 数据库逻辑结构设计
数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。本系统的数据结构比较清晰。
依据学校食堂管理系统的设计与实现的功能要求,主要设计出数据库的表如下:
表4-1 用户信息表
字段名称 |
字段意义 |
字段类型 |
字段长度 |
usersid |
主键编 |
varchar |
50 |
username |
用户名 |
varchar |
40 |
password |
密码 |
varchar |
40 |
realname |
姓名 |
varchar |
40 |
sex |
性别 |
varchar |
10 |
birthday |
出生日期 |
datetime |
0 |
contact |
联系方式 |
varchar |
40 |
image |
头像 |
varchar |
150 |
status |
状态 |
varchar |
30 |
regdate |
注册日期 |
datetime |
0 |
表4-2 食品信息表
字段名称 |
字段意义 |
字段类型 |
字段长度 |
goodsid |
主键编 |
varchar |
50 |
sellerid |
店铺 |
varchar |
50 |
goodsname |
名称 |
varchar |
40 |
cateid |
类型 |
varchar |
50 |
image |
图片 |
varchar |
150 |
price |
销售价 |
varchar |
40 |
addtime |
上架日期 |
datetime |
0 |
sellnum |
销售数量 |
int |
4 |
hits |
点击数 |
int |
4 |
status |
状态 |
varchar |
30 |
contents |
详情 |
text |
0 |
表4-3 订单信息表
字段名称 |
字段意义 |
字段类型 |
字段长度 |
ordersid |
主键编 |
varchar |
50 |
ordercode |
订单 |
varchar |
40 |
usersid |
用户 |
varchar |
50 |
goodsid |
食品 |
varchar |
50 |
sellerid |
商户 |
varchar |
50 |
price |
单价 |
varchar |
40 |
num |
数量 |
varchar |
40 |
total |
总计 |
varchar |
40 |
addtime |
下单日期 |
varchar |
40 |
status |
状态 |
varchar |
40 |
receiver |
收货人 |
varchar |
40 |
address |
送餐地址 |
varchar |
40 |
contact |
联系方式 |
varchar |
40 |
表4-4 商户信息表
字段名称 |
字段意义 |
字段类型 |
字段长度 |
sellerid |
主键编 |
varchar |
50 |
username |
用户名 |
varchar |
40 |
password |
密码 |
varchar |
40 |
shopname |
商铺名称 |
varchar |
40 |
idcard |
身份证 |
varchar |
40 |
contact |
联系方式 |
varchar |
40 |
address |
商铺地点 |
varchar |
40 |
workdate |
开业日期 |
datetime |
0 |
status |
状态 |
varchar |
30 |
regdate |
注册日期 |
datetime |
0 |
4.5 本章小结
本章的主要内容是进行系统开发步骤功能模块设计、数据库概念设计、数据库逻辑结构设计。
第5章 系统实现
5.1 系统首页实现
系统首页为用户提供了 站浏览的功能导航菜单,用户登录后可以通过点击里面的菜单链接按钮跳转到其页面来完成相应的功能操作。
用户系统首页都有几个模块,分别为新闻公告、全部食品、留言交流,系统首页效果图如图5-1所示:
图5-1 系统首页界面
5.2 登录模块实现
用户登录一共分为以下几个简单的步骤,先要对用户输入的信息进行验证,比如输入信息的真假性,然后将信息通过程序传送至后台,后台程序将会从数据库中查询相应的条目,如找不到匹配的账 信息,则返回错误结果并提示输入的账 密码有误,若找到匹配信息则将用户输入的密码与找到条目的密码相比较,若成功,系统将允许用户登录等个人主页。
在用户模块的设计中,必须先完成业务逻辑层相应的各个action类的代码编写,之后再根据系统具体的要求,编写不同要求的数据库访问DAO。用户登录模块如图5-2所示:
图5-2 用户登录界面
系统登录的关键代码:
if(ac.equals(“memberlogin”)){
String uname = request.getParameter(“uname”);
String upass = request.getParameter(“upass”);
ArrayList cklist = (ArrayList)dao.select(“select * from member where uname='”+uname+”‘ and upass='”+upass+”‘ and delstatus=’0′”);
if(cklist.size()>0){
session.setAttribute(“member”, cklist.get(0));
go(“/index.jsp”, request, response);
}else{
request.setAttribute(“no”, “用户名或密码错误!”);
go(“/login.jsp”, request, response);
}
5.3 具体功能模块实现
菜品信息查询都是根据菜品分类信息进行模糊匹配,搜索框模糊查询是根据名称进行查询,首先需要根据Resquest对象的getParameter()方法进行获取页面上输入的关键字,然后将其作为参数通过服务层到持久层中的findByName()方法,利用Sql语句中的Like关键字进行模糊匹配查询出相关搜索结果封装到分页实体对象中传回到控制层进而回显给页面。
菜品信息管理运行界面如图5-3所示:
图5-3 菜品管理界面
通过使用购物车程序,用户可以使 上购物更加方便快捷。这对于在 上购物时购买商品是必不可少的。用户可以随时将他们想要的商品添加到购物车中。要购买商品,用户必须先将其放入购物车。同时,用户还可以查看和修改购物车。系统会自动计算商品的总价格。
购物车的设计如下:当用户将浏览过的商品放入购物车时,会创建一个购物车对象,当再次购物时,会读取购物车对象。如果购物车是空的,则表示购物车尚未制作或已清空。,需要创建新的购物车对象。添加商品时,请将商品名称与购物车列表中的商品名称进行比较,如果商品名称已经存在,请将商品编 增加一个。
购物车界面中要实现5个方面的功能:
(1)显示选购商品的列表:包括选购的商品的名称,定价,总数量,总价格。
(2)修改购买某种商品的数量:需要提供修改数量的文本框。
(3)删除选购的商品。
(4)清空购物车:取消此次购物。
(5)提交购物车:提交购物车订单。当按下结账进入结账页面。
用户购物车模块运行界面:
图 5-4 用户购物车界面
收货人信息的添加模块首先要将页面上的form表单数据提交到AddServlet中的add ()方法中,然后使用工具类CommonUtils中封装好的toBean()方法将表单数据转换成Propertitis实体,在通过控制层>服务层>持久层的流程执行最后的添加Sql语句完成添加的操作。
收货人信息添加运行界面:
图 5-5 收货人信息填加模块界面
订单信息管理时在显示订单信息时会发现在添加足够多的订单信息的时候,一篇统计信息的长度往往会超出屏幕的长度,并且很有可能因为数据量太大而导致页面脚本在解析数据的时候,使浏览器缓存被占用过多而导致卡顿甚至浏览器崩溃。所以在平台这边对数据进行合理的分页就显得尤为重要。本系统在这个模块中为分为设计了专门的实体,适应于多种场合的分页,本系统的其他模块也采用相同的方法。
分页功能实现时主要体现在持久层数据库查询操作,在使用Limit关键字时需要的参数第一项为第几条数据,第二项参数为查询数据的条数,这里需要根据页面传递过来的pc即当前页数来确定第一项参数,而第二项参数为系统定义好的公共静态常量。如下是持久层分页功能实现的关键代码:
String sql = “select count(*) from v_student” + whereSql;
Number number = (Number) qr.query(sql, new ScalarHandler(), params.toArray());
int tr = number.intValue();// 得到了总记录数
sql = “select * from v_student” + whereSql + ” limit ;
params.add((pc – 1) * ps);// 当前页首行记录的下标
params.add(ps);// 一共查询几行,就是每页记录数
List<Student> beanList = qr.query(sql, new BeanListHandler<Student>(
Student.class), params.toArray());
订单信息管理运行界面如图5-5所示:
图 5-8 订单信息管理模块界面
5.5 本章小结
本章主要介绍系统的功能设计。功能设计是开发的最重要的一部分,也是最关键的一部分,这一阶段系统实现包括设计前台界面和实现后台代码。展示了学校食堂管理系统的设计与实现的整体功能。
第6章 程序测试与评价
6.1 程序调试
测试环境:Windows 7/10等操作系统,Myeclipse8.5的调试环境,Mysq l5.5数据库。经过多次测试,能在Windows 710等操作系统,Myeclipse8.5的调试环境上正常运行。基本上实现了预期的功能,目前试运行良好。
6.2 程序的测试
6.2.1 测试的重要性及目的
测试系统不仅验证系统是否达到相应的功能,还必须检查是否有一个系统的功能障碍。在测试之前,根据不同的系统,测试计划的总体状况,并严格按照计划。为了更真实地模拟实际环境,力求完美的测试用例设计。考虑到不仅适当的输入和输出,以及该系统的查询的错误消息的方法的能力。在性能方面,通过设置的场景,虚拟现实环境,以响应请求的系统的用户,有一个系统,发现性能瓶颈,提出相应的变化。这种观点可以提醒人们测试集中在发现错误上,而不是演示软件的正确功能。但是,基于字面意义理解这种观点可能会产生误导。发现错误是软件测试的唯一目的,无法找到错误的测试毫无价值.
6.2.2 测试的方法
对于用户来说测试系统的各个功能模块主要是进行一系列的黑盒测试。它的主要原理是,系统作为一个整体的黑盒子,在测试过程中测试者不考虑系统的内部结构,同样不考虑具体方法和系统通过逐项检查系统的各种功能完善,输入正确的数据,可以得到所期望的输出,输入错误信息时,系统可以处理。
性能测试是模拟各种的正常或者异常可能会发生的意外情况,通过自动化测试工具对系统性能进行测试,这样就可以得到该系统在峰值时的负载条件。负载测试和压力测试均为常用的性能测试方法,而且以上两者可以结合起来。通过载荷试验,能够确定一个系统在不同工作负载下,系统的性能强弱,目标是测试如果系统在负荷逐渐加大的前提下,对系统性能的影响程度。压力测试是通过识别系统中的瓶颈部位或系统性能缺陷的位置,以获得最大的服务水平测试系统可以提供。
6.2.4 测试用例
经过了一系列的需求分析、设计和编码等开发工作后,本学校食堂管理系统的设计与实现的设计也将接近尾声,接下来需要对系统的一些功能进行测试是否能够达到预期的结果。由于在测试前系统的各个模块都会存在一定的错误和缺陷,从而可能导致系统的非正常运行,有时候会出现很严重的后果。所以,对于程序设计开发来说,软件测试是一项非常重要的工作。
1.用户登录测试
用户登录信息测试过程如表6-1所示:
表6-1 用户登录测试表
测试目的 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
用户登录 |
填写用户名密码,点击首页【登录】按钮 |
用户名:1 密码:a |
登录失败 |
提示错误信息 |
用户名:user1 密码:123 |
登录成功 |
登录成功 |
2.添加菜名信息测试
添加菜名信息过程如表6-2所示:
表6-2 菜名信息发布测试表
测试项目 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
菜名信息填写 |
登陆后点击首页【食堂管理】按钮,发布信息 |
空 |
发布失败,弹出提示按钮 |
发布失败,提示请填写名称信息 |
测试信息 |
发表成功 |
发表成功 |
3.后台管理登录测试
后台管理登录测试过程如表6-3所示:
表6-3 后台管理登录测试
测试目的 |
操作流程 |
测试用例 |
预测结果 |
测试结果 |
管理员登录 |
点击管理登录填写用户名密码,点击首页【登录】按钮 |
用户名:111 密码:123456 |
登录失败 |
提示错误信息 |
用户名:admin 密码:123 |
登录成功 |
登录成功 |
6.2.4 测试结果
经过了一系列的需求分析、设计和编码等开发工作后,本学校食堂管理系统的设计与实现的设计也将接近尾声,接下来需要对系统的一些功能进行测试是否能够达到预期的结果。由于在测试前系统的各个模块都会存在一定的错误和缺陷,从而可能导致系统的非正常运行,有时候会出现很严重的后果。所以,对于程序设计开发来说,软件测试是一项非常重要的工作。
系统共有 343 个测试用例。限于论文篇幅,下面以管理员用户登录为例,从路由、Controller 至 Dao层进行测试。
路由测试
路由测试主要确保用户请求路由,能转发到正确 Controller 上。路由测试,访问 signup 路由,期待转发至对应Controller 的 new 方法上,而提交用户数据至 signup 路由,期待转发至对应Controller 的 create 方法。具体测试过程如下表6-2。
表6-4管理员用户登录路由测试
管理员用户页面路由测试 |
输入: 以HTTP 的 GET方式访问 /signup 路由 1: 以 HTTP 协议的 POST 方式访问 /signup 2: 输出测试用例描述 “get /signup” 3: if(返回HTTP状态码404) 4: 输出路由错误 5: else 6: 映射到Controller 的 new 方法 7: 用例通过 输入: 以HTTP 的 GET方式访问 /signup 路由 1: 以 HTTP 协议的 POST 方式访问 /signup 2: 输出测试用例描述 “post /signup “ 3: if(返回HT 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
软件工程:总体设计
上一篇
2022年10月18日
软件项目管理课后习题——第5章软件项目的成本管理
下一篇
2022年10月19日
|