星月外卖总体设计.docx
- 文档编号:10643647
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:50
- 大小:1.39MB
星月外卖总体设计.docx
《星月外卖总体设计.docx》由会员分享,可在线阅读,更多相关《星月外卖总体设计.docx(50页珍藏版)》请在冰豆网上搜索。
星月外卖总体设计
星月外卖总体设计方案
一、引言
1.1项目背景及目标
随着电子商务的普及,越来越多的人接受了电子商务这种便捷、快速的交易形式,网上订餐系统的顺势而出很快受到了大家的欢迎。
互联网的应用已普及千家万户,这为网络订餐提供了良好的发展空间。
同时,网上订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。
调查数据显示,白领更乐于选择网上订餐服务,网上订餐将是白领一族捕获餐店信息、进行订餐的发展趋势。
网络订餐随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动的短信一样,为企业带来的几百个亿的业务收入。
在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向。
网上订餐,具有方便、高效、快捷的特点,而且与传统的快餐店经营模式相比网上订餐可以节省餐馆的座位占用,加速餐馆顾客周转,增加餐馆的营业额,提高经济收益。
对于在网上订餐的顾客来说,可以为其节省更多的时间和精力,以便投入到学习和工作中。
1.2设计参考文献
《软件工程实践与项目管理》刘竹林王素珍编著西安电子科技大学出版社
《软件工程导论》张海藩编著清华大学出版社
二、项目需求分析
2.1需求分析
用户可通过访问我们的网站快乐餐网上订餐系统,进行登陆或注册,获得你想要的各种食物,管理员可以查看用户菜品,可以对菜品进行增删改查。
1)产品介绍
产品名称:
快乐餐订餐系统
产品用途:
对餐馆提供发布菜肴消息,得到顾客订单信息,对顾客提供菜肴服务。
2)产品面向的用户群体:
各大酒店,网上店铺,以及一些大型超市的网上订餐系统等。
2.2软件功能
此系统主要是针对顾客开放的网上订餐系统。
顾客订餐主要流程如下:
1.顾客登录网上订餐系统进行菜单的浏览或者注册为会员。
2.会员可以对自己的个人信息进行更改,以会员形式登陆的顾客享受订餐服务。
3.如果顾客觉得菜单应该有所改变则可对已选的菜单进行选择、更改、删除等功能。
4.当顾客确定订餐完毕后,顾客可以将其提交至我们的餐厅后台系统,并生成订单。
5.顾客可以对系统或者餐厅有意见或者建议的留言给我们,我们会及时满意的回复。
管理员、后台管理流程如下:
1.管理员登录后台点餐系统。
2.管理员可以管理会员信息。
3.后台将顾客点餐提交到后厨显示。
4.后厨根据顾客订餐菜单进行做菜。
5.每完成一个菜就更改其状态为已做。
6.所有订餐菜完成后根据会员提交送餐地址进行确认并送餐。
\
2.3运行环境
顾客客户端:
操作系统windows98以上,浏览器IE5.0以上。
条件与限制:
开发本系统所用到的软件有:
IIS,DREAMWEAVER,POTOSHOP,WONDERSHAREFLASHSLIDESHOWBUILDER,MyEclipse7.0,SQLServer2005\
2.4需求分析详细描述
2.4.1模块需求分析
1)顾客网上订餐功能分析:
根据对顾客网上订餐系统业务流程的分析,课已看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。
具体的功能归纳如下:
1.顾客登录网上订餐系统进行菜单浏览、
2.顾客注册为会员。
3.会员对自己的个人信息进行更改,比如送餐地址和联系电话。
以及账户密码。
4.顾客对已选的菜单进行更改选择的数量或者取消选择。
5.当顾客确定订餐完毕后,顾客将其提交只服务器后台点餐系统,并生成订单。
2)管理员后台管理系统功能分析:
1.管理员在后台登录后,可以创建新的管理员。
2.管理员可以对餐厅网上订餐系统上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜等。
3.管理员对菜单进行管理,确定订单的生成。
4.管理员根据不同的属性来查询订单,比如生成日期或者编号等。
5.管理员根据不同的时间段统计处营业额,成本,同时还能统计出每道菜的销售量、任何时间段的销售情况以及每一个顾客的消费情况。
3)为更好的说明系统,具体功能如下表:
功能类别
子功能
用户管理
用户登录
用户注册
用户操作
餐品展示
餐品的详细介绍
放进购物车
查看购物车
详细信息提交
反馈意见
察看所有留言
管理员操作
增加餐品
修该餐品
删除餐品
回复留言
删除留言
结帐付款
确认和配送信息
结束订单
设置友好结束界面
2.4.2用户注册登录
用户访问本网站直接进入本网站可直接进入网站主页,可选择登陆,若为注册可选择注册,只有注册用户方可点餐。
注册提供用户名和密码,用户名只能检测,若以存在也提示。
另外加入记住密码功能,登陆一次可在两周内无需再次登陆,直接进入登陆状态。
2.4.3浏览菜品
显示菜品的各种信息,可在分类查询,动态搜索,设计页面分业,布局排版问题,以方便用户浏览选择。
2.4.4菜品详细信息
显示餐品中某一餐品的详细信息,包括菜名,配料,口味,价格等,以供用户放进自己的购物车。
2.4.5购物车
实现对已定菜品的管理,包括增加菜品,删除菜品,修改数量。
2.4.6提交购物车并生成订
接受购物车信息,随即获取订单号,动态刷新顶单状态,固定时间(如30秒)完成一道菜,用户可继续修改为完成的菜品,已完成菜品无法进行操作,用户修改订单并保存。
2.4.7结帐付款
选择付款方式及对此次餐的评价。
2.4.8结束订餐
设置友好的结束界面。
2.4.9管理员操作
在后台系统中管理网上订餐会员管理和菜单管理。
2.6层次方框图
三、概要设计
3.1系统分析
本系统可以实现网上的在线订餐,顾客通过网上浏览餐品并进行选择产生订单。
同时,管理端可以汇总订单,浏览订单,并通过订单结果修改餐品相应信息,更新餐品信息,浏览顾客的评价等等。
方便顾客的订餐,以及网页餐品信息的管理。
系统包括管理端子系统和客户端子系统。
客户端子系统包括用户注册、用户登录、个人信息维护、食品信息浏览、维护购物车、生成订单。
管理端子系统包括登陆管理,维护顾客信息,维护餐品信息,管理订单。
图B-1和B-2为客户端和管理端的组成结构图。
B-1客户端子系统图示
B-2管理端子系统图示
3.2体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:
能适应用户对系统的软件环境、管理内容、模式和界面
的要求;
2)系统应具有可靠性:
采用成熟的技术方法和软件开发平台,以保证在以后的实际应
用中安全、可靠;
3)系统应具有较好的安全性:
应提高完善的安全机制和用户权限限制机制,确保数据
的受限访问;
4)系统应具有良好的可维护性:
系统应易于维护、安装;
5)系统应具有良好的可扩展性:
系统应适应未来信息化建设的要求,能方便得进行功
能扩展,以建立完善的信息集成管理体系。
本系统采用struts体系结构,Struts 是一个基于模型 (Model) -视图 (View) -控制器 (Controller)(MVC) 模式的应用架构的开源框架。
目前软件项目中有很多的体系结构,其中struct是比较流行的一种。
●Struct体系结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。
在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图B-5显示了Struct实现的MVC框架。
其中:
视图:
就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struct标签库的标签。
此外,通常将Strcut框架中的ActionForm Bean也划为视图模块中,ActionForm Bean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。
Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。
Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。
控制器:
控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心组件。
是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。
Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。
模型:
模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
●网络结构图
●系统运行环境
✧客户机:
普通PC
ØCPU:
P4 1.8GHz以上
Ø内存:
256MB以上
Ø能够运行IE5.0以上或者Netscape4.0以上版本的机器
Ø分辨率:
推荐使用1024*768像素
✧WEB服务器
Ø CPU:
P4 2.0GHz
Ø内存:
1G以上
Ø硬盘:
80G以上
Ø网卡:
千兆
✧数据库服务器
ØCPU:
P4 2.0GHz
Ø内存:
1G以上
Ø硬盘:
80G以上
软件环境
●本系统的的软件环境如下:
操作系统:
Unix/Linux/windows2000或以上版本
数据库:
SQL Server 2000
工具包:
JDK Version 1.4.2
开发环境:
eclipse-SDK-3.1.2-win32
Web服务器:
Tomcat
浏览器:
IE6.0以上
(1)数据库及操作系统:
对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型;以及管理人员的专业技术水平。
目前市场上适用于中小型企业的数据库产品有IBM DB2 、Microsoft SQL Server系列、 Oracle系列。
所有这些产品都基于SQL语言。
同时,它们还拥有精密复杂的安全控制以适应不同的商业需要。
服务器操作系统使用Windows 2000 Server系统。
(2)WEB服务软件:
目前的WEB服务器软件有很多种,成熟而且稳定有Apache、Tomcat和Microsoft的IIS ,它们也是占据着Web服务器市场最大的份额。
Tomcat是Sun和Apache合作做出来的
JSPServer,支持Servlet2.2及JSP1.1等版本。
而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSPEngine。
Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。
Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。
因此选择Tomcat作为WEB服务器。
3.3逻辑设计
●逻辑设计概述
数据库的逻辑设计是概念模型向逻辑模型的转化,一般步骤是先将概念结构转化为关系模型,然后将转化来的关系模型向特定DBMS支持下的数据模型转换,最后对数据模型进行优化
●数据存储
存储名
流入
流出
客户信息存储
更新信息流,登陆信息流
登陆反馈流,更新反馈流
资金信息存储
资金转入信息流
资金转出信息流
订单信息存储
更新、查询流
查询、更新、统计信息流
配送信息存储
更新、查询流
更新、查询信息流
●数据表的设计
数据库的主要表详细结构如下:
订单条目表
订单条目表
菜单表
菜分类表
用户表
3.4总E-R图
3.5类图
1.顾客:
顾客有自己的id、用户名、电话号码、地址、邮箱、登录密码等属性,操作有搜索,登录、搜索、浏览、留言、订单、退单等。
2.管理员:
管理员有id、管理员名字、登录后台密码等属性,有登录、查询、更新、删除、修改、审核、销售统计等操作。
3.订单:
包括订单id、顾客订购美食的品种数、顾客用户名、订单时间、付款方式和运送方式等属性。
4.餐品:
包括餐品id、餐品价格、餐品介绍等属性。
5.信息发布:
指信息ID属性,有信息反馈、优惠活动、店铺信息、送餐时段公告等
6.评价:
包括留言板的id、名字、餐品类别、评价内容等属性,有留言等操作。
7.卖家:
包括卖家ID、用户名、地址、联系电话等属性,有销售统计等操作
8.支付模块:
包括ID、用户名、支付方式等属性
9.配送模块:
包括ID、用户名、配送方式等属性
四、详细设计
4.1系统模块详细设计(数据流图)
本系统总共有五大主要模块,分别是支付模块,订单管理模块,后台管理模块,配送模块和信息发布模块。
每个模块分别有不同的权限和使用功能。
信息发布系统
卖家通过平台随时更改食品信息,以及食品的优惠信息,并储存在数据库中,而买家通过平台查询数据库,得到食品的信息。
后台管理模块
管理员、买家、卖家通过自己的登陆信息登陆系统,其中卖家可以更新店铺信息、通过系统得到销售统计信息,而管理员可以对卖家、买家进行账户管理。
支付模块
引入第三方金融接口,如果为货到付款,则不需要本支付系统,卖家买家可以直接交付;否则卖家转帐到支付系统,并且支付系统可以转帐到卖家账户。
订单管理系统
买家通过系统下达顶、订单,并可以查询查询订单数据库,得到订单状态。
而系统会自动通知卖家订单详情。
配送模块
卖家给快递下达配送任务,卖家可以随时查询数据库,得到配送进度。
4.2程序流程图
信息发布流程
卖家通过系统更新食品信息,系统判断是否合法,合法则更新,并输出反馈。
若买家反馈/查询食品,则进行查询并反馈,结束。
后台管理流程
首先判断是否注册,是则填入注册信息,判断合法后注册并反馈;否则进行登录,判断身份后输入操作,然后系统执行用户操作,输出操作反馈,判断登出,跳出系统结束。
支付模块流程
判断是否货到付款,是则改为人工操作,并直接跳出;否则买家输入银行信息进行转账,判断转账成功,是则进行卖家配送,否则重来。
判断卖家配送是否成功,是则转账跳出,否则进入投诉环节。
订单管理流程
判断录入/查询订单,录入订单则录入,判断合法性后提交订单,并下达配送,输出反馈。
否则输入查询编号,查询配送情况,不论查询成功与否,输出查询反馈。
配送模块流程
查询则输入编号,进行合法判断,并查询,输出反馈结束。
录入则录入订单,生成配送,判断是否货到付款,是则直接配送,否则判断付款,付款后进行配送,根据配送方式配送。
配送完成修改订单状态,结束。
4.3实体联系图(E-R图)
●分E-R图
餐品表E-R图
订单E-R图
顾客E-R图
管理员E-R图
卖家E-R图
信息表E-R图
支付E-R图
4.4用例规约及用例图
4.4.1支付:
用例名称:
转入
角色:
支付
简要说明:
在线支付时资金不足,进行资金转入
前置事件:
用户在确认购买餐品后选择在线支付方式
基本流:
1.用户确认购买餐品后
2.支付方式选择在线支付
3.当支付时资金不足可以进行银行卡资金转入
备选流:
用户可能在2时选择货到付款
后置条件:
资金转入成功,继续付款
用例名称:
转出
角色:
支付
简要说明:
在线支付时资金的转出
前置事件:
用户在确认购买餐品后选择在线支付方式
事件流:
1.用户确认购买餐品后
2.支付方式选择在线支付
3.当支付时资金充足时,完成资金转出
备选流:
用户可能在2时选择货到付款
后置条件:
资金转出成功,付款成功
用例名称:
买家资金管理
角色:
支付
简要说明:
在线支付时买家资金的流动
前置事件:
用户在确认购买餐品后选择在线支付方式
事件流:
1.用户确认购买餐品后
2.支付方式选择在线支付
3.买家对自己的资金进行管理操作
备选流:
用户可能在2时选择货到付款
后置条件:
进而选择资金的流入或者流出
用例名称:
货到付款
角色:
支付
简要说明:
餐品到达后用户付钱
前置事件:
用户在确认购买餐品后选择货到付款支付方式
事件流:
1.用户确认购买餐品后
2.支付方式选择货到付款
备选流:
用户可能在2时选择在线支付
后置条件:
用户下单成功,商家开始运作。
4.4.2订单:
用例名称:
订单查询
角色:
订单
简要说明:
用户和卖家可以对订单进行查询
前置事件:
用户在确认购买餐品后
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.买家可以进行查询来确认订单
4.卖家可以对生成的订单进行查询
备选流:
无
后置条件:
买家通过查询订单确认购买信息,进而进行付款。
用例名称:
退订
角色:
订单
简要说明:
用户对递交后的订单进行退订
前置事件:
用户下单成功并进行订单查询
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.查询订单
4.买家取消订单
备选流:
无
后置条件:
用户成功取消订单
用例名称:
确认收货
角色:
订单
简要说明:
买家确认接收到餐品
前置事件:
1.用户下单成功并成功支付
2.卖家制作完成并配送成功
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.成功支付
4.卖家确认订单制作完成
5.成功配送到用户手中
6.用户接收餐品后
7.确认收单
备选流:
用户在接收餐品后并没有及时进行反馈,7迟迟不能进行
后置条件:
买家确认交易完成
用例名称:
收单打印
角色:
订单
简要说明:
卖家确认交易完成收单打印
前置事件:
1.用户下单成功并成功支付
2.卖家制作完成并配送成功
3.买家确认收到餐品
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.成功支付
4.卖家确认订单制作完成
5.成功配送到用户手中
6.用户接收餐品后
7.确认收单
8.卖家收单打印
备选流:
买家并没有及时进行确认收单,配送方可以及时进行反馈
后置条件:
卖家确认交易完成
用例名称:
餐品信息
角色:
订单
简要说明:
卖家发布餐品相关信息进行信息的录入
前置事件:
1.卖家想要在订餐系统中出售餐品
2.卖家进行餐品信息录入
事件流:
1.卖家发布店内餐品信息
2.卖家进行餐品信息的录入
备选流:
无
后置条件:
卖家成功录入餐品信息,买家可以根据卖家发布的餐品信息进行购买
用例名称:
顾客信息
角色:
订单
简要说明:
用户对自己的相关信息进行录入
前置事件:
用户在购买前需要注册相关信息
事件流:
1.用户浏览卖家发布的相关餐品
2.用户确认购买相关餐品
3.用户注册填写相关个人信息
备选流:
1时浏览后,用户不想购买任何餐品
后置条件:
买家录入成功个人信息后可以进行购买
用例名称:
配送信息
角色:
订单
简要说明:
配送方录入成功下单的用户信息
前置事件:
1.用户下单成功后
2.卖家制作成功等待配送
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.成功支付
4.配送方录入用户信息
备选流:
3不成功时,将不会出现配送
4.确认用户信息时,发现用户信息不完整,无法配送
后置条件:
卖家制作好餐品后,配送方开始配送餐品
用例名称:
支付信息
角色:
订单
简要说明:
对用户支付时录入的相关信息
前置事件:
1.用户下单成功后
2.进行支付选择时
事件流:
1.用户确认购买餐品后
2.订单成功生成
3.在进行支付时进行选择
备选流:
无
后置条件:
选择支付成功后,卖家开始制作餐品
4.4.3后台:
用例名称:
登陆
角色:
后台
简要说明:
买家在后台成功注册后,登陆系统
前置事件:
买家成功注册个人信息
事件流:
1.买家注册个人信息成功后
2.登陆系统
备选流:
无
后置条件:
买家登陆系统后,可以进行餐品的选购
用例名称:
注册
角色:
后台
简要说明:
买家需要在后台注册个人信息
前置事件:
买家想要购买餐品
事件流:
1.买家想要购买餐品
2.在后台系统注册个人信息
备选流:
无
后置条件:
买家注册个人信息后,登陆系统
用例名称:
登陆
角色:
后台
简要说明:
后台管理员登陆系统
前置事件:
无
事件流:
后台管理员登陆系统进行管理
备选流:
无
后置条件:
管理员的登陆系统后,进行管理员操作
用例名称:
买家管理
角色:
后台
简要说明:
后台管理员对买家操作进行管理
前置事件:
管理员成功登陆系统
事件流:
1.管理员成功登陆系统
2.用户进行注册、购买操作
3.管理员进行相关管理
备选流:
没有用户时无须进行买家管理
后置条件:
对买家操作进行统一管理,方便系统运行
用例名称:
卖家管理
角色:
后台
简要说明:
卖家注册后发布餐品信息,管理员进行管理监测
前置事件:
卖家成功注册商家信息
卖家发布食品信息
事件流:
1.卖家发布注册信息后
2.管理员进行管理
备选流:
无
后置条件:
对卖家操作进行统一管理,方便买家购买
用例名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 星月 外卖 总体 设计