




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计 盐 城 师 范 学 院毕业设计基于Java的外卖点餐系统 学生姓名 学 院 信息工程学院 专 业 计算机科学与技术 班 级 12(1) 学 号 指导老师 2016年 5 月 16日2基于Java的外卖点餐系统摘 要当代信息科学飞速发展,互联网也已经深入各个领域,使得信息技术已经快速融入到了企业需求中。传统的企业内部信息的交流方式早已不能满足企业快速传输和处理大量的信息需求,网络的应用改变了传统的模式,全面地提升了企业的联通能力。为满足企业和市场需求,基于Java的外卖点餐系统应运而生。 本设计是一个基于Java的外卖点餐系统,开发主旨是面向对象的设计,通过(B/S)模式构成,并用MVC框架完成了系统的最终实现。系统介绍动态网页程序开发和数据访问技术基础上,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术。【关键词】 Java;外卖点餐系统;B/S模式全套设计加扣 3012250582The selling point meal system based on JavaAbstractThe rapid development of modern information science, the Internet has gone deep in various fields, so that information technology has rapidly integrated into enterprise demand.Traditional means of communication within the enterprise information already can not meet the rapid transmission and processing of a large number of enterprise information needs, the application of the network has changed the traditional model, comprehensively enhance the companys ability Unicom. To meet the needs of enterprises and the market, selling food outside the Java-based system came into being. I designed a selling point outside a Java-based ordering system, developed thrust is object-oriented design, by (B / S) mode configuration, and use MVC framework ultimately complete system. System introduced dynamic web application development and data access technology, based on elaborated system design, implementation and used development tools and related technologies.Keywords Java; outside selling food system; B / S Mode目 录1 引言11.1研究背景11.2 研究手段11.3 研究目的11.4 主要研究工作12 系统开发平台和运用技术22.1 java介绍22.2 jsp简介22.3 MySQL介绍22.4 框架介绍22.5 Eclipse 介绍32.6 开发环境要求33 系统需求分析33.1 可行性分析33.2 功能需求分析43.2.1客户管理方面43.2.2订餐管理模块43.2.3菜单管理模块43.2.4数据维护模块53.2.5后台管理模块53.3 UML用例图53.4 E-R图64 系统设计74.1系统各功能模块设计图74.2 数据库设计85 系统实现105.1 主要功能模块的实现105.1.1系统管理员登陆105.1.2 用户登陆125.2 扩展功能界面136 系统测试176.1程序调试176.2功能调试186.3测试用例187 结论和展望19参考文献20致 谢21盐城师范学院毕业设计1 引言1.1 研究背景当代社会,科学技术发展的愈来愈成熟,在人们的饮食这一块,也是随着时代的节奏一起加快。因此,通过网络来实现餐饮的流程实现已经正在代替手工管理,这样不仅节省了很多时间,也变得十分方便,符合这个高速运转的社会现态。1.2 研究手段该研究将通过查找文献和上网搜索来获得资料,从而全面的了解所要研究的与基于JAVA的外卖点餐系统有关的信息,然后进一步分析并结合实际需要,按照系统设计内容一步一步地实现功能,最后完成符合要求的基于JAVA的外卖点餐系统。该系统是基于B/S模式的,这样用户能够十分方便的通过各自的计算机连接网络来访问目标站点。同时,系统主要采用MVC框架开发,结合JSP、Ajax等技术构建前台页面,开发环境使用jdk1.7.0_79,数据库使用MySQL5.1,服务器使用apache-tomcat-8.0.23,开发工具将使用Eclipse和SQLyog等1。1.3 研究目的本系统的研究目的如下:a. 熟练掌握JSP基本结构、标签及相关属性问题。b. 研究MVC架构流程和功能实现、MySQL的应用。c. 实现客户注册登录、订餐、客户信息的增删改查、菜单的编辑和修改、后台相关数据的实现、数据维护等。d. 分析并处理在运行系统功能过程中所遇到的若干难题。e. 建立完整的基于JAVA的外卖点餐系统,进行测试并分析结果。f. 通过项目实训,达到熟练操作MySQL数据库、灵活运用JAVA Web相关技术、并能够熟练使用Java语言2。1.4 主要研究工作研究的主要内容是通过对基于JAVA的外卖点餐现状的研究,以及在分析基于JAVA的外卖点餐系统管理实施策略的基础上,结合各餐厅使用同类系统的经验,设计并实现一个简单实用的基于JAVA的外卖点餐系统。该系统是一个基于MVC框架的系统3。具体功能模块如下:客户管理模块:添加客户、删除客户、查看客户订餐信息、修改密码、查看订餐状态、提交订单等功能。订餐管理模块:订单表、取消订单、订单查询、订单汇总等功能。菜单管理模块:菜单目录、增加菜名、删除菜名、更改菜单等功能。管理者经营模块:接受订单、处理订单、派送人员等功能。2 系统开发平台和运用技术2.1 java介绍Java,一种面向对象的网络编程语言,它是一种程序设计语言,它简洁明了、较为安全、有高性能。Java拥有十分全面的类库,程序设计者可以十分轻易地创建系统4。Java语言的关键特性:(1)简洁有效;(2)高可移植性;(3)面向对象;(4)解释型;(5)适合分布式计算;(6)拥有较好的性能;(7)健壮、防患于未然;(8)具有多线程处理能力;(9)具有较高的安全性;(10)是一种动态语言;(11)中性的对象语言5。目前Java涉及的知识领域有:JDK、HTML、CSS、JavaScript核心、Oracle数据库、MySQL数据库。Html、JavaScript、CSS实现程序界面的显示和美观;Oracle通常被企业用来储存大量的数据;MySQL由于它简单轻巧的特性,受中小型网站开发的青睐6。2.2 jsp简介JSP(Java Server Pages)是一种动态网页技术。主要有以下几个好处:一次编写,到处运行;系统的多平台支持;强大的可伸缩性等。JSP的不足:比较繁琐,具有平台跨越性和较大的弹性7。2.3 MySQL介绍MySQL是一种可靠性高,安全性高,智能化高,功能性强的数据开发平台,数据被储存在多个表内,提高了速度并 且变得十分灵活。花费较低、快捷的运行速度、占地较小和开放源码,MySQL正是有了那么多优点,所以它才受到了很多中小型网站的青睐8。2.4 框架介绍MVC模式广泛用于Web程序、GUI程序的架构。MVC即Model-View-Controller,把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层,即模型层、视图层、控制层。MVC应用程序总是由这三个部分组成9。Model和View能够单独的开发,增加了程序了可维护性,可扩展性,并使测试变得更为容易。2.5 Eclipse 介绍Eclipse 是一个非常优秀的集成开发环境(IDE)10。Eclipse是用来构建集成和开发应用程序的,根据需求在Eclipse 插入各种插件,能使Eclipse 拥有不同的能力。Eclipse 的核心是动态发现插件的体系结构。2.6 开发环境要求硬件配置:内存要求:512M,CPU要求: Intel Pentium IV 2.0GHZ以上,硬盘容量要求:80G。软件要求:使用语言:JAVA、JSP(Java Server Pages);数据库: MySQL;JSP编译环境: MySQL、TOMCAT、J2SDK;操作系统要求: WindowsXP以上;浏览器要求:IE浏览器。3 系统需求分析3.1 可行性分析在今天的信息时代,人们获取信息的方式,时间和其他性能要求越来越高,人们希望用更短的时间获得更多信息11, 基于JAVA的外卖点餐系统可以完全满足人们和市场的需求。经济方面上开发成本很小,时间成本不高。一台计算机的价格目前来说已经十分低廉,性能也在不断提高,加上基于JAVA的外卖点餐系统的运行可以节省很多的人力、物力,以及各种资源,从而大大提高了基于JAVA的外卖点餐系统的工作效率。安全性能上Java有自己的安全机制, 来进行防治病毒程序的产生和下载程序的威胁破坏。基于JAVA的外卖点餐系统可以更加安全地对信息进行记录、更改。在技术方面,本课题是基于JAVA的外卖点餐系统,旨在为用户在线订餐,送餐到家管理的平台。本系统开发过程中,主要使用开发工具,比如JAVA编译器MyEclipse8.6和MySQL数据库。这些技术和开发工具是非常完美的,可以完成该系统的开发,并且有很多当前已经成功的系统作为参考12。运行上,本系统是个小型的基于JAVA的外卖点餐系统,消耗资源非常地小。因此,基于JAVA的外卖点餐系统无论在经济上、安全上、技术上还是运行上都是可行的。3.2 功能需求分析在系统的开发和设计之前,通过调查和分析,充分了解市场的各种需求和系统的每个功能模块,并分析该系统将达到预期的目标,与最终目标相比,最后进行系统设计13。功能使用方便;操作简单;可维护性强;容易扩展;系统安全性高;信息交流广泛;能够满足客户的需求14。根据需求调查并分析得出系统的要求如下:3.2.1客户管理方面a.添加顾客:如果有新顾客光临,管理员可以增加顾客信息。b.删除顾客:如有太长时间未活跃的顾客,管理员就可以去除他的个人信息。 c.查看顾客订单:如果顾客已经下单,管理员就能看到他/她的订餐信息。 d.修改密码:客户可以自己修改其密码。 e.查看订餐状态:客户可以在网站上看到自己订的餐和送餐的状态。 f.提交订单:客户提交自己的订单。3.2.2订餐管理模块 a.订单表:客户填写订单。 b.取消订单:如果客户不想订单的话,30分钟以内可以有效的取消。c.订单查询:管理员可以查看订单情况。 d.订单汇总:管理员可以统计订餐情况,分为已完成订单、送餐中的订单和每天收入汇总。3.2.3菜单管理模块 a).菜单目录:客户可以选择的菜单名。 b).增加菜名:管理员可以在管理端自己新增菜名。 c).删除菜名:管理名可以把一些销量不好的菜去除。 d).更改菜单:管理员可以更新菜单。3.2.4数据维护模块 a).添加数据。b).删除数据。c).查询数据。 d).更新数据。3.2.5后台管理模块 a).接受订单:管理员对于新订单进行接受。 b).处理订单:通知厨房有效的订餐信息,并在做好后完成送餐。 c).派送人员:派送人员进行送餐,货到付款。3.3 UML用例图基于JAVA的外卖点餐系统可以满足两种用户的需求,分别是管理者和顾客。管理者对应用例图如图3-1所示。图3-1 管理者用例图用户的用例图如图3-2所示。图3-2 用户用例图3.4 E-R图E-R图是反应数据表与表之间以及表中字段的联系,具体如下图4-2所示:图3-3 E-R图4 系统设计4.1系统各功能模块设计图 当用户登录系统时,不同的角色进入菜单的功能是不同的,不同角色的用户可以操作相应权限的功能模块,实现数据的集成。系统功能结构图:如图4-1所示。图4-1 系统管理员系统功能结构图4.2 数据库设计关于数据库中的数据表如下:a.管理者和职员信息表,用来存取职员的用户名、密码、性别、用户类型、创建时间、联系电话,结构如表4-1所示。表4-1 系统用户信息表序号字段名类型允许为空最大长度备注1IDint自增编号102用户名char否203密码char否164性别char否35用户类型char否206创建时间char否207电话char否118年龄char否39住址char否50b.菜品信息表,用来存取菜品名称、照片、价格、创建时间、菜品种类和菜品口碑等信息,如表4-2所示。表4-2 菜品属性表序列字段名类型允许为空最大长度备注1IDInt自增编号102名称VarChar是103照片VarChar是2554价格VarChar是45创建时间VarChar是206菜品类型VarChar是57菜品评价VarChar是1008菜品库存VarChar是69菜品星级VarChar是10c.订单信息表,用来存取的订单的相关信息如订单号、订餐人员、电话、地址、时间、发货收货状态、付款状态、派送人员。结构如表4-3所示。表4-3 订单信息表序号字段名类型允许为空最大长度备注1IDInt自增编号102订单号VarChar是303电话VarChar是114地址VarChar是505时间VarChar是206发货收货状态VarChar是57付款状态VarChar是58派送人员VarChar是10d.用户信息表,用来存取用户名称、密码、时间、性别、电话、年龄等。如表4-4所示。表4-4 客户信息表序号字段名类型允许为空最大长度备注1IDint自增编号102用户昵称char否203密码char否164时间char否35性别char否206电话char否107年龄char否11e.新闻资讯信息表,用来存取实时动态标题、文章、发布时间、类型照片信息,结构如表4-5所示。表4-5 新闻资讯信息表序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102标题VarChar50是2553内容VarChar50是2554创建时间VarChar50是2555类型照片VarChar50是255f.本餐厅联系方式信息表,用来存取联系电话、传真、电子邮件、地址信息,结构如表4-6所示。表4-6联系信息表序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102联系电话VarChar50是2553传真VarChar50是2554电子邮件VarChar50是2555地址VarChar50是2555 系统实现本章主要是针对基于JAVA的外卖点餐系统,根据平时所积累的知识来对几个比较重要的功能模块的实现进行详细的描述,还需要描述一下是如何实现和大致说一下实现的过程。本系统是用浏览器/服务器(B/S)模式搭建的,使用MVC框架最终实现了整个系统11。5.1 主要功能模块的实现本节着重介绍本系统重要功能的实现过程,程序流程以及运行的界面。本系统为用户和管理员两方面登陆。5.1.1系统管理员登陆进入登陆系统界面,先要登录进入基于JAVA的外卖点餐系统,首先登录到最初的界面,管理员输入帐号和密码,就能顺利登陆。进入系统管理员管理界面。图5-1 管理员登陆界面关键代码如下:if(ac.equals(login) String usernameZhou = request.getParameter(uname);/从客户端获取输入的用户名 String pwdZhou = request.getParameter(upass);/从客户端获取输入的密码 String sqlZhou = select * from sysuser where uname=+ usernameZhou + and upass=+ pwdZhou + ;/根据用户名和密码查询sysuser List alistZhou = dao.select(sqlZhou); 图5-2 管理登陆进去界面关键代码如下: if(blistZhou.size()=1) session.setAttribute(admin, blistZhou.get(0); gor(/jspwmdcsys/admin/index.jsp, request, response);/进入管理员管理界面 else request.setAttribute(error, ); go(/admin/login.jsp, request, response); 5.1.2 用户登陆用户登录系统导航栏有首页,网站简介,新闻资讯,餐品信息,联系方式,购物车,我的订单,客户留言,信息修改,安全退出。图5.3所示的界面是基于JAVA的外卖点餐系统的首页。图5-3 基于JAVA的外卖点餐系统的首页图 5-4 用户注册界面关键代码如下:if(ac.equals(vipreg)/从member表中根据uname和delstatus查询String zcsqlZhou1 = select * from member where uname=+uname+ and delstatus=0 ;/从member表中根据tel和delstatus查询String zcsqlZhou2 = select * from member where tel=+tel+ and delstatus=0 ;ArrayList zclistZhou1 = (ArrayList)dao.select(zcsqlZhou1);ArrayList zclistZhou2 = (ArrayList)dao.select(zcsqlZhou2);if(zclistZhou1.size()!=0)request.setAttribute(error, );go(/reg.jsp, request, response);if(zclistZhou2.size()!=0)request.setAttribute(error1, );go(/reg.jsp, request, response);else/将新注册的用户添加到menber表中String insSqlZhou = insert into member (uname,upass,tname,sex,age,tel,savetime,delstatus) values (+uname+,+upass+,+tname+,+sex+,+age+,+tel+,+savetime+,+delstatus+);mOper(insSqlZhou);request.setAttribute(suc, );/添加成功go(/reg.jsp, request, response);5.2 扩展功能界面用户可通过关键字,价格,销量等信息查询菜品,选择自己想要的,之后放入购入车,通过我的订单实现在线付款,在半小时之内可以取消订单。图5-5 用户查询菜品管理界面图5-6 用户我的订单管理界面关键代码如下:if(ac.equals(submitorder)ArrayList ddglListZhou = (ArrayList)dao.select(select * from car where uid=+uid+);/根据uid从car表中查询 String ddglInfo = ; for(HashMap map: ddglListZhou) ddglInfo += map.get(cpid).toString()+-+map.get(num).toString()+,; String deleteSqlZhou = delete from car where id in(+map.get(id)+);/根据菜的id删除菜 mOper(deleteSqlZhou); String insertSqlZhou = insert into yddd (ordersn,cpsinfo,tname,tel,addr,savetime,uid,status,fkstatus,totalprice,lp) values(+ordersn+,+cpsinfo+,+tname+,+tel+,+addr+,+Info.getDateStr()+,+uid+,等待处理,等待付款,+totalprice+,);/插入新的菜品到yddd表中 mOper(insertSqlZhou); request.setAttribute(suc, );go(/mycar.jsp, request, response);管理员在后台更新新闻信息,添加新闻的题目、图片、新闻内容并且前台用户可以查看。图5-7 管理员新闻管理界面关键代码如下:String sql = insert into notice (title,content,savetime,type,img) values(+title+,+mt+,+Info.getDateStr()+,+type+,+filename+);mOper(sql);request.setAttribute(suc, go(/admin/noticeadd.jsp, request, response);request.setAttribute(error, );request.getRequestDispatcher(/admin/noticeadd.jsp).forward(request, response);餐品管理包括餐品类别管理、餐品信息管理、餐品库存管理。添加餐品类别信息给餐品信息进行分类,供用户分类查询。餐品信息包括编号、名称、类别、价格、图片、发布日期信息。图5-8 管理员餐品信息管理界面用户在前台可以发布留言跟管理员进行交流,反应问题。管理员在后台查看用户留言内容、发布人、发布日期信息进行回复。图5-9 用户留言信息管理界面关键代码如下:String sql = insert into msg (content,uname,savetime) values(+content+,+uname+,+savetime+);mOper(sql);request.setAttribute(suc, );go(/msg.jsp, request, response);管理员需要根据客户的订单信息完成配送、指示发货人或者取消该订单。订单信息有订单号、所订彩屏、菜品价格、订购人、联系方式、送餐地点、预订时间、是否付款、是否发货、发货人信息。图5-10 管理员订单信息管理界面6 系统测试6.1程序调试程序调试最主要是语法和逻辑搜检。逻辑检查之前,需要测试数据。不仅要测试正常数据,也需要创造一些不科学和有毛病的数据, 来体现程序的有效和可靠。a.用正常数据调试。程序要实现系统要求的所有功能,写入文件的记录是否有误的,输出数据是否有误的,有没有漏掉, 所有检验测试是否有误。b.用异常数据调试。用空的数据文件来测试,检查程序能否正常运行。这个系统已经在这个阶段测试,足以说明验证程序操作是否正常的。c.用错误的数据调试。测试应用程序处理错误的能力。输入数据错误可以及时找出错误消息或问题,而且可以改变,操作错误会被警告发现。6.2功能调试在单个程序经过一段时间的调试成功。也应该调试功能模块,功能模块包括一切在调试程序段的执行顺序。6.3测试用例A功能说明菜品属性管理用例目的能实现增加、修改、删除菜品前提条件管理员必须要登陆输入/动作期望的输出/相应实际情况输入菜品基本属性并鼠标点击“提交”按钮期望能成功将菜品信息加入到数据库,并且管理员端有新加的菜品菜品添加成功,页面有新菜品的显示点击一条菜品的修改按钮,修改完菜品后点击“提交”按钮期望能成功保存修改后的菜品属性到数据库,并且管理员端会显示新的菜品信息菜品修改成功,页面显示修改后的菜品信息删除餐品信息期望能成功完成数据库删除的功能,页面删除的菜品信息会消失菜品删除成功,页面删除的菜品消失B功能说明新闻信息管理用例目的能成功添加、修改、删除资讯信息前提条件管理员必须要登陆输入/动作期望的输出/相应实际情况将新闻资讯输入并点击“提交”按钮期望能存储写好的新闻资讯,页面出现新编辑的新闻资讯数据库插入成功,页面出现新编辑的新闻资讯更新一条新闻资讯并点击“提交”按钮期望能完成新闻资讯的更新成功在数据库中更新新闻资讯,页面显示最新更新的新闻资讯删除一条新闻资讯并点击“提交”按钮期望能在页面上删除此条新闻资讯成功在数据库中删除此条新闻资讯,页面不再显示此条新闻资讯7结论和展望这个毕业设计让我更加熟悉了从理论到实践中去的全过程。从原来去图书馆找寻书籍参考,到现在能够成功地运行,有很多值得回顾的地方。本系统使用一个更流行的B / S模式和当前的很受欢迎的MVC框架和有很高的安全与稳定的Mysql数据库来完成整个系统。系统满足了客户端的大部分要求,并达到了开始自己制定的效果,我还专门增加了一些小型的功能 ,让系统变得更加完善。管理员可以随时查询所有信息,以及每个模块的功能。本系统在外卖点餐管理等方面还有不足之处,对其有些方面还是研究的不够深入,所以还是不能完美的展现出此次设计,希望在以后能够逐步对这个功能进行补充和完善。此次毕业设计我总共花费了接近两个月的时间去完成它,从最初的不熟悉到后来整个设计的完成,除了自己,最大的帮助来自我的指导老师杨金荣,他在很多关键问题上给了我很多指点和建议,这是一次非常有意义的经历,为我以后的学习、工作积累了非常宝贵的经验,让我倍感珍惜。相信有了这一次,以后工作上碰到类似工作的时候,会更好更有效的去解决它。参考文献1 李刚. 轻量级Java EE企业应用实战M.北京:电子工业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文山护理考试题型及答案
- 模拟试卷:2023-2024学年七年级下学期语文期中模拟考试(参考答案)(南京专用)
- 德育经济政治试卷及答案
- 【外研高二下】山东省烟台市2019-2022学年高二下学期英语期末试卷汇编:完形填空
- 【期末试卷】2021-2022学年云南省德宏傣族景颇族自治州高三上学期期末语文试题(原卷版)
- 公积金未婚证明协议书
- 农村农物收购合同范本
- 公司合同技术协议样本
- 湖北省高中名校圆创联盟2025届高三第二次联合测评试题及答案圆创联盟地理试卷
- 全屋定制商家合同范本
- 银行招聘考试每日一练 2022.3.26模拟卷(含答案解析)
- 普通化学-水溶液化学
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池
- 物业管理标准化管理体系员工入职与试用标准作业规程
- 指数函数图像和性质-课件
- 学习弘扬枫桥精神与枫桥经验PPT枫桥经验蕴含的精神和内涵PPT课件(带内容)
- 内科学-中毒总论
- 测量员岗前培训试题
- 架空输电线路施工质量检验及评定规程
- 受控文件清单
- GB/T 4622.2-2022管法兰用缠绕式垫片第2部分:Class系列
评论
0/150
提交评论