0001Java安卓程序设计-基于Android多餐厅点餐桌号后厨前台服务设计与开发

文章目录

    • **摘** **要**
    • **目** **录**
    • 系统设计
    • 开发环境

编程技术交流、源码分享、模板分享、网课教程

🐧裙:776871563

移动互联网时代的到来,给人们的生活带来了许多便捷和乐趣。随着用户的不断增多,其规模越来越大,逐渐变得多元化。移动互联网不断影响、改变着人们的生活。人与食物的距离已经在外卖、生鲜电商和半成品食材电商所提供的解决方案下不断缩短,“网购饭的方式”也多了不少创新,比如餐桌的共享、厨师上门等。然而,还有这样一群人,在“懒人经济”盛行的今天仍然坚持着自己制作购物、研究购物。

下一代移动互联网产业发展方向是“微、小、轻”,手机“APP”已经成为取代手机小APP的最佳选择。所以本次毕业设计特开发了基于Android的多餐厅点餐桌号后厨前台服务。

本说明书介绍了订餐交易类手机APP的分析和设计过程。在阐述了现有的技术和条件的基础上,设计了基于MVC的实现方案,从模型层、视图层和控制层三个方面开发。借助UML建模工具很好的实现了对系统的建模。

系统功能由手机用户端和服务端两部分组成。手机用户端包括注册和登录、关注、收藏、发布产品、产品评论、用户留言等功能。服务端包括用户管理、产品管理、分类管理、公告管理等功能,让管理员通过后台对系统进行管理和维护。系统以MySQL作为后台数据库。

经测试证明,手机产品类手机APP已基本实现预期的功能。界面简洁,便于操作。订餐交易类手机APP的开发,为烘焙爱好者提供了工具,方便了人们对订餐交易的学习和交流。

关键词:订餐交易系统;Android开发;订餐交易

第1章 绪论… 1

1.1研究背景… 1

1.2 研究现状… 1

1.3研究目的和意义… 3

1.4 论文的主要研究内容… 3

1.5 论文组织结构… 4

1.6 本章小结… 4

第2章 相关技术… 6

2.1 SSH框架… 6

2.2 JAVA技术… 7

2.3 MySQL 数据库… 8

2.4 jQuery EasyUI… 9

2.5 JSP技术… 9

2.6技术方案… 10

2.7本章小结… 10

第3章 系统分析… 11

3.1业务过程建模… 11

3.2需求分析… 12

3.2.1功能需求… 12

3.2.2 性能需求… 13

3.3系统模块图… 13

3.4 用例图分析… 14

3.4.1 用例图… 14

3.4.2 用例规约… 16

3.5活动图分析… 20

3.5.1 管理员管理活动图… 20

3.5.2用户活动图… 21

3.6 本章小结… 22

第4章 系统设计… 23

4.1总体架构设计… 23

4.1.1 MVC… 23

4.1.2 SSH框架… 24

4.2功能模块设计… 25

4.2.1用户端模块… 25

4.2.2后台功能模块… 26

4.3时序图… 27

4.3.1 用户登录时序图… 27

4.3.2添加信息时序图… 27

4.3.3产品发布时序图… 28

4.4数据库设计… 29

4.4.1 数据库需求分析… 29

4.4.2 实体图… 30

4.4.3 E-R图… 31

4.4.4 数据库表设计… 32

4.5本章小结… 34

第5章 系统实现… 35

5.1用户功能模块的实现… 35

5.1.1用户注册登录模块… 35

5.1.2首页模块… 38

5.1.3 发布食谱模块… 39

5.1.4 浏览食谱模块… 40

5.1.5 查看用户信息和关注模块… 41

5.1.6 用户聊天界面… 44

5.1.7 查看公告界面… 45

5.2管理员功能模块的实现… 45

5.2.1用户管理界面… 45

5.2.2产品管理界面… 48

5.2.3公告管理界面… 49

5.2.4类别管理界面… 50

5.3手机APP的开发和发布… 50

5.4本章小结… 51

第6章 系统测试… 53

6.1 系统测试环境… 53

6.2测试用例… 53

6.3系统功能测试… 54

6.4系统性能测试… 54

6.5本章小结… 55

第7章 总结与展望… 57

7.1本文总结… 57

7.2后续工作展望… 57

致谢… 59

参考文献… 61

系统设计

1、手机用户端:

(1)未进行注册的游客功能比较单一,主要有以下功能:

<1>注册需求:完成注册才能享受系统的更多功能权限,体验更多功能;

<2>产品查询需求:可以通过分类查询,也可以通过输入关键字来查询;

<3>浏览公告:浏览公告相关的信息,并获得公告想传达的资讯;

(2)注册成功的用户,主要有以下功能:

<1>登录需求:用户在成功登录系统后,才能体验到区别于游客的其他功能;

<2>产品查询需求:这一模块用于产品列表的展示,方便用户对菜品有所了解。可以通过分类查询,也可以根据你输入的关键字获得相应的产品。用户除浏览菜品做法外还可以评论,与其他用户一起切磋交流;

<3>个人信息管理需求:在个人信息管理模块,用户可以修改信息包括个人信息的修改和密码的修改;

<4>产品上传需求:该模块实现用户产品上传功能,实现产品的共享;

<5>关注需求:这一模块实现用户之间的交流功能;

2、后台管理模块:

(1)用户管理模块需求:通过这个模块管理一切注册的用户的信息;

(2)产品管理需求:对所有上传的产品进行管理,包括浏览、删除产品,添加、删除产品分类;

(3)公告管理需求:通过发布系统公告,来保证用户能够第一时间的到系统相关资讯,注意相关事宜。

**
**

QQ截图20211108144438

用户在注册账号的时候,首先进入注册界面,填写用户信息,包括用户名、密码和电话等,如果用户名已经被使用,那么将会提醒用户返回到注册页面,重新填写信息,如果未被使用,且两次密码输入一致即可注册成功,并且相关数据将会自动上传到数据库中。

注册界面

进入系统先看到的是首页,但只是游客身份,只能查看产品。如果想上传产品、收藏产品等必须先登录。注册成功的用户可以直接输入用户名和密码登录。

img

用户登录成功后,转入首页。首页如图5-5所示。页面色彩搭配为经典的红白。首页中间主体的部分是产品列表。顶部是选择按钮,用户可以选择显示食谱列表或作品列表。下面是一个滚动的产品推荐模块。推荐内容为最新产品,用户可以直接点击滚动图片进入产品页面。用户可以按照自己的喜好选择食谱的分类查询产品,或者在搜索栏输入食谱的关键字来搜索。底部是整个应用的导航栏,可通过导航栏进入不同的模块,体验不同的功能。

产品轮播推荐部分,将几张图片放在容器里。图片的样式默认为隐藏,第一张图片额外增加显示到前面的样式。设置定时器,更改图片的样式,实现自动轮播。

img

用户点击底部导航栏的“发布食谱”,或首页右上角的“发布”即可进发布食谱的界面,如图5-6所示。

在编辑食谱时,与其他各类购物网站和APP相同,用户可以选择菜品分类(如小网购、海鲜、西餐、家常菜等),上传各步骤图片,添加文字步骤说明。 食谱发布后会刷新首页的产品列表,同时将信息保存在数据库中。

信息分类,分为作品和食谱。用户可以自主选择。食谱的发布可以不断添加步骤和详细说明。发布的作品,通常是一张图片,配些简短说明,类似于朋友圈中的动态分享。

img

在首页食谱列表中选择一个食谱,即可浏览详细信息。如图5-7。在产品的末处,用户可以对产品点赞,收藏产品、评价,如图5-8。在这个模块中,用户可以先浏览产品,根据下方的评论来判断产品的好坏和难易程度。若是因材料准备不够等原因无法立刻按照产品烹制,可以收藏产品,以备日后查看。收藏的产品可以在个人中心-我的收藏中查看。

imgimg

在浏览产品时,点击作者名可以跳转到该用户的个人基本信息页面。如图5-9所示。在这里除了可以看到用户的基本信息外,还可以查看他发布过的产品抑或是关注该用户。关注列表如下图5-10所示,另外,还可以和关注的用户线上交流。[17]在关注列表界面可以查找用户实现交友功能。

在关注用户列表中,可以选择用户进行一对一交流,有点类似微博的私信功能,这也是系统为用户设计的比较私密的交流空间。

img

关注用户后,可以一对一进行聊天,界面如下图所示:

img

用户可以在底部导航栏选择“我”,然后查看系统的公告内容,如图5-12。[19]用户可以在搜索框输入关键字查询相关公告。在公告列表中,选择一条,点击可以进入详细页面。个人中心除可以查看公告信息外,还可以修改自己的个人信息和密码,查看个人收藏的产品信息。

公告列表

img

img

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DbUtil {
	private String dbUrl="jdbc:mysql://127.0.0.1:3306/database?serverTimezone=UTC&useSSL=false"; // 数据库连接地址
	private String dbUserName="root"; // 用户名
	private String dbPassword="123456"; // 密码
	private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称
	/**
	 * 获取数据库连接
	 * @return
	 * @throws Exception
	 */
	public Connection getCon(){
		try {
			Class.forName(jdbcName);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Connection con = null;
		try {
			con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}
	/**
	 * 关闭数据库连接
	 * @param con
	 * @throws Exception
	 */
	public void closeCon(Connection con)throws Exception{
		if(con!=null){
			con.close();
		}
	}
	
	public static void main(String[] args) {
		DbUtil dbUtil=new DbUtil();
		try {
			dbUtil.getCon();
			System.out.println("数据库连接成功!");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("数据库连接失败");
		}
	}
}


开发环境

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

开发人员:IT012201

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/117272.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux环境下编译,安卓平台使用的luajit库

一、下载luajit源码 1、linux下直接下载&#xff1a; a、使用curl下载&#xff1a;https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz b、git下载地址&#xff1b;https://github.com/LuaJIT/LuaJIT.git 2、Windows下载好zip文件&#xff0c;下载地址&#xff1a;https…

【四、http】go的http的文件下载

一、日常下载图片到本地 //下载文件func downloadfile(url, filename string) {r, err : http.Get(url)if err ! nil {fmt.Println("err", err.Error())}defer r.Body.Close()f, err : os.Create(filename)if err ! nil {fmt.Println("err", err.Error())…

一文详解:传统企业如何把进销存管理流程搬到线上?

进销存管理是企业管理的核心流程之一&#xff0c;它有助于提高效率、降低成本、增加盈利&#xff0c;同时确保客户满意度&#xff0c;这对于企业的长期成功和竞争力至关重要。但在信息化转型的浪潮下&#xff0c;很多企业的传统进销存流程却遇到不少问题。 如果你也在考虑把进…

Navicat连接mysql 8.0.35 2059错误解决办法

这2天在家重装电脑&#xff0c;顺便把mysql升级8.0&#xff0c;安装完成后&#xff0c;用Navicat连接&#xff0c;报错2059&#xff0c;如下 网上查了一下&#xff0c; 【报错原因】mysql8.0 之前的版本中加密规则是 mysql_native_password&#xff0c;而 mysql8.0 之后的版本…

随机微分方程的分数扩散模型 (score-based diffusion model) 代码示例

随机微分方程的分数扩散模型&#xff08;Score-Based Generative Modeling through Stochastic Differential Equations&#xff09; 基于分数的扩散模型&#xff0c;是估计数据分布梯度的方法&#xff0c;可以在不需要对抗训练的基础上&#xff0c;生成与GAN一样高质量的图片。…

【Kotlin精简】第7章 泛型

1 泛型 泛型即 “参数化类型”&#xff0c;将类型参数化&#xff0c;可以用在类&#xff0c;接口&#xff0c;函数上。与 Java 一样&#xff0c;Kotlin 也提供泛型&#xff0c;为类型安全提供保证&#xff0c;消除类型强转的烦恼。 1.1 泛型优点 类型安全&#xff1a;通用允许…

CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境

CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境 文章目录 CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境一、前言二、资料收集三、Ubuntu18.04从安装到更换实时内核1、下载安装Ubuntu18.042、下载安装实时内核&#xff0c;解决编…

如何将PDF文件转换成翻页电子书?这个网站告诉你

​随着电子书的普及&#xff0c;越来越多的人开始将PDF文件转换成翻页电子书。翻页电子书不仅方便阅读&#xff0c;而且还可以在手机上轻松翻页。那么如何将PDF文件转换成翻页电子书呢&#xff1f;今天就为大家介绍一个网站&#xff0c;可以帮助你轻松完成这个任务。 1.首先&am…

Proteus仿真--12864LCD显示计算器键盘按键实验(仿真文件+程序)

本文主要介绍基于51单片机的12864LCD液晶显示电话拨号键盘按键实验&#xff08;完整仿真源文件及代码见文末链接&#xff09; 仿真图如下 本设计主要介绍计算器键盘仿真&#xff0c;按键按下后在12864液晶上显示对应按键键值 仿真运行视频 Proteus仿真--12864LCD显示计算器…

【漏洞复现】IIS_7.o7.5解析漏洞

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、修复建议 1.1、漏洞描述 漏洞原理&#xff1a; cgi.fix_path1 1.png/.php该…

第九章《搞懂算法:决策树是怎么回事》笔记

决策树算法是机器学习中很经典的一个算法&#xff0c;它既可以作为分类算法&#xff0c;也可以作为回归算法。 9.1 典型的决策树是什么样的 决策树算法是依据“分而治之”的思想&#xff0c;每次根据某属性的值对样本进行分类&#xff0c;然后传递给下个属性继续进行分类判断…

项目实战:新增@Controller和@Service@Repository@Autowire四个注解

1、Controller package com.csdn.mymvc.annotation; import java.lang.annotation.*; Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Inherited public interface Controller { }2、Service package com.csdn.mymvc.annotation; import java.lang.annotation.*…

zookeeper节点类型

节点类型 持久节点&#xff08;Persistent Nodes&#xff09; 这些是Zookeeper中最常见的一种节点类型&#xff0c;当创建一个持久类型节点时&#xff0c;该值会一直存在zookeeper中&#xff0c;直到被显式删除或被新值覆盖。 临时节点&#xff08;Ephemeral Nodes&#xff…

【漏洞复现】Apache_Tomcat_PUT方法任意写文件(CVE-2017-12615)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证工具扫描验证POC 1.6、修复建议 说明内容漏洞编号CVE-2017-12615漏洞名称Tomcat_PU…

【python】路径管理+路径拼接问题

路径管理 问题相对路径问题绝对路径问题 解决os库pathlib库最终解决 问题 环境&#xff1a;python3.7.16 win10 相对路径问题 因为python的执行特殊性&#xff0c;使用相对路径时&#xff0c;在不同路径下用python指令会有不同的索引效果&#xff08;python的项目根目录根据执…

服务器搭建:从零开始创建自己的Spring Boot应用【含登录、注册功能】

当然&#xff0c;你可以先按照IDEA搭建SSM框架【配置类、新手向】完成基础框架的搭建 步骤 1&#xff1a;设计并实现服务器端的用户数据库 在这个示例中&#xff0c;我们将使用MySQL数据库。首先&#xff0c;你需要安装MySQL并创建一个数据库以存储用户信息。以下是一些基本步…

5.3有效的括号(LC20-E)

算法&#xff1a; 题目中&#xff1a;左括号必须以正确的顺序闭合。意思是&#xff0c;最后出现的左括号&#xff08;对应着栈中的最后一个元素&#xff09;&#xff0c;应该先找到对应的闭合符号&#xff08;右括号&#xff09; 比如:s"( [ ) ]"就是False&#xf…

【错误解决方案】ModuleNotFoundError: No module named ‘my_fake_useragent‘

1. 错误提示 ModuleNotFoundError: No module named my_fake_useragent&#xff0c;这意味着你试图导入一个名为 my_fake_useragent 的模块&#xff0c;但Python找不到这个模块。 2. 解决方案 检查模块名是否正确: 确保你试图导入的模块名是正确的。也许你拼写错误或者大小写不…

【Midjourney入门教程1】Midjourney的注册、订阅

文章目录 前言一、Midjourney是什么二、Midjourney注册三、新建自己的服务器四、开通订阅 前言 AI绘画即指人工智能绘画&#xff0c;是一种计算机生成绘画的方式。是AIGC应用领域内的一大分支。 AI绘画主要分为两个部分&#xff0c;一个是对图像的分析与判断&#xff0c;即“…

onnx 模型加载部署运行方式

1.通过文件路径的onnx模型加载方式: 在onnxruntime下面的主要函数:session Ort::Session(env, w_modelPath.c_str(), sessionOptions); 这里的文件路径是宽字节的&#xff0c;通过onnx文件路径直接加载模型。 在opencv下使用dnn加载onnx模型的主要函数: std::string model…