麦德好在线订餐系统的设计与实现_第1页
麦德好在线订餐系统的设计与实现_第2页
麦德好在线订餐系统的设计与实现_第3页
麦德好在线订餐系统的设计与实现_第4页
麦德好在线订餐系统的设计与实现_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

1引言1

1.1项目开发背景1

1.2开发技术简介1

1.2.1SSM框架简介2

1.2.2项目的运行原理2

1.2.3前端页面的组成2

1.3开发工具简介3

1.4项目开发技术路线3

2需求分析4

2.1功能需求描述4

2.2非功能需求描述4

2.3需求用例建模5

2.3.1登录模块的用例5

2.3.2购物车管理模块的用例7

2.3.3订单管理功能模块的用例9

2.3.4美食管理模块的用例11

2.3.5美食分类模块的用例13

2.3.6用户信息管理模块的用例14

3系统概要设计16

3.1系统设计原则16

3.2系统框架设计16

3.3系统功能设计17

3.3.1登录模块功能设计17

3.3.2购物车管理模块功能设计18

3.3.3订单管理模块功能设计18

3.3.4美食管理模块功能设计19

II

湖南商务职业技术学院毕业设计

3.3.5美食分类模块功能设计19

3.3.6用户信息管理模块功能设计19

3.4数据库设计19

3.4.1设计原则19

3.4.2概念设计20

3.4.3逻辑设计20

3.4.4数据字典21

4系统详细设计23

4.1登录功能模块设计23

4.1.1登录功能模块说明23

4.1.2登录功能模块详细设计23

4.2购物车管理功能模块设计25

4.2.1购物车管理功能模块说明25

4.2.2购物车管理功能模块详细设计25

4.3订单管理功能模块设计27

4.3.1订单管理功能模块说明27

4.3.2订单管理功能模块详细设计27

4.4美食管理功能模块设计30

4.4.1美食管理功能模块说明30

4.4.2美食管理功能模块详细设计30

4.5美食分类功能模块设计31

4.5.1美食分类功能模块说明31

4.5.2美食分类功能模块详细设计31

4.6用户信息管理功能模块设计33

4.6.1用户信息管理功能模块说明33

4.6.2用户信息管理功能模块详细设计34

5系统实现35

5.1登录模块实现35

III

5.1.1登录模块界面设计35

5.1.2登录模块核心代码实现37

5.2购物车管理模块实现39

5.2.1购物车管理模块界面设计39

5.2.2购物车管理模块核心代码实现39

5.3订单管理模块实现41

5.3.1订单管理模块界面设计41

5.3.2订单管理模块核心代码实现42

5.4美食管理模块实现44

5.4.1美食管理模块界面设计44

5.4.2美食管理模块核心代码实现45

5.5美食分类模块实现47

5.5.1美食分类模块界面设计47

5.5.2美食分类模块核心代码实现47

5.6用户信息管理模块实现49

5.6.1用户信息管理模块界面设计49

5.6.2用户信息管理模块核心代码实现49

6系统测试50

6.1登录模块功能测试50

6.2购物车管理功能测试51

6.3订单管理功能测试52

6.4美食管理功能测试53

6.5美食分类功能测试54

6.6用户信息管理功能测试55

7设计小结55

参考资料57

IV

湖南商务职业技术学院毕业设计

麦德好在线订餐系统的设计与实现

1引言

随着互联网技术的快速发展,人们更深刻的感受到了计算机在工作和生活

中的重要性,网络早已经成为现代人日常生活中不可或缺的部分,掌握计算机

技术是时代发展的需要,是社会的需要。而计算机技术作为一种新时代的新动

力,正在全方位进入人们的生活,进一步发挥它的力量推动人类社会的进一步

发展,计算机技术还全面渗透到各个领域中。如今人们生活节奏的加快,饮食

习惯也在发生改变。上班族的用餐时间越来越短,点外卖成为了一些上班族的

习惯。在信息技术、数据库技术的不断发展与完善的今天,催生了大量的电商

平台,消费方式变得快速便捷,消费者越来越倾向于选择网上购物这一种新型

消费方式来满足自己的购物需求。

1.1项目开发背景

在线订餐的研发与应用由于其独有的便捷性和直观性,轻而易举地被现代

人认同和接受,人们可以通过在线订餐系统,不必亲临现场,在家中或办公室

里,只要是注册用户可以在网上搜索购买到自己任何想吃的食物,它为客户提

供网上浏览美食、订餐、管理订单、管理购物车等服务。通过在线订餐系统进

行订餐,能即时查看通信信息,了解商家的促销活动,方便的在线支付方式,

具有线上线下相结合等特点,为人们的生活带来了很大的便利,吸引了众多用

户,并深得人们喜爱。商家也因餐馆订单增加而获利。

在线订餐系统能更好的满足人们的需求,提高餐饮行业管理水平和经营思

想,使用户和商家可以各取所需,互利共赢。各大网上餐饮平台就是在这样一

个背景下产生发展起来的。我的毕业设计正是一个在线订餐系统的开发——麦

德好在线订餐系统。

1.2开发技术简介

麦德好在线订餐系统的前端技术主要采用layui、css、js、html;后端技

术采用了SSM框架、springboot。

1

1.2.1SSM框架简介

SSM框架分为springMVC、spring和mybatis框架,是它们的整合。标SSM

框架有四层,分别是dao层(mapper),service层,controller层和pojo层。

使用spring实现业务对象管理。其中springboot是spring系列中的一个全新

框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVC+Spr

ing+Mybatis框架进行开发的时候,我们需要配置各种东西,然后整合在一起,

而springboot在spring的基础上减掉了繁琐的xml配置过程,采用默认的配

置来简化我们使用spring开发的过程。SpringBoot化繁为简,使开发变得更加

的简单迅速。麦德好在线订餐系统主要采用了springboot技术进行开发。

1.2.2项目的运行原理

SSM框架的运行原理就是通过这四个层次实现的。

(1)dao层(mapper)就是持久层。作用主要是做数据持久层的工作,主

要与数据库进行交互。Dao层首先设计的是接口,然后再Spring的配置文件中

定义接口的实现类。然后会调用pojo层,dao中会定义实际使用到的方法,比

如增删改查(访问数据库)。

(2)Service层就是业务层。主要对业务进行逻辑应用设计业务层,控制

业务,Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进

行的再次封装,封装成一个服务。service层调用dao层接口,接收dao层返回

的数据,完成项目的基本功能设计

(3)Controller层就是表现层。controller层负责前后端交互,接受前

端请求,调用service层方法,接收service层返回的数据,最后返回具体的

页面和数据到客户端。

(4)pojo层就是实体层。数据库的数据在项目中体现,存放实体的类,类

中定义了多个类属性,并与数据库表的字段保持一致。主要用于定义与数据库

对象对应的属性。提供get、set、tostring方法、有参无参构造函数等。

1.2.3前端页面的组成

前端页面主要由三部分组成:结构、表现和行为。

(1)HTML是结构层,叫做超文本标记语言,包括一系列标签,决定网页的

内容与结构。类似于人的骨骼,是网页制作的基础。超文本就是指网页内可以

包含链接、图片、程序、音乐等非文字元素;前端开发利用HTML标签来标记网

页中的文字;

2

湖南商务职业技术学院毕业设计

(2)CSS设计页面样式。主要用来给设计网页的格式、美化网页,使得不

同的网页拥有不同的风格,类似于给人穿衣服、打扮;

(3)JavaScript是行为层,负责描述页面的动态效果的脚本语言,主要使

网页具有交互性,类似于让人动起来(跑步、跳舞等)。

1.3开发工具简介

工具的使用:采用IntelliJIDEA+mysql

IntelliJIDEA集成的插件足够多,基本可以实现麦德好在线订餐系统所有

需要实现的功能;

mysql其优点有:综合统一,高度非过程化,面向集合的操作方式,以一种

语法结构提供多种使用方式,语言简洁,易学易用。

1.4项目开发技术路线

(1)Spring的优缺点

优点:方便解耦,简化开发(高内聚低耦合):Spring就是一个大工厂

(容器),用于创建对象(bean)和维护对象间的依赖关系。AOP编程的支持,无

需手动编程。方便程序的测试;方便集成各种优秀框架。

缺点:spring技术会使代码变得不太完整,会中断应用的代码逻辑,将代码

逻辑配置化,增加了出错的几率以及代码的负担。调试阶段不直观,后期的bug

对应阶段,不容易判断问题所在。

(2)SpringBoot的优缺点

优点:开箱即用,嵌入的Tomcat,无需部署WAR文件,简化Maven配置,

自动配置Spring,提供生产就绪型功能,如指标,健康检查和外部配置,绝对

没有代码生成并且对XML也没有配置要求。

缺点:开箱即用的简单背后隐藏了巨大的学习曲线,入门简单,但是如果

没有完整学习spring体系,没有一定校验,根本不知道springboot自动做了

什么。

(3)SpringMVC的优缺点

优点:封装代码,维护成本低,耦合性低;有利于开发中的分工,提高开

发效率;组件重用,有利于代码复用,重用性高。

缺点:没有明确的定义,不适合小型,中等规模的应用程序;增加系统结

构和实现的复杂性;视图与控制器间的过于紧密的连接,视图对模型数据的低

效率访问。

3

(4)Mybatis的优缺点

优点:与JDBC相比,减少了50%以上的代码量,最简单的持久化框架、小

巧简单易学,SQL代码从程序代码中彻底分离出来,可重用;开发人员不需要考

虑数据库的差异性。提供对象关系映射标签,支持对象关系组建维护。

缺点:SQL语句编写工作量大,熟练度要高;数据库移植性差,比如mysql

移植到Orecle,SQL语句会有差异从而引起错误。

2需求分析

2.1功能需求描述

通过与广大在线订餐用户和线上的餐厅进行沟通,了解并完善了在线订餐

系统的功能需求。

(1)登录模块:管理员实现后台登录与退出,用户主要实现注册、登录与

退出。登录成功后可点击退出,页面跳转到登录界面;用户登录时如果没注册

会提示用户不存在;用户注册时要输入用户名,QQ邮箱,密码等信息;管理员

可选择后台登录,规定账号为admin,密码为123456。

(2)购物车管理模块:操作前提是用户已登录。用户可点击菜品进入详情

页,再点击加入购物车,页面提示加入成功;用户点击购物车,可进入购物车

管理页面。用户可选中想要删除的菜品,再点击选中删除按钮,页面提示删除

成功。用户还可选中想要购买的菜品,再点击立即购买按钮,填入收货人姓名、

地址、号码3个信息,再点击提交订单按钮,就显示提交成功。

(3)订单管理模块:为用户提供提交订单,查看订单详情,删除订单功能;

为管理员提供查询订单、删除订单、修改订单功能。

(4)美食管理模块:为管理员提供查询、修改美食信息和删除、上架美食

的功能。

(5)美食分类模块:管理员添加、删除、修改美食分类,输入分类代码和

分类名称点击添加按钮,在上架美食时美食分类选项就会体现出来。

(6)用户信息管理模块:管理员可对注册用户进行查询、修改、删除注册

用户信息的功能。

2.2非功能需求描述

麦德好在线订餐系统的非功能性需求如下:

(1)易用性:本系统在应用方面符合用户习惯以及对其使用的期望,方便

4

湖南商务职业技术学院毕业设计

易用,界面设计简单明了。

(2)安全性:本系统的安全性很大提高包括对风险的承受能力、对用户的

个人信息的保密性和系统数据不被授权用户以外的任何人访问。

(3)可扩展性:可扩展性高,系统架构完整、灵活,当技术变化和业务变

化时,可以以尽量少的代价适应这种变化。

2.3需求用例建模

通过对功能需求的分析,创建以下总体用例模型,如图2-1所示。

图2-1麦德好在线订餐系统的总体用例模型

2.3.1登录模块的用例

登录模块,分别具有注册、登录、退出功能,下面是完整用例图,如图2-2

所示。

图2-2登录模块用例图

通过对用例的细化,使用活动图针对系统动态行为进行建模。登录模块活

动图如图2-3所示。

5

图2-3登录模块活动图

对图2-2用例图,及图2-3活动图的分析,得到每个用例的描述表。登录

模块用例描述如表2-1所示,可以进行登录等操作。

表2-1登录模块用例描述

项目描述

用例名称用户登录,注册,退出

用例标识号01

参与者用户和管理员

输入账号、密码,系统进行验证后,合法者登录系统,否

简要说明

则提供拒绝登录系统。

前置条件参与者已经打开系统的登录页面。

1.用户第一次登录时需注册,注册时输入账号、密码、QQ

邮箱。

基本事件流2.系统验证输入格式,正确则注册成功。

3.再输出正确的用户名、密码。

4.登录成功。

6

湖南商务职业技术学院毕业设计

5.管理员则点击后台登录(管理员不能注册)。

6.输入正确的账号密码,登录成功。

7.登录成功后可以选择退出。

8.登录后的用户管理员都可点击退出。

9.退出登录。

10.用例终止

其他事件流点击登录之前,参与者需要先注册。

异常事件流如果出现错误,提示错误信息,用户确认

后置事件无

2.3.2购物车管理模块的用例

购物车管理的用例描述如图2-4所示。主要功能是添加、删除、修改、购

买购物车中美食的操作。

图2-4购物车管理模块用例图

通过对用例的细化,使用活动图针对系统动态行为进行建模。购物车管理

模块活动图如图2-5所示。

7

图2-5购物车管理功能模块活动图

对图2-4用例图,及图2-5活动图的分析,得到每个用例的描述表。购物

车管理模块用例描述如表2-2所示,可以对购物车进行增删改、在购物车提交

订单操作。

表2-2购物车管理模块用例描述

项目描述

用例名称购物车增删改,在购物车提交订单用例

用例标识号02

参与者用户

简要说明用户对购物车进行管理

前置条件参与者已经打开系统主页面。

1.参与者在主页浏览餐品,点击商品。

2.进入详情页

基本事件流3.用户点击加入购物车,系统提示加入成功。

4.用户进入购物车管理界面。

5.可选中想要删除的餐品

8

湖南商务职业技术学院毕业设计

6.点击确认,删除成功。

7.用户可选中想要购买的餐品,也可点击加号修改购买数量。

8.再点击立即购买,输入信息

9.购买成功

10.用例终止

其他事件流管理购物车之前,用户需要先登录。

异常事件流添加餐品数量超过库存数量。

后置条件无

2.3.3订单管理功能模块的用例

订单管理模块的用例描述如图2-6所示。主要功能是用户可以进行提交订

单,查看历史订单,删除订单操作,管理员可以进行查询用户订单、删除订单、

修改订单信息操作。

图2-6订单管理功能模块用例图

通过对用例的细化,使用活动图针对系统动态行为进行建模。订单管理模

块活动图如图2-7所示。

9

图2-7订单管理功能模块活动图

对图2-6用例图,及图2-7活动图的分析,得到每个用例的描述表。提交

订单用例描述如表2-3所示。

表2-3提交订单用例描述

项目描述

用例名称提交订单、查看订单详情、删除订单用例

用例标识号03

参与者用户

简要说明用户可对订单进行提交、查看订单详情、删除操作

前置条件用户已经打开系统主页面并登录。

1.用户点击立即购买

基本事件流2.输入姓名、地址、电话

3.格式输入正确且都不为空。

10

湖南商务职业技术学院毕业设计

4.订单提交成功。

5.用户点击我的订单,查看订单。

6.用户进入我的订单页面。

7.点击删除,可删除订单。

8.用户点击查看。

9.查看订单详情。

10.用例终止。

其他事件流用户可对历史订单进行管理。

异常事件流购买餐品数量超过库存数量。

管理员订单管理用例,主要进行查询订单、修改订单信息、删除订单描述

如表2-4所示。

表2-4管理员订单管理用例描述

项目描述

用例名称管理员订单管理用例,包括查询、修改、删除订单

用例标识号04

参与者管理员

简要说明管理员管理用户订单

前置条件管理员进入后台系统。

1.管理员输入订单信息,查询订单。

2.管理员点击删除,可删除订单。

基本事件流3.管理员点击查看,查看订单详情。

4.管理员点击编辑,可修改订单信息。

5.用例终止

其他事件流无

异常事件流未登录

2.3.4美食管理模块的用例

美食管理模块的用例描述如图2-8所示。主要功能是查询、修改美食信息

和删除、上架美食的操作。

11

图2-8美食管理模块用例图

通过对用例的细化,使用活动图针对系统动态行为进行建模。美食管理模

块活动图如图2-9所示。

图2-9美食管理功能模块活动图

对图2-8用例图,及图2-9活动图的分析,得到每个用例的描述表。美食

管理模块用例描述如表2-5所示,可以对美食进行增删改查操作。

表2-5美食管理模块用例描述

项目描述

用例名称美食增删改查用例

用例标识号05

参与者管理员

简要说明管理员对美食进行增删改查操作

前置条件管理已登录并进入系统。

1.管理员点击上架美食。

基本事件流

2.选择分类、输入美食名、美食描述、价格、库存并上传

12

湖南商务职业技术学院毕业设计

图片(都不能为空),再点击立即提交。

3.提交成功。

4.管理员输入美食信息,进行查询。

5.管理点击删除,删除美食。

6.管理员点击编辑,修改美食信息。

7.用例终止。

其他事件流无

异常事件流提示错误信息,操作人员确认。

2.3.5美食分类模块的用例

美食分类模块的用例描述如图2-10所示。主要功能是管理员对美食分类进

行添加、删除、修改。

图2-10美食分类模块用例图

通过对用例的细化,使用活动图针对系统动态行为进行建模。美食分类模

块活动图如图2-11所示。

13

图2-11美食分类模块活动图

对图2-10用例图,及图2-11活动图的分析,得到每个用例的描述表。美

食分类用例描述如表2-6所示。

表2-6美食分类用例描述

项目描述

用例名称添加、删除、修改美食分类用例

用例标识号06

参与者管理员

简要说明管理员添加、删除、修改美食分类

前置条件管理员已登录。

1.管理员点击分类管理功能。

2.输入分类代码和分类名称。

3.点击添加。

4.添加成功。

5.管理员点击删除。

基本事件流6.再点击确认。

7.删除成功。

8.管理员点击编辑。

9.修改分类名称

10.点击更新,更新成功。

11.用例终止。

其他事件流无

异常事件流提示错误信息,操作人员确认。

2.3.6用户信息管理模块的用例

用户信息管理模块的用例描述如图2-12所示。主要功能是管理员对注册用

户信息进行查询、修改、删除的操作

图2-12用户信息管理模块用例图

14

湖南商务职业技术学院毕业设计

通过对用例的细化,使用活动图针对系统动态行为进行建模。用户信息管

理模块活动图如图2-13所示。

图2-13用户信息管理模块活动图

对图2-12用例图,及图2-13活动图的分析,得到每个用例的描述表。用

户信息管理用例描述如表2-7所示。

表2-7用户信息管理用例描述

项目描述

用例名称用户信息管理

用例标识号07

参与者管理员

简要说明管理员对注册用户的信息进行查询、删除、修改。

前置条件管理员已登录

1.管理员点击用户管理。

2.管理员输入用户名或邮箱可查询注册用户。

3.管理员点击删除。

基本事件流4.注册用户被删除。

5.管理员点击编辑,输入要修改的用户信息。

6.点击确认,用户信息修改成功。

7.用例终止。

其他事件流需先登录。

异常事件流提示错误信息,操作人员确认。

15

3系统概要设计

3.1系统设计原则

主要描述软件模块的外观和处理逻辑,并根据用户交互过程和用户需求形

成了交互框架和视觉框架。

首先,要遵循分层的规则。每一层都是一个相对独立的部分,可以作为一

个整体,而不必对其他层了解太多;最小化层与层之间的依赖关系,即减少耦合;

在一定程度上替换一层而不影响其他层的能力;不能划分太多的层,因为层太多

会对性能产生影响。

最后,选择合适的设计模式来应用。设计模式就是人们对于过去解决某一

类问题的经验总结。

3.2系统框架设计

根据系统的需求分析、用例建模分析结合开发平台的特点设计麦德好在线

订餐系统的系统架构模型。

分为基础设施层、数据库层、业务应用层和用户层。基础架构层包括服务

器、存储设备等,是系统运行的基本保障。业务应用层是指业务应用系统的具

体功能模块。数据库层用于存储系统数据,包括系统配置数据、用户管理数据

等。最后,用户层为用户提供系统入口,包括用户管理系统、登录注册系统、

系统等。如图3-1所示。

图3-1麦德好在线订餐系统整体架构图

16

湖南商务职业技术学院毕业设计

3.3系统功能设计

系统模块化结构设计工作是在系统分析阶段对子系统划分的基础上,在进

一步地划分,将它逐层的分解成多个大小相同、功能单一、具有一定独立性的

模块,能够加强各个模块的联系,以及数据库中数据之间的交互,可以更加直

观的理解系统的功能。根据上文的需求分析和用例建模分析,本文确定了麦德

好在线订餐系统的主要功能模块,包括用户登录、购物车管理、订单管理、美

食管理、美食分类和用户信息管理。麦德好在线订餐系统的功能结构图如图3-2

所示,共有六大主要功能模块。

图3-2麦德好在线订餐系统功能结构图

3.3.1登录模块功能设计

针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,

登录模块功能描述使用功能流程图描述,如下图3-3。

17

图3-3登录模块流程图

3.3.2购物车管理模块功能设计

购物车管理模块相关功能文字描述:

(1)操作前提是用户已登录。用户可点击菜品进入详情页,再点击加入购

物车,页面提示加入成功;

(2)用户点击购物车,可进入购物车管理页面。用户可选中想要删除的菜

品,再点击选中删除按钮,页面提示删除成功。用户还可选中想要购买的菜品,

再点击立即购买按钮,填入收货人姓名、地址、号码3个信息(都不能为空且

电话号码有一定格式),再点击提交订单按钮,就显示提交成功。

3.3.3订单管理模块功能设计

订单管理模块相关功能文字描述:

(1)本功能模块操作用户有管理员和用户。

(2)用户主要操作是进入商品详情页,进行提交订单操作;还可进入我的

18

湖南商务职业技术学院毕业设计

订单页查看订单详情,删除历史订单。

(3)管理员主要操作是进入后台系统对用户订单进行查询、修改、删除。

3.3.4美食管理模块功能设计

美食管理模块相关功能文字描述:

(1)本功能模块操作用户是管理员。

(2)管理员进入后台系统可上架美食,这时需要选择分类,输入美食名,

美食描述,价格,库存量和上传图片,点击立即提交,就上架美食成功,也可

点击重置,重新输入上架信息。

(3)管理员还可进入美食列表,输入美食ID或美食名查询美食。还可删

除美食、点击编辑修改美食信息。

3.3.5美食分类模块功能设计

美食分类模块相关功能文字描述:

(1)本功能模块操作用户是管理员。

(2)管理员进入后台系统输入分类代码和分类名称添加美食类别。

3.3.6用户信息管理模块功能设计

用户信息管理模块相关功能文字描述:

(1)本功能模块操作用户是管理员。

(2)管理员进入后台系统输入用户名或邮箱查询注册用户。

(3)点击编辑修改注册用户信息和点击删除,删除用户信息。

3.4数据库设计

数据库结构设计是对于一个给定的系统,构造优化的数据库逻辑模式和物

理结构,并据此建立数据库及其应用系统。具体步骤是选定物理结构,并对其

进行评价。能够有效存储和管理数据,满足各种用户应用需求,包括信息管理

要求和数据操作要求。

3.4.1设计原则

为取得较好的设计效果,进行数据库设计需要遵从以下原则:

(1)范式原则

数据库设计要满足规范化理论,根据应用需求减少数据冗余,但不能完全

没有冗余数据,因为数据库恢复的基本原理就是冗余,利用冗余数据进行数据

19

库恢复。但是一个好的数据库不能发生插入异常、删除异常、修改异常。

(2)顺序原则

数据库设计共有六个步骤,需求分析、概念结构设计、逻辑结构设计、物

理结构设计、数据库实施、数据库运行和维护这几个步骤,必须要按照顺序一

步一步来,可以提高数据库设计的效率。

3.4.2概念设计

概念结构设计主要是将需求分析阶段所得到的应用需求,抽象为信息世界

的结构主要是E-R图。然后才能更好、更准确地用某一数据管理系统实现这些

需求。其E-R图如下图3-4所示。

图3-4麦德好在线订餐系统E-R图

3.4.3逻辑设计

逻辑结构设计主要是将概念结构设计阶段所得到的概念模型抽象为与选用

数据库管理系统产品所支持的数据模型,并对其进行优化,是用户世界到信息

世界的第二层抽象。关系模式如下:

购物车表shopping_cart(cart_id,user_id,food_id,price,quantity)

用户信息表user_info(user_id,user_name,password,email,avatar,join

_time,address)

总订单表orders(order_id,user_id,consignee_name,address,phone_num

ber,status,create_time)

20

湖南商务职业技术学院毕业设计

订单明细表order_item(order_item_id,order_id,food_id,price,quanti

ty)

美食表food(food_id,category_code,food_name,image,description,pri

ce,stock,create_time)

美食分类表category(id,category_code,category_name)

3.4.4数据字典

shopping_cart表(购物车表)的表结构如表3-1所示,该表主要用于记录购

物车信息,主要字段为cart_id(购物车ID),user_id(用户ID),food_id(美

食ID),price(美食价格),quantity(购买数量)。

表3-1shopping_cart表表结构

字段名称数据类型字段内容主键设置非空

cart_idint(10)主键notnull

user_idint(10)notnull

food_idint(10)notnull

pricedecimal(10)notnull

quantityint(10)notnull

user_info表(用户信息表)的表结构如表3-2所示,该表主要用于记录用

户信息,主要字段为user_id(用户ID),user_name(用户名),password(用

户密码),email(用户邮箱),avatar(用户头像),join_time(注册时

间),address(用户地址)。

表3-2user_info表表结构

字段名称数据类型字段内容主键设置非空

user_idint(10)主键notnull

user_namevarchar(50)notnull

passwordvarchar(80)notnull

emailvarchar(80)notnull

avatarvarchar(255)notnull

join_timedatetime(0)notnull

addressvarchar(255)Null

orders表(总订单表)的表结构如表3-3所示,该表主要用于记录总订单

信息,主要字段为order_id(订单ID),user_id(用户ID),consignee_name

(收货人姓名),address(收货地址),phone_number(联系方式),status(审

21

核状态),create_time(创建时间)。

表3-3orders表表结构

字段名称数据类型字段内容主键设置非空

order_idint(10)主键notnull

user_idint(10)notnull

consignee_namevarchar(10)notnull

addressvarchar(255)notnull

phone_numbervarchar(50)notnull

statusbit(1)notnull

create_timedatetime(0)notnull

order_item表(订单明细表)的表结构如表3-4所示,该表主要用于记录

订单明细信息,主要字段为order_item_id(订单子项编号),order_id(订单ID),

food_id(美食ID),price(价格),quantity(购买数量)。

表3-4order_item表表结构

字段名称数据类型字段内容主键设置非空

order_item_idint(10)主键notnull

order_idint(10)notnull

food_idint(10)notnull

pricedecimal(10)notnull

quantityint(10)notnull

food表(美食表)的表结构如表3-5所示,该表主要用于记录美食信息,

主要字段为food_id(美食ID),category_code(美食分类代码),food_name(美

食名称),image(美食图片),description(美食描述),price(美食单价),

stock(美食库存),create_time(上架时间)。

表3-5food表表结构

字段名称数据类型字段内容主键设置非空

food_idint(10)主键notnull

category_codevarchar(20)null

food_namevarchar(50)notnull

imagevarchar(255)notnull

descriptionvarchar(500)notnull

pricedecimal(10)notnull

stockint(10)notnull

22

湖南商务职业技术学院毕业设计

create_timedatetime(0)notnull

category(美食分类表)的表结构如表3-6所示,该表主要用于美食分类

的信息,主要字段为id,category_code(分类代码),category_name(分类名

称)。

表3-6category表表结构

字段名称数据类型字段内容主键设置非空

idint(11)主键notnull

category_codevarchar(20)主键notnull

category_namevarchar(20)notnull

数据库设计总结:数据库共有六个表,每个表相互关联,满足实体完整性、

参照完整性、用户自定义完整性。体现了麦德好在线订餐系统主要数据表。

4系统详细设计

系统详细设计主要是逻辑代码的实现,完成系统各个功能模块的进一步实现。

4.1登录功能模块设计

4.1.1登录功能模块说明

登录功能模块主要实现普通用户注册登录、管理员登录、用户退出操作,首

先用户输入相关信息后点击注册或登录,这时LoginRegisterController类接受用户

请求,并调用LoginRegisterService接口,接口的实现类也被调用,实现类里的参数通过

pojo包下的User、Admin类传入。

4.1.2登录功能模块详细设计

通过对登录模块需求分析,得到了登录功能模块的序列图。如图4-1所示。

图4-1登录功能模块序列图

通过对登录模块需求的分析,得到与登录功能模块静态结构类图,如图4-2

所示。

23

图4-2登录功能模块的类图

针对类图进行进一步细化分析,得到登录功能模块相关类及方法描述表,

如下表4-1所示。

表4-1登录功能模块相关类及方法描述表

类名LoginRegisterController

接收用户的登录请求,调用service层,接收service层返回的

描述

数据,最后返回具体的页面和数据到客户端。

属性LoginRegisterService

userLoginHandler(),userRegisterHandler(),

方法adminLoginHandler(),userLogout(),adminLogout(),checkUse

rIsLoggedIn()

类名LoginRegisterService

描述Service层的接口

属性

方法userLogin(),userRegister(),adminLogin()

类名LoginRegisterServiceImpl

描述LoginRegisterService接口的实现类,实现接口中的方法

属性UserMapper

方法userLogin(),userRegister(),adminLogin()

24

湖南商务职业技术学院毕业设计

类名User

描述传递参数给service层

属性userId,userName,password,email,avatar,joinTime,address

setAddress(),getAddress(),getUserId(),setUserId(),getUs

方法erName(),setUserName(),getPassword(),setPassword(),getE

mail(),setEmail()

类名Admin

描述传递参数给service层

属性adminName,password

方法getPassword(),setPassword(),getAdminName()

4.2购物车管理功能模块设计

4.2.1购物车管理功能模块说明

购物车管理功能模块主要是用户对购物车进行增删改操作,可以批量购买,

批量删除,相关属性和方法在下方体现。

4.2.2购物车管理功能模块详细设计

通过对购物车管理功能模块需求分析,得到了购物车管理功能模块的序列

图。如图4-3所示。

图4-3购物车管理功能模块序列图

通过对购物车管理功能模块需求的分析,得到与购物车管理功能模块静态

结构类图,如图4-4所示。

25

图4-4购物车管理功能模块的类图

针对类图进行进一步细化分析,得到该购物车管理功能模块相关类及方法

描述表,如下表4-2所示。

表4-2购物车管理功能模块相关类及方法描述表

类名ShoppingCartController

接收用户的管理购物车的请求(增删改),调用service层,接收

描述

service层返回的数据,最后返回具体的页面和数据到客户端。

属性ShoppingCartService

getCartByUserId(),updateCartItem(),addToShoppingCart(),de

方法

leteCartItem()

类名ShoppingCartService

描述Service层的接口

属性

addToShoppingCart(),deleteShoppingCarts(),deleteShoppingC

方法artByCartId(),updateShoppingCart(),getShoppingCartsByUser

Id()

类名ShoppingCartServiceImpl

描述ShoppingCartService接口的实现类,实现接口中的方法

属性ShoppingCartMapper

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论