文章目录
- **摘** **要**
- **目** **录**
- 系统设计
- 开发环境
编程技术交流、源码分享、模板分享、网课教程
🐧裙: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)公告管理需求:通过发布系统公告,来保证用户能够第一时间的到系统相关资讯,注意相关事宜。
**
**
用户在注册账号的时候,首先进入注册界面,填写用户信息,包括用户名、密码和电话等,如果用户名已经被使用,那么将会提醒用户返回到注册页面,重新填写信息,如果未被使用,且两次密码输入一致即可注册成功,并且相关数据将会自动上传到数据库中。
进入系统先看到的是首页,但只是游客身份,只能查看产品。如果想上传产品、收藏产品等必须先登录。注册成功的用户可以直接输入用户名和密码登录。
用户登录成功后,转入首页。首页如图5-5所示。页面色彩搭配为经典的红白。首页中间主体的部分是产品列表。顶部是选择按钮,用户可以选择显示食谱列表或作品列表。下面是一个滚动的产品推荐模块。推荐内容为最新产品,用户可以直接点击滚动图片进入产品页面。用户可以按照自己的喜好选择食谱的分类查询产品,或者在搜索栏输入食谱的关键字来搜索。底部是整个应用的导航栏,可通过导航栏进入不同的模块,体验不同的功能。
产品轮播推荐部分,将几张图片放在容器里。图片的样式默认为隐藏,第一张图片额外增加显示到前面的样式。设置定时器,更改图片的样式,实现自动轮播。
用户点击底部导航栏的“发布食谱”,或首页右上角的“发布”即可进发布食谱的界面,如图5-6所示。
在编辑食谱时,与其他各类购物网站和APP相同,用户可以选择菜品分类(如小网购、海鲜、西餐、家常菜等),上传各步骤图片,添加文字步骤说明。 食谱发布后会刷新首页的产品列表,同时将信息保存在数据库中。
信息分类,分为作品和食谱。用户可以自主选择。食谱的发布可以不断添加步骤和详细说明。发布的作品,通常是一张图片,配些简短说明,类似于朋友圈中的动态分享。
在首页食谱列表中选择一个食谱,即可浏览详细信息。如图5-7。在产品的末处,用户可以对产品点赞,收藏产品、评价,如图5-8。在这个模块中,用户可以先浏览产品,根据下方的评论来判断产品的好坏和难易程度。若是因材料准备不够等原因无法立刻按照产品烹制,可以收藏产品,以备日后查看。收藏的产品可以在个人中心-我的收藏中查看。
在浏览产品时,点击作者名可以跳转到该用户的个人基本信息页面。如图5-9所示。在这里除了可以看到用户的基本信息外,还可以查看他发布过的产品抑或是关注该用户。关注列表如下图5-10所示,另外,还可以和关注的用户线上交流。[17]在关注列表界面可以查找用户实现交友功能。
在关注用户列表中,可以选择用户进行一对一交流,有点类似微博的私信功能,这也是系统为用户设计的比较私密的交流空间。
关注用户后,可以一对一进行聊天,界面如下图所示:
用户可以在底部导航栏选择“我”,然后查看系统的公告内容,如图5-12。[19]用户可以在搜索框输入关键字查询相关公告。在公告列表中,选择一条,点击可以进入详细页面。个人中心除可以查看公告信息外,还可以修改自己的个人信息和密码,查看个人收藏的产品信息。
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