【餐厅点餐平台|二】总体设计

餐厅点餐平台导航
【餐厅点餐平台|一】项目描述+需求分析 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架构,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层连接前端界面和数据访问层,在各层时间数据的传输通过模型来进行传递,根据系统设计需求建立各个实体类模型。各模块关系如图所示。

模块关系图

扫描二维码关注公众号,回复: 14800241 查看本文章
  • 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

image-20220819132808346

collect_rent

image-20220819132825845

discount

image-20220819132842275

discountDetail

image-20220819132847856

image-20220819132858132

joinAproval

image-20220819132950973

organizationInfo

image-20220819133007753

picture

image-20220819133016695

saleUnit

image-20220819133028423

setFoodType

image-20220819133039853

User

image-20220819133053032

windowApproval

image-20220819133102722

WindowInfo

image-20220819133112614

猜你喜欢

转载自blog.csdn.net/weixin_46291251/article/details/126422811