ssm校园订餐小程序论文源码调试讲解

2 关键技术介绍

2.1 SSM框架

开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。

2.2 Java技术及架构介绍

Java以Linux为基础并且使用Java语言进行开发的操作平台。Java的开放性让他允许所有人对系统进行修改和完善,这一点也让他在近些年成为便携设备上主要的操作系统。Java同时还内置了内置丰富的应用程序,比如电话、摄像头、播放器。这些都为在系统上开发程序提供了便利。该系统运用小程序完成前台的开发,包括登录注册、个性化特征的收集、基于个性化特征进行旅游信息的推荐和对推荐旅行方案的评价等。

用户使用我们这个校园订餐小程序只需一个Java手机就可以使用了,而且所有操作都是我们熟悉的操作手法。所有的操作通过手机就可以完成,用户不需培训,只要稍微提示一下即可。所以开发校园订餐小程序使用小程序技术不仅方便了开发者而且用户使用起来也非常方便,可以说是相对来说比较完美的开发平台了。

2.3 MYSQL数据库

MySQL数据库使用的语言是SQL语言。MySQL在保存数据时是根据数据的类型和特征分开保存在不同的表中,这样当用户在需要调用的数据时,就不再需要花费大量时间去寻找数据了,只要找到对应的表,就可以找到需要的数据了。MySQL可以完美的实现对于数据库的基本操作。因为 MySQL 数据库的占用的内存少,运行快,成本低,源代码开放,可移植性强,所以越来越多的数据来源简单的项目的开发都会选择 MySQL作为数据库,而MySQL也变得越来越流行。

MySQL 有很多特性,如可移植性,多线程,灵活性等,在很多操作系统中都可以运行。它可以实现在多个线程并发执行的技术;支持MyISAM、innoDB、MEMORY、ARCHIVE四种存储引擎,而且可以使用大型数据库,为用户提供许多使用数据库的工具,比如建模工具,管理工具等。在 WEB方面的应用MySQL是最好的。

2.4微信开发者工具

在传统web浏览器中,在加载htm15页面时先加载视图层的html和css,后加载逻辑层的java script,然后返回数据并在浏览器中展示页面。而微信开发者工具的系统层是基于Native System的,视图层和逻辑层会同时被加载。微信小程序的这种逻辑方式大大的优化了页面响应速度,减少了页面加载的等待时间,提高了用户体验。微信开发者工具可以实现同步本地文件,开发调试,编译预览,上传,发布等一整套流程。

2.5 B/S架构

随着软件系统的不断改进和升级,B/S结构产品更为方便的特征体现地十分明显。对于一个中等偏大的公司来说,如果系统管理员每天要在很多台电脑之间来回查看,不断奔走,那么效率和工作量就会变得很低,但是如果使用了B/S结构,那么管理员只要对服务器进行管理就够了。

B/S结构最大的优点它不需要安装任何的软件,它所有的客户端就只是浏览器,所以只要有一台电脑并且可以上网就可以解决所有问题,客户端可以完全地不用管理员维护。无论使用系统的使用者是什么样的规模,也不管分支有多么的庞大,都不会对维护和升级的工作量造成影响,所有的维护和升级只需要操作服务器。随着B/S结构的不断发展,使用的人也不断增加,从而带动了AJAX技术的发展,和B/S结构一样,它也能在客户端上处理程序,这便缓解了服务器的负担,提高了交互性,而且实现了局部实时刷新。

3 需求分析与可行性分析

主要介绍校园订餐小程序的需求分析,通常都是功能需求和非功能需求。及其本次校园订餐的可行性分析。

3.1功能需求分析

系统功能需求分析是通过软件开发者在参与市场调研,与校园订餐管理者及用户和商家交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发系统的开始,也是相当关键的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。

本系统采用从上往下的步骤开发,基本功能如下:

本课题要求实现一套校园订餐小程序,系统主要包括管理员,用户和商家三大模块

  1. 管理员;管理员进入小程序主要包括首页、个人中心、用户管理、商家管理、餐厅信息管理、美食信息管理、美食类型管理、系统管理等功能并进行详细操作。管理员用例图如图3-1所示。

图3-1 管理员用例图

  1. 用户;用户进入小程序可以实现首页、餐厅信息、美食信息、购物车、我的等内容,在我的页面可以对个人中心、我的收藏管理、用户充值、购物车、我的订单等功能进行详细操作。用户用例图如图3-2所示。

图3-2用户用例图

  1. 商家;商家进入小程序主要包括首页、个人中心、餐厅信息管理、美食信息管理、订单管理等功能并进行详细操作。商家用例图如图3-3所示。

图3-3商家用例图

3.2 性能需求分析

对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;

  1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;

  2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;

  3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。

  4. 系统的安全性进行分析:每个角色的不同对应的信息各不相同,在登录系统务必使用自己的账号,密码登录;账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号信息进行查看等操作,这样自然保证系统的安全性。

3.3系统设计规则与运行环境

软件系统的优劣很大程度上是由系统设计的完善与否决定的。世间万物都必须遵循生老病死的法则,这是大自然的规则不能违反,软件设计也一样需要遵循系统设计规则。因此,在设计过程中必须遵循系统设计规则。

规则如下:

简单性:为了扩大系统使用者的受众面,系统设计应该本着操作越简单约好的原则,这样不仅能提高系统的使用率更能够扩大系统使用面。

针对性:一个系统针对性越强,所能提供的功能必然越完善,用户体验肯定更好,所以应该明确指定系统针对性。

实用性:实用永远是检验一个系统是否成功的唯一标准,使用的语言再高端,使用的结构再新颖但不能满足管理员,用户和商家的要求那就是失败。

运行环境:

本系统是利用B/S结构来开发的,数据库在服务器上进行部署 Mysql即可,其他包括My Eclipse等常规开发程序。

3.4系统流程分析

系统流程,用户需要登录进入系统,未注册过的用户需要在输入必填的信息之后注册成功然后登录系统,管理员在后台登录进入可以对用户进行修改管理。使用一些较为稳定的技术总结成一个系统的开发设计过程,是设计与实现各个功能模块的基本技术,这些是每个功能模块能够顺利进行的重要保证。

图3-4系统流程图

3.5 可行性分析

通常一个项目的启动或者投入市场运营都需要一个评估报告,要从需求上分析这个项目是否能在这种环境下实现整体目标,是否有这个市场回报率即我们通常所说的是否能够获得利润或者开发出来是否具有实用性,不能说系统开发出来后根本没有用。所以其目的就是以最小的付出来得到更大的效率。本次课题我们就从技术可行性,操作可行性上来分析。

(1)技术可行性

Java 由操作系统,中间件和应用软件三大部分组成。它是与谷歌公司和开放手机联盟共同开发的移动终端平台;该开发平台包括性能评价,除错工具,模拟器和存储器等功能;具有完善的开发环境。

(2)操作可行性

本系统用户只要有一台Java手机,就可以使用了,系统是使用的操作都是用户熟悉的选择框或者按钮等等。所有的操作通过手机就可以完成,用户不需培训,只要稍微提示一下即可。因此,在操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的。

4 系统设计

4.1软件功能模块设计

小程序总体功能如下图所示:

图 4-1 小程序总体功能模块图

4.2登录注册模块

用户要通过填写自己的账号和密码进入系统,如果用户没有登录的账号需要先进行注册用户在注册页面输入账号和密码,点击注册,按要求输入注册表所要的信息,登录密码和确认密码,点击注册后,系统先判断用户输入的“密码”和“确认密码”是否一致,如果不一致,用户需重新输入;如果一致则注册成功,然后输入刚才注册的个人账号和密码点击“登录”按钮,显示“登录中请稍后”,如果登录信息正确则系统跳转进校园订餐列表界面;如果登录信息错误则显示 “登录失败”登录注册算法流程图如图4-2登录注册流程图所示。

图4-2登录注册流程图

Web后台端管理员登入正确可以查看用户修改用户信息,查看校园订餐信息等操作;如果输入错误,则无反馈重新登录。如图4-3后台管理流程图所示

图4-3后台管理流程图

4.3数据库设计

4.3.1 数据库E/R图

ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:

  1. 餐厅信息E/R图如下所示:

图4-4餐厅信息E/R图

  1. 美食信息E/R图如下所示:

图4-4美食信息E/R图

4.3.2 数据库表

数据库表的设计,如下表:

表4-1:美食资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-2:美食信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

meishimingcheng

varchar

200

美食名称

meishileixing

varchar

200

美食类型

zhuliao

varchar

200

主料

kouwei

varchar

200

口味

meishijieshao

longtext

4294967295

美食介绍

meishitupian

varchar

200

美食图片

cantingmingcheng

varchar

200

餐厅名称

shangjiazhanghao

varchar

200

商家账号

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

price

float

价格

onelimittimes

int

单限

-1

alllimittimes

int

库存

-1

表4-3:美食类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

leixing

varchar

200

类型

表4-4:美食信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-5:餐厅信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-6:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-7:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-8:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

meishixinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

图片

buynumber

int

购买数量

price

float

单价

discountprice

float

会员价

shangjiazhanghao

varchar

200

商户名称

表4-9:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

nianling

int

年龄

shouji

varchar

200

手机

touxiang

varchar

200

头像

money

float

余额

0

表4-10:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-11:餐厅信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

cantingmingcheng

varchar

200

餐厅名称

cantingdizhi

varchar

200

餐厅地址

renjunxiaofei

float

人均消费

yingyeshijian

varchar

200

营业时间

cantingjieshao

longtext

4294967295

餐厅介绍

cantingtupian

varchar

200

餐厅图片

shangjiazhanghao

varchar

200

商家账号

lianxidianhua

varchar

200

联系电话

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

表4-12:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

表4-13:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

表4-14:商家

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangjiazhanghao

varchar

200

商家账号

mima

varchar

200

密码

shangjiaxingming

varchar

200

商家姓名

xingbie

varchar

200

性别

nianling

int

年龄

lianxidianhua

varchar

200

联系电话

touxiang

varchar

200

头像

money

float

余额

0

表4-15:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

meishixinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

商品图片

buynumber

int

购买数量

price

float

价格

0

discountprice

float

折扣价格

0

total

float

总价格

0

discounttotal

float

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

logistics

longtext

4294967295

物流

shangjiazhanghao

varchar

200

商户名称


5系统实现

校园订餐小程序由前台和后台交互构成。前台是用户对于本系统的使用,用户可以通过手机端登录注册,管理个人信息,选择理想的美食,查看餐厅信息、美食信息等详细信息。

后台主要是管理员模块和商家模块的 ,可对该小程序的用户进行系统管理,登录进后可对用户信息进行管理等操作。

5.1微信小程序端模块实现

本章主要介绍校园订餐小程序的系统实现,根据系统的需求分析,系统设计,系统前台功能区和系统后台功能区的实现。通过以下系统运行界面和核心代码展示。

用户登录,本系统和大部分系统一样都需要登录才能进入系统进行后续操作,用户输入登录名和密码,具体的实现效果如图5-1所示:

图5-1 用户登录界面图

用户注册,在使用本软件前需要新进行登录操作,如果用户还没有账号可先注册然后再登录。具体的实现效果如图5-2所示:

图5-2 用户注册界面图

用户登陆小程序端,可以对首页、餐厅信息、美食信息、购物车、我的等功能进行详细操作,如图5-3所示。

图5-3小程序端首页界面图

餐厅信息,在餐厅信息页面可以查看餐厅名称、餐厅地址、图片、人均消费、营业时间、商家账号、联系电话、点击次数、餐厅介绍等信息,并进行评论或收藏操作;如图5-4所示。

图5-4餐厅信息界面图

美食信息,在美食信息页面可以查看美食名称、美食类型、主料、图片、价格、口味、餐厅名称、商家账号、点击次数、库存、美食介绍等信息,并进行加入购物车,立即订购,评论或收藏操作;如图5-5所示。

图5-5美食信息界面图

购物车,在购物车页面可以查看美食名称、图片、单价、数量、总价等信息,并进行立即下单操作;如图5-6所示。

图5-6购物车界面图

用户,在我的页面可以对个人中心、我的收藏管理、用户充值、购物车、我的订单等详细信息进行操作,如图5-7所示。

图5-7用户功能界面图

用户信息,在用户信息页面通过填写账号、密码、姓名、性别、年龄、手机、头像等信息进行保存或退出登录操作;如图5-8所示。

图5-8用户信息界面图

5.2后台模块

系统后台登录,管理员和商家通过输入用户名、密码,选择角色并点击登录进行系统登录操作,如图5-9所示。

图5-9系统后台登录界面图

5.2.1管理员功能模块

管理员登陆系统后,可以对首页、个人中心、用户管理、商家管理、餐厅信息管理、美食信息管理、美食类型管理、系统管理等功能进行详细操作,如图5-10所示。

图5-10管理员功能界面图

用户管理,在用户管理页面可以对索引、账号、姓名、性别、年龄、手机、头像等内容进行详情,修改或删除等操作,如图5-11所示。

图5-11用户管理界面图

商家管理,在商家管理页面可以对索引、商家账号、商家姓名、性别、年龄、联系电话、头像等内容进行详情、修改或删除等操作,如图5-12所示。

图5-12商家管理界面图

餐厅信息管理,在餐厅信息管理页面可以对索引、餐厅名称、餐厅地址、人均消费、营业时间、餐厅图片、商家账号、联系电话、审核回复、审核状态、审核等内容进行详情,查看评论或删除操作,如图5-13所示。

图5-13餐厅信息管理界面图

美食信息管理,在美食信息管理页面可以对索引、美食名称、美食类型、主料、口味、美食图片、餐厅名称、商家账号、价格、单限、库存、审核回复、审核状态、审核等内容进行详情,查看评论或删除操作,如图5-14所示。

图5-14美食信息管理界面图

系统管理,在美食资讯页面可以对索引、标题、图片等内容进行详情,修改或删除等操作,还可以对轮播图管理进行详细操作;如图5-15所示。

图5-15系统管理界面图

5.2.2商家功能模块

商家登陆系统后,可以对首页、个人中心、餐厅信息管理、美食信息管理、订单管理等功能进行详细操作,如图5-16所示。

图5-16商家功能界面图

餐厅信息管理,在餐厅信息管理页面可以对索引、餐厅名称、餐厅地址、人均消费、营业时间、餐厅图片、商家账号、联系电话、审核回复、审核状态等内容进行详情,修改,查看评论或删除操作,如图5-17所示。

图5-17餐厅信息管理界面图

美食信息管理,在美食信息管理页面可以对索引、美食名称、美食类型、主料、口味、美食图片、餐厅名称、商家账号、价格、单限、库存、审核回复、审核状态等内容进行详情,修改,查看评论或删除操作,如图5-18所示。

图5-18美食信息管理界面图

订单管理,在已支付订单页面可以对索引、订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、商户名称、下单时间等内容进行详情、物流、发货和删除操作,还可对未支付订单、已取消订单、已退款订单、已完成订单、已发货订单进行相对应操作,如图5-19所示。

图5-19订单管理界面图


6 系统测试

6.1 测试目标

进行软件的测试是为了知道在开发过程中的错误,并不是去看程序中有什么问题。进行软件测试的重要意义是提醒人们发现错误,并且对其中的错误进行修改,并不是为了显示程序有多正确。在测试过程中发现了错误,可以对其软件的问题进行分析研究,找到解决问题的办法。此文主要是为了增强管理员的针对性工作,增强其检测效率,找到减少错误的方法,这才是完成产品检测的真实目的。

6.2 测试步骤

在进行程序的测试时,需要我,我们分段进行,一步一步实施。从程序来看,程序是不断发展完善的。通常在一个较大的程序中,我们会将其分为几个小部分,由几个模块组成。所以在进行相对较大的程序测试过程中,基本上包含以下几个步骤:

找到程序中详细的错误部位。

发现程序运行中出现的设计错误。

对错误发现方案进行规范化。

经过上述测试,这个校园订餐小程序在各项操作中可按照预期的设计运行,能够实现校园订餐小程序的开发目标与要求。重要的是,这个系统就是根据用户的需求切身开发,根据对用户需求分析,用最合适的结构保证系统的稳定确保用户在使用该系统的不会崩溃能够稳定的加载出界面,而且为了能让更多年龄层的人都能够使用这个系统让用户很轻易的找到他们所需要的操作。还能够真正的做到以用户为中心进行设计。对于我们这个小程序来说,对系统的质量管控还是比较严格的,如果一个界面出现问题,紧接着页面就会根据错误给出提示追踪到每一行甚至那个单词,从而保证运行的质量。我们这个系统的测试主要就是保证他在运行时的稳定质量。所以经过上述测试结果可以看出,本系统操作流畅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源码V+zmm10134

感谢友友们的点赞关注和评论

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值