网上订餐系统分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网上订餐系统分析 Company number:【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
Yes No
备注Nvarchar
(MAX)
订餐姓名Nvarchar(50)No No
订餐时间Datetime Yes No
金额总价Float Yes No