计算机毕业设计选题-计算机毕设辅导-超市管理系统的设计与实现-开题-任务书-源码-程序-答辩-一条龙辅导
此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私
项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。
资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我
摘要
随着社会的进步和网络技术在二十一世纪的飞速发展,人们的生活水平越来越高,对于购物的方式也越来越重要了,便捷的购物方式让人们在生活中更有滋味。因此,在现代生活中,超市管理系统成为了近些年来新兴的一种经营方式,也为人们购买商品提供了方便。
二十一世纪也是互联网的时代,在互联网的时代中,必不可少的当然就是网络产品。为了跟随社会的进步,互联网的产品也出现在超市中,利用网络来经营超市也成为了一种引人注目的方式。本课题使IDEA作为本系统的开发环境,使用Java作为开发语言,使用MySQL作为数据的存储。本系统主要是为了方便记录商家的售卖情况、对商家经营超市的管理和管理会员积分,促进消费等。本系统主要有两种角色,分别是员工、管理员。这二个角色都有着不同的职责,每个职责都有着不同的功能和模式。
关键字:超市;互联网;Java;MySQL
Abstract
With the progress of society and the rapid development of network technology in the twenty-first century, people's living standards are getting higher and higher, and shopping methods are becoming more and more important. Convenient shopping methods make people more tasty in life. Therefore, in modern life, supermarket management system has become a new way of operation in recent years, and also provides convenience for people to buy goods.
The 21st century is also the era of the Internet, in the era of the Internet, of course, the indispensable network products. In order to follow the progress of society, Internet products also appear in supermarkets, using the network to run supermarkets has become a noticeable way. This topic makes IDEA as the development environment of this system, Java as the development language, MySQL as the storage of data. The main purpose of this system is to facilitate the recording of the sales situation of merchants, the management of supermarkets and the management of members'points, and promote consumption. There are two main roles in this system: staff and administrator. These two roles have different responsibilities, each of which has different functions and modes.
Key words: Supermarket; Internet; Java; MySQL
目录
第一章绪论
1.1课题的开发背景
目前网络的发展已经侵入到我们的生活以及各个领域,尤其是近几年网络的普及,生活中随处都可以看到网络的影子。在这个信息化的时代中,超市也必不可少的成为了网络发展的侵入对象。
最初,由于交通不变,我国的超市发展并不是很好,地区的商品比较单一,不能够有足够的商品种类供人们选择,超市便一直没有发展起来。直到交通发展便利之后,商品的种类逐渐增多,这使部分商家开启了超市的道路,也为现代的超市奠定了深厚基础。随着网络到来的时代,超市管理系统也成为了很多专业学者的研究对象,通过对商家和顾客的调查研究,了解产品需求,并实现网络产品应用到实际中。
1.2课题的研究意义
本课题研究的意义主要是为了让人们在这个智能化的时代中更多的了解到网络的产品,在本课题中,还解决了商家对超市管理的问题以及员工对超市的售卖情况和顾客在超市的购买情况。管理员通过查看售卖金额和售卖的种类进行调整,更好的经营超市的状态。社会信息化最主要的就是针对人们所开发的系统,不管是什么系统,都是以人为本的系统。在本系统中,除了商家使用系统管理员工和超市之外,本系统还为员工减轻了工作负担和工作压力,商品可以通过电子产品和网络产品进行计算,直接获取应收金额和需要找零的金额,避免了在工作中出现的失误。本系统还可以进行员工的排班,根据员工的个人情况以及工作的时间进行排班,节省了商家对员工进行排班的时间以及员工对排班时间的不确定性,这方便了商家对员工的管理和员工的工作时间。
1.3国内外现状
在国外,尤其是像欧美的一些发达国家,网络技术远远超过中国的网络技术,很多大型超市或中型超市已经开始使用EPR系统和先进的管理方式。目前,国外的供应链技术和中小型的企业正在全球进行,很多的小型企业也开始使用了ERP系统。不管是资金、技术还是在起步阶段,国外的超市管理系统都有诸多优势,这样的优势也使国外在超市管理系统上有了一个较大的成功率,在经济和社会中取得了很大的收益,管理系统和基础理论方面也取得了巨大成就。
在我国,相比国外的超市管理系统来说,发展较为缓慢,从上个世纪八十年代才开始出现超市这个名词,直到九十年代才着手开发超市的管理系统。在国内网络技术专家的共同努力下,我国的超市管理系统取得了很大的成功。然而,受网络技术、资金、体系等诸多方面的影响,我国的超市管理系统和国外的超市管理系统还有这很大的差距,这使得人们不得不为超市管理系统再次开发。由于二十一世纪网络发展的趋势较快,信息化的发展也使得电脑越来越普及,人们对于超市的购物管理系统也有了更深入的研究。
1.4本文的结构安排
本系统主要实现了商家对超市的管理系统,方便了商家对超市的管理情况,减缓了员工对工作的压力。在本系统中主要分为两大角色,分别是管理员、员工。管理员登陆后可以对商品的信息进行管理,如编号、名称、单价、备注等信息;管理员工信息并排出员工的上班时间;对商品的进货进行登记和查询;商品的销售管理可以查看到商品的数据分析情况图和员工的销售业绩以及总销售业绩;对商品的库存进行查询,提前进货。开通顾客的会员,有利于促进顾客的消费。员工登陆后可以查看商品的库存,可以根据顾客购买的商品进行收款;员工可以查看自己的上班排班时间,避免与其他事情进行冲突。
第二章 技术介绍
2.1jsp介绍
jsp也成动态页面,里面包含了css、javascript、html标签,jsp其实就是html变换过来的,区别在于jsp中可以嵌套很多的标签,例如c标签、jstl标签,s标签,在用户访问时,首先浏览器会发送HTTP请求到应用服务器,然后服务器检索分析jsp网页的请求并传递此请求给JSP引擎,在引擎中可以将jsp页面转换为servlet,其实就是转换为服务器可以识别的Java文件,之后servlet会将HTML格式的内容输出到浏览器中,浏览器处理Rseponse返回的页面,之后渲染显示样式内容。
2.2Java语言
java作为最常用的开发语言之一,是基于面向对象的开发,而c++相比是基于面向过程开发,这也是java开发简单的原因之一,c++则经常作为底层开发语言或者游戏进行开发,据统计在近几年java一直是作为第一开发语言选择,java语言的开发优势明显,跨平台优势,不局限与某一开发平台,移植性较高,且具有三大特点,继承、封装、多态,因此代码的重复利用度与逻辑性较高,继承,可以将具有公共类或者属性的类进行整合,提炼,逻辑性更好,封装,则可以作为jar包,避免一些开发人员因为业务逻辑而去阅读一行行的代码,只需直接调用处理结果,多态,则是依据不同的情形对不同的方法设定不同的参数,返回不同的结果,java的开发包为jdk,包含了很多的基础的开发封装,java开发也有23中开发模式,都是经过提炼后的一种设计思想。
2.3SSM框架介绍
Spring容器,作为java的三大框架之一,spring可以整合、集成很多的框架,spring主要的两个特点控制反转也成依赖注入、切面编程,切面编程顾名思义,切面设计原理,Java作为面向对象的设计理念,很多设计是基于对象的通俗来说就是基于点的设计或者拦截,AOP技术关注的不仅仅是某个横切点,而是整个分界行为面,将某种行为直接进行模块话,例如事务和日志、权限的管理拦截,核心构造是切入面,将对多个类构成影响的设计组装封装成一个模块,类似于Spring的interceptor设计思路,通过切面拦截,实现了某个接口,从而实现具体的切面业务逻辑。IOC核心设计是springframe.beans的jar包,主要设计为服务器自动生成代理对象,不经过用户创建生成,基于java的工厂设计模式,实现BeanFactory接口,通过Autowired 等名称注解注入和检索对象,BeanFactory作为最高级的抽象接口,直接管理对象之间的联系。Spring常用的设计单例模式,顾名思义,一个服务应用只能有一个且只能创建一次,一般为静态的static,Singleton作为最常用的设计对象模式,规避掉了每次用户都需检索创建新的对象。SpringMVC框架介绍:在最开始的时候servlet作为后台请求处理,业务繁琐,跟页面的交互也比较乱,struts的出现解决了路由请求的烦乱,而作为新兴框架Springmvc,彻底将请求交互变得更为清晰,基于Spring的注解,@Controller可以将对象注入到服务器,框架将访问路径也更为简化,只需在对象头部定义就可以,基于restful的风格更为简约鲜明,springmvc主要由以下几个功能模块组成,视图解析,处理器映射、DispatcherServlet,servlet在收到前端页面的请求后,根据配置的处理器映射,检索找到对应的handlerMapping,根据定义的规则,找到对象的处理服务。在后端server处理好业务,根据ModelAndServlet视图对象,解析配置,确认对应的ViewResolver,拼接路径,将要显示的数据返回给对应的视图。Mybatis框架介绍:jdbc作为底层的数据库处理交互的基础,无论是在事务的处理,还是增删改查sql的执行,拼接复杂,sql错乱,不易于阅读维护,mybatis可以简化sql语句,只需一个对象xml跟mapper对应,即可作为dao执行sql。
2.4Mysql数据库
mysql服务器作为目前最主流的高效率数据库,mysql作为操作最简洁、sql最简单的数据库,便于很多小型项目的选择,数据库中很重要的核心为事务,事务能够保证数据的原子性和一致性,避免了数据的脏读,如若执行sql失败,数据立马回滚,事务具有的四大ACID特性,一致性:保证数据的一致,原子性:以最小的单位进行执行,成功与否都是一个执行整体,持久性:sql执行成功即保存到数据库不会再进行改变,隔离性:在事务执行过程中不受其他干扰,此数据库采用插件式的存储优化引擎设计,根据不同的表的搜索条件设置不同的存储引擎,给一些操作频繁的表设计索引,查询快捷。
2.5Tomact服务器
tomcat即为部署服务器,可以部署静态的html,war包等应用,默认的访问端口为8080,关闭指令默认端口为8007,配置文件都在cof文件夹下面,其中包括server.xml,主要包括hosts配置、端口的配置,realm权限配置等,web.xml主要配置servlet,且可以配置MIME映射,tomcat-user.xml 顾名思义配置用户信息,manager默认会使用此文件,添加、编辑用户都可以修改此文件,在bin文件夹下有startup.bat、shutdown.bat主要用于开启关闭tomcat,在logs文件下有catalina.out文件,在服务部署启动运行的时候生成日志可以使用tail –f来动态查询运行日志。
2.6本章小结
本章主要介绍此系统在设计过程中才涉及的技术,本系统采用MVC的三层设计思想,采用Jsp作为页面设计,采用SSM框架作为Java后台设计,数据库存储采用Mysql。
第三章 系统需求分析
3.1可行性分析
经济可行性:在开发系统的时候,依据目前超市管理平台系统进行分析,根据已有的资料来进行整合,设计系统所需要的各项软件均已很好的获取。相对于其他大型的超市管理网站,本系统成本较低,可以满足功能信息的需求。前期投入开发较小,可以满足。 技术可行性:开发工具:IntelliJ IDEA,应用服务器:Tomcat,数据库所运行环境:MySQL,系统运行环境:Windows或Linux本系统在设计的过程中就是依靠JSP语言和MySQL数据库系统结合,采用实践法跟文献法进行分析设计。
3.2功能需求分析
此系统主要分为两种权限,因此有二种用户角色,管理员、员工,管理员主要负责商品的基础信息管理和商品的进货库存,包括员工基础信息管理、会员的管理、会员的充值、员工排班的管理、进货过程中的损耗登记管理,销售记录的查看,员工登陆后可以进行水果的销售,可以查看自己的水果销售记录,可以对水果进行报损登记,可以查看排班情况,可以修改密码。
系统功能模块图如图3-1所示:

图3-1系统功能模块图
3.3用例图设计
此系统主要分为两种权限,因为在用例图中参与的用户角色主要为员工和管理员,通过系统用例图分析各个角色的主要模块以及各个模块的主要功能,对每个功能的时间流程和操作参与者、结果和预计情况进行分析。系统用例图如下3-2所示:

图3-2系统用例图
水果管理用例介绍如下:
(1)功能描述
水果新增:管理员将水果信息进行新增保存服务器;
水果编辑:管理员会员对水果信息进行编辑;
水果查询展示:管理员在前台页面可以展示,可以进行查询。
(2)用例描述
表3-1 水果新增用例
|
描述 |
|
|
英文称呼 |
goods_add |
|
用例名称 |
水果新增 |
|
用例说明 |
水果新增 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到水果信息界面 |
|
使用流程叙述 |
1.管理员新增水果信息,若信息不全点击提交则跳转a1, 2.水果单价填写错误,跳转a2。 |
|
错误流程原因 |
a1. 水果信息不全 a2. 金额格式错误。 |
|
后置条件 |
水果信息新增成功。 |
表3-2 水果信息编辑用例
|
描述 |
|
|
英文称呼 |
good_edit |
|
用例名称 |
水果信息编辑 |
|
用例说明 |
水果信息编辑 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到水果编辑界面 |
|
使用流程叙述 |
1.管理员编辑水果信息,若信息不全点击提交则跳转a1, 2.水果单价填写错误,跳转a2。 |
|
错误流程原因 |
a1. 水果信息不全 a2. 金额格式错误。 |
|
后置条件 |
水果编辑成功。 |
表3-3 水果查询展示用例
|
描述 |
|
|
英文称呼 |
good_list |
|
用例名称 |
水果信息查询展示 |
|
用例说明 |
水果信息查询展示 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到水果查询展示界面 |
|
使用流程叙述 |
1.平台首页进行查询,若数据未显示展示跳转a1, |
|
错误流程原因 |
a1. 系统信息查询异常。 |
|
后置条件 |
水果查询展示成功。 |
会员管理用例介绍如下
(1)功能描述
会员新增:会员可以填写基本信息完成新增;
会员充值:会员可以充值;
会员查询:管理员可以对会员基本信息进行查询;
会员充值记录:管理员可以对会员充值记录进行查询;
(2)用例描述
表3-4 会员新增用例
|
描述 |
|
|
英文称呼 |
huiyuan_add |
|
用例名称 |
会员新增 |
|
用例说明 |
会员新增 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到新增界面 |
|
使用流程叙述 |
1.平台管理员填写会员信息,若手机号已存在,点击提交则跳转a1, 2.平台用户填写基本信息,用户信息填写不完整,跳转a2。 |
|
错误流程原因 |
a1. 此会员已存在。 a2. 注册信息不全。 |
|
后置条件 |
会员新增成功。 |
表3-5 会员查询用例
|
描述 |
|
|
英文称呼 |
huiyuan_list |
|
用例名称 |
会员查询 |
|
用例说明 |
会员查询 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到会员查询界面 |
|
使用流程叙述 |
1.点击会员查询,若数据不显示则跳转a1, 2.点击会员查询分页页码,若数据不显示则跳转a1, |
|
错误流程原因 |
a1. 查询数据异常。 |
|
后置条件 |
数据展示成功。 |
表3-6 会员充值用例
|
描述 |
|
|
英文称呼 |
huiyuan_addmoney |
|
用例名称 |
会员充值 |
|
用例说明 |
会员充值 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到充值界面 |
|
使用流程叙述 |
1.平台管理员填写金额,若不为数字,点击提交则跳转a1, |
|
错误流程原因 |
a1. 系统异常,充值错误 |
|
后置条件 |
会员充值成功。 |
表3-7 会员充值记录查询用例
|
描述 |
|
|
英文称呼 |
huiyuan_moneylist |
|
用例名称 |
会员充值记录查询 |
|
用例说明 |
会员充值记录查询 |
|
参与者 |
平台管理员 |
|
前置条件 |
跳转到会员充值查询界面 |
|
使用流程叙述 |
1.点击会员充值查询,若数据不显示则跳转a1, 2.点击会员充值查询分页页码,若数据不显示则跳转a1, |
|
错误流程原因 |
a1. 查询数据异常。 |
|
后置条件 |
数据展示成功。 |
销售用例介绍如下
(1)功能描述
水果销售:填写水果数量,保存到数据库;
销售查询展示:平台用户可以查看水果销售记录;
(2)用例描述
表3-8 水果销售用例
|
描述 |
|
|
英文称呼 |
sale_add |
|
用例名称 |
水果销售 |
|
用例说明 |
水果销售 |
|
参与者 |
平台员工 |
|
前置条件 |
跳转到水果销售界面 |
|
使用流程叙述 |
1.填写水果数量,若为成功提交则跳转a1, 2.填写会员手机号,若销售错误跳转a2。 |
|
错误流程原因 |
a1. 系统销售信息异常。 a2. 会员信息异常。 |
|
后置条件 |
水果销售成功。 |
表3-9销售记录查询用例
|
描述 |
|
|
英文称呼 |
sale_list |
|
用例名称 |
水果销售记录查询 |
|
用例说明 |
水果销售记录查询 |
|
参与者 |
平台员工 |
|
前置条件 |
跳转到销售查询界面 |
|
使用流程叙述 |
1.点击销售记录查询,若数据不显示则跳转a1, 2.点击销售记录查询分页页码,若数据不显示则跳转a1, |
|
错误流程原因 |
a1. 查询数据异常。 |
|
后置条件 |
数据展示成功。 |
3.4数据库设计
根据功能模块梳理,数据库E-R总图,如图3-3所示

图3-3数据E-R图
本系统数据存储采用mysql数据库,以下为表的数据库设计方案。
表1为水果信息表,用于存储水果基本信息,包括水果的编号、单价、数量等信息。
表1 水果信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
水果主键 |
int(8) |
PRIMARY KEY |
|
goodname |
水果名称 |
varchar(50) |
|
|
goodnum |
水果库存数 |
int(8) |
|
|
price |
单价 |
double |
|
|
goodcode |
水果编号 |
varchar(50) |
|
|
description |
水果描述 |
varchar(50) |
表2为用户员工信息表,用于存储平台用户及所属权限基本信息,
表2 员工信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
员工编号 |
int(8) |
PRIMARY KEY |
|
name |
员工姓名 |
varchar(50) |
|
|
username |
登陆用户名 |
varchar(50) |
|
|
tel |
员工电话 |
varchar(11) |
|
|
address |
地址 |
varchar(50) |
|
|
card |
身份证号 |
varchar(50) |
|
|
password |
密码 |
varchar(50) |
|
|
birthday |
员工生日 |
date |
表3为水果报损信息表,用于存储平台水果报损的基本信息,例如报损水果的编号,报损的数量,日期和报损填写人等
表3 报损信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
报损编号 |
int(8) |
PRIMARY KEY |
|
goodcode |
水果编号 |
varchar(50) |
|
|
num |
报损数量 |
int(8) |
|
|
userid |
用户编号 |
int(8) |
|
|
riqi |
报损日期 |
date |
|
|
description |
报损备注 |
varchar(50) |
表4为水果进货入库信息表,用于存储平台水果的进货信息,包括水果的编号、水果数量、单价、损耗数量、总数量等
表4 进货登陆信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
进货编号 |
int(8) |
PRIMARY KEY |
|
goodcode |
水果编号 |
varchar(50) |
|
|
num |
进货总数量 |
int(8) |
|
|
sunhuai |
损坏数量 |
int(8) |
|
|
riqi |
入库日期 |
date |
|
|
price |
进货单价 |
double |
|
|
money |
总金额 |
double |
表5为会员信息表,主要包含会员的电话号码,姓名和会员充值余额等
表5 会员信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
进货编号 |
int(8) |
PRIMARY KEY |
|
name |
会员姓名 |
varchar(50) |
|
|
score |
积分数 |
int(8) |
|
|
money |
会员余额 |
double |
|
|
tel |
会员电话号 |
varchar(50) |
表6为充值信息表,主要包含会员的编号、充值金额、充值时间等
表6 会员充值信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
进货编号 |
int(8) |
PRIMARY KEY |
|
huiyuanid |
会员编号 |
int(8) |
|
|
riqi |
日期 |
date |
|
|
money |
充值金额 |
double |
表7为水果销售信息表,主要包含水果的编号、销售的日期,销售员工编号,销售数量和金额等
表7 销售信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
进货编号 |
int(8) |
PRIMARY KEY |
|
userid |
员工编号 |
int(8) |
|
|
riqi |
日期 |
date |
|
|
money |
金额 |
double |
|
|
num |
销售数量 |
int(8) |
|
|
goodid |
水果编号 |
int(8) |
表8为排班信息表,主要包含排班的员工、排班计划等
表8 排班信息表
|
列名 |
中文描述 |
数据类型 |
约束条件 |
|
id |
排班编号 |
int(8) |
PRIMARY KEY |
|
userid |
排班员工 |
int(8) |
|
|
paiban |
上班时间 |
varchar(50) |
|
|
description |
备注 |
varchar(50) |
第四章 系统详细设计与实现
4.1数据库连接
在后端与数据库的连接交互时我们经常会用到数据库连接工具之前是JDBC连接,目前采用的上司c3p0连接池,可以对连接池的最大连接数,最小连接数,连接唤醒等进行自动配置c3p0目前作为最常用的数据库连接池,主要可以将连接池的连接数进行监控,可以进行连接数的自动增减,且可以通过select 1然后在8小时内进行唤醒,避免了 数据库假死情况,数据库配置文件内容如下4-1所示:

图4-1数据库连接配置
4.2登陆管理
系统主要分为俩种用户角色,后台管理员跟超市员工,首先进入登陆页面,输入用户名、密码通过Post进行提交到LoginController进行验证,通过findByName进行校验,如果未根据username查询到此用户则直接提示此账号不存在,如果根据username查询到用户则,以查询到的user进行跟前台输入的password进行匹配,匹配成功登陆成功,否则提示用户名或者密码错误,如果有此用户登陆成功否则登陆失败,如果没有账号,则进行新增,填写个人基本信息,username,password,tel等然后提交到后台调用add方法,首先进行校验查看是否此用户名已存在,若存在则提示此账号已注册,不存在则保存到数据库,登陆界面如下4-2:

图4-2登陆界面
4.3水果管理
水果模块,管理员登陆后可以跳转到水果新增页面,通过在input中输入水果信息,post方法提交form表单,将数据提交到controller,然后调用service中的addGoods保存到数据库,提交成功跳转到查询页面,通过findByPage进行分页查询,界面如下4-3,4-4:

图4-3水果查询页面

图4-4水果信息填写页面
4.4库存管理
库存模块,管理员可以库存信息进行查询,根据日期对记录进行排序,可以添加入库信息进行新增,通过选择入库水果,入库数量,损耗数量等,进行新增,通过调用库存controller将数据提交到后台,然后调用serivice中的add方法保存,在整个操作事务中,在入库后,要对水果的数量进行实时更新,界面如下4-5,4-6:

图4-5库存记录查询页面

图4-6入库新增页面
4.5员工管理
员工模块,管理员可以对员工信息进行管理,通过form表单填写员工,出生日期、姓名等信息进行新增到数据库user表,通过findByName判断此员工是否已存在,通过findByPage进行员工分页查询,界面如下4-7,4-8:

图4-7员工查询页面

图4-8员工新增页面
4.6会员管理
会员管理,管理员可以对会员信息进行新增,通过填写会员内容post提交到后台,然后将数据保存到数据库,可以通过调用updateUser对会员信息进行编辑,界面如下4-9:

图4-9会员管理页面
4.7会员充值管理
会员充值,进入到充值界面,首先通过FIndList将会员信息获取,通过select进行下拉显示,然后输入充值的金额,提交到后台,后台首先对金额money进行校验,判断数字格式正确与否,然后获取到new Date日期保存到数据库,然后对会员余额进行实时更新,界面如下4-10,4-11:

图4-10充值缴费查询页面

图4-11会员充值页面
4.8水果销售管理
员工登陆后可以通过findList获取到所有的水果的信息,可以查看到每种水果的库存记录,点击销售时,跳转到销售界面,可以根据findById将水果信息带到销售界面,然后添加销售数量,若销售数量大于库存数量则提示超出库存,且提交不成功,若此购买者为会员,则可以填写会员的绑定手机号,提交到后台后,若未填手机号则直接保存到销售记录中,若有会员手机号,则首先将会员信息查询到,然后判断会员余额是否充足,若充足则,直接扣除余额,然后将score积分更新到会员信息中,若余额不足则,提示余额不足请充值,购买成功后,将水果的库存数量进行更新,界面如下4-12、4-13:

图4-12销售记录查询列表

图4-13购买付款界面
4.9报损管理
员工登陆后可以对水果进行报损登陆,对一些损坏的或者是不可销售的水果进行损耗登记,进入登记界面后,填写损耗数量num,然后通过session获取到登记人的信息,保存到数据库,登记完成后,对水果的数据进行实时更新,界面如下4-14:

图4-14报损查询列表
4.10密码修改
密码修改模块,通过填写旧密码、新密码和确认密码进行提交到后台进行校验,首先通过StringUtils的isEmpty进行为空判断,然后首先进行旧密码匹配如果成功则进行密码修改,如图4-15:

4-15密码修改
第五章 系统测试
5.1测试分析
在一个系统的开发中,从定义要开发的内容,到提出开发软件的需求,再到具体开发,最后到测试,一共会经历大概四个步骤。首先要确定我们开发的系统都有那些功能,在开发中会遇到什么问题,所提的功能是否符合标准,最后是否能够真正的开发成功,人们会觉得这个步骤是有用的。而到软件开发就更不用说了,也是比不可少的步骤。但是,到测试的步骤是,就会出现一些人对于测试这个步骤觉得有没有都可以,但实际上却不知测试才是一个程序或者一个系统的最终检验,因为系统开发出来是给人们使用的,并不是单纯的开发,而测试正是检验一个系统的开发是否正确,以及开发是否能够正常运行。
本章的目的主要就是针对本系统进行系统测试,本章首先介绍了系统的搭建环境和开发环境,其次按照每个功能的需求进行测试,测试应该进行多次重复测试,以确保测试的真实性和有效性,避免出现测试的小概率事件,影响用户的使用舒适。最后,我们应该通过测试进行测试分析,分析系统的功能和系统的测试情况,针对不同问题进行处理与改进,避免系统在使用时出现问题。
5.2项目测试
(1)用户登录模块测试
表5.1用户登录模块测试
|
测试模块 |
输入值 |
期待输出 |
真实输出 |
|
登录模块的测试 |
输入正确的用户名,正确密码 |
成功进入首页 |
成功进入首页 |
|
输入错误的用户名还有密码 |
提示密码错误 |
提示密码错误 |
|
|
用户名输入正确,密码输入错误 |
提示密码错误 |
提示密码错误 |
|
|
输入正确用户名,密码为空 |
提示用户名或密码错误 |
提示用户名或密码错误 |
(2)会员充值模块测试
表5.2会员充值模块测试
|
测试模块 |
输入值 |
期望输出 |
真实输出 |
|
会员充值模块的测试 |
填写非数字金额信息 |
充值失败 |
提示输入金额异常 |
|
填写正常金额信息 |
充值成功 |
提示充值成功跳转查询页 |
|
|
输入正确金额 |
会员金额增加 |
会员金额编号,充值成功 |
(3)水果入库模块测试
表5.3水果入库模块测试
|
测试模块 |
输入操作 |
期待输出 |
真实输出 |
|
水果入库模块的测试 |
输入入库数量不是数字 |
提示入库信息异常 |
提示入库信息异常 |
|
输入正常的入库信息 |
入库成功 |
入库成功可以跳转入库查询 |
(4)购买销售模块测试
表5.4购买销售模块测试
|
测试模块 |
输入值 |
期望输出 |
真实输出 |
|
购买销售模块的测试 |
填写非数字数量信息 |
提示购买信息失败 |
提示购买信息失败 |
|
填写正常金额信息 |
可以提交 |
可以提交 |
|
|
未输入会员手机号 |
销售成功 |
销售成功,记录生成 |
|
|
输入会员手机号 |
会员扣款成功 |
会员扣款成功 |
第六章 总结与展望
6.1 总结
本论文主要介绍了基于IDEA开发的系统的分析、设计与实现的过程。在开发过程中,使我对软件开发系统有了更深的了解,明白了开发一个系统并非一件容易的事情。在完成本系统的过程中,我也遇到了很多问题,在不断的解决问题的同时,我也学到了很多专业知识。
在开发过程中,使用JAVA开发,采用MYSQL数据库,采用SSM框架技术,基于MVC的三层设计思想,并不是所有的理论都会就可以开发,也并不是所有代码掌握了就能够灵活运用,他还需要大量的积累经验。由于这是程序,因此他需要一个比较庞大的数据库,遇到的问题都已经在老师和同学的帮助下得到了解决。本系统满足移动化需求,能够长期使用。如果需再次开发,可将在本系统上继续开发,完善本系统的功能和性能需求。
经过本次开发系统,我明白了做好一个项目不但需要有大量的专业知识,还需要有分析问题和解决问题的能力。在开发系统前,开发者应该做好前期工作并考虑到方方面面,在前期准备时做好基础工作,准备好后期开发时用到的资料,以避免后期出现大量问题导致终止开发。
6.2 展望
在设计项目的过程中,发现项目实现需要缜密的逻辑思维、项目的宏观把控、功能实现的可行性以及具体界面的设计与排版。在编写实现项目功能模块的代码时,使用不同的软件工具以及技术思想,来实现功能的逻辑思维以及所需时间和呈现效率,其差异性明显。利用IntelliJ IDEA软件的过程中,软件工具本身自带代码优化以及智能代码审查功能为项目提供了巨大的帮助。从平时了解并掌握项目的部分操作到完整完成项目的开发,进一步加深知识的理解与运用。在本系统的部分功能实现过程中,融汇了新知识的学习,既开阔了眼界,又清楚了解自己的喜好和专业方向。这次项目对作者而言,更多明白学校与公司中所要求的差距,摆平心态,以更积极的态度去吸收更多更有趣的知识
参考文献
[1]秦佳.基于MVC模型的网上书店系统设计与实现[J/OL].电子技术与软件工程,2019(05):44[2019-03-25].http://kns.cnki.net/kcms/detail/10.1108.TP.20190320.1145.070.html.
[2]龚兴平.基于JSP的汽车租赁管理系统的设计与实现[J].计算机产品与流通,2019(01):158-159.
[3]袁嘉欣,马佳琳.基于JSP的大学生活动管理平台的设计与实现[J].软件工程,2019,22(01):43-46.
[4]吴向荣.“Java Web编程技术”课程教学方法研究[J].电脑知识与技术,2019,15(01):165-168.
[5]徐岩,乔丽娟.医药进销存管理系统的设计与实现[J].电子技术,2018,47(12):112-113.
[6]周兵.以应用能力为目标的JSP程序设计课程教学改革[J].汉江师范学院学报,2018,38(06):129-131.
[7]刘烨.高职JSP程序设计课程教学模块化探讨[J].农家参谋,2018(24):124.
[8]洪惠群.基于Spring MVC框架的在线辅助教学系统的设计[J].曲靖师范学院学报,2018,37(06):49-52.
[9]熊淑华.网页设计中JSP和ASP技术的应用研究[J].网络安全技术与应用,2018(11):48+50.
[10]樊飞转,蒲伟华.小型企业人力资源管理系统的设计[J].电脑迷,2018(12):185.
[11]王东新,李欢欢.基于JSP的教育信息化平台开发[J].电子设计工程,2018,26(20):27-32.
[12]屈晓,郑哲豪,陈焕培,江文杰,李俊杰,谭振宁.基于JSP毕业设计管理系统设计与实现[J].科技创新与应用,2018(30):42-43.
[13]郑逸凡.基于JSP的在线学习系统分析与设计[J].电脑编程技巧与维护,2018(10):42-43+59.
[14]刘婷.JSP技术优势分析[J].科技视界,2018(29):190-191.
[15]Tiago Cogumbreiro,Raymond Hu,Francisco Martins,Nobuko Yoshida. Dynamic Deadlock Verification for General Barrier Synchronisation[J]. ACM Transactions on Programming Languages and Systems (TOPLAS),2018,41(1):27-36.
[16]Konstantins Gusarovs. An Analysis on Java Programming Language Decompiler Capabilities[J]. Applied Computer Systems,2018,23(2) :73-95.
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)