网上订餐系统分析

上传人:汽*** 文档编号:492351120 上传时间:2022-11-01 格式:DOC 页数:15 大小:587.51KB
返回 下载 相关 举报
网上订餐系统分析_第1页
第1页 / 共15页
网上订餐系统分析_第2页
第2页 / 共15页
网上订餐系统分析_第3页
第3页 / 共15页
网上订餐系统分析_第4页
第4页 / 共15页
网上订餐系统分析_第5页
第5页 / 共15页
点击查看更多>>
资源描述

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

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

2、明细并根据实际情况处理订餐。分析网上订餐系统,制订整个系统框架如下:图2.1系统整体框架图 系统需求分析用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和UML三种方式。UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程12。本系统使用UML中的用例图、活动图、状态图来对需求建模。用例图通过描述“系统”和“活动者”之间的交互活动来描述系统的行为。通过分解系统目标,用例图描述活动者为了实现这些目标而执行的所有步骤

3、。此方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的用例来不断细化自己的需求。此外,使用用例还可以方便地得到系统功能的测试用例。1.角色分析 分析的第一步是定义用例,以描述系统的外部功能需求。用例分析包括阅读和分析需求说明,此时需要与系统的潜在用户进行讨论。根据上述需求,通过分析,网上订餐角色分为两大类:用户和系统管理员。2.用例分析在确认角色的基础上,确认用例。网上订餐系统中的用例有:用户管理、订单管理、登录系统、菜品信息管理等等。本系统的用户用例图如图2.2所示。进行的操作包括订餐服务、信息浏览、订单管理等。图2.2 订餐用户使用例图管理员分为两类:一类是系统管理员用例图如图

4、2.3所示。管理员进行的操作(后台操作)包括用户管理,信息的浏览、添加、删除、修改等等。图2.3 系统管理员使用例图另一类管理员是订餐管理人员,专门负责处理用户预约的订单,用例图如图2.4所示。图2.4 订餐管理员使用例图除了用用例图描述系统需求以外,以下用活动图对系统的主要例进行说明,更具体地描述该用例与角色的交互。1.用户登录图2.5 用户登录用户登录实现为本网站注册用户提供身份确认的功能,保证合法用户的应有权益。而且是否登录也将决定用户能否订餐。用户登录的前置条件是在登录前,用户必须完成“注册”。2.订餐服务图2.6 订餐服务在订餐服务用例中,每个用户都有个购物车,用户可以将自己选定的菜

5、品及其数量放入到购物车中,并且随时可以查看自己预定的菜品的数量和总价格。本用例开始前用户必须登录到系统中。如果用例成功,顾客可以浏览自己购物车中的信息并决定是购买还是删除。3查看历史订单:图2.7 查看历史订单注册用户可以查看自己的历史订单,在历史订单中,可以浏览曾经订购过的菜品,对于已经送餐后的菜品,可以进行评分和信息反馈,不能重复评论,某个菜品在这里的评分会影响其在整个网站中的推荐指数。4.订单处理:图2.8 订单处理处理订单的过程是订餐管理人员参与的,当前台有新的订单生成时,会自动在后台的现有订单列表中显示出来,订餐管理人员可以点击查看未处理的订单,根据实际情况进行处理,或者删除不需要的

6、订单记录。3 数据库设计数据库设计一般分为六个阶段。之前已经完成需求分析,现在需要进行概念设计、逻辑设计和物理设计,本章将叙述这三个阶段的设计思路和设计过程。3.1 数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理流程,组成一份详细的数据字典,为具体设计铺垫13。通过系统功能分析,针对网上订餐需求,总结为:1分为一般用户和管理员用户,只有用户身份才能进行前台订餐,只有管理员身份才能进行后台管理;2订单分成单张订单详情和总订单表,一张订单中含有多个订单明细;3每一道菜品都从属于一种类型。4一

7、个用户可以订购多个菜品。5一个用户对应多张订单表。3.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

8、-R图图3.5 订单E-R图图3.6 菜单E-R图3.3 逻辑设计 逻辑设计概述数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化 数据表的设计数据库的主要表详细结构如下:表3.1 订单条目表orderinfoFieldTypeNullKeyCommentIDIntNoYes标识递增订单IDIntNoNo外键,对应于订单中的“订单ID”菜名Nchar(10)NoNo默认值是“待送餐”数量IntNoNo单价FloatYesNo评分IntYesNo默认为“0分”Back订单YesNo顾客

9、订餐的信息反馈表3.2 订单表orderlistFieldTypeNullKeyComment订单IDIntNoYes标识递增用户IDIntNoNo外键,对应于用户表中的“用户ID”订单状态Nchar(10)NoNo默认值是“待送餐”送餐地址Nvarchar(50)NoNo备注Nvarchar(MAX)YesNo订餐姓名Nvarchar(50)NoNo订餐时间DatetimeYesNo金额总价FloatYesNo表3.3 菜单表menuFieldTypeNullKeyCommentcIDIntNoYes标识递增菜名Nvarchar(50)NoNo价格FloatNoNo菜介绍Nvarchar(5

10、00)YesNoScidIntYesNo菜系id菜图片Nvarchar(1000)YesNo存储的是图片的路径推荐Nvarchar(50)YesNo表3.4 菜分类表cuisineFieldTypeNullKeyCommentScidIntNoYes标识递增种类Nvarchar(50)NoNo菜系名系列介绍Nvarchar(MAX)YesNo表3.5 用户表userFieldTypeNullKeyComment用户IDIntNoYes标识递增uNameNvarchar(50)NoNo登录名uPwdNvarchar(50)NoNo登录密码真实姓名Nchar(10)NoNo性别Nchar(10)N

11、oNo菜系id联系电话Nvarchar(50)YesNoStateNvarchar(50)NoNoID是否有效,默认值是“未审核”4.2 核心功能实现 用户自定义控件说明1. listInfo.ascx该控件是用于在首页中显示不同菜系的介绍信息的,在控件中定义了一个Scid属性,在每次引用控件时,通过设置Scid的值来确定控件该显示那个菜系的信息。2. Nav.ascx 该控件作为导航在页面中引用的,控件的样式和超链接都已经设置好,在需要导航的页面直接引用即可。3. PagingBar.ascx该控件是分页显示控件,在控件中定义了三个属性:CurrentPage,表示当前显示的是第几页,默认值

12、是”1”;PageSize,表示一页显示几条数据,默认值为”10”;RecordCount,是显示信息的总条数,一般是从数据库绑定出的数据总条数来设定其值的。4. scoer.ascx该控件用于显示菜单信息中的推荐指数,控件中定义了一个s属性,通过设定s的值,便可以显示出相应的推荐指数。 信息显示菜单信息,养生咨询,留言版等信息的显示是通过绑定数据库中相应表单中数据得到的。当查看其中一项的具体信息时,是通过网页间传递的参数确定的,一般情况下,传递的参数是数据表中的主键值,这样使得信息有确定性。在菜单表的显示中,网页间传递的参数是数据库中菜单表的主键cID,先显示之前,通Request.Quer

13、yString“cID”获得主键值后,再从数据库中绑定出相信菜名,价格和介绍信息,并在页面中显示出来。养生咨询,留言板等的信息显示也是这个原理。只是绑定数据的控件不同,得到的显示效果不尽相同。推荐指数推荐指数是菜单显示信息中的一个是非常重要意义的信息,其在一定程度上说明菜品的受欢迎程度,可以在顾客选购餐品时提供一个参考建议。上面的内容中已经提到推荐指数的现实是通过设置scoer.ascx控件的s属性。s属性的值是根据每个订餐用户用餐后对菜品的评分动态生成和改变的,该信息没有专门存储于数据库中。图4.14是获取s的值的程序流程图图4.14 推荐指数显示 分页显示算法由于网页的布局有限,数据库中的

14、大量信息无法再一张网页上全部显示出来,运用分页显示的技术使得信息按照需要分页显示出来,并且显示效果更加清晰。对于分页显示,在上述内容提到了分页控件PagingBar.ascx,在需要显示的页面引用这个控件,就可以进行分页显示。以下是分页显示实现的算法:/设置分页控件(用到变量: 第几页 每页多少条数据 数据条数) int _currentPage; /当前在第几页int _pageSize = 10; /一页显示的记录数=10int RecordCount /数据条数总共的页数= RecordCount/_pageSize取得待显示页码:获取网页中传递的p参数,默认当前显示页,既p=1;用urlParameter保存网页中传递处p以外的其他参数;设置超链接按钮:if当前不是第一页,设置第一页的链接地址与上一页的链接地址if 当前不是最后一页,设置下一页和未页的链接地址 购物车购物车模拟了现实生活中购物的情景,在用户进行订餐时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号