餐厅点餐平台导航
【餐厅点餐平台|一】项目描述+需求分析 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

【餐厅点餐平台|二】总体设计相关推荐

  1. 【餐厅点餐平台|一】项目描述+需求分析

    餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...

  2. 【餐厅点餐平台|四】UI设计+效果展示

    餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...

  3. 【餐厅点餐平台|三】模块设计

    餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...

  4. ssm+mysql餐厅点餐系统-计算机毕业设计源码02635

    目  录 摘要 1 绪论 1.1目的 1.2意义 1.3Vue.js 主要功能 1.3论文结构与章节安排 2餐厅点餐系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3 ...

  5. [附源码]JAVA+ssm计算机毕业设计餐厅点餐订餐系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. java springboot thymeleaf mysql餐厅点餐系统(还不错)

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 java springboot thymeleaf mysql餐厅点餐系统(还不 ...

  7. 如何自建微信外卖平台_如何建立微信点餐平台 微信小程序外卖怎么做

    餐道(candao.com)3月15日观察:如今越来越多人使用微信小程序点餐,对于商家来说,这是一个新的业务拓展渠道.那么,微信小程序外卖怎么做呢?首先,我们需要建立一个微信点餐平台.下面小编就教大家 ...

  8. springboot智慧餐厅点餐餐桌预订系统设计与实现

    现在社会的生活节奏越来越快,人们对互联网的需求也越来越大,不仅要求使用方便,而且对于功能及扩展性也有了更高的要求,最能达到要求莫过于利用计算机网络,将所需功能要求和计算机网络结合起来,就形成了本智慧餐 ...

  9. java微信小程序的校园外卖点餐平台 uniapp

    美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去研究美食,很多时候人们在下班或者放学之后更希望通过网络来进行订餐,为此我开发了 ...

最新文章

  1. 面向对象编程(OOP)----BLUE大师JS课堂笔记(二)
  2. 移动基于Percona XTRADB Cluster的大数据解决方式
  3. 交叉驰豫的影响因素_什么因素影响了软管总成的质量?
  4. fread读取整个文件_qt如何实现大文件的加载和显示
  5. 解决方案-CMake error: error in configuration process, project files may be invalid(WindowsVS可参考)
  6. Vuex的核心概念state
  7. C++自增自减运算符简单记录
  8. Activity内部Handler引起内存泄露的原因分析
  9. 家庭记账本开发进度4
  10. 五、Linux常用命令——帮助命令
  11. Vue动态组件异步组件
  12. 表白神器(VBS编程)
  13. error pulling image configuration: read tcp xxx.xxx.x.xxx:xx->xxx.xx.xxx.xx:xxx: read: connection
  14. 机械制图国家标准的绘图模板_从制图到数字制图,你知道真相吗
  15. HikariCP 创建连接
  16. 假定一种编码的编码范围是a-y的25个字母,形成一个数组如下: a,aa,aaa,aaaa,aaab,aaac,...yyyy 其中a的Index为0aa的Index为1aaa为2,以此类推。
  17. 1bit 寄存器 coursera
  18. 如果要你向别人推荐电影,你最先想到的是那些呢?
  19. cib.xml for 2resource1group4score
  20. CAP理论为什么不能同时满足

热门文章

  1. Java字符串匹配算法
  2. 2023年人工智能技术趋势
  3. 人工智能和游戏化学习
  4. ScheduleThreadPoolExecutor 定时任务线程池原理
  5. 大数据分析基础——维度模型
  6. Matlab——zeros函数和ones函数
  7. h5适配华为手机_手机端H5页面适配 踩坑
  8. Java实习生面试题整理
  9. 衣服快递包装机的设计
  10. Android实现在线预览office文档(Word,Pdf,excel,PPT.txt等格式)