基于web的网络订餐系统的设计与实现_第1页
基于web的网络订餐系统的设计与实现_第2页
基于web的网络订餐系统的设计与实现_第3页
基于web的网络订餐系统的设计与实现_第4页
基于web的网络订餐系统的设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要由于当今社会人们生活节奏普遍加快,人们对于美食的要求也在不断增加,但是由于人们的工作越来越繁忙,往往午休时间只有1个小时左右,这就限制了人们去饭店享用美食,所以产生了网上订餐的需求。并且由于近年来,随着计算机技术的飞速发展,在线支付已经逐渐成为一种主流趋势,这很好的弥补了网上订餐付款的问题。网上订餐相比于堂食更加便捷,人们不用花费长时间的等待,可以提前订餐,当到了休息时间,直接就可以享用美食,这样变相的延长了人们休息的时间。本文基于SSM框架,设计开发了网上订餐系统,实现了消费者和管理员(商户)相关功能模块。在消费者功能模块中,消费者可以进行浏览菜品和在线订购等操作,在商户功能模块中,商户可以进行新增菜品和发货等操作。关键词:网上订餐;电子商务;SSM;SpringMVC

AbstractDuetothegenerallyacceleratedpaceoflifeintoday'ssociety,people'srequirementsforfoodarealsoincreasing.However,duetopeople'sincreasinglybusywork,thelunchbreakisoftenonlyabout1hour,whichlimitspeopletogotorestaurantstoenjoyfood.demandforonlineordering.Andbecauseinrecentyears,withtherapiddevelopmentofcomputertechnology,onlinepaymenthasgraduallybecomeamainstreamtrend,whichmakesupfortheproblemofonlineorderingpayment.Onlineorderingismoreconvenientthandine-in.Peopledon’thavetowaitforalongtime,theycanorderinadvance,andwhenitistimetorest,theycanenjoythefooddirectly,whichprolongsthetimeforpeopletorestindisguise.BasedontheSSMframework,thispaperdesignsanddevelopsanonlineorderingsystem,andimplementsrelatedfunctionalmodulesforconsumersandadministrators(merchants).Intheconsumerfunctionmodule,consumerscanperformoperationssuchasbrowsingdishesandonlineordering,andinthemerchantfunctionmodule,merchantscanperformoperationssuchasaddingdishesandshipping.Keywords:Onlineordering;E-commerce;SSM;SpringMVC

1绪论1.1课题研究背景当前,互联网信息技术已经越来越成为当代人们生活上和生产工作活动中一项不可或缺的互联网重要通讯工具。通过网络技术,人们之间高效的进行沟通、团队协同工作和内容共享都非常简捷。网络信息应用服务已日益广泛地被应用于经济各个领域。在此市场背景推动下,电子商务概念应运而生,并因此迅速地被发展成熟起来。要依法及时推动建立完善和培育完善适合电子商务发展趋势的电子商务物流体系平台和交易渠道。消费者今后在境外网上购物交易的更主要沟通方式也是如何通过电子商务。在当前互联网内容时代,许多传统互联网餐饮市场内容的最主要的传播媒介和互动宣传等方式更多还是以实际餐饮立面内容的形式开始出现,互联网领域完整的真实餐饮市场体系至今尚未得以完全地建立形成和发展完善。电子商务市场的迅猛发展无疑给整个传统的餐饮市场模式带来一个了一次巨大革命性的革命性飞跃。餐饮市场还可以考虑重点去发展具有个性化、特色餐饮的增值服务,利用第三方的商业平台去推广企业品牌,增加销售。因此,电子商务无疑为提升传统零售餐饮业服务注入出了一个新时期的商业活力,必将有效推动传统餐饮业市场的持续迅速发展。在当今这种消费趋势推动下,餐饮市场已经在网络电子商务领域中开始扮演了一种越来越重要的消费角色,网上电子订餐服务系统的应运而生。人们从此不需要自己去正规餐馆里面吃饭,也可以避免去了餐厅排队就餐的诸多麻烦。他们每天只在需要时段通过手机互联网在线购买一款营养种类丰富、价格最实惠最好的可以满足其自己饮食需求的健康食品,这也不仅极大节省掉了等待他们购物的漫长时间,也大大的为网络餐饮市场商家提供方便了品牌网络推广途径和营销推广,创造着更多潜在的巨大商业机会。1.2研究现状运用餐饮管理软件系统进行经营管理,不仅迅速提高管理了中国餐饮市场公司的规范化管理和水平,还为提供了更为及时与有效准确的提供餐饮内容,让中国消费者可根据各餐厅实际提供服务的各项内容而迅速准确找到属于自己的需要选择的餐厅美食。与我国传统的餐饮市场中的传统手工操作管理相比,不仅大幅度节省了企业用户管理的宝贵时间,而且还在大量获得实际经济效益增长的同时,提高到了传统餐饮企业管理工作上的效率。不仅是如此,餐厅自身还将可以继续通过移动互联网平台推广属于自己特色的服务品牌,并希望通过收集消费者反馈的反馈内容来充实完善餐厅内容。自己发现的服务问题改进和创新提供顾客更高质量化的选择食物体验和提供更好的个性化服务,使餐厅能够有个更大发展的自我成长空间。在欧洲一些和国外,网上的在线自助订餐和这种在线服务形式已是开展得的时间都已经比较之早,随着现代电子商务及快递与物流网络的进一步快速发展普及的发展和现代电子商务中网上的订单式交易这种业务模式及应用得到的社会条件也日益地发展与成熟,网上的在线自助订餐等方式目前正日益快速的进入中国人千家万户。不仅限于餐饮电子商务如此,随着将来我国的电子商务平台物流行业的得到进一步地发展,我国乃至整个我国餐饮业电子商务平台和国内物流业电子商务平台都是将使企业平台企业和平台商家双方的实现了到了真正的利益双赢。进一步地也必将促进并带动到了在中国供应链上游的国内物流产业地发展和带动国内物流下游的我国第三方的供应链物流产业地的发展。当前,餐饮的电商行业一个较能被消费者市场普遍认可及接受的一种商业模式运营它的基本模式通常也是指由商家消费者先由自己申请注册或建立第三方公司网站或消费者自行报名加入到第三方的电商平台,消费者由自己注册和加入第三方的用户平台可以自己通过使用电脑互联网设备或通过其它的移动或智能设备等来享受在线网上自助下单订餐。商家能够对用户以最快的烹饪时间内上门快速制作送出优质饭菜,并同时能保障通过第三方线下或专业物流快递员送达的饭菜迅速准确到达和送货。通过残酷的风险评估分析系统和劳动生产经验密集型的标准化操作及管理培训方法,在给用户在最短的上门烹饪操作时间范围内迅速成功的将优质美味饭菜快速准时地送到目标用户手中。从满足用户需求最大化的角度综合分析情况来看,订餐者的确已普遍享受或得到了另外的一种更为经济低成本、迅速与方便实用的新型在线即时用餐服务预订消费模式。但是,现有互联网订餐行业的种种传统商业运营手段和消费模式之间也同样仍然面临或多或少所存在着的其他许多现实潜在的问题。主要体现在:(1)缺乏有效的监控体系。餐饮业对食品安全的要求非常高。如果对供给侧商家的食品供应过程没有有效的监督,将不可避免地出现制造问题食品的黑心商家。(2)现有个体商户难以建立大型电子商务平台。选择加入是他们唯一的选择。电商平台和商家之间的利益竞争不利于一些特色餐厅的发展,倾向于生产迅速、低成本的食品。(3)订餐服务管理应用系统本身缺乏承担对订餐用户内容加密保护功能的系统安全维护责任。大量注册用户在平台上进行注册申请后,内容往往被过度复制使用,账号无法注销,这也意味着个人内容无法恢复。尽管如此,政府部门已经慢慢开始在关注网络食品和订餐软件市场方面的规范健康地发展,并发布制定了一些具指导性价值的相关规则。一些知名学者都已经陆续开始在对系统层面上和通过技术手段方面进行深入研究,以帮助促进国内整个互联网订餐消费市场未来的进一步健康良性发展。学术界最关注研究的仍然是个性化无线订餐系统中的相关技术及实现。当前关注的主要前沿问题将不仅主要体现在如何应用这些新技术去实现无线订餐内容管理及系统,还重点体现在无线个性化无线订餐系统内容检索算法中的相关应用,以及无线订餐系统内容推送系统算法及其优化方面的问题研究。讨论如何去在这些系统和实现方案中去应用一些相关技术的算法。例如,利用贝叶斯网络技术对用户行为特征进行建模并分析,在用户在线订购服务过程中可通过选择固定用户的最佳订购的时间节点和时间地点等对其订购的行为特征进行概率的统计,从而能获得一些指导性建议。该行为评价能够通过数据量化,粗略的判断客户最近一天是否会产生出了较大量的错误行为评价,并能够根据某个特定时段用户的最佳选择用餐行为,推荐最佳餐点数量和设置最佳餐桌座位,从而可以提高出勤率。随着网络新业务开发和技术平台的逐步发展成熟和对订餐业务相关问题理论的研究逐步的发展深入,订餐服务管理信息化平台将在逐步实现网站基本的功能服务的同时,将进一步通过网站内容系统逐步实现对餐饮业务流程内容的全面标准化、标准化和可视化。大数据深度挖掘服务与服务提升带来了智能化决策分析支持、人性化的内容智能推送、便捷的安全智能支付等。1.3主要内容在全面研究考察了国外现有网络订餐电子商务平台应用的基本现状情况和最新发展趋势后,结合现阶段国内外应用环境,分析讨论了未来订餐电子平台发展的市场发展的潜力。从应用系统需求满足的需求角度,详细的介绍出了网络订购子平台具体需要系统提供相应的系统功能。用户终端根据需要分别为每个用户端提供在线选择商业区、选择店铺、订餐、将用户当前在线订单记录保存添加到购物车、在线支付、评估订单金额等服务功能。提供订单存储及编辑、菜单修改、订单状态查看功能和订单状态修改等功能。在进一步明确了系统需求分析后,同时还对在设计的过程中面临的另一些主要难点也进行了深入详细全面的详细讨论,并最后在本章最后部分给出了最具体有效的解决方案。主要工作特点创新:(1)从企业实际管理应用问题出发,设计了并初步实现出了这样一个企业通用的互联网订餐平台。(2)为了能够让平台产品更强有市场生命力,将目标用户分为消费者和管理员(商家)。与其他普通商场的统一订货销售管理平台系统所不同的特点是,此统一平台还可以对多家实体门店订货进行管理联合使用。1.4本文结构本文分为七个部分:第一报告部分:介绍研究了网上电子订餐系统开发的整体研究及背景,分析评价了开展该服务系统研发的整体研究工作意义何在和巨大发展空间潜力,并分别通过实证分析相关结果最终确定开展了哪些主要系统的开发研究及内容选择和应用开发工作。第二部分:介绍阐述了网上电话订餐服务系统应用所必须涉及到的各种相关共性技术基第三大部分:对网上在线订餐服务系统用户的实际业务需求点进行作了需求分析,并结合实际进行做了一些详细实用的系统业务流程优化分析。第四大部分:根据订餐系统设计的功能需求的分析,进行网上在线订餐平台系统架构的总体设计,包括网站各部分功能模块之间的关系具体流程设计流程和系统数据库框架的优化设计。第五部分:在基本明确了系统实现的用户需求的分析目标和初步设计实现思路框架后,利用相关数据库技术迅速展开项目开发研究工作,完成了系统设计的实现。第六测试部分:为了能保证系统内部各环节功能系统的高稳定性,对模块系统进行综合测试,首先系统对中各主要单元模块性能进行分析测试,然后分别对系统各功能单元模块系统进行分析集成,对整个系统稳定性进行一个整体综合测试。第七大部分:进行分析总结,并同时对自己下一步的工作安排进行战略展望。

2网上订餐系统相关技术介绍2.1MyBatis框架本文使用MyBatis作为持久层框架,该框架有很多优势,主要可以根据sql语句动态配置来对数据库进行相应操作,该框架同时包含数据库的高级特性如触发器,函数,存储过程等。MyBatis使用配置文件的方式记录数据库连接参数实现连接,不需要采用传统的jdbc模式就能拿到存储在数据库中的数据,采用这种连接方式能有效的减少创建数据表和销毁数据表时的开销。此外,该框架以配置文件的形式实现sql语句进而操纵数据库[1-5],java的类映射成数据库中的数据。Mybatis框架主要分为接口层、数据处理层、基础支撑层这三层架构,如下图所示。图2-1Mybatis结构图第一层接口:api接口层提供相关功能的接口,服务层调用这些接口后。实际处理业务层只需要使用这些接口就可以获得相应的功能,从而完成对数据库的操作。当系统调用某一接口后,Mybatis框架就可以获取配置文件中对应的sql语句对数据库进行相应增删改查。第二层数据:当服务层调用接口层的接口后,数据层会找到相应的配置文件中的sql语句对数据库进行增删改查,操作数据库后数据库会返回相应数据。数据层主要是将原始操作封装为接口以便调用,当其他层调用这些接口后可以非常简单的对数据库进行相应增删改查。第三层支撑:基础支撑层主要上存储连接数据库操作数据库的基本的参数,例如操作数据库的驱动,数据库的用户名及密码等。2.2Spring框架本文使用Spring框架作为主要设计层框架,该框架是目前较为流行的开源层框架,该框架主要负责业务层和其它层的耦合问题,该框架主要是采用接口解决耦合问题,虽然有一定弊端,但是可以解决一部分耦合问题。在任何TomCat和JBoss这类服务器中,Spring框架可以承受不同环境的影响,使用基础功能。同时Spring框架不会受到特定的服务器限制,不会将自身和指定项目和对象相绑定,这一特性展现了Spring框架的优势:在Spring框架中已经配置好的对象可以在不同的项目和不同环境中执行。所以Spring框架可以被不同服务器重用,降低耦合性,增加可扩展性。Spring框架的体系结构如图2-2所示。图2-2Spring体系结构在Spring框架中每个模块或组件都是独立的,他们可以单一的被调用,或者多个联合被调用。主要包括核心容器、Sprisng上下文和SpringAOP[6,7]。Spring中最基本的功能模块(特性)由核心容器实现。该容器采用对象工厂来创建、加载实例。该容器的功能主要利用控制反转对资源进行操作,将原本资源控制权限从双方控制转变为由Spring的核心容器来控制,进而减弱了JAVA对象的耦合度,从而让实现功能时主要关注使用对象而不是创建对象。Spring上下文主要是通过Spring-content.xml这一配置文件保存框架功能的相关参数信息,当工程启动时Spring框架可以自动读取Spring-content.xml该配置文件并对所有模块进行初始化。在Spring-content.xml配置文件中的Spring-content标签中配置相关功能,例如检验输入字段的有效性,管理程序异常等。Spring框架中除了IOC功能外之外,该框架还有另外一个叫做AOP的功能也十分强大。该功能本质上是一个阻断器,主要的功能是操作某些将要执行或者已经执行完成的方法。使用该功能,我们可以将酒店管理系统中设计的核心功能和一些通用的方法分开,易于实现日志管理,数据库基本信息的管理从而减少代码冗余,将核心代码和通用代码更加具体、清晰的表现出来。2.3SpringMVC框架SpringMVC框架主要核心思想的采用一个分发器来处理用户的各个请求,当有一个请求进来后,该分发器会将这个请求分配给相应的程序进行处理,此外,该框架还可以进行地址映射、数据库视图分析、程序参数检验、对文件进行便捷的上传下载等功能。该框架主要采用注解的方式来表示不同功能,通过Controller注解来获取所有请求,拿到请求后用RequestMapping注解来处理请求[8-12]。该框架的主要的体系结构如图2-3所示。图2-3SpringMVC体系结构Spring-mvc主要由七个核心部件组成,共同完成从请求到响应再获取数据库数据,再到返回数据这一流程。在这里我们主要介绍前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器(Handler)、处理器适配器(HandlAdapter)、:视图解析器(ViewResolver)和视图(View)。1. 前端控制器(DispatcherServlet)主要处理用户的请求,当用户的请求到达后,该控制器作为MVC设计模式中的controller来控制整体的数据流动,该组件可以协同其它组件完成用户请求,采用分发器的形式来减少组件之间的耦合度。2. 处理器映射器(HandlerMapping)主要是根据用户不同的相应,将任务分配给不同处理器,主要采用配置文件实现接口和注解的不同映射。3. 处理器(Handler)主要功能是控制后端程序,根据DispatcherServlet分发的不同请求处理器进而处理用户的不同请求,改模块通常是由程序员根据业务进行自定义,因此该模块可塑性很强。4. 处理器适配器(HandlAdapter)主要上用来针对Handler无法处理的某些请求,DispatcherServlet分发任务后发现没有handler可以解决,这时会发送到该模块上进行处理。5. 视图解析器(ViewResolver)主要是将handler处理后的结果转化为View视图,主要流程上首先将逻辑视图转化为页面,然后生成对象,最后对该视图进行渲染,然后根据静态资源CSS配置后显示给用户。6. 视图(View)主要包括jsp页面、html页面和xml页面等。改功能模块主要上根据具体的不同业务进行具体的开发。2.4Mysql数据库现代计算机中存储的数据呈现暴涨的趋势,工程师便设计了数据库及其管理工具来帮助程序员解决这一问题,使用数据库后,计算机的存储数据更加有秩序,数据的冗余度大大降低,数据的独立性大大提高,程序员操作数据更加方便。mysqlServer采用图形界面,使用方法一目了然[13-17]。(1)mysqlServer是一款RelationalDatabaseManagementSystem(2)mysqlServer与Windows系统完美结合(3)mysqlServer对计算机的硬件条件要求不高(4)mysqlServer具有良好的可伸缩性(2)mysqlServer具有良好的灵活性,它可以适应快速变化的环境2.4JSP技术本系统使用jsp进行编写,jsp是一种开放动态系统的编程软件,它能将JAVA语言嵌入在html中使用,也能单独使用,同时具有多种有优点,可以说,jsp已经成为Web脚本技术的先驱。它融合了现代编程软件(如C,MyEclipse和Perl)的一些最佳特性。Linux、jsp、Tomcat和mysql的组合已经成为Web服务器的一种配置标准。jsp可以用来:收集表单数据、生成动态网页、字符串处理、动态输出图片、处理服务器端文件系统、编写数据库支持的网页、会话跟踪控制、处理XML文件、支持利用大量的网络协议、服务器端的其他相关操作。目前能够用在所有的主流操作系统上,包括Linux、UNIX的各种变种、MicrosoftWindows等。今天,jsp已经支持了大多数的Web服务器,包括Tomcat、tomcat、iis等。jsp提供了一个模块;还有一些jsp支持CGI标准,使得jsp能够作为CGI处理器来工作。

3网上订餐系统分析3.1系统可行性分析可行性分析是计算机应用开发必备的步骤。在正式开发之前,我们需要预测在未来开发中可能碰到的问题,同时要评估网上订餐系统对饭店所带来的收益和风险,并且需要计算项目成本。如果不进行这一步,预算不够的话,项目开发到一半时发现资金无法支撑整个项目的开发,这会对饭店造成巨大的损失。因此,本节主要对系统的技术层面、操作层面、已经经济层面进行可行性分析。从技术层面来说,本文开发的网上订餐系统使用的框架都是目前较为流行的框架,并且本文开发的系统所使用的都是较为轻量工具如Mysql。并且使用ssm框架来实现MVC模式中的业务层、视图层和持久层。本次开发面向的是单一饭店,因此使用Tomcat服务器完全可以满足日常需求,由于正常用户量最多500,所以Mysql数据库完全够用,其完全免费,体积好可以降低成本。本系统开发周期短,可以快速上线使用,因此在技术层面上是完全可行的。从操作层面来说,本系统为了顾客和饭店员工快速上手,所以设计的界面简单易懂,清楚明了,没有复杂的操作,通过简单的培训就可以快速入手。日常的操作只需要几步就可以完成,这样可以有效的提高员工工作效率。对于不同角色本系统提高不同的权限,以此来防止某些误操作,同时系统中所有的操作都会被记录,如果出现问题可以快速定位解决问题。本系统操作简单,界面友好,所以在操作层面上是可行的。从经济层面来说,本软件的实现只需要开发费用和运营费用,但是对比传统的订餐方式来说,软件可以帮助饭店提升顾客光顾次数,饭店形象,从而带来更多客户,并且可以减少发生错误的可能性,从而提升饭店的盈利。所以从经济层面上来说,本软件的开发也是可行的。3.2系统业务流程分析网上预约订餐平台系统设计中涉及的主要业务用户角色又被分为消费者和管理员(商家),具体流程如下图所示。图3-1系统业务流程图3.3系统用例分析消费者前台用户用例图:图3-2用户用例图(1)注册会员并成功登录。如果一个用户注册在订餐支付系统过程中需要用户完成付费订餐,则系统必须需要客户完成账户注册,然后该用户付款才能进行支付订餐服务费用。注册用户登记的账户主要包含内容一般是真实姓名、联系客服的电话姓名和真实联系地址。(2)快速浏览菜单功能当普通消费者首次进入到该购物网站时,可以先按物品类别名称和所在城市地区名称浏览网站可选供其订购用的物品菜单,还免费提供了快速搜索菜单功能,让普通用户即可迅速地浏览商品菜单。(3)购物车管理。为用户提供在线暂存购物车菜品明细的查询功能,未实名登录系统的注册用户也随时可以直接使用在线购物车功能查看自己购物车清单中剩余的所有菜品数量;另外如果是您真的想要直接支付自己购物车清单中菜品的支付订单,您就需要登录。(4)订单跟踪管理。它是主要用来提供登录的用户如何查看历史订单、下订单或取消订单。图3-3管理员(商家)用例图管理员(商家)可以通过平台后端进行用户管理、餐品管理、菜系管理和订单管理。其中用户管理主要是商家修改自身信息,如密码,简介等。餐品管理主要是让商家可以管理预定的菜品,而菜系管理主要是让商家对目前所拥有的菜品类别进行管理,订单管理是让商家查看订单,为发货做准备。

4网上订餐系统概要设计4.1系统功能模块设计本系统主要分为前端订餐系统和后台商家管理系统。其中前端订餐系统主要包括用户管理、浏览商品、购物车管理、订单管理。后端商家管理系统主要包括订单管理,用户管理,菜品管理和菜系管理。系统功能图如图所示。图4-1系统功能图消费者功能模块如下所示:用户管理:主要包括用户注册,用户登录,用户信息修改等功能。浏览商品:主要浏览功能包括浏览所有餐品菜单的所有详细菜单内容,搜索消费者想要搜索的所有餐品。购物车管理:消费者可以添加想要选购的菜品进入购物车,可以进行结算。订单管理:该模块消费者可以查询正在自己的订单或取消订单。管理员(商家)功能模块如下所示:用户管理:主要是让管理员(商家)对自己的相关信息进行修改,如密码简介等。菜品管理:商家可以自行添加、修改、删除想要更改菜品。菜系管理:商家可以自行添加、修改、删除想要更改菜系。订单管理:商家需要查看订单,通过订单地址进行发货。4.2订单管理模块流程设计订单管理分为三个部分:接收订单、处理订单、查看订单。系统后台自动接收到用户订单申请后,根据申请订单明细内容来进行后台处理申请订单数据的各项操作。此外,可以实时查看所有的订单数据以及订单的详细信息内容。图4-2订单管理模块流程图4.3餐品管理模块流程设计餐品的管理主要分为下面四个大部分:浏览餐品、添加餐品、删除餐品。系统管理员就可以实时查看系统所有用户的下单餐品的内容,根据所有用户实际下单情况和明确列出各批次餐品实际的总销售量,进行自动修改添加或者直接删除内容,有发现新需要的餐品时还可以手动添加删除餐品。餐品管理模块流程图如图4-3所示。图4-3餐品管理模块流程图4.4用户注册登录模块流程设计未直接通过登录注册用户的用户现在也还可以先登录来查看菜单栏页面上提供的所有菜品的所有餐品的内容,但是若要再次进行在线点餐服务的其他全部菜品操作就还必须用户需要自己先去登录。如果当前用户暂时没有成功注册的账号,用户目前仍然是可以通过继续登录进行新账号的注册。用户注册登录模块流程图如图4-4所示。图4-4用户注册登录模块流程图4.5购物车管理模块流程设计购物车的日常管理一般要分为以下这样的三个很重要的部分:查看所有当前的购物车、删除当前所有的餐品、清空当前所有的购物车。用户只要首次使用登录帐号注册后通过点击进入到我自己的购物车页面就已经可以很轻松地查看当前我自己购物车页面中的出现了的全部餐品,点击清除全部餐品按钮后面对下一应出现的全部删除当前购物车按钮也一样可以彻底全部的删除掉当前购物车餐品,点击清空全部当前的购物车按钮后面则一样可以彻底全部将当前的购物车页面中所出现过的所有购物车的全部餐品清空。购物车管理模块流程图如图4-5所示。图4-5购物车管理模块流程图4.6下单流程设计 当消费者选购好商品后,返回购物车点击下单填好地址,选择付款方式,付款后等待商家发货即可。图4-6消费者下单流程图4.7数据库设计数据库模型的分析设计的实现能力主要指基于对数据库实体类数据表的模型设计的分析研究能力与具体分析模型设计的实现的结果,本节在文章结构中还将会尽量主要详细地提出从数据库分析设计中的最主要的概念模型设计出发并将给出ER图,并也将具体给出最主要的类型的数据表型设计的一些详细分析设计内容。数据库E-R图如图4-6所示。图4-7全局E-R图管理员内容表(admin)用来存储平台管理员的基本内容,表字段内容如表4-1所示。表4-1管理员内容表字段名字段类型字段大小能否为空默认备注idint11主键null标识递增usernamevarchar200否null登录名passwordvarchar200否null密码用户内容表(user)。存储订餐系统中注册的消费者用户和平台用户的基本内容,表字段内容如表4-2所示。表4-2用户内容表字段名字段类型字段大小能否为空默认备注user_idint11主键null标识递增usernamevarchar200否null用户名passwordvarchar200否null密码truenamevarchar200是null真实名字emailvarchar200是null电子邮箱phonevarchar200否null移动电话addressvarchar200是null地址菜系分类内容表(meal_series)。存储系统中所有菜系分类,表字段内容如表4-3所示。表4-3菜系分类内容表字段名字段类型字段大小能否为空默认备注series_idint11主键null标识递增series_namevarchar200否null菜系名菜单内容表(meal)。存储系统中所有菜品内容,表字段内容如表4-4所示。表4-4菜单内容表字段名字段类型字段大小能否为空默认备注meal_idint11主键null标识递增series_idint11否null菜系,外键meal_namevarchar200否null菜名meal_descriptionvarchar200是null简介meal_pricedecimal0否null价格meal_imagevarchar200否null图片地址订单内容表(order)。存储系统中所有订单内容,表字段内容如表4-5所示。表4-5订单内容表字段名字段类型字段大小能否为空默认备注order_idint11主键null标识递增user_idint11否null用户id,外键order_timedatetime0否null下单时间order_namevarchar200是null收货人order_addressvarchar200否null收货地址order_phonevarchar200否null联系电话order_pricedecimal8否null全部金额order_statevarchar200否null订单状态

5网上订餐系统实现5.1用户登录实现不论是消费者还是管理员(商户)都需要登录系统后才可以进行操作,登录时系统WEB层需要提取用户名、密码,主要通过UserAction处理类来过多成逻辑。用户登录过程的部分代码示例如下:$(function(){$("div.loginErrorMessageDiv").hide();//验证不能为空$("form.loginForm").submit(function(){if(0==$("#name").val().length||0==$("#password").val().length){$("span.errorMessage").html("账号或密码不能为空");$("div.loginErrorMessageDiv").show();returnfalse;}returntrue;});if("${msg}"=="true"){$("span.errorMessage").html("账号或密码错误");$("div.loginErrorMessageDiv").show();}})消费者登录效果图如图5-1,5-2所示。图5-1消费者登录界面图5-2管理员(商户)登录界面消费者登录时,获取表单中的用户名和密码,封装进User类中,通过业务逻辑组件UserBiz调用DA。组件完成对数据库的访问进行验证用户内容。如果登录验证成功会返回一个用户的List集合,将用户对象存入Session中并转到主页的Action。在主页面消费者可以进行订餐,将选好的餐品放入购物车中。图5-3订餐界面5.2管理员(商户)订单管理实现商户登录系统后可以查看消费者的订单,并且可以选择是否发货。如图5-4所示。查看订单的部分代码示例如下:<sectionclass="Hui-article-box"><navclass="breadcrumb"><iclass="Hui-iconfont"></i>首页<spanclass="c-grayen">></span>订单管理<spanclass="c-grayen">></span>订单列表<aclass="btnbtn-successradiusr"style="line-height:1.6em;margin-top:3px"href="javascript:location.replace(location.href);"title="刷新"><iclass="Hui-iconfont"></i></a></nav><divclass="Hui-article"><articleclass="clpd-20"><divclass="clpd-5bg-1bk-graymt-20"><spanclass="r">共有数据:<strong>${totals}</strong>条</span></div><tableclass="tabletable-bordertable-borderedtable-bg"id="mytable"><thead><tr><thscope="col"colspan="10">台后订单列表</th></tr><trclass="text-c"><thwidth="">ID</th><th>地址</th><th>买家</th><th>总价</th><th>状态</th><thwidth="150">操作</th></tr></thead><tbody><c:forEachitems="${os}"var="order"><trclass="text-c"><td>${order.id}</td><td>${order.address}</td><td>${}</td><td>${order.total}</td><td><c:iftest="${order.status==0}">未支付</c:if><c:iftest="${order.status==1}">未发货</c:if><c:iftest="${order.status==2}">已发货</c:if><c:iftest="${order.status==3}">已收货</c:if></td><td><atitle="查看"href="javascript:;"onclick="orderIetm_list('订单详情','seeOrderItem?oid=${order.id}','1','500','310')"class="ml-5"style="text-decoration:none"><spanclass="labellabel-successradius">查看详情</span></a><c:iftest="${order.status==1}"><atitle="发货"href="/order/orderDelivery?id=${order.id}"class="ml-5"style="text-decoration:none"><spanclass="labellabel-successradius">发货</span></a></c:if><c:iftest="${order.status==2}"><spanclass="labelradius">已发货</span></c:if></td></tr></c:forEach></tbody></table></article><articleclass="clpd-20"><%@includefile="../adminPage.jsp"%></article></div></section>图5-4商家订单管理界面5.3管理员(商户)餐品、菜系管理实现在本模块中,商户登录系统后可以对饭店的各种菜品,菜系进行管理,可以对菜品进行相应的增加修改和删除,对菜系也可以进行相应的增加修改删除。相应的代码如下所示,菜品和菜系管理界面如5-5,5-6所示。<sectionclass="Hui-article-box"><navclass="breadcrumb"><iclass="Hui-iconfont"></i>首页<spanclass="c-grayen">></span>商品管理<spanclass="c-grayen">></span>商品分类管理<aclass="btnbtn-successradiusr"style="line-height:1.6em;margin-top:3px"href="javascript:location.replace(location.href);"title="刷新"><iclass="Hui-iconfont"></i></a></nav><divclass="Hui-article"><articleclass="clpd-20"><divclass="clpd-5bg-1bk-graymt-20"><inputtype="text"class="input-text"style="width:150px"placeholder="输入分类名称"id="newCateName"name=""><buttonclass="btnbtn-secondaryradius"onclick="admin_category_add()">添加分类</button>如果分类无法删除的话,是因为该分类下有商品<spanclass="r">共有数据:<strong>${size}</strong>条</span></div><tableclass="tabletable-bordertable-borderedtable-bg"><thead><tr><thscope="col"colspan="7">分类列表</th></tr><trclass="text-c"><thwidth="25"><inputtype="checkbox"name=""value=""></th><thwidth="40">ID</th><thwidth="100">分类名称</th><thwidth="100">操作</th></tr></thead><tbody><c:forEachitems="${list}"var="category"><trclass="text-c"><td><inputtype="checkbox"value="1"name=""></td><td>${category.id}</td><td>${}</td><td><atitle="编辑"href="javascript:;"onclick="admin_category_edit('分类编辑','editCategory?id=${category.id}','1','','310')"class="ml-5"style="text-decoration:none"><iclass="Hui-iconfont"></i></a><adeleteLink="true"title="删除"href="/category/delCategory?id=${category.id}"class="ml-5"style="text-decoration:none"><iclass="Hui-iconfont"></i></a></td></tr></c:forEach></tbody></table></article></div></section>图5-5菜品管理界面图5-6菜系管理界面5.4消费者注册实现当消费者想要点餐时,首先需要登录,如果消费者没有注册过账号,那么可以点击点餐主界面右上角的注册按钮,跳转到注册界面,消费者需要输入姓名,密码,邮箱和手机号。注册核心代码如下所示,用户注册界面如5-7所示。$(function(){//验证不能为空$("form.loginForm").submit(function(){if(0==$("#name").val().length||0==$("#password").val().length){alert("账号不能为空");returnfalse;}returntrue;});})图5-7用户注册界面5.5消费者购物车、下单功能实现当消费者成功登录系统后,可以将想要预订的食物添加到购物车内,如图5-8所示,当用户选择完成后,点击下单系统会跳转到地址填写界面,如图5-9所示,填写好地址后选择支付方式点击提交订单就可以成功订餐。核心代码如下所示。<scripttype="text/javascript">varoiids=[];//总购买数量vartotalNumb=0;//订单总价vartotaljiage=0;functiondianji(object,oiid,price){//订单项购买数量varnum=$("#oiNumber"+oiid).val()*1;//保存选中的订单项的小计varcurrentTotaljg=0;//保存商品具体价格varp=0;//判断是否是会员进行折扣if(${cst.status==1}){p=price*0.8;$("xiaoji08").val(p*num);}else{p=price*1;$("xiaoji1").val(p*num);}//选中订单项if(object.checked==1){//获取当前订单项的购买商品数量num=$("#oiNumber"+oiid).val()*1;//获取下单数量默认0totalNumb+=num;//计算当前订单项小计currentTotaljg=num*p;totaljiage+=currentTotaljg;//更新订单价格$("#OisTotal").text("$"+totaljiage);//更新下单的购买数量$("#OisNum").text(totalNumb);//添加订单项idoiids.push(oiid);}else{//撤销订单项num=$("#oiNumber"+oiid).val()*1;totalNumb-=num;currentTotaljg=num*p;totaljiage-=currentTotaljg;$("#OisTotal").text("$"+totaljiage);$("#OisNum").text(totalNumb);removeByValue(oiids,oiid);//这里突然没有js的remove方法,自定义一个}}functionremoveByValue(arr,val){for(vari=0;i<arr.length;i++){if(arr[i]==val){arr.splice(i,1);break;}}}//提交购物车订单functionsubMyOrder(){if(oiids.length==0){alert("请勾选要买的商品");returnfalse;}window.location.href="/fore/forebuy?oiid="+oiids;}functiondelOrderItem(oiid){$.get("foreDelOrderItem",{"oiid":oiid},function(result){if(result="success"){$("#delOrderItem"+oiid).parent().remove();}else{alert("登录过期,请登录");}});}</script>图5-8购物车界面图5-9消费者填写地址界面图5-10查看订单界面

6网上订餐系统测试6.1测试过程分析在线订餐系统,确定要测试的内容并制定测试计划,本系统在Windows1064位专业版上运行只进行功能测试。测试主要分为消费者功能模块测试和管理员(商户)功能模块测试。执行测试,准备搭建测试环境,并记录测试内容。提交并解决测试中的bug。6.2测试订餐系统前端用例表6-1测试用例执行情况需求功能名称测试用例名称执行说明执行情况是否通过启动订餐系统启动测试测试服务器是否能打开;测试订餐系统是否能正常运行,订餐系统页面间转换是否正常。良好是用户登录登录测试测试用户打开订餐系统时能否进行用户登录,是否跳转主页面流畅;是否登录成功。良好是图片轮播图片轮播测试测试轮播图是否正常轮播;测试轮播图的图片是否能点击跳转对应美食或活动页面。良好是查看餐品详情查看美食详情测试测试点击美食或点击热门活动是否能流畅跳转至对应的美食详情也页面;测试美食详情页面内容是否展现完好和运行流畅。良好是添加购物车添加功能测试测试菜品是否能正常添加到购物车,刷新界面后购物车内的菜品是否还在良好是用户注册注册测试测试用户是否能正常填写注册相关信息,点击注册后是否能正常注册良好是填写送货地址测试填写地址功能测试地址文本框是否可以正常的输入文字良好是下单功能测试下单功能测试是否可以正常选择支付方式正常下单良好是查看订单功能测试查看订单功能测试消费者查看自己订单信息是否能正常显示良好是6.3测试订餐系统后端用例表6-2测试订餐系统后端用例表功能执行说明执行情况是否通过系统登录管理员登录输入框输入用户名和密码良好是订单管理查询查询订单内容无良好是新增新增订单内容点击新增按钮,输入相关内容并点击保存良好是删除删除订单内容点击删除按钮,弹出对话框并点击确定良好是编辑编辑订单的内容点击修改按钮,修改相关内容并点击保存良好是菜品管理查询查询菜品内容无良好是新增新增菜品内容点击新增按钮,输入相关内容并点击保存良好是删除删除菜品内容点击删除按钮,弹出对话框并点击确定良好是编辑编辑菜品内容点击修改按钮,修改相关内容并点击保存良好是菜系管理查询查询菜系内容无良好是新增新增菜系内容点击新增按钮,输入相关内容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论