1基于java的网上订餐系统客户端的设计与实现1.绪论1.1选题背景随着中国经济的高速发展和人们生活水平的不断提高,近几年来,我国的餐饮行业一直保持着快速发展的趋势并展现出强劲的发展势头以及广阔的发展前景。同时随着互联网渐渐深入人们的生活,电子商务备受欢迎,高节奏生活的人们对饮食的快捷和美味也有了自己的要求,网上订餐这一行业便应运而生。因着网上订餐的快捷和方便以及菜肴的注重搭配,它也逐渐成为一种潮流,人们也喜欢享受着“足不出户,美食到家”的待遇,从而促使网上订餐行业更加高速发展。近几年,各式各样的订餐网站更是纷拥而至,如:饿了吗、到家美食汇、百度外卖、必胜客宅急送等等。可见,网上订餐在当前社会的影响下拥有巨大的市场前景。面对如此巨大的市场前景,设计和实现网上订餐系统是具有很好的实现意义的。1.2主要技术简介本系统主要采用Java开发技术,运用MyEclipse开发工具,并且采用了Oracle来作为系统的配套数据库,从而使得系统的稳定性、健壮性及维护的方便有了较大的保障。1.2.1Java技术简介Java技术经常被应用于跨平台的应用软件开发中,因其具有较高的通用性和较好的安全性。现今,在众多的软件开发中,Java技术占有很大的比重。Java技术最初是在1995年由SUN公司推出,它最初被命名为Oak,后来经过一些变动,改名为Java。在Java技术被推出后就被广泛应用到Web软件开发中,Java大大推动了Web的迅速发展。Java界面风格与C语言十分相似。Java技术不仅继承了C++的核心技术,并且改进了C语言中的错误,更增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不再担心内存溢出和存储紊乱等问题。Java技术在开发应用过程中,语言十分严谨,使软件更加规范。Java技术是当前的软件开发中的主流技术。1.2.2Oracle数据库概述OracleDatabase简称Oracle,是甲骨文公司推出的一款关系数据库管理系统,是目前世界上主流的数据库之一。它在数据库领域一直处于领先地位,并且其系统具有强大的可移植性,并且使用方便、功能强,适用于各类大、中、小、微机环境。它是一种2具有极高效率并且具有极强可靠性的,能够很好适应高吞吐量的数据库解决方案。Oracle数据库具有数据的大量性、保存的持久性、共享性、可靠性等特点,由它作为系统的配套数据库,可以为系统今后的运营和发展打下坚实的基础。1.3开发目标完成一个完整的网上订餐系统的客户端,整个系统页面简洁明了,操作完整流畅,使顾客能够享受完美的购物体验。系统在运行过程中应该快速、稳定、高效和可靠,在整体的结构上应该具有很好的可扩展性,便于将来系统的结构和功能的扩展和维护。整个系统在实现高性能的同时,更要实现用户的登录和注册、会员管理、菜单浏览和搜索、订单管理和会员优惠等各大模块的功能。2.基于Java的网上订餐系统客户端的分析2.1系统需求分析随着互联网的快速发展,一直处于快餐式生活的社会工作者的需求,种类多样、方便快捷的网上订餐业务应运而生,并以迅雷不及掩耳之势融入人们的生活之中。目前,在我国网上订餐业务正处于形成期,还具有很大的成长空间。订餐网站是一个基于互联网的B/S模式的网上订餐系统,能为顾客提供足不出户,只要有网,便可以享受选择餐厅、浏览餐品的详细信息、点菜订餐、送餐到家等服务。这不仅为顾客用餐提供了快捷和方便,也对餐厅的整体管理水平也具有很大的提高,不仅高效,还使原本繁重的管理变得简单快捷。本系统的主要功能如下:1.实现用户的登录和注册功能会员制是整个网上订餐系统必不可少的。通过会员制,不仅可以让顾客享受到订餐便捷,还可以享受会员所拥有的在网站中的各方面的优惠服务,增加顾客对餐厅的忠诚度,使餐厅保持住客流量。顾客在进入订餐系统的首页之后,可以点击页面右上角的“会员注册”按钮,跳转到会员注册信息的页面。在会员注册页面按照页面的要求和提示进行会员信息资料的填写,并在页面加一些验证,以保证注册信息填写的准确性,同时避免有些用户的恶意注册,造成网站的系统崩溃。同时还要设定一些必填项目,否则将不能进行注册信息的提交。在顾客完成资料填写后点击“提交”便可完成注册,直接跳转到该系统的首页。还需要设置“重置”按钮来清除所有已经填写的资料,以保证顾客在想重新填写注册资料时可以进行使用。3注册完成之后,会员可以根据提示填写自己注册时所保存信息来完成登录的操作进入网站。2.实现用户的订餐功能这是本系统的主要功能,顾客登录进入系统首页之后,对餐品进行浏览后,可以在餐品详情页面进行订餐。首先,会员可以点击“菜单浏览”,然后在本页面以分类的方式浏览各个种类的餐饮,也可以在首页推荐中进行选择。点击每个餐饮进去后可以进入餐饮详情页面,可以在本页面进行选购。会员选择好所订的餐饮以及份数后,再在个人菜单的模块中填写上自己的姓名和电话、送餐地址、送餐时间等,填写完毕之后点击“立即订餐”按钮便可以完成订餐。3.实现用户的评论功能这是用户对餐品的一些建议,是会员与会员之间的一个交流的渠道。会员在评论板块可以针对这个餐品进行评价,不仅使餐厅管理员能够更多、更快、更准确的了解用户的需求,还可以让别的会员对这个餐品有所了解。只有注册后登陆的会员才可以对餐品进行评论,以保证对餐品评论的真实性。4.实现用户的自我管理功能可以设置一个会员中心,里面全部是会员个人信息的管理,可以包括会员的头像、信息资料的修改、个人订单的管理等等,以保证会员对个人信息的不断完善。5.实现针对用户的优惠功能可以分为两个板块来进行实现,设置一个“今日特惠”板块和一个“会员专享”板块。今日特惠针对所有的会员,每日可以推出一些美食进行折扣销售。会员专享则可以使会员根据自己在本平台所购买东西而累加的积分来进行一些餐品的兑换。这样不仅吸引的新会员的加入,还能留住老顾客,对平台的运营起了很大的帮助。2.2系统的可行性分析2.2.1技术可行性本系统采用Java语言进行开发,运用的开发工具是MyEclipse,整个系统的技术路线是:Jsp+Jquery+Hibernate+Spring+CSS+Struts+JavaBean+JDBC+Oracle。表现层用JSP实现;页面数据提交至对应的Struts;Struts从表单中取出参数值,调用相应的service类,执行相关操作。本系统采用Java技术并且以Oracle数据库配套进行开发,4Java技术是当前计算机应用软件开发的主流技术,而Oracle数据库是当今几款主流数据库中使用最为广泛的数据库管理系统。Java语言是分布式的、可移植的、具有解释性的、高性能的语言,Oracle数据库更是一个通用的数据库系统,具有完善的分布式处理功能,能够保持数据的大量性和可靠性。因此,在技术上完全可以胜任这个平台的开发。2.2.2经济可行性网上订餐系统给人们的生活带来了极大的方便,它已逐渐成为人们如今生活的一个新时尚。尤其对于一直在高速运转的工作人群,带来了极大的福利和方便。构建网上订餐系统正是符合了当今社会人们的需求,在经济上是完全可行的。由于本系统对开发的硬件需求并不高,只需一台电脑便可完成系统的开发,并无额外支出,而且本系统在任何一台只要连上网络的电脑上都可以运行,具有很高的经济可行性。2.2.3操作可行性随着电脑的普及,人们大都受到了计算机知识的普及和推广,越来越多的人掌握了计算机的基本操作和运用。随着互联网的发展,尤其近几年来电子商务的盛行,人们对在互联网上的商务贸易有很大的积极性。而且本系统的设计与开发正符合了人们对于网上订餐行为的追捧的热潮。本系统更是由当今流行的软件开发技术和强大的数据库配套开发,具有强大的稳定性和很好的可维护性。构建网上订餐系统是完全可以独立地运行和流畅地操作的。经过上述三个方面进行系统的可行性分析、研究后,我认为该项目在技术上是可行的,在经济上也是没问题的,运行和操作上是正常的,所以完全可以进行开发和设计。3.基于Java的网上订餐系统客户端的设计3.1系统设计的原则3.1.1命名标准化1.数据库命名标准化表:“DC_”+“表描述词”,如:DC_MEMBER指会员表,DC_ORDER指会员订单表列:“‘表描述词’的第一个字母”+“_”+“列描述词”,如:M_ID指会员表的会员ID数据库名:ORACLE_Database用户数据库名:dingcan52.类命名标准化用名词或名词短语对类进行命名,每个单词或着是短语的第一个字母都要大写。如:publicclassMember{}。3.函数命名标准化用动词或动词短语命名方法。如:publicdeleteMember()。4.属性命名标准化用名词或动词短语对属性进行命名,第一个字母要小写。如:memName、memPassword。5.接口命名标准化使用名词对接口进行命名。例如,MemberDao,MemberService。如:publicinterfaceMemberDao{}。6.接口的实现类命名标准化使用名词对接口实现类进行命名。例如,MemberDaoImp,MemberServiceImp。在接口名后面加Imp作为后缀,以识别它是某接口的实现类,如:publicclassMemberDaoImpimplementsMemberDao{}。3.1.2模块标准化设计功能模块是本网上订餐系统进行业务处理的核心,更是用户针对系统操作的重要部分。功能模块在设计的时候应该严格遵守正确、可靠、高效以及可维护、可扩展、开放性好等原则。整个系统采用Java开发工具进行设计和开发,采用面向对象的思想,遵循设计的准则,开发网上订餐系统客户端的各个功能模块。实现整个系统从信息的入库和数据的传输以及信息的输出等各部分的完整和流畅。3.1.3接口标准化设计外部的数据接口对于数据的一致性和完整性比较偏重,主要包括:要有中间数据源、数据格式要求统一、数据要接受反馈、数据要进行检测和预处理,同时要充分考虑接口的扩展和扩充,考虑到在开发的进程中系统的需求有可能会改变的情况。3.1.4可靠性设计系统采用了Java技术中面向对象的设计思想,使整个系统具有低耦合性和可扩展性。系统具有完整的异常处理机制和系统日志机制,使本系统具有良好的健壮性。系统以Oracle作为数据库,使系统的数据处理拥有很大的优势,在处理方面具有很大的可靠性。63.1.5安全性设计系统具有拦截器设计,可避免非法访问、盗用信息,保证内部各子系统的数据不被非法用户所获取。在应用软件的设计上,并建立完善的日志管理,能追踪每个操作步骤,做到所有操作都有据可查,严密监视操作记录。3.2系统的功能模块设计本系统围绕顾客的注册登录以及顾客的订单管理进行开发工作,整个系统所涉及的各个功能模块如图1所示:图1网上订餐系统客户端功能结构图根据系统需求分析,顾客模块所涉及的流程如图2所示:图2顾客网上订餐业务流程图订餐浏览菜单挑选餐品去结算填写信息新会员注册登录进入首页顾客放入我的菜单客户端功能模块餐品展台餐品购物会员管理所有菜系餐品查询我的菜单提交订单会员注册会员登录会员资料修改帮助中心订单查询优惠活动73.3系统的数据库设计通过对网上订餐系统客户端的整体的需求分析,本系统数据库的设计包含了4个表的数据结构:3.3.1商品表设计(DC_GOODS)图3商品表其中设置G_ID(商品ID)为主键。商品表是用来存储餐品的详细信息,便于对餐品的查看、修改和删除。3.3.2会员表设计(DC_MEMBER)图4会员表其中设置M_ID(会员ID)为主键。会员表是用来存储会员的注册信息,便于对会员个人信息的维护和记录。3.3.3会员订单表(DC_ORDER)8图5会员订单表其中设置O_ID(订单ID)为主键,M_ID(会员ID)为关联会员表的外键,G_ID(商品ID)为关联商品表的外键。会员订单表是用来存储网站会员的个人订单的详细信息,便于对会员的消费进行及时的记录。3.3.4评论表(DC_COMMENT)图6评论表其中设置C_ID(评论ID)为主键,M_ID(会员ID)为关联会员的外键,G_ID(商品ID)