网上订餐系统分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.3 系统功能分析

2.3.1 系统功能实现

本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理、信息反馈等模块。需要完成的主要任务如下:当客户进入网上订餐时,应该在主页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除以生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。

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

图2.1系统整体框架图

2.3.2 系统需求分析

用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和UML 三种方式。UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程[12]。本系统使用UML中的用例图、活动图、状态图来对需求建模。

用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。通过分解系统目标,用例图描述活动者为了实现这些目标而执行的所有步骤。此方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的用例来不断细化自己的需求。此外,使用用例还可以方便地得到系统功能的测试用例。

1.角色分析

分析的第一步是定义用例,以描述系统的外部功能需求。用例分析包括阅读和分析需求说明,此时需要与系统的潜在用户进行讨论。根据上述需求,通过分析,网上订餐角色分为两大类:用户和系统管理员。

2.用例分析

在确认角色的基础上,确认用例。网上订餐系统中的用例有:用户管理、订单管理、登录系统、菜品信息管理等等。

本系统的用户用例图如图2.2所示。进行的操作包括订餐服务、信息浏览、订单管理等。

图2.2 订餐用户使用例图

管理员分为两类:一类是系统管理员用例图如图2.3所示。管理员进行的操作(后台操作)包括用户管理,信息的浏览、添加、删除、修改等等。

图2.3 系统管理员使用例图

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

图2.4 订餐管理员使用例图

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

1.用户登录

图2.5 用户登录

用户登录实现为本网站注册用户提供身份确认的功能,保证合法用户的应有权益。而且是否登录也将决定用户能否订餐。用户登录的前置条件是在登录前,用户必须完成“注册”。

2.订餐服务

图2.6 订餐服务

在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜品及其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。本用例开始前用户必须登录到系统中。如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删除。

3.查看历史订单:

图2.7 查看历史订单

注册用户可以查看自己的历史订单,在历史订单中,可以浏览曾经订购过的

菜品,对于已经送餐后的菜品,可以进行评分和信息反馈,不能重复评论,某个菜品在这里的评分会影响其在整个网站中的推荐指数。

4.订单处理:

图2.8 订单处理

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

3 数据库设计

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

3.1 数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理流程,组成一份详细的数据字典,为具体设计铺垫[13]。

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

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

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

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

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

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

3.2 系统概要设计

3.2.2 订餐系统E-R图

E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型[14]。构成E-R图的基本要素是实体型、属性和联系,其表示方法为,实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,系统E-R图如图3.1所示。

图3.1订餐系统E-R图

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

图3.2 用户E-R图

图3.3 订单条目E-R图

图3.5 订单E-R图

图3.6 菜单E-R图

3.3 逻辑设计

3.3.1 逻辑设计概述

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

3.3.2 数据表的设计

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

表3.1 订单条目表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

相关文档
最新文档