外卖供应商服务评价系统.docx
《外卖供应商服务评价系统.docx》由会员分享,可在线阅读,更多相关《外卖供应商服务评价系统.docx(26页珍藏版)》请在冰点文库上搜索。
![外卖供应商服务评价系统.docx](https://file1.bingdoc.com/fileroot1/2023-6/11/618d8858-a8a5-48b7-afe1-4085468197bd/618d8858-a8a5-48b7-afe1-4085468197bd1.gif)
外卖供应商服务评价系统
1需求分析
本外卖供应商服务评价系统(TES)的需求分析将从编写目的、背景、定义、目标、系统功能描述等几个方面来分析。
1.1编写目的
搜集所有外卖商信息,集所有客户的评价信息为一体,让该系统的使用成员能更好的反应和了解周边外卖服务信息,从而选择最佳的外卖服务。
1.2背景
当生活节奏日益加快,人们越来越倾向简单生活。
从传统的“以食为天”到今天的“没空做饭”,现在的上班族和学生正经历着不小的转变。
做饭和工作紧张的矛盾不断升级,造就了外卖/送餐业务的蓬勃发展。
1.2.1外卖供应服务的发展历史
随着我国经济多年的快速发展,人们普通生活得到了改善与提高,基本上从以前的温饱需要开始走向追求健康美味的更高要求。
尽管餐饮食品外卖产业发展一直快速发展,但餐饮食品的用料成本大幅增加,人员工资以及餐饮食品必要的环境以及保证设施投入成本更是总体提升等。
而且这种趋势今后几年仍会持续。
快捷准时,卫生可口以及营养配餐是考核全球餐饮外卖产业规范发展的三大基本条件以及系统准则。
快捷准时是基础,卫生美味可口是保证,营养配餐是目标。
但目前的餐饮食品外卖以经济快餐为主,各种家庭型朋友聚会型等配餐外送等逐渐兴起。
总体上来说:
与上述条件有很大差距,快捷准时正在提高改善,卫生可口目前还远远不够,目前用的外送工具如塑料框塑料袋等无法予以保证,用多功能豪华外送箱的仅是微乎其微,营养配餐对目前的外卖来说还只是一个远景目标。
餐饮食品外卖将走进家庭以及各种家庭型朋友聚会型等配餐外送等必会逐渐兴起。
由于人们的生活节奏逐渐加快,以及人们的经济能力已经足以满足家庭型不同人员对美味的不同需要,而这种需要完全可通过专业大厨来实现以及规范的外卖外送来完成。
当然前提是必须保证外卖外送过程必须通过具有保味功能的专业外送箱来储运。
特别是节日时亲朋好友聚会,一方面是品尝美味佳肴,另一方面就是在宽松的氛围下无所顾及畅谈互动。
1.2.2外卖服务评价系统开发背景
本外卖服务系统通过搭建客户评价平台来完成客户对所选外卖提供商的选择、评价,给广大客户选择一个适合自己的最好的外卖商提供渠道,缩短客户和商家消费和生产之间的时间路径、空间路径和人际路径。
从而加快信息的传递速度,增强商家营销竞争力,提高商家的服务质量。
客户可以浏览各外卖商开放的业务和信息,可以查询外卖商的信息,可以对自己所选商家进行评价,给广大客户选择外卖时提供一个良好的意见。
当客户登录本服务系统时,客户可以浏览、查询外卖商信息,可查询客户对各外卖商的评价等。
本外卖服务评价系统同样提供了一定的后台管理功能,系统管理员可以管理可以管理外卖商信息,包括更新、修改外卖商信息等;可以管理评价信息,统计各项数据。
项目名称:
外卖供应商服务评价系统(Take-awayevaluationsystem简称TES)
项目提出者:
江财TES项目开发人员
项目开发者:
TES项目开发小组。
项目鉴定者:
待定
项目开始时间:
2010-10-30
1.3目标
当系统管理人员使用了《外卖供应商服务评价系统TES》软件后,可以通过计算机完成以下几方面的管理工作:
外卖商信息管理、评分管理。
外卖供应商服务评价系统TES客户分为三类:
(1)系统管理员:
此类客户可以取得商城管理员的权限,可以浏览所有客户信息,查找客户,给客户分配合理的权限,删除不合法客户等。
(2)注册客户:
必须在系统注册(不注册无法登入本系统),登录本系统后,这类客户可以浏览系统提供的外卖商信息,也可以进行外卖商服务评价。
1.4需求分析
1.4.1系统的功能描述
作为外卖服务评价系统,前台评价系统提供以下功能:
客户信息管理,外卖商信息管理,打分评价管理。
(1)客户信息管理
①客户必须注册才能使用此系统服务,一个客户只能拥有一个注册号(客户名),注册号可由客户根据自己的喜好自行定义,但必须唯一且在6-16位以内,且第一位必为字母C,其他只能由数字组成。
②同一时间内一个注册号不能在多处登录。
客户所填资料必须真实,其中注册号、密码、姓名、性别、地址为必填资料。
③客户注册成功以后,其注册信息将自动被加入客户表中。
登录系统后,客户可以查询或修改个人信息。
(2)外卖商信息管理
①客户登录本系统后,可以浏览本系统所提供的所有外卖商详细信息。
②客户登录本系统后,可以查找自己所需要的外卖商信息。
(3)评分管理
①客户登入本系统后,可以浏览查询外卖商评分表。
②客户登入本系统后,可以分别按服务态度、外卖价格、送餐速度、外卖口感查找满意的外卖商。
②客户登录本系统后,可以对外卖商各项指标进行打分评价(100分为满分)
a.服务态度(20分表示很满意)
b.外卖价格(30分表示很合理)
c.送餐速度(20分表示能非常快速的送到)
e.外卖口感(30分表示很满意)
本系统的后台管理系统将提供客户管理、外卖商管理,评分管理等功能,具体描述如下:
(1)客户管理
①为客户建立一张基本表,用于添加客户个人信息,客户登录后可以维护自己的个人信息。
②为客户赋予查询或修改个人信息的权利。
(2)外卖商管理
①若某外卖商地址、电话等信息改变时,则对应更新系统数据信息。
②若某外卖商已不再营业时,应将该外卖商信息删除。
③若有新增外卖商时,将外卖商按不同的种类分类管理,分类标准为:
所属地区。
(3)评分管理
①统计每个外卖商平均评分。
②按地区统计每个外卖商平均评分。
③按服务态度、外卖价格、送餐速度、外卖口感分别统计平均评分。
1.4.2系统总体功能图
根据上节分析的系统功能需求,我们可以得到系统的功能模块,如图1.1所示。
图1.1系统功能图
1.4.5实体与数据
通过对系统各方面的分析,我们可以知道系统中的实体包括:
客户,外卖商,地区,员工,外卖,交易表,员工评分表,外卖评分表。
各实体包含的数据项分别如下:
(1)客户:
注册号,密码,地址,注册日期,电话,性别,姓名。
(2)外卖商:
外卖商编号,外卖商名称,所属地区,服务电话。
(3)所属地区:
地区编号,地区名。
(4)员工:
员工号,员工名。
(5)外卖:
外卖编号,外卖名。
1.4.6联系与数据
通过以上的实体与数据我们可以得到如下实体间的联系:
(1)交易表:
交易编号,员工号,外卖编号,注册号。
(2)员工评分表:
交易编号,员工服务评分,送餐速度评分。
(3)外卖评分表:
交易编号,价格评分,口感评分。
(4)评价总表:
外卖商编号,员工服务平均评分,送餐速度平均评分,外卖价格平均评分,外卖口感平均评分,总评分。
通过以上分析,我们作如下规定:
(1)一个外卖商只可以属于一个地区,一个地区可以有多个外卖商;
(2)一个客户对应多张员工评分表,一张员工评分表对应一个客户;
(3)一个客户对应多张外卖评分表,一张外卖评分表对应一个客户。
(4)一张交易表对应一个客户,一个客户可以对应多张交易表。
(5)一个外卖商对应多张交易表,一张交易表对应一个外卖商。
(6)一张评价总表分别对应多张员工评分表和多张外卖评分表,一张员工评分表和一张外卖评分表分别对应一张评分总表。
实体之间的联系有:
(1)外卖商与所属地区之间(1:
N)
(2)客户与员工评分表之间(N:
1)
(3)客户与外卖评分表之间(N:
1)
(4)客户与交易表之间(N:
1)
(5)外卖商与交易表(N:
1)
(6)评分总表与员工评分表(N:
1)
(7)评分总表与外卖评分表(N:
1)
1.4.7数据字典
数据字典包括数据项、数据结构、数据流、数据处理4个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
(1)数据项,如表1.1所示。
表1.1数据项表
数据项
数据类型
别名
含义说明
取值范围
取值含义
cust_id
char(6)
注册号
唯一标识每一客户
C00001-C99999
C代表客户,后五位按顺序编号
cust_code
char(12)
密码
6-12位,由字母和数字组成
输错次数不得超过三次
cust_name
char(10)
客户名称
不得超过5字
用文字说明
address
char(40)
地址
不得超过20字
用文字说明
tel_no
char(11)
电话
00000000000-99999999999
若输入家庭号码,则要输入地区号
Reg_date
datetime
注册日期
yyyy-mm-dd
注册日期必须在系统日期之前
sex
char
(2)
性别
f/m
f代表男性,m代表女性
busn_no
char(6)
外卖商编号
唯一标识每一外卖商
B00001-B99999
B代表外卖商,后五位按顺序编号
busn_name
char(40)
外卖商名称
不得超过20字
用文字说明
area_name
char(40)
外卖商所属地区
不得超过20字
用文字说明
busn_tel
char(11)
服务电话
00000000000-99999999999
若输入固定电话号码,则要输入区号
area_no
char(3)
地区编号
唯一标识每一地区
A001-A999
A代表地区,后三位按顺序编号
emp_no
char(8)
员工编号
唯一标识每一员工
E0000001-E9999999
E代表员工,后七位按顺序编号
emp_name
char(10)
员工姓名
不得超过5字
用文字说明
dish_no
char(5)
外卖编号
唯一标识每一外卖
T0001-T9999
T代表外卖,后四位按顺序编号
dish_name
char(20)
外卖名称
不得超过10字
用文字说明
sell_no
char(8)
交易编号
唯一标识每笔交易
t0000001-t9999999
t代表交易,后七位按顺序编号
serve_sco
int
员工服务评分
01-20
一个员工的服务评分
speed_sco
int
送餐速度评分
01-20
一个员工的送餐速度评分
price_sco
int
外卖价格评分
01-30
外卖的价格评分
taste_sco
int
外卖口感评分
01-30
外卖的口感评分
serve_avg
int
员工服务平均评分
01-20
一个外卖商所有员工服务平均评分
speed_avg
int
送餐速度平均评分
01-20
一个外卖商所有员工的送餐速度平均评分
price_avg
int
外卖价格平均评分
01-30
一个外卖商外卖价格平均评分
taste_avg
int
外卖口感平均评分
01-30
一个外卖商外卖口感平均评分
totscore_avg
int
外卖商综合平均评分
01-100
一个外卖商综合平均评分
(2)数据结构
①数据结构:
客户
含义说明:
是客户管理子系统的主体数据结构,定义了一个客户的有关信息
组成:
注册号,密码,地址,注册日期,电话,性别,姓名
②数据结构:
外卖商
含义说明:
是外卖商管理子系统的主体数据结构,定义了一个外卖商的有关信息
组成:
外卖商编号,外卖商名称,所属地区,服务电话
③数据结构:
地区类别
含义说明:
定义了一个外卖商属于哪个地区的有关信息
组成:
地区编号,地区名
④数据结构:
员工
含义说明:
定义了一个员工的有关信息
组成:
员工号,员工名,外卖商编号
⑤数据结构:
外卖
含义说明:
定义了一种外卖的有关信息
组成:
外卖编号,外卖名
⑥数据结构:
交易表
含义说明:
是外卖交易管理子系统的主体数据结构,定义了一个外卖交易的有关信息
组成:
交易编号,员工号,外卖编号,注册号
⑦数据结构:
员工评分
含义说明:
是员工评分管理子系统的主体数据结构,定义了一张员工评分表的有关信息
组成:
交易编号,注册号,员工服务评分,送餐速度评分
⑧数据结构:
外卖评分
含义说明:
是外卖评分管理子系统的主体数据结构,定义了一张外卖评分表的有关信息
组成:
交易编号,价格评分,口感评分
(3)数据流
略
(4)数据处理
数据处理过程如表1.2所示。
表1.2数据处理表
数据存储名
功能
处理说明
insert_cust
插入新的客户信息
当客户成功注册后,自动在客户表中添加该客户的注册信息
select_cust
查询客户个人信息
登录系统后,客户可以查询个人信息
update_cust
修改客户个人信息
登录系统后,客户可以修改个人信息
delete_cust
删除客户信息
若客户离最后一次登录的时间超过一年,则管理员删除该客户信息
code_detect
检测客户的注册密码是否符合要求
当客户输入密码时,自动检测密码是否在6-12位之间,否则将提示其重新输入
select_busn
查询外卖商
当客户查询时,可以查询所有外卖商信息
insert_busn
添加新的外卖商信息
在存储过程中用insert语句添加新的外卖商信息
insert_kind
添加新的外卖商地区类别信息
添加新的外卖商信息时,若其属于新的地区类别,则应先在类别表中添加该地区类别
delete_busn
删除外卖商信息
当外卖商不再营业时,删除外卖商信息
chan_tel
修改外卖商服务电话
当外卖商服务电话改变时,修改服务电话
insert_emp
添加外卖商员工信息
添加新的员工信息
delete_emp
删除外卖商员工信息
员工不存在时,删除此员工信息
insert_dish
添加外卖商外卖信息
当外卖商添加外卖时,添加外卖信息
chan_dish
修改外卖信息
当某外卖商外卖信息改变时,修改外卖信息
delete_dish
删除外卖信息
当某外卖商不再经营此外卖时,删除外卖信息
kind_select
按地区查询外卖商信息
客户可以输入外卖商地区查询自己想要的外卖商
busm_name_select
按外卖商名称查询外卖商信息
客户可以输入外卖商名称查询自己想要的外卖商
avg_serve
统计每个外卖商员工服务平均评分
根据员工评分表统计每个外卖商服务平均评分
avg_speed
统计每个外卖商送餐速度平均评分
根据员工评分表统计每个外卖商送餐速度平均评分
avg_price
统计每个外卖商外卖价格平均评分
根据外卖评分表统计每个外卖商外卖价格平均评分
avg_taste
统计每个外卖商外卖口感平均评分
根据外卖评分表统计每个外卖商外卖口感平均评分
avg_totscore
统计每个外卖商综合平均评分
根据外卖总表表统计外卖总表中totoscore_avg值
2概念设计
通过对客户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,并采用自底向上的方法.用E-R图表示各实体之间的联系。
2.1实体图
通过需求分析我们得到客户,商品,优惠表和仓库等最基本的实体,画出它们的实体图如下:
(1)客户实体图,如图2.1所示。
图2.1客户实体图
(2)外卖商实体图,如图2.2所示。
图2.2外卖商实体图
(3)所属地区实体图,如图2.3所示。
图2.3所属地区实体图
(4)员工实体图,如图2.4所示。
图2.4员工实体图
(5)外卖实体图,如图2.5所示。
图2.5外卖实体图
2.2多个实体间的联系图
实体与实体间有多种联系,画出各种实体间的联系图如下:
(1)外卖商与所属地区之间的联系图,如图2.6所示。
图2.6外卖商与所属地区
(2)客户与员工之间的联系图,如图2.7所示。
N
1
图2.6客户与员工联系图
(3)客户与外卖之间的联系图,如图2.7所示。
1
N
图2.7客户与外卖联系图
(4)外卖商和客户之间的联系图,如
N
M
图2.8外卖商和客户联系图
2.3总体ER图
通过以上分ER图,我们得到下面的总ER图,如图2.9所示。
1
N
图2.9总ER图
3逻辑设计
本次设计的数据库在SQLServer2000上实现,将概念结构设计中的E-R图转换成SQLSever2000支持的关系数据模型。
3.1关系设计
关系设计包括实体转换和联系转换。
(1)实体转换
将每个单独的实体转换为一张单独的表,具体转换如下:
客户:
注册号,密码,地址,注册日期,电话,性别,姓名。
外卖商:
外卖商编号,外卖商名称,所属地区,服务电话。
所属地区:
地区编号,地区名。
员工:
员工号,员工名。
外卖:
外卖编号,外卖名。
(2)联系转换
一个实体型转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
外卖商表:
外卖商编号,外卖商名称,所属地区,服务电话,地区编号
员工表:
员工号,员工名,外卖商编号
外卖表:
外卖编号,外卖名,外卖商编号
交易表:
交易编号,员工号,外卖编号,注册号。
员工评分表:
交易编号,员工服务评分,送餐速度评分。
外卖评分表:
交易编号,价格评分,口感评分。
评价总表:
外卖商编号,员工服务平均评分,送餐速度平均评分,外卖价格平均评分,外卖口感平均评分,总评分
3.2关系优化
为了减少以上表数据的冗余,将表优化,结果如下:
(1)客户表:
函数依赖集为F1={注册号→(密码,地址,注册日期,电话,性别,姓名)}∈2NF
主属性:
注册号
非主属性:
密码,地址,注册日期,电话,性别,姓名
主键:
注册号
(2)外卖商表:
函数依赖集为F2={外卖商编号→(外卖商名称,服务电话,地区编号)}∈3NF
主属性:
外卖商编号
非主属性:
外卖商名称,所属地区,服务电话,地区编号
主键:
外卖商编号
(3)所属地区表:
函数依赖集为F3={地区编号→(地区名)}∈3NF
主属性:
地区编号
非主属性:
地区名
主键:
地区编号
(4)交易表:
函数依赖集为F4={交易编号→(员工号,外卖编号,注册号)}∈3NF
主属性:
交易编号
非主属性:
员工号,外卖编号,注册号
主键:
交易编号
(5)员工评分表:
函数依赖集为F5={交易编号→员工服务评分,送餐速度评分}∈3NF
主属性:
交易编号
非主属性名:
员工服务评分,送餐速度评分
主键:
交易编号
(6)外卖评分表:
函数依赖集为F6={交易编号→(交易编号,价格评分,口感评分)}∈3NF
主属性:
交易编号
非主属性:
交易编号,价格评分,口感评分。
主键:
交易编号
(7)评价总表:
函数依赖集为F6={外卖商编号→(员工服务平均评分,送餐速度平均评分,外卖价格平均评分,外卖口感平均评分,总评分)}∈3NF
主属性:
外卖商编号
非主属性:
员工服务平均评分,送餐速度平均评分,外卖价格平均评分,外卖口感平均评分,总评分
主键:
外卖商编号
3.3约束的说明
根据参照完整性,表与表之间有主键、外键、客户自定义约束。
(1)注册号为客户表的主键,且在6-16位以内,且第一位必为字母C,其他只能由数字组成,即同时对注册号设立客户自定义约束。
(2)性别只能为‘m’或’f’,对性别设立客户自定义约束。
(3)客户密码必须在6-12位之间。
(4)外卖商表中外卖商编号为主键。
(5)所属地区表中地区编号为主键。
(6)员工表中员工编号为主键。
(7)员工表中的外卖商编号应参照外卖商表中的外卖商编号。
(8)外卖表中外卖编号和外卖商编号为主键。
(9)外卖表中的外卖商编号应参照外卖商表中的外卖商编号。
(10)交易表中的交易编号为主键。
(11)员工评价表和外卖评价表中的交易编号均参照交易表中的交易编号。
(12)员工评分表和外卖评分表中的员工服务评分、送餐速度评分、价格评分、口感评分默认为“0”。
(13)评分总表在员工评分表和外卖评分表生成后自动生成,当员工评分表和外卖评分表数据改变时,评分总表相应速度也随着改变。
3.4基本表
通过上面的关系转换与关系优化,我们最终得到11张基本表。
(1)客户表(customer表)如表3.1所示。
表3.1客户表
属性名
数据类型
是否为空
含义
是否为主键
cust_id
char(6)
notnull
注册号
primarykey
cust_code
char(12)
notnull
密码
addr
char(40)
notnull
地址
regis_date
getdate()
null
注册日期
tel_no
char(11)
notnull
电话
sex
char
(2)
notnull
性别
cust_name
char(8)
notnull
姓名
(2)外卖商(business表)如表3.2所示。
表3.2外卖商表
属性名
数据类型
是否为空
含义
是否为主键
busn_no
char(6)
notnull
外卖商编号
primarykey
busn_name
char(40)
notnull
外卖商名称
busn_tel
char(11)
notnull
服务电话
area_no
char(3)
notnull
地区编号
(3)地区表(area表)如表3.3所示。
表3.3地区表
属性名
数据类型
是否为空
含义
是否为主键
area_no
char(3)
notnull
地区编号
primarykey
area_name
char(40)
notnull
外卖商所属地区
(4)员工表(employee表)如表3.4所示。
表3.4员工表
属性名
数据类型
是否为空
含义
是否为主键
emp_no
char(8)
notnull
员工编号
primarykey
emp_name
char(10)
notnull
员工姓名
busn_no
char(6)
notnull
外卖商编号
(5)外卖表(dish表)如表3.5所示。
表3.5外卖表
属性名
数据类型
是否为空
含义
是否为主键
dish_no
char(5)
notnull
外卖编号
primarykey
dish_name
char(20)
notnull
外卖名称
busn_no
char(6)
notnull
外卖商编号
(6)交易表(sell表)如表3.4.6所示。
表3.6交易表
属性名
数据类型
是否为空
含义
是否为主键
sell_no
char(8)
notnull
交易编号
primarykey
cust_id