【餐厅点餐平台|二】总体设计
餐厅点餐平台导航
【餐厅点餐平台|一】项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430
【餐厅点餐平台|二】总体设计 https://blog.csdn.net/weixin_46291251/article/details/126422811
【餐厅点餐平台|三】模块设计 https://blog.csdn.net/weixin_46291251/article/details/126422826
【餐厅点餐平台|四】UI设计+效果展示 https://blog.csdn.net/weixin_46291251/article/details/126422844
【源码下载】 https://download.csdn.net/download/weixin_46291251/86404328
文章目录
- 三:总体设计
- 3.1系统架构设计
- MVC架构
- 各模块关系
- 3.2数据库设计
- 关系模型
- 物理模型
- Bill
- **collect_rent**
- **discount**
- **discountDetail**
- **joinAproval**
- **organizationInfo**
- **picture**
- **saleUnit**
- **setFoodType**
- **User**
- **windowApproval**
- **WindowInfo**
三:总体设计
3.1系统架构设计
在当下的大部分系统中,流行的是MVC架构,MVC架构各个模块分工明确,在开发时各模块可以分离开发,相互协作,最终完成系统的搭建。
MVC架构
mvc是一种架构模型,本身并没有新功能,只是对项目的一种规范,方便后期进行维护;mvc架构将模型(M),视图(V)和控制(C)割离开,这么做可以提高代码书写的效率和后期维护。
View(视图):简单来说,就是负责数据的可视化。
Controller(控制器):通常控制器用来从视图读取数据,并发送给对应的模型处理,再将结果反馈给视图显示。充当视图与模型之间数据交互的桥梁。
Model(模型): 模型代表一个存取数据的对象它也可以带有逻辑,在数据变化时更新控制器。
借用MVC架构的思想,我们结合系统需求,将数据库的操作与其他模块分离,同样使用Controller进行UI的响应,做出相应的操作,作用到数据库与界面之间。最终构建了DAO-Model-Controller-View的架构,其中DAO对数据进行操作,Model存储对象,Controller实现各逻辑控制界面现实,View就是UI与用户进行交互。
各模块关系
在总体上,DAO层与数据库进行打交道,实现各个表的增删改查,让其他层与数据库隔离,其他层只需要知道数据库中有那些表,数据的操作通过DAO层来进行交互,在Controller层中,实现系统的各主要功能,集成DAO中的数据操作进行封装打包,控制UI界面的展示,Controller层连接前端界面和数据访问层,在各层时间数据的传输通过模型来进行传递,根据系统设计需求建立各个实体类模型。各模块关系如图所示。
DAO层:连接数据库,对数据库中的各个表进行增删改查,与数据库中的表进行交互,每个表有对应的DAO,根据Controller的不同需求,完成从数据库中的查询操作,删除操作,修改操作。
Controller层:控制器,控制系统的整个功能的实现,功能集成与这一层装,调用DAO层中的各个数据表访问,完成前端页面展示需求数据的获取,将数据从数据中通过DAO层提取出返回到前端页面显示,而前端的操作,如数据的修改插入,也通过Controller层传递到DAO最终作用到数据库,完成数据的更新,在前端UI传回的数据,进行逻辑判断与处理,返回给前端并根据结果决定对数据库的操作。
View层:View层的职责非常简单,就是显示界面,对数据的操作向Controller获取相应的行为,对用户进行一个回显,与用户打交道。
Model层:在DAO、Controller和View层的交流中,需要对数据进行传输,而在系统中不同的对象数据不同,所以在Model层中就是建立实体类,对现实生活中的实体进行抽象到程序中进行表达,定义实体的相应应有的行为并实现。从数据流上就是,前端用户输入产生模型,通过Controller传输到DAO层,最终写入数据库,也可以是逆操作。
3.2数据库设计
关系模型
Bill : [‘order_id’, ‘username’, ‘window_id’, ‘price’, ‘tradingTime’, ‘status’, ‘description’]
User : [‘type’, ‘name’, ‘phone’, ‘password’, ‘creditCard’, ‘sex’, ‘identityCard’]
WindowInfo : [‘id’, ‘name’, ‘address’, ‘organization_id’, ‘status’]
collect_rent : [‘id’, ‘org_id’, ‘win_id’, ‘turnover’, ‘salary’, ‘time’, ‘description’]
discount : [‘id’, ‘value’, ‘window_id’, ‘description’, ‘type’]
discountDetail : [‘discount_id’, ‘food_id’, ‘discription’]
foodType : [‘type_id’, ‘food_id’, ‘name’, ‘description’]
joinApproval : [‘id’, ‘organization_id’, ‘user_id’, ‘status’]
organizationInfo : [‘id’, ‘name’, ‘address’, ‘creditCard’]
picture : [‘id’, ‘size’, ‘content’]
saleUnit : [‘id’, ‘window_id’, ‘name’, ‘price’, ‘status’, ‘diningType’, ‘unit’, ‘image_id’, ‘description’, ‘type’]
setFoodType : [‘set_id’, ‘type_id’, ‘num’, ‘description’]
windowApproval : [‘window_id’, ‘user_id’, ‘id’, ‘status’]
物理模型
Bill
collect_rent
discount
discountDetail
joinAproval
organizationInfo
picture
saleUnit
setFoodType
User
windowApproval
WindowInfo
【餐厅点餐平台|二】总体设计相关推荐
- 【餐厅点餐平台|一】项目描述+需求分析
餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...
- 【餐厅点餐平台|四】UI设计+效果展示
餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...
- 【餐厅点餐平台|三】模块设计
餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...
- ssm+mysql餐厅点餐系统-计算机毕业设计源码02635
目 录 摘要 1 绪论 1.1目的 1.2意义 1.3Vue.js 主要功能 1.3论文结构与章节安排 2餐厅点餐系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3 ...
- [附源码]JAVA+ssm计算机毕业设计餐厅点餐订餐系统(程序+Lw)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- java springboot thymeleaf mysql餐厅点餐系统(还不错)
博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 java springboot thymeleaf mysql餐厅点餐系统(还不 ...
- 如何自建微信外卖平台_如何建立微信点餐平台 微信小程序外卖怎么做
餐道(candao.com)3月15日观察:如今越来越多人使用微信小程序点餐,对于商家来说,这是一个新的业务拓展渠道.那么,微信小程序外卖怎么做呢?首先,我们需要建立一个微信点餐平台.下面小编就教大家 ...
- springboot智慧餐厅点餐餐桌预订系统设计与实现
现在社会的生活节奏越来越快,人们对互联网的需求也越来越大,不仅要求使用方便,而且对于功能及扩展性也有了更高的要求,最能达到要求莫过于利用计算机网络,将所需功能要求和计算机网络结合起来,就形成了本智慧餐 ...
- java微信小程序的校园外卖点餐平台 uniapp
美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去研究美食,很多时候人们在下班或者放学之后更希望通过网络来进行订餐,为此我开发了 ...
最新文章
- 面向对象编程(OOP)----BLUE大师JS课堂笔记(二)
- 移动基于Percona XTRADB Cluster的大数据解决方式
- 交叉驰豫的影响因素_什么因素影响了软管总成的质量?
- fread读取整个文件_qt如何实现大文件的加载和显示
- 解决方案-CMake error: error in configuration process, project files may be invalid(WindowsVS可参考)
- Vuex的核心概念state
- C++自增自减运算符简单记录
- Activity内部Handler引起内存泄露的原因分析
- 家庭记账本开发进度4
- 五、Linux常用命令——帮助命令
- Vue动态组件异步组件
- 表白神器(VBS编程)
- error pulling image configuration: read tcp xxx.xxx.x.xxx:xx->xxx.xx.xxx.xx:xxx: read: connection
- 机械制图国家标准的绘图模板_从制图到数字制图,你知道真相吗
- HikariCP 创建连接
- 假定一种编码的编码范围是a-y的25个字母,形成一个数组如下: a,aa,aaa,aaaa,aaab,aaac,...yyyy 其中a的Index为0aa的Index为1aaa为2,以此类推。
- 1bit 寄存器 coursera
- 如果要你向别人推荐电影,你最先想到的是那些呢?
- cib.xml for 2resource1group4score
- CAP理论为什么不能同时满足