代码编织梦想

第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 酷睿
内 存:4GB 或更大
硬 盘:500GB 或更大

软件

Microsoft Windows 7

Mysql 5.5

tomcat 7.0 或更高版本
Microsoft Office 2013

客户机

硬件

无特殊要求,只要能上连接互联网即可

软件

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 7\10等操作系统,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(返回HTTP状态码404)

4:  输出路由错误

5: else

6:  映射到Controller 的 create 方法

7:  用例通过

输出: 测试结果

Controller 测试

Controller 测试是业务层面上的测试,除了进行权限认证外,更确保数据提交至 Dao无误。用户注册提交合法数据,转发至Controller 的 create 方法。具体测试过程如下表6-3。

表6-5用户登录提交合法数据测试

用户登录提交合法数据测试

输入: 用户名、密码

1: 以 HTTP 协议的 POST 方式提交数据至 /signup

2: if(数据不合法)

3:  测试不通过

4: else

5:  写入用户记录

6:  提示已登录成功

7:  返回 HTTP 状况码 200

8:  登录用户

9:  重定向用户个人主页

10: 测试通过

输出: 测试结果

通过执行测试程序,327 个用例通过测试,16 个用例待定。其中系统关键 Routes 层共有 64 个用例,通过率100%。Controller 层共有 128 个用例,通过率 100 %。Modal 层共有 116 个用例,112 个用例通过测试,通过率 96.5 %。在稳定、健壮性,系统得到保障,且在系统重构、扩展时,只要满足之前的测试用例,便确保不破坏系统稳定。

6.3 系统的特点和优点

本系统设计时借鉴了国内外优秀网站的优点,从界面到系统设计都是从方便用户,食堂管理操作的角度出发,同时兼顾管理员的管理这一方面设计的。系统的主要特点和优点归纳如下:

1.本系统最大的特色是相对一般学校食堂管理系统的设计与实现,本系统的设计比较有针对性。由于菜名信息的特殊性,在系统中也存在相应的特别的安全功能模块。

2.该系统的位移性能也相对较高,并且可以在大多数操作系统上运行。您只需要安装支持JSP和JDK的模拟服务器。您也可以直接在单独的服务器上运行。数据库系统使用MySQL来实现动态查询,动态更新和动态数据输入,并提供强大的管理功能。它主要用于Myeclipse + JDK1.8开发工具。它易于操作且功能强大。可以对其进行不同的配置,以满足用户的不同需求。

3.系统管理信息是全面且易于维护的数据,尤其是一些常见领域,例如常用信息的输入等。为了防止在我们手动输入时可能发生的各种错误,系统使用单选按钮或列表框下拉该方法以显示所有数据,并且用户可以通过单击鼠标进行选择来完成输入工作。这种方法不仅给用户带来了很大的方便,而且提高了工作效率,并最大程度地减少了出错的机会,使用户可以顺利进行统计信息工作。4.有比较友好的用户界面,使用方便,操作方法很简单。一般来说只要有操作管理系统经验的用户都能熟练的对本系统进行操作。

6.4 系统存在的不足和改进方案

系统存在的不足

本系统基本满足了一般学校食堂管理系统的设计与实现的基本功能,能够实现简单的学校食堂管理和站点信息查询等功能。但由于时间仓促,本系统还存在不少不足方面,主要体现在:

1.界面不够美观,由于时间仓促,网站的主要表现方式还是以表格+文字的方式,颜色比较单调,一些界面不够美观,对整个系统造成了严重的影响。

2.数据库和部分代码存在冗余,由于欠缺经验和考虑的不够充分,在很大一部分系统的设计开发中,系统代码都存在冗余,导致系统的运行质量不够好。

3.后台的管理功能不够完善,由于多方面的原因,人力和时间缺乏,设计开发本系统后台方面管理的功能不是特别完善。

6.5 本章小结

本章介绍了测试的相关知识和系统的测试方法。测试是整个系统开发流程必不可少的环节,它决定了系统是否可行。通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/itrjxxs_2/article/details/127974876

我的java web项目毕业设计、校园点餐系统、权限管理系统、ssm项目_迷途的羔羊_的博客-爱代码爱编程_java项目毕业设计

毕业设计项目涉及的知识点: 技术语言:java 操作系统:Win10 开发工具:Intellij IDEA、maven 后端使用技术:spring、springMVC、mybatis、shiro 前端使用技术:html、css、js、ajax 数据库:mysql 项目中每个方法上面都有注释该方法的用处,我还对项目代码进行了优化,项目中Cont

SSM网上校园订餐系统-javaweb, mysql-爱代码爱编程

基于SSM框架实现一个校园点餐系统,包括用户端和管理员端; 前台主要功能有用户注册, 用户登录, 我的购物车、我的订单、商品评论、校园资讯等; 管理员端主要功能有:用户管理、商品管理、订单管理、评论管理、资讯管理等 运行环境 jdk8+tomcat8+mysql5.6+Eclipse+maven 项目技术 spring+spring mvc+myb

ssm校园在线点餐系统源码(含数据库)-爱代码爱编程

开发语言:Java 实例大小:46.05M 实例类别:WEB/WAP应用开发 【实例简介】校园订餐系统 项目描述 系统主要分为前台和后台,其中,前台主要功能有:用户注册、用户登录、我的购物车、我的订单、商品评论、校园资讯 后台主要功能有:用户管理、商品管理、订单管理、评论管理、资讯管理等 运行环境 jdk8 tomcat8 mysql5.6 Intelli

计算机实战项目之 [含论文+开题报告+答辩PPT+源码等]基于SSM的校园食堂点餐系统-爱代码爱编程

基于SSM+JSP+MYSQL+H-UI 实现的校园食堂点餐系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术: 前端使用技术: JSP、HTML5、CSS3、JQUERY、JavaScript、前端框架H-UI等 后台使用技术:Spring、SpringMvc、Mybatis(SSM)等 数据库:Mysql数据

[含论文+开题报告+答辩PPT+源码等]SSM校园食堂点餐系统订餐就餐餐厅-爱代码爱编程

下载:https://download.csdn.net/download/m0_68856272/85052024 项目介绍: 基于SSM+JSP+MYSQL+H-UI 实现的校园食堂点餐系统》 系统说明: 使用技术: 前端使用技术: JSP、HTML5、CSS3、JQUERY、JavaScript、前端框架H-UI等 后台使用技术:Spring

最新计算机专业毕业设计论文选题源码演示录像下载(开题报告任务书ppt毕业答辩模板 jsp252的高校校园点餐订餐系统ssm+mysql idea_mfkxkzhouqiang的博客-爱代码爱编程

编号: jsp252 语言+数据库: Java/Jsp+mysql 字数: 12007字  摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其

[含论文+开题报告+答辩ppt+源码等]ssm校园食堂点餐系统订餐就餐餐厅(已降重)_qq_2651626675的博客-爱代码爱编程

博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流和毕业设计✌  公众号:【程序代做 源码分享】 免费源码获取、精品资源、面试题库等都给你💪 🍅文末获取源码联系🍅 项目名称 [含论文+开题报告+答辩PPT+源码等]SSM校园食堂点餐系统订餐就餐餐厅(已降重) 视频介绍 (精品)含论文+开题报

java毕业设计在线影院系统计算机源码+lw文档+系统+调试部署+数据库_煦洋cxsj985的博客-爱代码爱编程

JAVA毕业设计在线影院系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计在线影院系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术 后端技术:JAVA

java毕业设计家电售后管理系统计算机源码+lw文档+系统+调试部署+数据库_煦洋cxsj985的博客-爱代码爱编程

JAVA毕业设计家电售后管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计家电售后管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术 后端技术:

java计算机毕业设计-医院门诊分诊信息系统-源码+系统+mysql数据库+lw文档_练练科技的博客-爱代码爱编程

java计算机毕业设计-医院门诊分诊信息系统-源码+系统+mysql数据库+lw文档 java计算机毕业设计-医院门诊分诊信息系统-源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术

springboot+微信小程序点餐系统的设计与实现毕业设计源码221541_fykj_2010的博客-爱代码爱编程

springboot点餐微信小程序 摘  要 点餐微信小程序采用B/S模式、采用JAVA语言、springboot框架、mysql数据库、小程序框架uniapp等开工具。促进了点餐微信小程序的业务发展。与传统线下点餐相比,点餐维信小程序不但节省了商家的线下运营的成本和门店曝光等难题,对用户而言提供了足不出户送餐上门的服务,针对现代城市而言,出

计算机毕业设计java校园自行车租赁系统mybatis+源码+调试部署+系统+数据库+lw_金金网络的博客-爱代码爱编程

计算机毕业设计JAVA校园自行车租赁系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA校园自行车租赁系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQ

[附源码]计算机毕业设计javajava点餐系统_嘉应学长的博客-爱代码爱编程

[附源码]计算机毕业设计JAVAJAVA点餐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM + mybatis + Maven + Vue 等

java计算机毕业设计校园点餐系统源码+系统+mysql数据库+lw文档-爱代码爱编程

java计算机毕业设计校园点餐系统源码+系统+mysql数据库+lw文档 java计算机毕业设计校园点餐系统源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术 后端技术:JAV

基于java校园闲置物品交易系统计算机毕业设计源码+系统+数据库+lw文档+部署-爱代码爱编程

基于JAVA校园闲置物品交易系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA校园闲置物品交易系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等技术

java毕业设计选题基于ssm项目源码实现的校园食堂点餐|订餐系统-爱代码爱编程

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 一、项目介绍 二、项目截图 三、项目获取 一、项目介绍 java毕业设计计算机毕设项目之基于SSM+JSP+MYSQL+H-UI 实现的校园食堂点餐系统_哔哩哔哩_bilibilijava毕业设计计算机毕设项目之基于SSM+JSP+MYSQL+H-UI 实现的校园食堂点餐系统共计2

基于java图书借阅系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署-爱代码爱编程

基于JAVA图书借阅系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA图书借阅系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:Layui、HTML、CSS、JS、JQuery等