基于Android技术的名厨到家app系统的设计与实现.docx

上传人:b****2 文档编号:24254828 上传时间:2023-05-25 格式:DOCX 页数:45 大小:1.99MB
下载 相关 举报
基于Android技术的名厨到家app系统的设计与实现.docx_第1页
第1页 / 共45页
基于Android技术的名厨到家app系统的设计与实现.docx_第2页
第2页 / 共45页
基于Android技术的名厨到家app系统的设计与实现.docx_第3页
第3页 / 共45页
基于Android技术的名厨到家app系统的设计与实现.docx_第4页
第4页 / 共45页
基于Android技术的名厨到家app系统的设计与实现.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

基于Android技术的名厨到家app系统的设计与实现.docx

《基于Android技术的名厨到家app系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android技术的名厨到家app系统的设计与实现.docx(45页珍藏版)》请在冰豆网上搜索。

基于Android技术的名厨到家app系统的设计与实现.docx

基于Android技术的名厨到家app系统的设计与实现

基于Android技术的名厨到家

app系统的设计与实现

摘要

名厨到家app是一款手机软件,专门为那些不会做饭的人或者工作比较忙的人设计的。

我想集结一批经过专业认证厨师,他们擅长各系特色菜.他们专门为那些吃饭特别讲究的人提供上门服务,根据他们的要求,为他们做上他们想吃的可口的饭菜。

本论文先是介绍了绪论,包括本系统的课题背景及意义,课题研究的现状。

接着介绍了开发工具及相关技术,包括eclipse、myeclipse、MySQL以及json技术。

在接着介绍了需求分析,包括功能模块的需求分析,系统的业务流程,使用Rose进行业务建模。

然后介绍了系统的设计,包括本系统体系结构的总体设计,系统的功能设计,安全设计等。

之后介绍了系统的实现,包括主要功能的实现,例如订单功能的实现,菜系信息管理的功能实现等。

最后,介绍了系统的测试,包括我的订单功能系统的测试,用户管理功能的系统测试。

最后介绍了结论和致谢。

关键词名厨到家;Android;UML;MySql

1绪论

1.1课题背景及意义

当今时代科技发展迅速,智能手机对于当下的人们并不陌生。

就是由于智能手机的出现,手机上的APP应用如雨后春笋般的爆发式增长。

目前,各行各业都在和互联网结合,比如:

“互联网+医疗”、“互联网+农业”、互联网电子商务。

随着智能手机的普及,手机在我们的生活中逐渐占据了更加重要的地位,各种各样的手APP也孕育而生,如果能将名厨到家系统布局于智能手机上,不仅能方便地让客户足不出户便可浏览菜单、学习厨艺和下单,而且可以节约时间,提高效率。

日常工作期间,人们生活就餐的类型大概就是自己做饭、叫外卖或者去一些餐馆,但是进入移动互联网这个时代,人们似乎找到一种新的吃饭方式,就是请专业的厨师上门做饭。

我们只需支付服务费便能邀请厨师上门做菜,不仅能亲身与厨师交流,还是学到做菜的精髓,这种餐饮模式无疑成为当今的一种新潮流。

于是,针对他们有这样的需求,我设计这样一款厨师上门服务app软件——名厨到家。

我的目的是想通过名厨到家app集结一批经过专业认证,擅长各系特色菜的厨师.专门为那些吃饭特别讲究、特别注重饮食的人提供上门服务,根据他们的要求,为他们做上他们想吃的可口的饭菜。

1.2课题研究的现状

最近几年,餐饮业飞速发展,尤其是现在外卖订餐的软件大批量的出现,比如美团外卖,饿了么,XX糯米等,正是这些订餐软件的出现,人们变得越来越依赖外卖,尤其是上班族,很多都是依赖外卖,自己懒得动手做饭,但是外卖是不是很卫生我们不是特别清楚,所以,自己买一些食材,请专门的厨师到家里去做饭,不仅自己的健康能够得到很好的保障,而且还能享受到美味可口的饭菜。

1.3论文主要内容

第一章绪论

本章主要是讲解了名厨到家APP课题背景及研究意义和课题研究的现状。

第二章开发工具及相关技术

本章主要是讲解了开发名厨到家APP用到的技术,环境以及平台介绍。

第三章需求分析

本章对名厨到家APP平台功能模块需求陈述,详细功能需求陈述以及业务建模。

第四章系统设计

本章对名厨到家APP进行了系统服务器端和客户端体系结构的设计,软件功能的设计及其数据库的设计。

第五章功能的实现

本章主要是介绍了客户端APP和后台管理系统的功能的实现。

第六章功能测试

本章主要是对登录功能模块的测试、我的订单功能模块的测试以及用户管理功能模块的测试。

第七章结论与致谢

本章主要是基于前文对名厨到家APP研究内容及成果的总结并提出对以后工作的展望。

2开发工具及相关技术

2.1Eclipse

eclipse基于java的可扩展平台,是由IBM公司开发源代码开放的一个平台。

从eclipse自身而讲,它只是一组服务和一个框架,通过组件、插件来构建一个开发环境供开发人员使用。

并且,eclipse附带了一个插件集,也就是JDK。

Eclipse是一个很不错的跨平台集成开发环境,最初主要是用于java语言的开发,后来可以通过安装不同的插件,也可以进行其他语言的开发。

2.2Myeclipse

Myeclipse是在eclipse的基础之上加了开发人员自己的插件,Myeclipse是企业级开发的工作平台,是EclipseIDE的扩展版本,它是一个非常强大的用于Java、JavaEE开发的插件集合。

Myeclipse目前支持JSP、AJAX、Struts,Spring、JavaServlet、Hibernate、JDBC数据库链接工具等多项功能的集合。

2.3MySQL

MySQL是一个大型数据库管理系统,也是目前公司最常使用的数据库之一,备受开发人员的青睐,在WEB应用开发方面,MySQL是最适用的应用软件之一。

并且,MySQL使用的sql语句是程序员在开发项目时访问数据库最常用的标准语句。

MySQL由于总体成本低、速度快、体积小,并开放源代码,一般的公司开发中小型项目开发都会适用MySQL数据库。

2.4JSON技术

JSON是一种轻量级的数据交换格式。

JSON采用完全独立于语言的文本格式,但是也使用了开发语言的习惯。

JSON容易阅读和编写,也容易被机器解析和生成,基于JSON的这些特性,所以才受很多开发人员的青睐。

2.5MVC

MVC全名是ModelViewController,是模型(model,模型表示企业数据和业务规则。

)-视图(view,视图是用户看到并与之交互的界面。

)-控制器(controller,控制器接受用户的输入并调用模型和视图去完成用户的需求)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

3需求分析

3.1需求描述

3.1.1功能模块需求描述

当今时代,科学技术飞速发展,人们的生活压力也越来越大,吃饭对于现在高压力工作的人们来说是尤为重要。

如何利用高科技让人们吃饭更节省时间,工作更有效率是我一直在思考的问题。

通过调查,有很多人想要自己做饭,吃上美味可口的饭菜,可是没有自己没有时间。

于是,我设计了名厨到家APP。

用户可以根据自己的口味在这个APP上发布自己想吃菜品的订单,也可以根据自己的口味预约厨师。

这样厨师接单后,就可以按照自己的要求做出自己想要吃的饭菜,能够节省自己的时间,提高自己的工作效率。

3.1.2系统的业务流程

1、身份认证

身份认证是用来检验用户是否成功登录系统的,如果用户没有经过身份认证将看不到个人的相关信息。

身份认证具有一下几个模块:

(1)登录:

用户在每次使用手机时,需要先进行身份认证,如果用户输入的信息与注册时填写的信息不一致,则身份认证失败,将不能查看到自己的相关信息。

用户输入手机号、注册时设置的密码,点击登录按钮,如果登录成功,跳转到首页。

(2)注册:

用户第一次使用该系统时,需要进行注册。

用户输入手机号,点击获取手机短信验证码,输入获取到的验证码,进行注册。

(3)修改密码:

用户忘记登录密码时,则不能通过身份认证,可在登录页面点击忘记密码,则会跳转到修改密码界面,用户输入手机号获取验证码,进行手机验证,然后设置新密码。

用户也可以直接点击修改密码,输入旧密码,通过验证再输入新密码。

设置成功后,就可以使用新密码进行登录。

(4)注销用户:

注销用户就是退出当前用户。

(5)退出:

退出就是退出当前应用程序。

2、订单

订单信息包括查看个人订单详情、评论订单、发布订单。

(1)查看订单:

用户通过身份认证登录成功后,可以查看自己的已完成的订单,未完成的订单,还有进行中的订单。

(2)评论订单:

用户通过身份认证登录成功后,可以对已完成的订单进行评论,并且可以打出自己的评分。

(3)发布订单:

用户通过身份认证登录成功后,可以根据自己的需求发布订单,等待厨师接单。

3、名厨

名厨包括查看厨师列表、查看厨师详情、搜索指定厨师、预约厨师等功能。

(1)厨师列表:

用户查看厨师列表,厨师列表包含所有已经在该系统中注册的厨师。

(2)厨师详情:

用户查看厨师列表,推荐、人气、资历等相关信息选择自己的感兴趣的厨师,查看厨师详细信息。

(3)搜索:

用户输入查询条件,根据查询条件查询自己需要的厨师。

(4)预约:

用户可以自己浏览了解的厨师信息,查看厨师的拿手菜,根据自己的喜好预约自己的想要的厨师。

4、菜品

(1)菜品列表:

用户查看菜品列表,菜品列表包括鲁菜、徽菜、粤菜、川菜等各大菜系。

(2)菜品详情:

用户查看菜品列表,根据自己的喜好选择菜系,查看菜品详情简介,擅长的厨师。

(3)查看菜品:

用户通过浏览菜品列表信息,查看菜品详情。

(4)评论:

用户可以对菜品进行评论。

5、寻单

(1)接单:

用户发布新的订单后,厨师可以对用户发布的订单进行接单,如果用户是预约的指定的厨师,该厨师也可以进行接单。

(2)拒单:

如果用户预约指定的厨师,用户拒绝接单。

6、用户管理

(1)管理员添加用户信息。

(2)管理员删除用户。

(3)管理员查看用户详情。

(4)根据条件查询用户。

7、厨师信息管理

(1)管理员修改厨师信息。

(2)管理员查看厨师详情。

(3)管理员根据条件查询厨师。

(4)管理员删除厨师。

8、厨师评论信息管理

(1)管理员删除用户评论。

(2)管理员查看评论详情。

(3)管理选根据条件查询评论。

9、菜品信息管理

(1)管理员添加菜品信息。

(2)管理员删除菜品信息。

(3)管理员根据条件查询菜品信息。

10、订单信息管理

(1)管理员删除订单的信息。

(2)管理员查看订单信息详情。

(3)管理员修改订单信息。

(4)管理选根据条件查询用户收藏的信息。

3.2业务建模

3.2.1业务用例建模

普通用户可以对此名厨到家APP进行操作,可以对,订单、名厨、菜品、名厨授艺等模块进行不同的操作,厨师可以对寻单模块进行操作,管理员可以进行用户管理、订单管理、菜品管理操作,以下是名厨到家APP系统业务用例图,如图3-1所示:

图3-1业务用例图

3.2.2动态建模

用户可以对名厨到家APP进行操作,可以对名厨、寻单、菜品、订单、名厨授艺、我的等模块进行不同的操作,以下是名厨到家APP系统活动图,如图3-2所示:

图3-2业务活动图

管理员可以对名厨到家APP服务器端进行操作,可以对用户信息、厨师信息、厨师评论、菜品信息、订单管理等模块进行不同的操作,以下是服务器端活动图,如图3-3所示:

图3-3业务活动图

3.2.3业务静态建模

普通用户可以对名厨到家APP进行操作,可以对菜品、名厨授艺、订单、名厨、我的等模块进行不同的操作,以下是名厨到家APP系统活动图,如图3-4所示:

图3-4类图

4系统设计

本章将基于android技术的名厨到家app系统设计与实现的客户端和服务端的模块与分析,先从系统的物理架构开始分析,再从系统的工作流和功能模块开始分析。

4.1体系结构设计

名厨到家APP系统采用了多层体系架构设计。

以下是名厨到家APP的系统结构图,如下图4-1所示:

图4-1系统体系结构图

4.2系统总体设计

客户端app总体设计,如图4-2所示:

图4-2客户端结总体设计层次方框图

名厨到家app一是与用户进行相互交互,为使用者提供较好的用户界面让用户有更好的体验,二是通过网络与服务器端进行数据交换。

名厨到家app从服务器端把数据下载下来,在通过接口把数据传输到服务器端。

系统管理员登录后台系统,可以对数据进行删除、增加、修改等操作。

客户端和服务器端通过HTTP传输协议进行JSON数据的交换。

客户端app通过HTTP协议网络编程访问mysql数据库,而后台通过JDBC技术访问数据库,这个地方涉及到服务器端和客户端app数据同步的问题。

4.1.2服务端体系结构设计

做的这个系统的服务器端模块一共包括两个功能。

第一个主要的功能是为客户端APP提供数据服务接口,客户端调用服务器端的接口,从数据库中获取名厨、菜品、订单等数据信息,然后把数据信息显示在客户端手机界面上。

第二个功能就是实现动态数据的维护,包括厨师信息管理、菜品信息管理、用户信息管理、订单信息的管理等。

如图4-3所示:

图4-3服务器端总体设计层次方框图

4.2系统功能设计

名厨到家APP系统的设计与实现客户端包括几个功能模块:

名厨、寻单、菜品、名厨授艺、订单、我的。

具体的功能模块还包括自己的附属功能结构。

服务器端包括几个功能模块:

用户管理、厨师信息管理、评论管理、菜品信息管理、收藏信息管理、订单信息管理。

4.2.1预约厨师功能

以下是预约厨师的开发类图,其中OrderCook为边界类,CookActivity为边界类,OrderController为服务类,Order为订单实体类,GetAddSql为工具类,OrderDao为数据访问类,DBUtil数据库工具类。

如图4-4所示:

图4-4预约厨师开发类图

以下是预约厨师的顺序图,其中OrderCook为边界类,CookActivity为边界类,OrderController为服务类,Order为订单实体类,GetAddSql为工具类,OrderDao为数据访问类,DBUtil数据库工具类。

如图4-5所示:

图4-5预约厨师顺序图

4.2.2寻单功能

以下是寻单的开发类图,其中FindOrder为边界类,FindOrderActivity为边界类,FindOrderListServlet为服务类,Order为订单实体类,GetAddSql为工具类,OrderDao为数据访问类,DBUtil数据库工具类。

如图4-6所示:

图4-6寻单类图

以下是寻单的顺序图,其中FindOrder为边界类,FindOrderActivity为边界类,FindOrderListServlet为服务类,Order为订单实体类,GetAddSql为工具类,OrderDao为数据访问类,DBUtil数据库工具类。

如图4-7所示:

图4-7寻单顺序图

4.3数据库设计

名厨到家系统有很多数据需要处理,因此数据库的设计显得尤为重要,设计的实体有订单、浏览数量、用户信息、厨师信息、收藏信息、视频评论信息、菜品评论信息、视频信息、菜品信息、管理员信息等。

4.3.1数据库逻辑结构设计

数据库逻辑结构设计,E-R图,如图4-8所示:

图4-8E-R图

4.3.2数据库表设计

根据该系统的功能划分,共有13张表,该系统的数据库名称为:

cook。

(1)用户基本信息表(user_table)。

包含属性:

用户编号、性别、经度、纬度、密码、头像、身份、用户名、积分、信誉、手机号。

用户基本信息主要用于记录用户的基本信息,表结构见表4-1。

表4-1用户基本信息表

字段名

数据类型

长度

允许为空

注释

user_id

int

11

用户编号

username

varchar

10

用户名

续表4-1

字段名

数据类型

长度

允许为空

注释

password

varchar

20

密码

phonenumber

varchar

15

手机号

phonenumber

varchar

15

手机号

sex

varchar

2

性别

avatar

varchar

80

头像

credibility

int

11

信誉

integral

int

11

积分

identity

int

11

身份

latitude

double

0

纬度

longitude

double

0

经度

(2)订单信息表(order_table),包含属性:

订单编号、用户编号、厨师编号、定价、

交易价格、用餐时间、要求、用餐类型、地址、订单类型、订单状态、发布时间。

订单信息表主要是用来记录用户的订单信息,表结构见下表4-2。

表4-2订单信息表

字段名

数据类型

长度

允许为空

注释

order_id

int

11

订单编号

user_id

int

11

用户编号

cook_id

int

11

厨师编号

budget_price

int

20

定价

transaction_price

int

20

交易价格

use_time

varchar

25

用餐时间

meal_type

varchar

10

用餐类型

requirement

varchar

300

要求

address

varchar

100

地址

续表4-2

字段名

数据类型

长度

允许为空

注释

publish_time

datetime

0

发布时间

order_status

varchar

10

订单状态

order_type

varchar

10

订单类型

(3)菜品信息表(food_table),包含属性:

菜品编号、菜品名字、菜系、菜品内容、菜品图片。

菜品信息表主要是用来记录管理员上传的菜品信息,表结构见下表4-3。

表4-3菜品信息表

字段名

数据类型

长度

允许为空

注释

food_id

int

11

菜品编号

food_name

varchar

15

菜品名字

cuisine

varchar

6

菜系

food_info

varchar

800

菜品信息

food_pic

varchar

80

菜品图片

(4)厨师信息表(cook_table),包含属性:

厨师编号、真实姓名、菜系、服务范围、服务时间、推荐指数、经度、得分、工作时间、自我评价、经度、纬度、批准状态。

厨师信息表主要是用来记录厨师的基本信息,表结构见下表4-4。

表4-4菜品信息表

字段名

数据类型

长度

允许为空

注释

cook_id

int

11

厨师编号

real_name

varchar

20

真实姓名

skill

varchar

30

菜系

service_range

varchar

50

服务范围

service_time

varchar

50

服务时间

续表4-4

字段名

数据类型

长度

允许为空

注释

recommend_level

int

11

推荐指数

score

int

11

得分

work_year

int

11

工作时间

personal_profile

varchar

300

自我评价

approve_status

int

11

批准状态

cook_latitude

double

0

纬度

cook_longitude

double

0

经度

(5)视频浏览数量信息表(browse_num_table)

视频浏览数量信息表主要是用来记录用户浏览视频的数量,表结构见下表4-5。

表4-5视频浏览数量信息表

字段名

数据类型

长度

允许为空

注释

video_id

int

11

视频编号

user_id

int

11

用户编号

(6)收藏信息表(collect_table),包含属性:

用户编号、收集类型、收集目标编号。

收藏信息表主要是用来记录用户收藏信息,表结构见下表4-6。

表4-6收藏信息表

字段名

数据类型

长度

允许为空

注释

collect_id

int

11

收集编号

user_id

int

11

用户编号

collect_type

varchar

5

收集类型

collect_target_id

int

20

收集目标编号

(7)评论信息表(cook_comment),包含属性:

评论编号、用户编号、厨师编号、评论内容、评论时间、评论分数。

评论信息表主要是用来记录用户对菜品对厨师的评论,表结构见下表4-7。

表4-7评论信息表

字段名

数据类型

长度

允许为空

注释

cook_comment_id

int

11

评论编号

user_id

int

11

用户编号

cook_id

int

11

厨师编号

cook_comment_info

varchar

300

评论内容

comment_time

datetime

0

评论时间

comment_score

decimal

11

评论分数

(8)厨师拿手菜信息表(cook_food_table)

厨师拿手菜信息表主要是用来记录录厨师擅长的菜品,表结构见下表4-8。

表4-8厨师拿手菜信息表

字段名

数据类型

长度

允许为空

注释

cook_food_id

int

11

编号

字段名

数据类型

长度

允许为空

注释

food_id

int

11

菜品编号

cook_id

int

11

厨师编号

skilled_status

int

11

熟练程度

(9)管理员信息表(manager_table),包含属性:

管理员姓名、管理员手机号、管理员密码、管理员邮箱。

管理员信息表主要是用来记录管理员的基本信息,表结构见下表4-9。

表4-9管理员信息表

字段名

数据类型

长度

允许为空

注释

manager_name

varchar

11

管理员姓名

续表4-9

字段名

数据类型

长度

允许为空

注释

manager_password

varchar

45

管理员密码

manager_phonenumber

varchar

45

管理员手机号

manager_email

varchar

45

管理员邮件

(10)发布订单信息表(publish_order_table)

发布订单信息表主要是用来记录用户发布的订单信息,表结构见下表4-10。

表4-10发布订单信息表

字段名

数据类型

长度

允许为空

注释

publish_id

int

11

编号

order_id

int

11

订单编号

cook_id

int

11

厨师编号

字段名

数据类型

长度

允许为空

注释

cook_offer

int

20

厨师要价

(11)视频评论信息表(video_comment),包含属性:

视频编号、视频标题、视频信息、浏览量、点赞数量、踩的数量、视频地址。

视频评论信息表主要是用来记录用户对视频评论的信息,表结构见下表4-11。

表4-11视频评论信息表

字段名

数据类型

长度

允许为空

注释

video_comment_id

int

11

厨艺视频编号

user_id

int

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1