毕业设计(论文)-基于SSM的校园订餐系统设计_第1页
毕业设计(论文)-基于SSM的校园订餐系统设计_第2页
毕业设计(论文)-基于SSM的校园订餐系统设计_第3页
毕业设计(论文)-基于SSM的校园订餐系统设计_第4页
毕业设计(论文)-基于SSM的校园订餐系统设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文) 题 目: 基于ssm的校园订餐系统 专题题目: 全套图纸加扣 3012250582本 科 毕 业 设 计(论文)题 目:基于SSM的校园点餐系统专题题目:本 科 毕 业 设 计(论文)任 务 书题 目:基于SSM的校园点餐系统专题题目(若无专题则不填): 原始依据(包括设计(论文)的工作基础、研究条件、应用环境、工作目的等):l 工作基础调查校园食堂的职能和分工,理清点餐系统的组织结构,确定系统具有的功能,了解各个功能模块与实际应用的联系。初拟开发计划,找到开发中可能面临的问题以及其解决方案进行合理的安排。明确开发风险及效益。l 研究条件本项目采用B/S架构,能够运行在Firefox、Chrome、Google及IE6以上浏览器。服务器端采用Windows为操作系统的工作站,采用Mysql为数据库。在高校食堂进行调查分析实际情况与软件系统的功能联系,总结调查内容,对点餐系统有一个整体的规划。开发完成后,在特定食堂进行试验,收取用户反馈,对照实际情况进行改善。l 应用环境开发工具:IntelliJ IDEA、Workbench、Firefox管理工具:Maven应用技术:JavaEE、JavaScript、Bootstrap、jQuery、HTML+CSS、MySQL、Spring、SpringMVC、Mybatis、JSP、Ajaxl 工作目的实现在校学生网上订餐,预约送餐的功能,减少食堂工作人员的工作量,提高食堂送餐人员的效率,减少学生在食堂排队的时间,解决食堂高峰用餐拥挤的问题,消除安全隐患。食堂统一内部管理,杜绝收银舞弊的情况。客户的订单及时反馈在后台,服务器及时刷新菜品剩余量。大大降低订单出错的几率。普及在高校食堂。增加用户反馈、评价及投诉模块,保障了消费者的权益。主要内容和要求:(包括设计(研究)内容、主要指标与技术参数,并根据课题性质对学生提出具体要求):l 研究内容该系统具有登录系统、注册用户功能,与学生学号相关联,避免校外闲杂人等随意点餐,带来不必要的安全隐患。展示菜系菜品、价格、用餐环境功能学生能提前知晓今日用餐种类,菜品价格,而后自主选择想要食用的餐饭。学生也是消费者,展示后厨及用餐环境,消费更加合理,学生吃着放心。选择菜品增加订单、删除订单、修改订单、查询订单功能,通过订单的增删改查,学生随意选择,增加用户体验。注册会员、管理自身信息功能,填写专业,寝室号等信息,进行实名认证。避免订单“无主”的情况。留言评价及投诉功能,选择用餐方式功能。完善食堂的服务,增加投诉功能,让食堂的内部管理模式化。第一时间保障学生们的消费者权益。l 主要技术指标与技术参数本项目最终达成的技术指标:学生的注册、登录功能,学生注册会员以及会员的管理功能,点餐订单的查询,新增,删除,修改功能,菜品的剩余量的查询,学生的留言评价功能,学生权益保障投诉功能,学生选择用餐方式的功能。l 具体要求独立完成本项目系统研制过程,系统能够顺利运行,并独立完成论文报告。日程安排:1、毕业设计开题2017年2月底之前前完成2、第一、二周 需求分析3、第三、四周 概要设计4、第五、六周 详细设计5、第七、八、九周 系统开发6、第十周 系统测试7、第十一、十二周 毕业设计论文整理主要参考文献和书目: 1 张海藩.软件工程导论(第四版)M.北京:清华大学出版社,1999. 2 刘洪峰,陈江波.网络开发技术大全M.人民邮电出版社,2005.3 萨师煊,王珊.数据库系统概论(第三版)M.北京:高等教育出版社,2003.4 郝玉龙.JavaEE编程技术M.北京:清华大学出版社,2008.5 罗时飞.精通SpringM.北京:电子工业出版社,2005.6 胡启敏,薛锦云.钟林辉.基于Spring框架的轻量级J2EE架构与应用J.计算机工程与应用,2008.7 吴婉楠.基于SpringMVC和MyBatis框架的炒股比赛系统的设计与实现D.南京大学学士学位论文.2016.8 董震洋. 物联网技术在数据中心管理上的应用D. 上海交通大学 20129 李海峰. MVC模式架构的应用研究J. 自动化与仪器仪表. 2013(01)10 刘冬立.基于 Web 的企业档案管理系统的设计与实现D.同济大学,200711 杜献峰 . 基于三层 B/S 结构的档案管理系统开发 J. 中原工学院学报,2009.12张华丽.基于 J2EE 的档案管理系统设计与实现J.现代商贸工业. 201013刘甫迎.C#程序设计教程M.北京:电子工业出版社,2008.14向立志,谭杰等.先进控制算法软件的设计与开发J,计算机工程,2003,29(18):41-43.15栾跃,软件开发项目管理M,上海,上海交通大学出版社,2005,20-40.16Heider,E.R.&D.C.Oliver.ThestructureofcolorspaceinnamingandmemoryoftwolanguagesJ.ForeignLanguageTeachingandResearch,1999,(3):62-67.17Gill,R.MasteringEnglishLiteratureM.London:Macmillan,1985:4-45.18French,W.BetweenSilences:AVoicefromChinaN.AtlanticWeekly,198715(33).19Spivak,G.“CantheSubalternSpeak?A.InC.Nelson&L.Grossberg(eds.).VictoryinLimbo:ImigismC.Urbana:UniversityofIllinoisPress,1988,pp.271-313. 20L. Seligman,A. Rosentbal.XML Impact On Databases and Data Sharing. ComputerJ,2005指导教师(签字): 年 月 日注:本表可自主延伸,各专业根据需要调整。本 科 毕 业 设 计(论文)开 题 报 告题 目:基于SSM的校园点餐系统专题题目(若无专题则不填):本课题来源及研究现状: 我国人口基数众多,餐饮业发展迅速,传统的人工点餐无论效率或正确率都难以适应餐饮业高强度的状态,制约了餐饮业的发展。如今,餐饮业正通过不同的渠道来扩大自己的经营范围,如全国连锁,网上售卖。如此繁杂琐碎的菜单就需要系统的进行管理。餐饮业经营的重要性不仅体现在企业的办事效率上,更多的已经趋向于用户体验上,企业有自己的文化,有自己的特色,在餐饮业才可能占有一席之地。企业的文化,要有自己鲜明的特色,让广大用户所熟知。从互联网发展至今,餐饮企业最显著的特点就是趋于信息化,计算机的系统具有承载信息量巨大、准确、高效等特点,用来管理餐饮企业的订单,解决了数据允杂等管理缺陷,已经受到广大餐饮企业青睐,甚至成为企业不可或缺的重要组成部分。通过点餐系统的建立,可以有效节约成本,增加效率,不易出错。而点餐系统的使用分布范围广,适用于酒店、咖啡厅等场所的餐台管理,订单管理,在系统中,还可以展示餐厅内景,厨房卫生条件,用户消费放心。发展点餐系统已是必然的趋势,而且有力的推广国内传统行业的发展。因此,开发建立一个点餐系统,完善其功能,为用餐者提升用户体验,是有很大意义的。本项目是互联网的web系统,采用B/S模式,应用SSM三大框架,摒弃传统的SSH技术,项目功能更加全面,安全性也有所提高。目前,国内有很多网上点餐系统,界面优美也满足用户体验。例如当下很受欢迎的肯德基、麦当劳等快餐,都实现了用户自主点餐功能。但是,针对于校园的点菜系统却屈指可数。高校的食堂是学校的重要组成部分,是学生生活和学习的重要保证,随着我国高校的不断扩招,一个大学校园少则几千人,多则上万。对学校的食堂来说,这是一个巨大的挑战。最明显的问题就体现在,学生同一时间下课,食堂内排队点餐拥挤,存在安全隐患。传统的到食堂排队点餐,不仅无法节约学生自身的时间,更是为食堂带来了巨大的就餐压力。如果推行网上点餐,学生可以在去食堂的路上,提前确定订单,如此一来,带来的好处便显而易见,可以明显改善食堂内就餐拥挤,餐位不够的情况,因预先得知订单,食堂在采购原材料上也有所选择,节约成本,避免铺张浪费。而该系统还增加了一个全新的功能,就是选择就餐窗口自取还是外卖到寝室。时间范围自主选择。减轻员工的工作量,减少食堂对传统人工管理的投入,并且有效的控制价格与新菜品的推行,防止收银舞弊。增加用户留言评价模块,如今的餐饮业已经不再是风味,价格做主导,更多的是服务留得人心,在价格经济,味道极佳的情况下,提高服务质量,让学生感到学校不仅在教育方面付出很大心血与努力,更在衣食住行方面,对学生加倍关爱。该项目保留传统点餐系统界面友好,用户体验强大等优点,对功能进行改善,增加传统点餐系统没有的留言评价,提升服务功能,也增加会员管理功能,是针对校园食堂专门开发建立的一块软件系统。底层实现采用Java语言,可跨平台,具有较好移植性。发布在服务器上能及时刷新菜品,价格,实现对校园食堂订单的高效管理。课题研究目标、内容、方法和手段: 本项目是可移植性较高,跨平台,方便后期开发人员维护的一款为减轻校园食堂工作人员的工作压力以及学生就餐时人员众多带来的拥挤现象的校园网上订餐软件。该系统采用当前互联网web应用的主流技术Spring,SpringMVC以及Mybatis三大框架。该系统界面应用BootStrap、JavaScript等前端技术,体现了富客户端的思想,减轻服务器的压力。后端采用Mysql数据库存储数据。该软件适用各种主流浏览器,如IE、Firefox、Chrome、Google等。前端界面简洁优美,操作简单快捷。该系统主要功能:1.界面相关前端展示订餐界面,学生自主选择菜品增加订单,查询食堂餐厅的信息。2.登录模块该系统具有登录系统、注册用户功能,与学生学号相关联,避免校外闲杂人等随意点餐,带来不必要的安全隐患。3.用餐相关展示菜系菜品、价格、用餐环境功能学生能提前知晓今日用餐种类,菜品价格,而后自主选择想要食用的餐饭。学生也是消费者,展示后厨及用餐环境,消费更加合理,学生吃着放心。4.订单相关选择菜品增加订单、删除订单、修改订单、查询订单功能,通过订单的增删改查,学生随意选择,增加用户体验。5.会员相关注册会员、管理自身信息功能,填写专业,寝室号等信息,进行实名认证。避免订单“无主”的情况。6.提升服务留言评价及投诉功能,选择用餐方式功能。完善食堂的服务,增加投诉功能,让食堂的内部管理模式化。附近美食地图与系统的结合,精准定位高校食堂周围美食,让美食更具体。该系统采用三层架构的方式,底层实现采用Java语言,Java语言易移植,代码风格易懂适用于分布式计算的面向对象的一种编程语言。Java语言适用于底层代码的实现,具有安全性和高效性。因其接口具有多态性,所以采用接口来与数据库进行交互,方便后期增加新的功能模块,以及后期的系统维护。及时修改代码不会影响其他功能模块。用Java语言实现后台登录注册、订单管理、会员管理是个很好的选择,故该系统考虑到食堂菜系风格多变,采用Java来进行编码实现系统底层。使用主流的三大开源框架相结合,简化开发过程,更加深入的了解其内部实现机制。对于数据库可以用连接池来进行管理。通过Spring的IOC控制反转与依赖注入,管理Java对象,避免内存溢出。而使用Mybatis数据持久化框架,则可以简化JDBC的编写步骤。通过Mapper的XML文件,统一管理Sql语句。数据库采用Mysql,通过其可视化界面workbench来控制系统所需要的表关系。Mysql的优点在于它是免费的一款小型的关系型数据库管理系统,通用性极强。因此选用Mysql数据库。如会员注册功能,用户只需登录系统,选择相应功能,填写相关信息。当用户点击提交时,在前端用JavaScript技术验证所填信息是否符合要求,富客户端技术减轻服务器的压力。例如电话号码的位数限制,姓名为必填项,邮箱格式等。若验证通过,则可成功成为会员,享受普通用户没有的特权。信息将会发送到后台数据库中验证是否已经注册过,然后保存,将注册结果反馈给用户。前端主要应用Html+CSS来进行页面布局,用JSP、JavaScript、jQuery及bootstrap框架,应用前端UI库,通过组件搭建html页面,响应式布局。首页展示菜系的菜单,食堂餐厅的实景图,以及友好连接等信息。其他界面同理使用以上技术。给订餐用户产生视觉上的美感,增加用户体验满意度。设计(论文)提纲及进度安排:l 设计(论文)提纲:第一章 绪论第二章 相关技术与方法第三章 系统分析第四章 系统设计第五章 系统实现第六章 系统测试第七章 总结l 进度安排:1、毕业设计开题2017年2月底之前前完成2、第一、二周 需求分析3、第三、四周 概要设计4、第五、六周 详细设计5、第七、八、九周 系统开发6、第十周 系统测试7、第十一、十二周 毕业设计论文整理主要参考文献和书目:1 张海藩.软件工程导论(第四版)M.北京:清华大学出版社,1999. 2 刘洪峰,陈江波.网络开发技术大全M.人民邮电出版社,2005.3 萨师煊,王珊.数据库系统概论(第三版)M.北京:高等教育出版社,2003.4 郝玉龙.JavaEE编程技术M.北京:清华大学出版社,2008.5 罗时飞.精通SpringM.北京:电子工业出版社,2005.6 胡启敏,薛锦云.钟林辉.基于Spring框架的轻量级J2EE架构与应用J.计算机工程与应用,2008.7 吴婉楠.基于SpringMVC和MyBatis框架的炒股比赛系统的设计与实现D.南京大学学士学位论文.2016.8 董震洋. 物联网技术在数据中心管理上的应用D. 上海交通大学 20129 李海峰. MVC模式架构的应用研究J. 自动化与仪器仪表. 2013(01)10 刘冬立.基于 Web 的企业档案管理系统的设计与实现D.同济大学,200711 杜献峰 . 基于三层 B/S 结构的档案管理系统开发 J. 中原工学院学报,2009.12张华丽.基于 J2EE 的档案管理系统设计与实现J.现代商贸工业. 201013刘甫迎.C#程序设计教程M.北京:电子工业出版社,2008.14向立志,谭杰等.先进控制算法软件的设计与开发J,计算机工程,2003,29(18):41-43.15栾跃,软件开发项目管理M,上海,上海交通大学出版社,2005,20-40.16Heider,E.R.&D.C.Oliver.ThestructureofcolorspaceinnamingandmemoryoftwolanguagesJ.ForeignLanguageTeachingandResearch,1999,(3):62-67.17Gill,R.MasteringEnglishLiteratureM.London:Macmillan,1985:4-45.18French,W.BetweenSilences:AVoicefromChinaN.AtlanticWeekly,198715(33).19Spivak,G.“CantheSubalternSpeak?A.InC.Nelson&L.Grossberg(eds.).VictoryinLimbo:ImigismC.Urbana:UniversityofIllinoisPress,1988,pp.271-313. 20L. Seligman,A. Rosentbal.XML Impact On Databases and Data Sharing. ComputerJ,2005指导教师审核意见:指导教师(签字): 年 月 日注:本表可自主延伸摘 要现代信息化餐饮业已不同于传统餐饮业,随着科技与时代飞速发展,人类的需求也随之上升。过往,人们都是到店点餐,经过一系列人工服务才能等到心爱的美食,当信息化过后的点餐系统,有效的缩短了等待的过程,提高了人工的效率,减少错误的产生。此款软件针对高校校园而开发。该论文详细的阐述了开发过程,从前期需求分析,编写代码,到后期测试,详细的记录了每个环节,从菜品的管理,到订单管理,面向商家,同时也面向用餐的学生。系统订餐页面简单直观,交互性强,易于操作和使用。该系统采用现在主流的三大框架,Sun公司的Spring、SpringMvc框架、及Mybatis(前身为ibatis),通过xml文件的配置,减少代码的冗余,直观可见,后期更易添加新的功能,维护相对容易。采用maven管理工具,管理系统需要的jar包。在软件开发行业,有句老话,叫做约定大于配置。通过管理工具,能够减少开发人员的代码量,但是达到的效果却远远超出人工约定。本系统满足大学生足不出户就能网上订餐,将附近美食引入系统,地图嵌入系统,改变传统商业交易。应用软件是当前时代的潮流,在今后的生活中,必然不可替代。关键词:信息化;Maven;框架技术;Java;互联网ABSTRACTModern information is different from traditional catering industry, more human needs.Past, people is to store order, lined up to take food, checkout line, after a series of artificial service to wait for his beloved cuisine, when the order after the informatization system, effectively shorten the waiting process, improve the efficiency of the artificial, reduce errors.The software development on the campus.The paper detailed describes the development process, from the early stage of the demand analysis, writing code, test to late, detailed records of each link, from the management of food to order management, geared to the needs of businesses, but also students for dinner.System order page is simple and intuitive, interactive is strong, easy to operate and use.Three framework, the system USES the prevailing Spring, for SpringMvc, Mybatis integration, through the XML file configuration, reduce the redundant code, visible, late are more likely to add new functionality and maintenance easier.Using maven management tools, management system requires the jar package.In the software development industry, there is an old saying, called the agreement is greater than the configuration.Through management tools, can reduce the amount of code developers, but to reach far beyond the effect of artificial conventions.Application software has become an essential part of human life.Keywords:Informatzation ;Maven;Fremaker;Java ;Internet目 录第一章 绪论14 1.1研究背景和意义14 1.2研究目标15 1.3论文结构16 1.4本章小结16第二章 相关技术与方法17 2.1MVC架构概述17 2.2关键技术简介19 2.3开发工具21第三章 系统分析22 3.1可行性分析22 3.2 需求分析23 3.3本章小结26第四章 系统设计26 4.1系统类分析26 4.2关键业务设计31 4.3数据库设计31 4.5本章小结37第五章 系统实现38 5.1用户登录38 5.2订单功能41 5.3 附近美食功能44 5.4 本章小结48第六章 系统测试49 6.1系统测试综述49 6.2测试用例49 6.3测试分析51 6.4本章小结51第七章 总结52参考文献53致 谢54第1章 绪论1.1研究背景和意义在如今21世纪是一个互联网盛行的时代,社会中形形色色的人们开始接触互联网,并真真切切的感受到了互联网为人类生活带来的巨大改变。从传统的营销模式,到网上购物、网上咨询等,互联网整逐渐的改变着我们的生活。人们利用网络带来的便利,慢慢的实现了在网上交易,采购等功能,采取这种措施,让生活方式更加多姿多彩。但是,对于餐饮业来说,由于人流量巨大,无法保证每位用餐者在快速的时间内得到自己今日想要的菜品,因此,本次研究课题方向为网上订餐带来的便利条件。具体研究对象为在校学生。“少年强,则国强”,由此便可知,少年是国家的栋梁,未来是年轻的一代的。保证学生的教育前提下,保证学生在校园的生活品质,也是相当之重的任务。众所周知,校园内的餐厅,有几大特点,下面一一列举,如学生的上课时间统一,下课的时间是完全重合的,不论年级高低,这就造成了用餐高峰的问题。再者,学生人数众多,由高峰时期带来的内在隐患,存有不安全的因素,踩踏事件时有发生。为保证学生用餐安全,校园内餐厅需改革营业模式。将部门订单,转移到互联网,利用网络的便利,减少用餐高峰的拥堵现象。这一现象得到明显解决,带了的便利更是显而易见,节约排队时间,用更多充足的时间,去做存在价值的事情。想要适应时代的发展,经营模式必须改变,各行各业都在进行转型,由传统模式,走向互联网模式,学生用户体验满意度高,方便用餐,也是对本所学校的肯定。故,此次毕业设计专门针对于校园内的餐厅,开发一款校园网上订餐系统。中国人数众多,学生更是占很大一部分比重。学生高校更是数不胜数。那么,要想在如此多的高校中脱颖而出,不仅在教育上下功夫,生活中的方方面面更是不能含糊,各行各业都明白的潜在的道理就是:你无我有,你有我优。用为学生服务的精神,来换取好的口碑,在信息化的领域里,占据一席之地,用创新的理念来服务高校学生,服务社会。为社会培养各方面优秀的人才。随着我国目前信息化的发展趋势来观摩,各行各业都在不断的扩大自己的经营范围,所以,在高校餐饮这一块,理应紧跟信息化设计,去迎合新时代的步伐,在创新的路上做领军人物。实时共享今日菜单,价格,发布相关信息,让学生提前知晓今天得计划和目前的情况。选择自己喜爱的菜品。图片展示,勾人食欲。民以食为天,每个人都是吃货,让学生在充实而又疲惫的时候,送来一丝慰藉,还有美好的菜品可以期待。本系统通过使用各种持久化框架,如三大主流框架,将开发过程简化,无论从代码量还是可移植性来说,都提高效率,达到了跨平台的效果。 1.2研究目标 这一次的毕业设计所做的项目,就是针对于目前大学生用餐的现状,解决用餐存在的时间和安全问题,通过这样的目的所展开设计的一个方案。不同的学校可以定制匹配自己学校的软件。如,江西理工大学,有三个食堂,那么本软件所展示的食堂用餐地址,分别与食堂相对应,菜品价格实时变动。附近美食可以定位在江西理工大学附近,一目了然附近超市、餐厅、以及娱乐场所。简洁明了的展示所有菜品信息,菜品价格,方便快捷的提供出现问题的解决通道。第一时间维护大学生基本权益与保障。减少校内食堂的维护成本,明码标价,将付账环节透明,餐厅的经营者也不用担心乱划饭卡的情况。订单与学号姓名相匹配,避免订单无主的情况。面向校园内的学生,减少外来人员就餐带来的人员混乱的情况。因此,本软件很值得我去深究,钻研,发挥互联网以及软件开发在生活中对人们的作用。1.3论文结构第一章 绪论对该课题研究的背景及意义进行说明。对所研究的目标进行定位。对论文整体的层次进行梳理。第二章 相关技术与方法对系统架构的概述进行阐述。对关键技术进行简要描述。对开发用到的工具做一些相关的介绍。第三章 系统分析可行性分析。其中包括技术可行性、经济可行性和操作可行性这几点。需求分析。其中包括系统总体需求和用例图分析。第四章 系统设计对系统的类进行分析。其中包括USER类和订单类(order)关键业务逻辑分析。其中主要指的是系统登录,订单处理,附近美食。数据库设计等。第五章 系统实现用户登录、订单的增删改查、附近美食地图第六章 系统测试系统测试综述。测试用例。其中的用户登录模块,订单处理模块,投诉与建议留言模块、附近美食地图模块。测试分析。第七章 总结1.4本章小结 本章主要是简单概括下本项目的整体架构,根据拟定好的架构,分步骤进行论文的编写,下文每章的内容,全部围绕上文绪论的架构进行剖析,增加论文的条理性与可读性。本章介绍了课题的研究背景,是针对大学生就餐的一款软件,解决就餐高峰拥挤,排队耗时的问题。研究目标主要阐述了问题产生的原因以及解决办法,介绍了该系统能够解决并且预期达到的效果。让读者能够快速的明白该系统设计的意义,以及了解作者设计该软件的初衷和意义。明确了研究的目标,和想要达到的效果以及需要解决的问题。为大学生尽可能的提供便利,减少食堂工作人员的工作压力。是本系统想要达到的效果。下面将会详细的介绍每个功能的需求以及设计原理。并且展示页面效果。第二章 相关技术与方法2.1MVC架构概述本系统是采用的B/S结构,用户不用下载客户端,可快速的移植在各个平台上,方便快捷,发布在服务器端,就可以轻松访问。那么既然是web系统,多数和mvc架构息息相关,也正是在MVC的基础上进行开发系统,此架构已被广泛的应用在web开发中,是开发人员常用的一种三层架构的模式,通过前后台交互的方式,能够让代码分离,首字母代表model,其次为View视图层,最后则为控制层,控制数据的交互以及对数据库的控制。三个层次有着不同的作用,相结合却又发挥了更大的作用,相互协调,相互关联,同时又将业务逻辑与数据处理独立出来,这样方便后期维护,在软件开发的过程中,需求不是一成不变的,而是随时可变,在这时,如果说系统的独立性不好,或者说耦合度较高,缺点便显露无疑,应用MVC架构,将各个层分离开来,需要更改的功能,只需继续进行独立开发,便可实现项目主体功能。MVC开发模式最早是在1980年左右被发明,是一款专注于开发的软件设计模式。在发明这项设计模式的过程中,发明者Xerox PARC 设计之初的目的就是为了能够通过一定的方式,达到灵活的开发,进行程序合理的动态设计。功能可变,后期方便维护,为开发者提供便利。于是,这项技术被成功的发明,而且应用较为广泛,经过几十年的实践证明,目前确实没有更好的架构能够替代MVC三层架构。该模式之所以能长盛不衰,被当代的开发者和软件相关的工作人员予以采纳,就是因为它能够在后期维护时,便于拓展新功能而不去影响其他功能,并简化了开发。开发人员能够广泛的使用该架构,还有一个原因,就是解决重复代码冗余的问题,很多时候,我们开发某些功能时,可能会同样的代码写很多次,而应用MVC模式,轻松的解决了这个问题,它可以讲重复的代码独立出来,变成程序员可重复利用的程序,减少了程序员开发的时间,降低了程序本身的错误率,后续也可对其修改与拓展功能。MVC被广泛应用,绝不仅仅是因为其可扩展功能和降低代码冗余,每位程序员最头疼的问题,就是bug,在开发程序时,一部分的时间在开发,而另一部分就是在修改bug,MVC模式又带了给了程序员的一个好处,就是bug显而易见,在debug模式下,清晰直观的准确定位bug进行修改。正是这一大优点,才让MVC被广泛的应用。MVC的具体模型关系如下图(图2-1)所示。图2-1 MVC实现模式图2.2关键技术简介2.2.1三大框架(SSM)介绍 本系统所使用的核心技术为三大框架,Spring框架(java封 装),SpringMVC(java封装),Mybatis(sql代码分离)。从环境的搭建到项目的创建,这一过程三大框架整合使用,为本次开发发挥了不可替代的作用。在使用框架时,首先就要从引入框架的相关jar包开始,本系统使用的是Spring4.2.3-release版本,Mybatis应用的版本为3.0的通用版本。下面就逐一介绍每种框架的特点与相关特性。首先介绍Spring框架,Spring框架翻译为中文是春天的意思,顾名思义,为开发人员带来了“春天”,这是一个开源的框架,任何开发人员都可以对该框架进行创新或者完善功能。此框架主要面向的用户为企业,目前来说,企业级的开发更需要有简便灵活的方式,企业及开发过程复杂繁琐,逻辑性较强,框架的主要优势之一,就是应用到了上文介绍的MVC模式三层架构。Spring给我们提供了不同组件,根据模块分离互不影响的原理,开发人员只需引入相关组件的scheme文件即可,与此同时为Java的系统程序开发提供了一套优秀的的框架。Spring由7个定义良好的模块构成,分别是:核心容器,上下文,AOP,DAO,ORM,WEB,MVC。框架中的各个模块可以单独使用或者与其他控制模块一起使用,起到联合的效果,其构建在核心容器的基础上。Spring中引进了IOC和AOP的思想,控制反转模式,依赖注入,不用开发人员自己管理创建的对象。AOP即为面向方面编程,它允许程序员设置横切关注点,分配典型职责,多个类被分成单独的模块以备复用。学习的最佳方法是实践,所以将框架作为此次开发的关键技术,锻炼自己。SpringMVC与Spring有着千丝万缕的关系,他们之间首先存在着包含和被包含的联系,在开发web应用程序时,离不开MVC模式,所以SpringMVC是分离了控制器,模型以及视图层。SpringMVC的运行原理与MVC模式大致相同,客户端提交请求到dispatchServlet类,而后查询数量不等的Mapping的配置文件,应用到对应的Controller控制器中,并提交请求,Controller调用service层的逻辑处理后,返回model,找到视图解析器,返回指定视图,也就是对应的页面。视图层负责与用户进行交互。SpringMVC是Spring的模块,但是功能却不容小觑,但是作用确实天壤之别,相互结合更能发挥其各自特点。Mybatis是和数据库有关的框架,数据库不分种类,是一种持久化框架,属轻量级框架。其具备几个明显特点,如sql语句与实际功能代码分离,配置程序中定义好的接口,及mapper对应的xml的带有sql语句的文件,接口动态绑定等简单易入手学习。Mybatis并不是新兴的框架,早在多年前,就有相似框架的产生,他的前身是IBATIS框架,同样是开源的,精查阅资料发现在2010年时,这个项目是由Apache Google 继续开发,并且命名为mybatis。此框架的特点就是实现了接口的动态绑定,只需要指定dao层中,某个接口的具体方法,与xml文件内的namespace绑定,然后可自动的为开发人员生成接口的实现,不用开发人员自己实现接口的方法,使用更加省时。Mybatis在设计上,展现了灵活的特点和鲜明的优势,并不会对其他相关的应用模块或者数据库内的数据产生影响,也避免了反复写jdbc传统的与数据库连接交互的代码。解除了sql语句和程序主要代码的耦合。但是该框架也存在一些问题,如框架功能尚未完善,还存在缺失,sql要开发人员自己编写,多表关联时,还是相对比较麻烦,二级的缓存机制并未达到令人称赞的效果。三大框架各有各自的特点,也存在问题,如何最大限度的发挥其优点,避免其缺点,是我们开发人员需要思考和钻研的问题。2.2.2 Bootstrap简介Bootstrap框架是目前新兴的框架,该框架一发布便受到众多开发人员的欢迎,它封装了不同的css样式,减轻了后端开发人员的负担,可快速开发,移植性较好。目前此框架受各大公司的青睐,主要原因就是因为其封装的样式,使界面简单优美,几乎支持所有的浏览器,只要学过HTML或者CSS的人都可以来进行开发。Bootstrap专门为网页开发所设计的,但是同时也是支持移动设备的,可以说是更加适合移动端的开发。Bootstrap给我们定义很多全局组件,引入了js文件便可直接使用。如:menu,网格/栅格系统,文本框,各种风格的图标等。bootstrap框架已成为当下流行的首选框架,其自身特点奠定了其前端框架的主流位置。2.2.3 Ajax简介本系统中大量使用了Ajax来进行前后台的数据交互,Ajax并非一项新的技术,而是前端框架jQuery中的部分技术,因为它具备异步,同步交互,一次请求局部刷新的特点,优化了数据的传输,动态的进行效果的展示。Ajax的优势非常明显,在网站开发中应用ajax框架,有助提高用户体验,并且能够达到局部刷新的效果,这样保证了用户提交数据后,服务器响应回来的时间变得更加迅速,也避免了向服务器端发送一些没有改变的数据,传统的jsp页面,是通过表单实现前后台数据交互,将表单的各种信息填写完毕后,设置form表单的method属性为get或者POST方式,并且用户需要点击按钮手动的提交表单数据,并且返回一个新的页面。而ajax则不然,ajax利用的是JavaScript技术,通过HttpServletRequest对象返回信息,用户感觉不到页面的刷新,也看不到后端JavaScript发送的请求和接收的响应。Ajax可以设置回调函数,分别为发送成功所调用的函数以及失败调用的函数等,用户自定义方法,使前台的数据更加灵活的被处理。2.3开发工具 本项目主要用到的开发工具为:IntelliJ IDEA、Workbench、Firefox,各个开发工具具备其自己的优点,充分的发挥了每个开发工具的作用。管理工具:Maven,maven为版本控制工具,开发中有句俗语叫做“约定大于配置”,在多人开发的情况下,可以应用此工具进行版本控制,自动导jar包,控制其版本。为开发带来便利。 在开发过程中,要不断的测试页面,前后台交互,而采用的服务器是轻量 型的tomcat,部署在tomcat后,前台页面只需刷新便可轻松看到效果,但只要修改后台代码时,必须重启Tomcat服务器,这样很耗时,如果项目导入文件过多,会造成启动服务器的速度降低。通过上网查阅相关资料,最后找到解决办法,安装jrebel插件。IDEA集成了jrebel插件,可在仓库直接下载。方便快捷。最重要的是,此时,改动后台代码,也一样刷新即 可看到效果。一次编译,以后刷新即可。58第三章 系统分析3.1可行性分析3.1.1技术可行性本次的校园点餐系统设计中,在设计之初便对系统的功能进行了初步的探讨,从学校食堂内点餐时发生的现象与问题,做了进一步记录。根据实际遇到的问题,展开系统的设计。其中,系统分为几大相关功能:菜品展示相关模块,订单处理模块,用户留言投诉建议与维权模块,附近地图搜索美食模块。这些主要的功能模块还具体的分为子模块,如菜品展示涉及到的前端页面展示菜品种类,实时价格,用户为高校的学生,所以学生们可根据看到的实实在在的图片来判断是否预订。此模块包括菜品的模糊查询,可填写具体价格,或者菜品模糊名称,相关列表即可搜索。主要涉及的技术就是Bootstrap,JavaScript等,通过布局、排版、样式等,实现菜品图片风格统一,美观和简洁。订单模块所涉及的问题就是当用户以学号登录系统,所选的菜品的订单就是此学生的订单列,不登录是无法匿名在线下订单的。用户订单的增删改查,是通过MVC模式实现,系统分为controller层,service层,dao层与base类。相互调用,相互协调统一,实现后台增删改查。本系统订单的临时存储是放在jsp的9大内置对象的session中,临时存储,不占实际内存。应用Spring的注解驱动,减少代码量。附近美食功能提供地图搜索,定位附近店家,足不出寝,便可知晓周边美食。关于地图的应用,采用开源的地图API,应用到本系统中,无缝契合。轻松一览美食概况。让高校食堂也进军互联网,充分利用已有的网络资源,实现信息化的订餐系统,是十分可行的项目,在后面的研究中也会逐步深入讲解。 3.1.2经济可行性本系统是JavaEE的web应用程序,属于小型轻量级的系统,java语言的特性使得该系统跨平台,可移植。三大成熟框架的使用更是简化开发过程。故无需其他费用。也不需要团队。作为毕业设计的课题,从需求分析,到系统设计,全程地点在校园内,不产生外部费用,本次课题设计,更是针对于实际生活,灵感来源于生活,来源于每天都要去几次的校园食堂。在就餐之余,很多现象和问题,和同学在饭桌上就得以讨论,也是变相的降低开发成本。如若说经济可行性,是完全可行的。因为不需要耗费太多财力。只需要开发者的时间,耐心的去发现问题,解决问题。在这个过程中,我本人作为开发者,能真切的体会到学习是和实践相结合的,只有真的尝试过了,才会知道该朝向哪个方向钻研。3.1.3 操作可行性本项目与传统web应用程序无太大差别,操作过程基本一致,只是面向的用户为大学生群体,在PC端操作,界面简洁易懂,操作便捷高效。首先是执行常规操作,用户登录,根据学号姓名,如果实名注册过该系统便可登录,如果没注册过会提示用户注册,用户只需按照提示,点击下一步即可。登陆成功以后进入菜品展示阶段,清晰明了的界面让学生能都快速选择需要的菜品。添加到购物车后,对订单有增删改查计算价格信息等功能,一目了然订单价格,用户可以自主选择是否提交订单,是否确认下单。在导航栏设有附近美食选项,自动定位在本校园,该系统指的是江西理工大学南昌校区,周边美食清晰可见。操作方便,无复杂选项,故操作可行性较高。3.2 需求分析3.2.1系统总体需求根据本校园网上订餐系统所要完成的预期功能,从以下几个方面来体现该项目的实际可操作性和可行性,以下将展示系统的总体需求体现,和详细要求。具体如下表(表3-1)所示。表3-1 总体要求总体需求体现详细要求准确性根据项目所设计的需求分析来完成相应的功能,严格保证项目在开发过程中能够执行之前所制定的方案。以此确保最终开发出来的项目与设计之初所预期的效果一致。拓展性应用MVC架构将可重用代码封装,便于后期开发使用。模块之间解耦。便于后期拓展新功能。在保证完成已需要的功能之外,根绝实际需要,添加子功能。可扩展,便于维护。简明性前台页面风格简洁统一,用户一眼便知其中含义。不会耗费精力在功能上。操作简单易懂,注册功能、订单功能等信息,数据准确,价格明了。减少不必要的冗余。安全性安全性对于一个系统尤为重要。该系统仅支持学号并且实名注册,严格对用户信息保密。外来闲杂人等,不允许注册。该系统仅面向高校学生群体。实用性本系统面向的用户为全国的高校学生群体。不同的学校定制不同的系统。应用在实际生活中,功能强大。 兼容性PC端支持各大主流浏览器,如IE、火狐、谷歌等。3.2.2用例图分析本系统的用例图主要为学生用户,学生用户可以查看菜品的实时信息,可以查看不同食堂地点的今日菜单,可以根据价格,关键字等查询菜品种类,也可以下订单,以及查询附近美食。只要学生用户登录了该系统,便可以进行如下操作。具体用例图如图3-2所示。菜品

温馨提示

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

评论

0/150

提交评论