网上订餐系统本科毕业设计论文.docx
- 文档编号:1626537
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:48
- 大小:421.07KB
网上订餐系统本科毕业设计论文.docx
《网上订餐系统本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《网上订餐系统本科毕业设计论文.docx(48页珍藏版)》请在冰点文库上搜索。
网上订餐系统本科毕业设计论文
本科毕业设计(论文)
网上订餐系统
THEDESIGNANDIMPLEMENTATIONOFONLINEMEALORDERINGSYSTEM
摘要
本文分析了系统主要的各个功能的设计、实现过程,有条理地阐述系统的设计思想、系统规划等内容。
软件设计部分采用面向对象的软件设计方法,利用UML的标准对系统的主要部分进行建模和设计,采用B/S结构,采用MyEclipse8.5开发工具,结合java编程语言,Tomcat7.0作为服务器,使用JDBC连接数据库,struts2框架做页面间的跳转。
系统后台利用MySQL作为数据库服务器支持,完成动态的、交互的网上订餐系统。
系统主要功能实现了管理员对系统菜品管理,用户个人基本信息维护,订单管理,特价菜单管理;用户基本信息注册,找回密码,菜单查询及订购各色菜品;登录,查询菜单信息,及菜品的评价等功能模块。
系统的实现有效地为订餐管理工作提供方便,提高工作效率。
关键字:
B/S结构;MyEclipse8.5;MySQL;JAVA;Strust2
ABSTRACT
Thispaperanalyzesthesystemeachfunctionofthedesign,implementationprocess,clearlyillustratessystemdesignidea,systemplanning,etc.Softwaredesignpartadoptstheobject-orientedsoftwaredesignmethod,usingUMLstandardmodelinganddesignforthemainpartofthesystem,adoptsB/Sstructure,usingMyEclipse10developmenttools,combinedwiththeJavaprogramminglanguage,Tomcat7.0asaserver,usingJDBCtoconnecttothedatabase,thestruts2frameworktojumpbetweenpages.SupportsystembackgroundusingMySQLasadatabaseserver,dynamic,interactiveonlinereservationsystem.Systemmainfunctionimplementstheadministratoroffoodmanagement,users'personalbasicinformationmaintenance,ordermanagement,specialsmenumanagement;Userregistrationpersonalbasicinformation,retrievepassword,themenuinformationqueryandorderdishes;Menulogin,queryinformation,andevaluationoffoodfunctionmodule.Therealizationofthesystemforordermanagementworkeffectivelyandprovideaconvenient,improvetheworkefficiency.
Keywords:
B/S;MyEclipse8.5;MySQL;JAVA;Strust2
引言
随着科学技术的进步,社会节奏越来越快,网络的迅猛发展,互联网信息技术已日益成为获取信息的最佳方法。
餐饮这一行业也面连着巨大的挑战,网上订餐主要是针对工薪阶层还有大学生这些特殊群体,白领们在中午时间或者晚上高峰时间就餐,由于时间的紧凑,不能很好地享受美味,所以网上订餐,这样既可以提前订餐不浪费中午休息的时间,还可和同事加深感情,更可以每天换各种各样的菜品,确保每天的工作效率和身心健康,这些问题就产生了快捷订餐的需求,实现这种式莫过于利用网络,将餐饮业和网络结合起来,就形成最快的方式--网上订餐,这种方式能足不出户,轻松方便地实现自己订购餐饮和食品(包括饭、菜、饮料等)。
有能力的餐饮企业可以对菜品、饮料等提供商提供网上订餐服务,不仅提高餐饮企业的服务质量,对于扩大知名度,和提升市场竞争力有很大的益处。
随着人民生活质量要求的不断提高,餐饮业及它在服务行业中的地位也越来越重要,如何从激烈的竞争中独树一帜,已经成为每位餐饮老板所要思考的问题。
经过多年的发展,对餐饮企业的管理经营已经逐渐的由简单的人为管理,进入到规范的利用科学手段进行管理。
在科学管理的具体实现方式和方法中,最有效率的工具就是应用餐饮管理软件进行管理。
将应用软件用于现代的餐饮业,解决了传统的笔上记账,统计,对于核算方式计费等费时费力的难题,这种方式既容易操作,又不会出错误,提高了餐饮业管理水平。
第一章项目概述
1.1现状概述
科学技术在不断发展,计算网络机通信行业让人们人们的沟通越来越便捷,使今天的社会进入了以计算机为核心的社会,网络通信的出现给我们诸多方面带来了无限的商机与便利(比方说餐饮业);计算机与网络的普及也使人们对web的设计和外观要求越来越严格,完美而动感的画面给人们更好的视觉感受,因此,网站作为一个企业的代表需要精心设计。
餐饮业经营者也就可以利用自己的网站,发布酒店的信息和菜品信息,每种菜都有精美的图片,这样可以实现酒店或餐馆的自我推荐,从而吸引网民的关注。
能够很方便的预定需要的菜品及饮品。
足不出户就可以享受上等的佳肴,网上订餐为客户提供的是最方便的饮食方式,以最快、最便捷的订餐服务,并且有自己的类似与肯德基的宅急送,送货上门为客户服务,这省去了客户很多不必要的时间和麻烦,给经营者带来更多利益,同时,网上订餐可以增加社会的就业率。
通过信息管理成的方式,可以记录餐饮企业各方面的数据和信息。
与过去的的电话订餐相比,网络订餐有着很多的优点。
例如如:
顾客通过电话订餐时,往往由于本身对餐饮企业提供的信息不太了解,就会进行不必要的咨询,导致时间上的浪费。
电话接收人员在同一时间反复重复相同的信息,也造成了人力的浪费。
相对而言,网络订餐提供图片及文字介绍,丰富而详实的信息让客户就像在超市里挑选商品一样点击添加自己喜爱的餐品,这在一定程度上满足了客户的自由选择权是购买商品能够更加的惬意。
通过网上订餐系统也将订餐推广到更加广泛的群体当中,使得订餐增多,饭店的知名度提高。
网络不会同电话一样占线,在高峰期对订餐的处理更是绰绰有余,
很少会出现向系统崩溃的现象,而且网上订餐的费用不会想电话订餐那样高,
相比之下有自己的竞争力。
同时两者有事相辅相成的关系,可以扩大客流量,提升餐饮行业的业务量无论如何网上订餐终将成为一种时尚一种潮流,将使传统的餐饮更加具有勃勃生机,在众多行业中立于不败之地。
1.2系统业务流程
经过前期调研分析和综合其它各方面相关理论知识,现归纳网上订餐系统的业务流程如下:
1.用户进入登录页面后,可以选择是否注册个人信息,如果选择注册,即可进入注册信息界面,注册个人信息,成为会员;如果选择不注册,则可进入非会员通道。
2.用户注册后,如果忘记密码,可以找回个人密码。
3.用户成功登录后,即可进入订餐页面,首页显示的是今日特价菜,用户可以订购特价菜,也可以选择其他菜式进行订购。
4.用户选好菜式后,可将其加入购物车,完成订单。
5.用户可以对自己选购的或者未选购的菜品进行评价,可以增加其他用户对菜式的了解。
6.管理员在后台数据库进行菜品的添加加,修改和删除,同时还可设定今日特价菜。
同时管理员也对会员进行管理。
根据以上总结出来的业务流程,结合在学校学习到的javaweb知识,经过对需求调研的总结,给出网上订餐系统的业务流程图。
业务流程图用于描述现系统各项业务处理过程,并结合业务流程图详细、详实地说明业务处理过程中数据的采集、输入、提交、存储、加工的方法及算法、输出的数量及形式等。
业务流程图的图例如表1.1,网上订餐系统业务流程图如下图1.1所示:
表1.1业务流程图图例
符号
名称
说明
处理
可以改变数据的值或建工组件
输入输出
数据的输入与输出
人员
使用程序的人或系统
数据流
指明数据流动方向
账册、报表
用于记录数据的纸质文档
网上订餐系统的开发主要围绕以上的业务流程进行,开发过程采用面向对象的编程思想及使用java开发语言,详细的开发过程见如下章节。
图1.1网上订餐系统业务流程图
第二章系统需求分析
2.1需求陈述
为了开发出真正满足用户需求,软件产品首先必须进行需求分析。
对软件需求分析和了解是软件开发成功的关键,不论项目人员把设计和编码工作做得多么的出色,不能真正满足用户需求的程序只会令用户失望,从而不断地修改软件给开发者带来烦恼[]。
需求陈述为以下工作提供了良好的机制;了解客户需要什么,分析需求求,估计可行性,讨论决定合理的方案,无歧义的详细说明方案,确认规格说明,管理需求最终将这些需求转化为可运行的软件系统[]。
根据调研分析得知,网上订餐系统共需要完成4项中心任务,即:
用户信息管理、菜单信息管理、菜品评论管理、订单管理。
每项任务具体描述如下:
1.用户信息管理
用户的注册信息管理模块主要由后台管理人员负责,用户注册成功后,信息由后台管理人员管理,管理人员根据用户是否已经注册,确定其是否为会员,方便用户管理。
会员制是平台应该具备的。
通过会员制,不仅可以为顾客订餐提供方便,还可以保持顾客积累量。
顾客在登陆系统首页后,可以在用户注册界面点击注册按钮,页面便跳转到用户注册页面,用户在填写完密码,确认密码,联系电话,保留信息等资料后点击提交便可完成注册。
用户还可以点击重置按钮来清除已填写的自己想改的信息,方便用户在想重新填写注册资料时使用[]。
2.菜单信息管理
菜单信息管理模块主要由管理人员来操作,主要负责对增添新菜品、修改菜品信息、删除菜品、设置特色菜进行管理。
方便用户进行菜品的订购。
3.菜品评论管理
菜品评论管理主要是用户可以对菜品进行评论,方便其他用户对菜品的了解。
4.订单管理
订单管理主要是指用户订餐后,确定其订购后,将菜品加入购物车中,产生订单,方便用户了解自己的菜品订购。
同时方便管理人员对用户订购菜品的管理。
系统确认之后,接下来的工作就是进行系统的分析。
系统分析主要是包括面向对象分析,分析问题域等,毕竟我们采用的是面向对象的开发语言,如何设置对象,建立对象之间及对象和外度系统之间的关系,建立起必要的对象关系模型,如设置对象中的属性方法,使他能够更精确的表示事物的客观属性,为系统分析提供假设条件。
2.2USECASE建模
2.2.1定义参与者
参与者(actor)是指与系统无关的、需要利用与系统交互的东西,包括人、设备、外部系统等[]。
根据网上订餐系统的需求可以确定2个参与者,即:
管理员主要维护用户基本信息管理,菜单信息管理,订单管理,以及菜品评论信息管理。
用户主要的功能是注册个人信息,登录,找回密码,订购菜品,以及进行菜品评论。
2.2.2UseCase图
用例图定义:
由用例(UseCase)、参与者(Actor)和它们之间的关联所组成的用于描述系统功能的动态视图称为用例图。
用例图(UserCase)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。
用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素[]。
用例图的图示见表2.1。
符号
名称
说明
用例
交互动作的序列说明
参与者
出系统外需要与系统交互的功能组件
关联
actor和usecase之间的关系
表2.1用例图图例
根据系统需求分析,并结合上节系统活动者的定义分析,得到网上订餐系统块的10个用例:
1.用户基本信息维护用例
2.菜单信息管理用例
3.订单管理用例
4.菜品评论用例
5.购物车管理用例
6.订购菜品用例
7.登录用例
8.注册用例
9.找回密码用例
10.特价菜管理用例
结合参与者和用例得到网上订餐系统的的用例图如图2-1所示,现对用例描述如下:
1.用户基本信息维护
维护用户注册的个人信息,包括密码,联系电话,账号提问,账号回答等资料。
用户注册后,成为会员,而未注册的是非会员,方便管理人员对其进行管理及维护。
2.菜单信息管理
主要包括查询菜单,添加新菜品,修改菜单,删除菜品,设定特色菜。
图2.1网上订餐系统UseCase图
3.订单管理
用户订购菜品后,将其加入购物车,产生订单,管理员可以查看订单,确定用户的订单信息。
4.菜品评价
用户可以对菜品进行评论,其评论信息会显示到页面中,方便其他用户对菜品的了解。
5.购物车管理
管理员对每个用户订购的菜品所组成的购物车进行管理。
6.订购菜品
用户对自己选购的菜品进行订购,从而放到购物车中。
7.登录
用户和管理员都有自己相应的账号和密码,密码和账号匹配后即可登录到订餐系统,进行相应的操作。
8.注册
不是会员的用户可以注册成为会员,提升自己使用订餐系统的权限。
9.找回密码
注册的用户,忘记密码,可以找回密码,方便用户的信息维护。
10.特价菜管理
主要包括删除,修改特价菜信息的功能。
2.3系统功能描述
根据上述需求,分析出网上订餐系统功能如下:
1.用户基本信息维护
维护用户注册的个人信息,包括密码,联系电话,账号提问,账号回答等资料。
用户注册后,成为会员,而未注册的是非会员,方便管理人员对其进行管理及维护。
如果用户注册后忘记密码,可以找回密码,加强管理人员对用户信息的维护。
2.浏览菜品信息
用户登录后即可进入网上订餐系统,可以查看特色菜,肉菜,素菜,饮料,海鲜等信息。
3.订购菜品
用户根据菜单进行菜品的订购,将其加入购物车,生成订单。
4.评论菜品
用户可以对菜品进行评价,方便其他用户对菜品的了解,同时也为管理员管理菜单提供信息。
5.增添新菜品
管理员可以增添新的菜品,方便用户选购。
6.修改菜品
管理员可以修改菜品,更新菜单。
7.删除菜品
管理员可以删除菜品。
8.设定特价菜
管理员可以依据菜品的订单信息,定期进行特价菜设定。
第三章总体设计
需求分析作为软件工程的首要任务那么接下来要做的便是着手解决“怎么做”的问题[]即软件的总体设计。
总体设计首先要考虑出实现平台的可能的多种方案从总选择出最优的解决方法[]。
本章将从系统结构设计、软件架构设计和数据库设计着手,对网上订餐系统进行总体设计。
3.1系统结构
通过需求分析阶段的了解和设计讨论出的软件功能描述,抽象的设计出系统结构图,如图3.1所示,如下的各模块只是抽象上的划分,各模块之间需要相互协调数据的传输共享来完成整个系统流程,但是单一模块之间是相互独立的。
享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。
图3.1网上订餐系统系统结构图
3.2软件架构
软件的架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。
也可以一般的理解为:
总体设计和总体结构布局。
一般而言,软件系统架构有两个要素:
1.它是一个软件系统从整体到部分的最高层次的划分。
2.搭建一个系统,且该系统能做出最高层次的技术上的决定。
3.2.1架构设计目标
软件架构设计要达到如下的目标:
可行性:
软件可行性是软件设计的基础。
可靠性、安全性:
软件是否安全不被入侵易于维护是软件必备的资质
可定制化、可扩展性:
即一个软件具有伸缩性,可以根据需求进行调整也可以称作为功能和性能的扩展
可升级性:
即可以在运行过程中对出现的bug和漏洞惊醒修改
客户体验:
软件必须能够有一个客户体验回收机制,便于对我们的软件产品进行了解
3.2.2软件架构设计
根据软件架构设计应遵循的原则的到系统的包图,这样得到包图如图3.3所示:
图3.2系统体系架构图
图3.3网上订餐系统模块包图
1.用户界面包
用户界面包的职责是:
(1)负责与用户的交互,根据用户提交的数据及时回馈信息提示
(2)对用户输入的数据进行数据验证,过滤掉敏感或者不合法的数据。
(3)调用业务处理对象进行相关业务处理。
用户界面展开包图如图3.4所示:
图3.4用户界面展开包图
用户界面包包含的类见图3.5:
图3.5用户界面类图
2.业务逻辑包
业务逻辑包的职责是:
(1)完成各种业务处理逻辑或算法。
(2)验证请求者的权限。
(3)向数据访问对象发送数据持久化操作的请求。
(4)向用户view层返回处理结果。
业务逻辑展开包图如图3.6所示:
图3.6业务逻辑展开包图
3.DataAccess(数据访问)包
数据访问层的职责是:
(1)实现数据持久化操作;
(2)执行事务处理,维持事务原子性。
数据访问包图展开如图3.7所示:
图3.7数据访问包图展开
在java数据访问的过程中需要完成数据库数据的持久化操作在这里会用到jdbc,连接池,批处理等数据层访问技术,项目开发中我们称其为dao层和service层,数据访问包包含的类见图3.8:
图3.8数据访问类图
4.权限管理包
权限管理的主要职责是:
(1)验证请求者的请求权限。
(2)提供请求者的权限列表。
权限管理展开包图如图3.9所示:
图3.9权限管理包图展开
5.异常处理包
异常处理的职责:
(1)汇报运行时的详细异常信息。
(2)记录异常处理日志。
异常处理包图展开如图3.11所示:
图3.10异常处理包图展开
3.2.3软件架构类图
由包图展开得到类图,它是架构的静态结构图,表明了各个类之间的关系。
网上订餐系统架构类图如下图3.11所示。
图3.11系统架构类图
第四章详细设计
详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。
经过这一阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把整个描述直接翻译成用某种程序设计语言书写的程序]。
本章主要涉及软件系统的动态建模和系统类图的详细设计。
软件系统的动态模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活动状态模型主要包括活动图和状态图。
通过为软件系统项目建立动态模型,因此可以得出具体的分析结果,即对象的时间特性,任务之间的通信机制和状态变化等信息。
4.1系统交互图
4.1.1系统架构类交互图
系统架构类的工作流程如下:
1.用户窗体对象在接收了用户的登录信息后,进行权限验证,然后显示权限对应的菜单;
2.用户窗体在提交业务请求前,先利用Model实体类对数据进行封装,然后将封装的数据对象和业务请求传给业务逻辑类的对象进行处理;
3.业务逻辑对象接收到请求后,进行业务处理,生成对应的SQL命令,然后提交给数据库访问层进行执行;
4.数据库访问对象连接数据库并执行SQL命令后,如果正常执行则返回数据,若产生异常则交付异常处理对象进行处理;
5.业务逻辑对象获得返回的数据进行进一步的业务处理,如发生异常则交付给异常处理对象;
6.业务逻辑对象将处理的结果通过Model实体对象返回用户窗体类;
7.用户窗体类通过Model实体类进行解除封装,然后显示处理结果在窗体上。
4.1.2参与者与模块间的交互
与网上订餐系统进行交互的参与者主要包括管理员和用户。
管理员和用户与网上订餐系统的交互图如下图4.1和图4.2所示:
图4.1系统架构类的交互图
图4.2用户与网上订餐系统的交互图
下面对网上订餐系统活动的情况进行动态建模,以下论述将以管理员与菜单管理模块、特价菜管理模块、订单管理模块分别进行时序图、协作图、状态图和活动图的建模。
1.菜单管理模块
菜单管理模块的程序流程如下:
(1)管理员登录系统,打开菜单管理窗体;
(2)管理员选择要更改的菜品(包括肉菜,海鲜,素菜,主食,饮料),并进行修改,删除或设定为特价菜的操作;
(3)管理员添加新的菜式,输入菜品名称,参考图片,菜品种类,价格,会员价的信息。
2.特价菜管理模块
(1)管理员登录系统,打开菜单管理窗体;
(2)管理员选择要更改的特价菜信息,进行删除或者修改的操作;
(3)管理员对特价菜进行修改,并更新特价菜信息。
3.订单管理模块
(1)管理员登录系统,打开菜单管理窗体;
(2)管理员选择订单管理,对完成的订单进行删除;
(3)更新订单。
管理员对订单管理的时序图如下图4.4所示。
图4.4管理员与订单管理的时序图
4.1.3系统协作图
用于说明系统实现的用例及用例场景的交互图叫系统协作图,在UML中有两种交互图,分别是时序图和协作图,二者不同的是前者按时间顺序后者是按时间和空间的顺序描述系统元素间的交互。
根据上节描述的管理员对菜单管理的协作图,如下图4.5所示。
图4.5管理员与菜单管理的协作图
管理员对特价菜管理的协作图,如下图4.6所示。
图4.6管理员对特价菜管理的协作图
4.1.4系统状态图
在菜单管理模块中,系统存在菜单管理界面、菜品信息显示、删除菜品信息、添加菜品信息等状态,管理员对菜单管理的状态图如下图4.7所示。
在特价菜管理模块中,系统状态包括显示特价菜菜单界面、特价菜删除、特价菜信息修改等状态。
在订单管理模块中,系统存在菜单管理界面显示、订单管理界面显示、删除订单、数据更新等状态。
图4.7管理员对菜单管理的状态图
4.1.5系统活动描述
用于描述系统活动如何进行的图叫做活动图。
当一个操作一定要完成一连串事情,但是无法确定以什么样的先后顺序来完成这些事情的时候,活动图可以更清晰地描述这些事情[3]。
在网上订餐管理系统中,主要涉及管理员的活动。
在菜单管理模块中,管理员登录系统后,可以选取菜品种类(肉菜,素菜,海鲜,主食,饮料)进行删除、修改、设置今日特价等操作记录,如果是删除,则删除此菜品记录,如果是修改,则修改菜品信息,更新菜单,也可以进行添加菜品的操作,添加新菜品信息,更新菜单。
在特价菜管理模块中,管理员进入系统后,需要点击特价菜管理,可以选取特价菜品进行删除、修改等操作。
如果是删除,则菜品记录被删除,更新菜单;如果是修改则修改特价菜信息,记录数据更新到数据库。
在订单管理模块中,管理员登录系统后,管理员对已完成的订单进行删除,更新信息到数据库中。
4.2业务逻辑对象类设计
4.2.1发现业务逻辑类
本节由系统分析中的UseCase交互图可以发现业务逻辑类包括用户类,菜品评评论类,菜单基本类、订单信息类,购物车信息类。
鉴于本系统以软件三层架构思想为指导,将系统的业务逻辑和实体模型分离开来,所以根据架构情况设计,将上述发现的业务逻辑类分解为业务逻辑类和实体模型类,其中实体模型类主要描述了实体属性,业务逻辑类描述了实体的方法集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统 本科 毕业设计 论文