网上订餐系统分析.docx

上传人:b****6 文档编号:15718573 上传时间:2023-07-07 格式:DOCX 页数:10 大小:48.18KB
下载 相关 举报
网上订餐系统分析.docx_第1页
第1页 / 共10页
网上订餐系统分析.docx_第2页
第2页 / 共10页
网上订餐系统分析.docx_第3页
第3页 / 共10页
网上订餐系统分析.docx_第4页
第4页 / 共10页
网上订餐系统分析.docx_第5页
第5页 / 共10页
网上订餐系统分析.docx_第6页
第6页 / 共10页
网上订餐系统分析.docx_第7页
第7页 / 共10页
网上订餐系统分析.docx_第8页
第8页 / 共10页
网上订餐系统分析.docx_第9页
第9页 / 共10页
网上订餐系统分析.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

网上订餐系统分析.docx

《网上订餐系统分析.docx》由会员分享,可在线阅读,更多相关《网上订餐系统分析.docx(10页珍藏版)》请在冰点文库上搜索。

网上订餐系统分析.docx

网上订餐系统分析

Companynumber:

【0089WT-8898YT-W8CCB-BUUT-202108】

 

网上订餐系统分析

系统功能分析

2.3.1系统功能实现

本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。

需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理、信息反馈等模块。

需要完成的主要任务如下:

当客户进入网上订餐时,应该在主页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。

当客户选择预定某个菜品时,应该能够将对应菜品信息,如:

价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除以生成订单的购物车中的信息。

餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。

分析网上订餐系统,制订整个系统框架如下:

图系统整体框架图

2.3.2系统需求分析

用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和UML三种方式。

UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

它溶入了软件工程领域的新思想、新方法和新技术。

它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程[12]。

本系统使用UML中的用例图、活动图、状态图来对需求建模。

用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。

通过分解系统目标,用例图描述活动者为了实现这些目标而执行的所有步骤。

此方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的用例来不断细化自己的需求。

此外,使用用例还可以方便地得到系统功能的测试用例。

1.角色分析

分析的第一步是定义用例,以描述系统的外部功能需求。

用例分析包括阅读和分析需求说明,此时需要与系统的潜在用户进行讨论。

根据上述需求,通过分析,网上订餐角色分为两大类:

用户和系统管理员。

2.用例分析

在确认角色的基础上,确认用例。

网上订餐系统中的用例有:

用户管理、订单管理、登录系统、菜品信息管理等等。

本系统的用户用例图如图所示。

进行的操作包括订餐服务、信息浏览、订单管理等。

图订餐用户使用例图

管理员分为两类:

一类是系统管理员用例图如图所示。

管理员进行的操作(后台操作)包括用户管理,信息的浏览、添加、删除、修改等等。

图系统管理员使用例图

另一类管理员是订餐管理人员,专门负责处理用户预约的订单,用例图如图所示。

图订餐管理员使用例图

除了用用例图描述系统需求以外,以下用活动图对系统的主要例进行说明,更具体地描述该用例与角色的交互。

1.用户登录

图用户登录

用户登录实现为本网站注册用户提供身份确认的功能,保证合法用户的应有权益。

而且是否登录也将决定用户能否订餐。

用户登录的前置条件是在登录前,用户必须完成“注册”。

2.订餐服务

图订餐服务

在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜品及其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。

本用例开始前用户必须登录到系统中。

如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删除。

3.查看历史订单:

图查看历史订单

注册用户可以查看自己的历史订单,在历史订单中,可以浏览曾经订购过的菜品,对于已经送餐后的菜品,可以进行评分和信息反馈,不能重复评论,某个菜品在这里的评分会影响其在整个网站中的推荐指数。

4.订单处理:

图订单处理

处理订单的过程是订餐管理人员参与的,当前台有新的订单生成时,会自动在后台的现有订单列表中显示出来,订餐管理人员可以点击查看未处理的订单,根据实际情况进行处理,或者删除不需要的订单记录。

3数据库设计

数据库设计一般分为六个阶段。

之前已经完成需求分析,现在需要进行概念设计、逻辑设计和物理设计,本章将叙述这三个阶段的设计思路和设计过程。

数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。

收集基本数据、数据结构以及数据处理流程,组成一份详细的数据字典,为具体设计铺垫[13]。

通过系统功能分析,针对网上订餐需求,总结为:

1.分为一般用户和管理员用户,只有用户身份才能进行前台订餐,只有管理员身份才能进行后台管理;

2.订单分成单张订单详情和总订单表,一张订单中含有多个订单明细;

3.每一道菜品都从属于一种类型。

4.一个用户可以订购多个菜品。

5.一个用户对应多张订单表。

系统概要设计

3.2.2订餐系统E-R图

E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[14]。

构成E-R图的基本要素是实体型、属性和联系,其表示方法为,实体型:

用矩形表示,矩形框内写明实体名;属性:

用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;联系:

用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,系统E-R图如图所示。

图订餐系统E-R图

以下是主要数据表的E-R图:

图用户E-R图

图订单条目E-R图

图订单E-R图

图菜单E-R图

逻辑设计

3.3.1逻辑设计概述

数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化

3.3.2数据表的设计

数据库的主要表详细结构如下:

表订单条目表orderinfo

Field

Type

Null

Key

Comment

ID

Int

No

Yes

标识递增

订单ID

Int

No

No

外键,对应于订单中的“订单ID”

菜名

Nchar(10)

No

No

默认值是“待送餐”

数量

Int

No

No

单价

Float

Yes

No

评分

Int

Yes

No

默认为“0分”

Back

订单

Yes

No

顾客订餐的信息反馈

表订单表orderlist

Field

Type

Null

Key

Comment

订单ID

Int

No

Yes

标识递增

用户ID

Int

No

No

外键,对应于用户表中的“用户ID”

订单状态

Nchar(10)

No

No

默认值是“待送餐”

送餐地址

Nvarchar(50)

No

No

备注

Nvarchar(MAX)

Yes

No

订餐姓名

Nvarchar(50)

No

No

订餐时间

Datetime

Yes

No

金额总价

Float

Yes

No

表菜单表menu

Field

Type

Null

Key

Comment

cID

Int

No

Yes

标识递增

菜名

Nvarchar(50)

No

No

价格

Float

No

No

菜介绍

Nvarchar(500)

Yes

No

Scid

Int

Yes

No

菜系id

菜图片

Nvarchar(1000)

Yes

No

存储的是图片的路径

推荐

Nvarchar(50)

Yes

No

表菜分类表cuisine

Field

Type

Null

Key

Comment

Scid

Int

No

Yes

标识递增

种类

Nvarchar(50)

No

No

菜系名

系列介绍

Nvarchar(MAX)

Yes

No

表用户表user

Field

Type

Null

Key

Comment

用户ID

Int

No

Yes

标识递增

uName

Nvarchar(50)

No

No

登录名

uPwd

Nvarchar(50)

No

No

登录密码

真实姓名

Nchar(10)

No

No

性别

Nchar(10)

No

No

菜系id

联系电话

Nvarchar(50)

Yes

No

State

Nvarchar(50)

No

No

ID是否有效,默认值是“未审核”

核心功能实现

4.2.1用户自定义控件说明

1.

该控件是用于在首页中显示不同菜系的介绍信息的,在控件中定义了一个Scid属性,在每次引用控件时,通过设置Scid的值来确定控件该显示那个菜系的信息。

2.

该控件作为导航在页面中引用的,控件的样式和超链接都已经设置好,在需要导航的页面直接引用即可。

3.

该控件是分页显示控件,在控件中定义了三个属性:

CurrentPage,表示当前显示的是第几页,默认值是”1”;PageSize,表示一页显示几条数据,默认值为”10”;RecordCount,是显示信息的总条数,一般是从数据库绑定出的数据总条数来设定其值的。

4.

该控件用于显示菜单信息中的推荐指数,控件中定义了一个s属性,通过设定s的值,便可以显示出相应的推荐指数。

4.2.2信息显示

菜单信息,养生咨询,留言版等信息的显示是通过绑定数据库中相应表单中数据得到的。

当查看其中一项的具体信息时,是通过网页间传递的参数确定的,一般情况下,传递的参数是数据表中的主键值,这样使得信息有确定性。

在菜单表的显示中,网页间传递的参数是数据库中菜单表的主键cID,先显示之前,通[“cID”]获得主键值后,再从数据库中绑定出相信菜名,价格和介绍信息,并在页面中显示出来。

养生咨询,留言板等的信息显示也是这个原理。

只是绑定数据的控件不同,得到的显示效果不尽相同。

4.2.3推荐指数

推荐指数是菜单显示信息中的一个是非常重要意义的信息,其在一定程度上说明菜品的受欢迎程度,可以在顾客选购餐品时提供一个参考建议。

上面的内容中已经提到推荐指数的现实是通过设置控件的s属性。

s属性的值是根据每个订餐用户用餐后对菜品的评分动态生成和改变的,该信息没有专门存储于数据库中。

图是获取s的值的程序流程图

图推荐指数显示

4.2.4分页显示算法

由于网页的布局有限,数据库中的大量信息无法再一张网页上全部显示出来,运用分页显示的技术使得信息按照需要分页显示出来,并且显示效果更加清晰。

对于分页显示,在上述内容提到了分页控件,在需要显示的页面引用这个控件,就可以进行分页显示。

以下是分页显示实现的算法:

4.2.5将选定的菜品添加到购物车的流程如下:

图购物车的实现

2.查看购物车的实现

图查看购物车

3.删除数据购物车列表中的每一行数据后都有“删除”按钮,点击后删除相应的一行数据。

此时Session[“car”]的值应该相应的改变,并重新绑定显示。

4.向数据库填充数据当用户提交订单时,需要将购物车中数据填入数据库中进行保存。

遍历car中的每一行数据,使之一行一行的插入到数据库中。

以上是“购物车”工作的全部流程,在每次订单提交后,car中的数据将全部清除。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2