注:展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
2.2 网站所使用的数据库
Sqlserver是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就大大增加了速度并提高了灵活性。
Sqlserver所使用的 SQL 语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 sqlserver 作为网站数据库。
此外Sqlserver还有许多优点,从而为我们的整个开发过程节省大量的时间。首先,Sqlserver的技术是开源的,个人开发者和一些小型工作室可以以极低的价格使用,可以为我们节省一笔开支。然后Sqlserver还对现在的许多流行编程语言有着优秀的技术支持,并且对许多操作系统有着良好的兼容性。更重要的是sqlserver有着极其强大的处理大型数据库的能力,并且支持许多复杂指令。
2.3 MVC框架
MVC框架是一种用于构建 Web 应用程序的软件架构模式,其全称为 Model-View-Controller(模型-视图-控制器)。MVC框架的主要目的是将应用程序的构建解耦,提高程序的可扩展性和可维护性。
在 MVC 框架中,应用程序被分为三个主要部分:
1. 模型(Model):负责处理数据的存储和操作。
2. 视图(View):负责处理数据的展示和呈现。
3. 控制器(Controller):负责处理应用程序的请求,并在模型和视图之间传递数据。
MVC 框架的工作流程如下:
1. 用户发送请求。
2. 控制器接收请求并处理请求。
3. 控制器通过模型来访问应用程序中的数据。
4. 控制器将处理后的数据发送给视图。
5. 视图将处理后的数据展示在用户的浏览器中。
常见的 MVC 框架包括:Spring MVC、Ruby on Rails、Django、ASP.NET MVC 等。
MVC 框架最主要的优点是将应用程序的构建解耦,提高了程序的可扩展性和可维护性。模型和视图之间的分离使得开发人员可以独立地修改这两个组件,而对于控制器的修改则不会影响到其他组件。此外,MVC 框架还提供了可重复使用的代码和模块,可以加速开发过程。
需要注意的是,MVC 框架虽然提供了很多优点,但是它并不一定适用于每一个应用程序。在选择框架时,开发者需要根据自身的需求和技能水平来选择适合自己的框架。
2.4 B/S技术架构
VB/S技术架构是在C/S技术架构下通过技术改进而得到的模型,它作为一种通用的服务器和浏览器的架构模式,采用用户层,数据层,逻辑层的三层结构。如图2-1所示
2.5 本章小结
本章对餐饮管理系统所采用的相关技术与框架进行了一个简单概括,阐述了ASP技术的特性,也上我们对利用ASP开发餐饮管理系统有了更深的理解和利用所选的开发环境对系统进行设计与搭建、sqlserver数据库等。针对系统对各个技术框架进行选择,并确定了系统设计的最优方案。
3.4 用例分析
(1) 商家管理
表3-1 商家管理用例分析
用例名称 | 前置条件 | 操作步骤 |
商家管理 | 系统登录正常,网络连接正常。 | (1)管理员打开系统。 (2)进入登录页面,输入顾客名及密码。 (3)登录成功进入系统主面。 (4)单击商家进入商家管理界面。 (5)单击查询按钮,进入商家查询结果显示界面。 (6)按提示,对商家信息进行添加,删除和修改等操作。 |
(2)顾客管理
表3-2 顾客管理用例分析
用例名称 | 前置条件 | 主要操作 |
顾客管理 | 系统登录正常,网络连接正常。 | (1)管理员打开系统。 (2)进入登录页面,输入顾客名及密码。 (3)登录成功进入系统主界面。 (4)单击进入顾客管理界面。 (5) 单击查询按钮,进入顾客查询结果显示界面。 (6)按提示,对顾客信息进行添加,删除和修改等操作。 (7)更新顾客信息表。 |
(3)管理员管理
表3-3 管理员管理用例分析
用例名称 | 前置条件 | 主要操作 |
管理员管理 | 系统登录正常,网络连接正常。 | (1)管理员打开系统。 (2)进入登录页面,输入顾客名及密码。 (3)登录成功进入系统主界面。 (4)单击进入管理员管理界面。 (5) 单击查询按钮,进入管理员查询结果显示界面。 (6)对管理员信息进行添加,删除和修改等操作。 (7)更新管理员信息表。 |
3.5 本章小结
本章主要是对系统进行分析,介绍了系统的经济可行性分析,技术可行性分析,功能需求分析,用例分析,运行环境分析等,明确了系统开发可能会遇见的困难。
4 系统设计
本章将从系统架构设计、系统业务流程两个方面具体介绍软件部分的设计方案。
4.1 系统功能结构图
系统功能需求包含业务需求、功能需求和顾客需求;对系统的功能上的需求分析是指通过了解开发的技术与实力,顾客的习惯等各因素的前提下进行分析,了解最基本的需求后,基本功能如下:
本课题要求实现优质的餐饮管理系统,就一定要包含有数据库、服务器相联系,从而实现系统的功能运转。整个系统主要分为管理员、顾客和商家三个角色,其中包括首页,个人中心,顾客管理,商家管理,菜品信息管理,菜品分类管理,我的收藏管理,系统管理等功能。
本系统的功能结构图如下所示:
4.1.1 用户
用户功能介绍如下:
登录到用户界面:用户使用已经注册好的账号与密码在登录界面进行登录,系统通过对比数据库中的数据判断用户是否存在,倘若数据正确,则进入到首页。
查询菜品信息:用户进入主页,在菜品信息栏下,可通过菜品名称,选择菜品类型与口味来选择自己喜欢的菜品。
下订单:用户进入主页后,在菜品信息栏点击菜品图片进入菜品详情页,点击立即购买或加入购物车,在购物车里付款即可完成此次订单。
收藏菜品:在浏览菜品时,觉得菜品还不错,可以收藏菜品,在个人中心里面可以看到自己收藏的菜品。
评价菜品:在食用完成之后,倘若对菜品有什么看法,可以在菜品栏点击想评价的菜品,点击评论按钮即可评论菜品。
查看订单:在个人中心里点击“我的订单”即可查看自己的所有订单。
4.1.2 商家
商家功能介绍如下:
登录到商家界面:商家使用已经注册好的账号与密码在登录界面进行登录,系统通过对比数据库中的数据判断商家是否存在,倘若数据正确,则进入到首页。
管理订单信息:商家在登陆后,点击订单管理,界面会显示所有订单信息,包括未支付订单,已支付订单,已完成订单等等,在顾客下单以后,当商家发完菜品,可在已支付订单中点击发货来告诉顾客,菜品已经发货。
管理菜品信息:点击菜品信息管理,商家可以新增或删除菜品,也可在菜品信息后,点击查看评论来查看顾客对此菜品的评价,点击修改来修改已有菜品的信息。
菜品类型管理:点击菜品类型,可以在此界面新增或删除或修改所有的菜品类型。
4.1.3 管理员
管理员功能介绍如下:
登录到管理员界面:管理员使用已经注册好的账号与密码在登录界面进行登录,系统通过对比数据库中的数据判断管理员是否存在,倘若数据正确,则进入到首页。
顾客管理:点击顾客管理可以查看和修改已注册的所有顾客信息,还可以使用新增功能来新增顾客来代替注册顾客。
商家管理:点击商家管理可以查看和修改已注册的所有商家信息,还可以使用新增功能来新增商家来代替注册商家。
系统管理:点击系统管理,可以查看金额修改系统的页面,如系统简介,关于我们,系统简介,公告资讯的新增信息与删除信息。
4.2 主要功能流程
4.2.1 用户功能模块
根据系统功能分析,在整个系统的视线过程中,用户模块要实现的功能有下单,购买,收藏,评价等功能,其中最为主要的功能为用户登录与下单功能。用户登录功能流程图如下图4-2所示,用户购餐功能流程图如下图4-3所示。
(2)购餐模块
4.3.3 数据库物理结构设计
一个数据库的物理结构设计是对数据库中实体属性的数据类型,长度,说明等作为设计。根据我们对系统的具体分析设计,对应实体的概念模型,建立出实体对应的物理模型,然后再数据库中建立对应的表。
本系统采用sqlserver管理数据,系统使用的数据表具体展示部分如下所示。
(1)配置文件表
表4-1配置文件表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
name | varchar | 100 | 配置参数名称 | |
value | varchar | 100 | 配置参数值 |
(2)顾客信息表
表4-2顾客信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
username | varchar | 100 | 顾客名 | |
password | varchar | 100 | 密码 | |
role | varchar | 100 | 角色 | |
addtime | timestamp | 新增时间 |
(3)购物车信息表
表4-3购物车信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
addtime | timestamp | 创建时间 | ||
tablename | varchar | 200 | 商品表名 | |
userid | bigint | 顾客id | ||
goodid | bigint | 商品id | ||
goodname | varchar | 200 | 商品名称 | |
picture | longtext | 4294967295 | 图片 | |
buynumber | int | 购买数量 | ||
price | float | 单价 | ||
discountprice | float | 会员价 | ||
shangjiazhanghao | varchar | 200 | 商户名称 |
(5)用户收藏信息表
表4-5收藏信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
addtime | timestamp | 创建时间 | ||
userid | bigint | 顾客id | ||
refid | bigint | 商品id | ||
tablename | varchar | 200 | 表名 | |
name | varchar | 200 | 名称 | |
picture | longtext | 4294967295 | 图片 | |
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | |
inteltype | varchar | 200 | 推荐类型 | |
remark | varchar | 200 | 备注 |
(6)商家信息表
表4-6商家信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
addtime | timestamp | 创建时间 | ||
shangjiazhanghao | varchar | 200 | 商家账号 | |
mima | varchar | 200 | 密码 | |
shangjiamingcheng | varchar | 200 | 商家名称 | |
shangjiadizhi | varchar | 200 | 商家地址 | |
lianxidianhua | varchar | 200 | 联系电话 | |
shangjiafengmian | longtext | 4294967295 | 商家封面 | |
shangjiajianjie | longtext | 4294967295 | 商家简介 | |
youxiang | varchar | 200 | 邮箱 | |
money | float | 余额 |
(7)菜品信息表
表4-7菜品信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 |
id | bigint | 主键 | 主键 | |
addtime | timestamp | 创建时间 | ||
qichebianhao | varchar | 200 | 菜品编号 | |
qichemingcheng | varchar | 200 | 菜品名称 | |
qicheleixing | varchar | 200 | 菜品类型 | |
qichetupian | longtext | 4294967295 | 菜品图片 | |
pinpai | varchar | 200 | 口味 | |
yanse | varchar | 200 | 颜色 | |
qichexiangqing | longtext | 4294967295 | 菜品详情 | |
shangjiazhanghao | varchar | 200 | 商家账号 | |
shangjiamingcheng | varchar | 200 | 商家名称 | |
clicktime | datetime | 最近点击时间 | ||
clicknum | int | 点击次数 | ||
price | float | 价格 |