《基于j2ee的网上订餐系统设计与实现大学--学位论文.doc》由会员分享,可在线阅读,更多相关《基于j2ee的网上订餐系统设计与实现大学--学位论文.doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录绪言1 项目概述1.1 项目背景及研究意义1.1.1 项目背景1.1.2 研究意义1.2 研究现状1.3 系统目标1.4 论文的组织结构2 开大工具和编辑语言2.1 MyEclipse简介2.2 My SQL简介2.3 JAVA简介2.4 SSH框架3 网上订餐系统可行性研究与需求分析3.1 系统可行性分析3.1.1 技术可行性3.1.2 社会可行性3.1.3 经济可行性3.1.4 可行性研究结论3.2 网络订餐系统需求分析3.2.1 功能分析3.2.2 用例分析3.2.3 功能用例3.2.4 主要用例说明4 网上订餐总体设计4.1 框架描述4.2 网上订餐系统系统流程概述4.3 网上订餐
2、系统业务实体层设计4.3.1 数据库需求4.3.2 主要的E-R模型4.3.3 数据库表结构设计5 网上订餐系统详细设计5.1 系统前台的设计与实现5.1.1 用户注册5.1.2 用户登录5.1.3 购买餐品5.1.4 订单查询5.1.5 关于我们5.2 系统后台的设计与实现5.2.1 订单管理5.2.2 菜单管理5.2.3 用户管理5.2.4 留言管理6 测试与维护6.1 测试的任务及目标6.1.1 测试任务6.1.2 测试目标6.2 测试方案6.2.1 模块测试6.2.2 集成测试6.2.3 验收测试6.3 实例测试6.3.1 用户注册模块6.3.2 订餐模块6.3.3 会员管理中心模块6
3、.4 系统维护结论参考文献摘要随着传统的购物方式正在向网络化发展,出现了“网购”这种越来越受欢迎的新型消费方式。为了提高餐饮业务水平和效率,实现比电话订购更有效的送餐业务,网上订餐系统应运而生。通过对订餐流程和业务进行全面考察分析,结合目前最先进的软件开发技术,实现了订餐的网络化管理。目前,网上订餐业务还处于形成期,成长空间还很大。餐饮系统不仅需要将整个餐饮业务通过信息系统进行系统管理,同时需要将各类人工服务的工作交由计算机处理,比如点菜和菜单的传送等等。本网站是能为客户提供浏览餐品介绍、点菜订餐、约定用餐时间、就餐或送餐等服务。该系统的前台主要分前台登录和前台界面两部分,前台界面包括网站首页
4、、订餐流程、餐品展示、网上订餐、信息发布、会员中心和后台登录等模块;后台界面主要包括餐品管理、订单管理、留言管理、用户管理等模块,提高了工作的效率,为将来开发出更加人性化的系统做出了铺垫。该系统适合在中小型餐饮企业中推广使用,它能够优化餐饮业务流程,实现企业价值最大化,同时又使成本最低化,并最终提高自身在餐饮业中的竞争优势。关键词:网购; 网络化管理; 网上订餐;新型消费方式;餐饮业务;ABSTRACTAs traditional way of shopping are turning to network development, gradually appeared the increas
5、ingly popular new consumption mode “E-Commerce”. In order to improve the catering business level or efficiency and to realize the more effective room services than telephone reservation; Online order system has emerged because of demand. Through the investigation and comprehensive analysis on proces
6、s of the business, combined with the most advanced software development technology, it can realize the network management order. Currently, the online business is in formative period, it also has very big growing space. Catering systemrequires not onlythecatering businessmanagement system through th
7、e information system,at the same timewill need all kinds ofartificial serviceworkby the computerprocessing,such asorderingand menu transmission and so on.Customers can browse meal product introduction, order, be agreed mealtimes, repast in this website; also meals can be sent to them in the website
8、.The foreground of the system is made up of two parts, one is foreground login, the other is the interface of foreground. Foreground interface includes homepage, order process, meal product introduction, online order, information release, the member center and background login, etc. Background inter
9、facemainlyincludes foodmanagement,order management,message management,user management module,ect. To improve the work efficiency,for the futuredevelopment ofa morehumane systemmade matting.This system is popularized in small and medium-sized catering enterprises. It can optimize the catering busines
10、s flow and realize the maximization of enterprises value. Meanwhile, it also makes the lowest cost, and finallyimprove theircompetitive advantage inthecatering industry.Keywords:E-Commerce; Network Management; Online Order; New forms of consumption;Cateringbusiness;引言在网络技术逐渐渗入社会生活各个层面的今天,传统的商业经营方式也面
11、临着变革,而网上订餐则是一个很重要的方向。据了解,现代多数人认为网上订餐方便快捷,但也有很多人认为网上订餐还存在供应商太少,分布不均,可供选择的餐饮品种也不多等问题。国内网上订餐业务的发展之所以受阻,还在于电子结算方面的障碍,而这一方面是由于消费者的消费习惯,另一方面也由于快餐公司的实力尚不足以支撑。网上订餐在我国尚属新生事物,任何新生事物从萌芽到发展壮大都需要相当长的培育期,但其发展前景是很好的,相信随着中国年轻网民的不断成长,网上订餐业务会愈来愈繁忙。新加坡进行的一项民意测验显示,在富裕的新加坡,年龄在20至30岁之间的年轻人热衷于点点鼠标,他们对食品的渴望就可从网上订餐得到满足。随着我国
12、餐饮行业的发展,因餐饮业门坎较低,中国的大多数餐饮企业的老板是从小店发起来的,家族式管理的居多,许多还是“人治”,并没有一套现代企业制度和监督管理体制,所以从观念意识、经营思想和管理水平还有待专业化。随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。努力在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者所追求的目标。网络订餐实现了小店面大作为的成本效益,解决了因为店面小的限制而无法提高营业额的难题,是一个小投入大成效的经营新模式。在计算机普及后的今天,中国进入了互联网信息时代,生活方式和工作节奏都随着信息传递速度的加快而变得急促1。从信件传递发展成Email,从传统电
13、话交流到IP电话网络电话,一切原本属于现实生活中的行为方式慢慢地向网络转移,传统的购物方式也正在向网络方面发展,出现了“网购”这种越来越受欢迎的新型消费方式。同样,作为服务业支柱的餐饮业不可避免地趋向网络化发展。相信随着中国年轻网民的不断成长,网上订餐业务会愈来愈繁忙。但同时,网上订餐业务的发展也需要开展此项业务企业的努力,如引入专业物流配送,推出营养快餐,丰富餐饮品种等,逐步走上品质标准化、经营连锁化、服务规范化、通讯网络化的经营之路。而网上订座在很多的大城市都已相应推广开来,作为网站的特色服务,大大减少了顾客在用餐高峰期没有空闲位子的问题,为顾客节约了宝贵的生活、学习和工作时间。 基于We
14、b技术的网上订餐系统可以借助于遍布全球的Internet进行2,因此大大拓展了订餐的灵活性。一个餐饮商店在网上建立一个专门的订餐网站,不但可以起到宣传推广商店的作用,而且还可以大大提高店内的营业额,相信,采用网络订餐订座方式将是以后餐饮商店发展的趋势走向。虽然目前有许多基于“J2EE的网上订餐系统”,但它们实现功能单一,实现技术中没有应用到最新的软件实现和设计技术,比如当前流行的Web 2.0,Ajax技术。本文主要研究网上订餐系统的设计与实现,在整个过程中主要完成以下工作:分析网上订餐系统的现状和发展趋势,探讨、选择系统开发技术和开发平台。研究系统开发所涉及的相关技术和理论,采用软件工程的指
15、导思想,分析系统的功能需求、性能需求和安全需求,进行系统的总体设计。根据需求分析与总体设计,实现网上订餐系统,应用J2EE技术解决开发过程中所面临的各种技术问题。对系统进行部署与测试,根据测试结果,继续完善系统。1 项目概述1.1 项目背景及研究意义1.1.1 项目背景近年来,随着Internet的迅速崛起,互联网已日益成为提供信息的最佳渠道并逐步进入传统的流通领域,传统的餐饮业在当前计算机网络信息化面前同样面临着一个新的挑战。民众的餐饮习惯也在渐渐的朝着“订餐到户,随时,自由的用餐”的方向发展。尤其是广大在校大学生,信息的获取手段越来越多的依靠网络环境,国内的网络订餐业务虽然还处在逐步摸索、
16、逐步发展的阶段,但已经呈现出良好的发展势头和应用前景。网络订餐在“实地消费、电话订餐”的基础上依靠网络极大地丰富了餐饮行业的服务手段,增加了利润的来源空间。充分利用互联网的“时效性强、客户端普及”的特点,“网上订餐”和“网上订房,网上订票,网上购物”等等,成为改变普通民众消费观念的全新消费形式。1.1.2 研究意义随着社会经济的发展,人们的生活节奏不断加快,上班时间相当紧张,但一日三餐却不可少。通过网上订餐系统,不必亲临现场,在家中或在办公室上网,便可以为自己、家人、朋友聚会等制办一份既营养又实惠的美食。为了实现对客户点菜信息收集、处理、共享和再利用,以提高餐饮业务水平和效率,实现比电话订购更
17、方便、更迅速、更有效的送餐业务。通过对订餐流程的考察,对业务细节进行了全面的分析,结合目前最先进的软件开发技术,实现了订餐的数字化、网络化管理。餐饮系统不仅需要将整个餐饮业务通过信息系统进行系统管理,同时需要将各类人工服务的工作交由计算机处理,比如点菜和菜单的传送等等3。同时,本网站是一个网上订餐系统,能为客户提供网络选择商家、浏览菜品介绍、点菜订餐、约定用餐时间、就餐或送餐以及注明货币支付方式等服务。这样,传统的订餐方式也正在转向网络化发展,但目前,网上订餐业务还处于形成期,成长空间还很大。1.2 研究现状近几年来,热衷于“网上订餐”的群体悄然壮大,上班族和学生更把它看成潮流浪尖上的亮点。在
18、网上订餐的人都是一般都是对电脑比较熟练的人,也就是比较年青化的消费群体,包括白领、大学生、高中生和对计算机操作相对比较熟的人4。因为这些人工作都比较忙,而且对计算机也比较熟,思想也比较超前,对于在网上订餐能够接受,并经常上网订餐。利用网上订餐系统简单的点击几个按钮,外送人员就会将美食送到你面前。但网上订餐也存在几大瓶颈。从生产分工来看,网上订餐最终得引入专业物流配送,由现代化的物流公司提供配送服务,这是它要突破的第一个瓶颈。其次,网上订餐送餐和其它网络服务一样,要面临网络信用问题,从而影响网上订餐业务。而网络技术问题则是网上订餐送餐的第三个瓶颈,如因技术问题丢失了客户订单,将会造成很大的负面影
19、响。在网上订餐的人相对来说还是比较少的情况下,对网上餐馆的信用度持疑虑态度就成为了一个问题。另外,就是网上订餐只可以看到物品的说明简介和外观,没有看到实体于细节处,无法通过快速浏览确定是不是自己想要的菜品。而这正是传统的实体餐馆优于网上餐馆的地方。1.3 系统目标开发的软件是简易的网上订餐系统,以各种用户为主要服务对象。提供良好的用户界面,实现与用户的交流,方便会员、游客订餐是该系统设计的目标。该系统能够实现用户的注册,餐品查看,购物车式的餐品订购,用户留言等功能,在系统的后台,管理员可以处理用户订单,并可以对餐品信息、新闻、用户留言等实现集中管理。系统需要提供的主要功能如下:用户能够随意浏览
20、餐品,并能获取餐品的详细信息,如餐品图片预览、餐品简介等。系统能够向用户提供一些浏览信息,让用户能够快速的了解系统出售餐品的信息,如特色餐品等。系统能够提供公告信息,让用户快速了解系统的通告信息。用户既可以注册成为该系统的会员,也可以以游客身份订餐。系统有不同权限的用户,如会员、游客、系统管理员等。系统可以管理餐品(添加、删除、修改、查询),订单,新闻公告以及。客户留言等等。1.4 论文的组织结构本文论述思路清晰,层次分明,通过对系统整体的分析,主要围绕着六大章节来完成,对于系统的整个功能模块和开发思想进行了详细的描述。第一章:项目概述。本章节简单阐述了开发此系统的原因及想要达到的效果。第二章
21、:开发工具和编辑语言。简单介绍了部分项目用到的开发工具及用到的编程语言。第三章:网上订餐系统可行性研究与需求分析。本章通过对实习信息管理系统整体需求的深入分析,确定了用户的使用需求,然后确定系统的整体功能,并对系统功能进行了合理划分,对不同功能实现了分模块式用例描述,实现了实习信息管理系统的整体结构。第四章:网上订餐总体设计。本章介绍了系统框架及数据库,最后将系统中部分表信息和具体数据库E-R图进行了展示。第五章:网上订餐系统详细设计。详细描述了系统的数据流程,并展示了各个模块的具体页面。第六章:测试与维护。主要介绍了系统的测试方法及通过效果图展示对部分功能进行测试。2 开发工具和编辑语言2.
22、1 MyEclipse简介MyEclipse,是在eclipse基础上加上自己的插件。MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate5。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Ec
23、lipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能6。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。2.2 My SQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前
24、属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。2.3 JAVA简介java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
25、、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群7。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景8。Java分为三个体系JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版),JavaEE(J2EE)(Java 2 Platform, Enterprise Edition,java平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。2.4 SSH框架SSH 为 struts+spring+hibernate的一个集成框架,
26、是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。Spring:Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益9。Struts::它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,
27、使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。该系统严格按MVC模式设计,按J2EE分层设计的理念来全新构造基于J2EE的网上订餐系统,将中间层严
28、格分成业务逻辑层、DAO层和数据持久层等。在系统中采用“struts+spring+hibernate”结构,三种技术各自发挥优势,极大地提高了J2EE应用的开发效率10。3 网上订餐系统可行性研究与需求分析今基于互联网的电子商务系统越来越流行。网上定餐系统是一个在互联网上进行菜单信息发布和网上定餐以及建立客户关系的电子商务系统。餐饮企业可以通过这个电子商务系统发布自己的工菜单信息以供客户在线定餐。客户可以通过查看菜单信息在线定餐。餐饮企业通过定餐系统的用户界面,可以查看客户注册信息、管理用户信息、添加菜单信息、查看客户定单信息。客户可以注册个人的信息,选择菜品添加到购物车中,最后生成定单发送
29、给餐饮企业,以便餐饮企业上餐上门。主要分为系统可行性分析、用户需求分析;系统分析要求必须了解系统所实现的功能,这个设计的好坏直接影响的后面的开发。用户需求分析主要是了解用户的有哪些需求,该系统主要是用户的购餐需求以及管理的需求。只有了解了需求分析才能进行系统的开发,否则就会事倍功半,达不到我们预期的效果,因此需求分析是至关重要的11。3.1 系统的可行性分析可行性,是指在当前情况下,设计开发这个系统是否有必要,是否具备必要的条件,它不仅包括必要性,还包括合理性。系统的可行性分析,是针对要设计的系统,研究其设计是否存在内外部的必要条件,包括技术上、资金上、经济上、人力资源以及组织管理上的必要条件
30、,同时要分析在目前条件下是否有必要设计这样一个系统。3.1.1 技术可行性随着计算机、网络通讯和信息技术的发展,信息管理理系统在国际上得到广泛的应用。我国也不例外,80后时代成长起来的一代人对网络有更大的依赖性。该网上订餐系统是基于Web技术,建立以SQL为结构模式、以数据库为后台核心应用、以服务为目的信息平台对订餐信息进行查询等管理,它是建立在互联网上的应用系统,客户端的配置可以极为简单。3.1.2 社会可行性网络订餐将传统的交易流程信息化、数字化,一方面以信息流代替了面对面的交易,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,
31、从而大大提高了效率。网络订餐使餐饮业以较低的成本进入信息化市场,使得中小企业有可能拥有和大企业一样的信息资源。它开放性的特点,为企业创造了更多的交易机会,提高了中小企业的竞争能力。 网络订餐重新定义了传统的流通模式,减少了中间环节,使得生产者和消费者的直接交易成为可能,从而在一定程度上改变了整个社会经济运行的方式。3.1.3 经济可行性资金可行性。由于系统开发环境配置以及其开发并不复杂,只需一些基本的开发工具。而且开发出的系统操作起来也比较简单,另外具备网络中的一些资源优势,因此开发费用较低。经济合理性。由于通过网络进行商务活动,信息成本低,足不出户,可节省交通费,且减少了中介费用,因此整个交
32、易活动会降低成本。经济可行性主要依据是成本效益分析,该系统的目标是以最低的成本,在最短的期限内开发出具有网上订餐等功能的网上订餐系统。该系统的目标是以最低的成本,在较短的时间内开发出具有网上订餐系统,目标系统并不是十分的复杂。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的是该软件的开发可以使我们对系统的开发有全面的认识。因此从经济角度考虑,此订餐系统开发可行。3.1.4 可行性研究结论依据以上因素,该系统开发项目不仅方便快捷、高效,而且社会效益比较好,从而使该系统开发者相信该系统开发出来
33、之后将取得的成功。综上所述,此项目在技术、经济和社会效益上是完全可行的。3.2 网上订餐系统需求分析3.2.1 功能分析作为一个网上订餐系统。首先为了保证客户能够很方便的进行餐品订购,系统应该具有分类查看餐品,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物订单”中,在选购完毕后再一起结帐。在系统的后台,管理员能够查看客户购买的订单,发布新闻,管理各类用户等。为了更好进行服务,系统还应该支持用户留言功能。因此可分析出该系统所实现的功能包括前台和后台两部分,前台为系统功能的主要部分。前台主要以会员身份登录后的页面为主,功能包括如下几部分:首页餐馆和餐品部分信息的简单介绍。订餐流程实现
34、对不同用户订餐流程的说明。餐品展示实现本餐馆餐品的分类展示及查询某餐品的具体信息。信息发布商城信息的发布以及客户留言。网上订餐订单的填写以及发送。后台登陆通过相关验证,管理员登陆后台实现对用户、餐品、订单以及消息的管理。后台功能包括如下几部分:用户管理对会员、管理员三类用户的管理。餐品管理实现对餐品信息的增删改以及查询等操作。订单管理对用户的订单进行管理。信息管理商城公告和商城动态信息的发布以及客户留言的管理。 通过调查及需求分析可以了解网上订餐系统的基本功能,并把这些功能以功能结构图形式画出,可以形象地了解该系统实现的具体功能。该系统总功能结构如图3-1所示。 图3-1 功能结构图3.2.2
35、 用例分析用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模,用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。系统主要功能用例如图3-2所示。图3-2 网上定餐系统用例图下面介绍应用程序中的主要用例。表1 管理员用例描述用例名称:管理员 参与者:管理员 前置条件:管理员成功登陆系统后台 用例功能:订单、菜单、用户、留言的管理 事件流:当管理员登录系统后台,弹出后台界面 异常事件流:当管理员未登录或输入不合法的数据 后置条件:系统无改变 表2 会员订餐用例描述用例名称:会员 参与者:普
36、通用户 前置条件:会员成功登录系统 用例功能:会员通过网上订餐模块进行订餐 事件流:当会员登录系统后选择网上订餐模块 异常事件流:当会员未登录或输入不合法的数据 后置条件:系统无改变 3.2.3 功能用例管理员用例图如图3-3所示。图3-3 管理员用例图系统在实现对各种餐品进行管理时,采取了相对合理的实现技术,如下图描述了系统在完成餐品管理时的不同工作。图3-4 餐品管理用例图3.2.4 主要用例说明用户登录和注册用户登录是电子商务应用必需的功能之一。当用打开系统时,首先需要登录系统,如果用户没有注册,则需要注册。注册的用户分为普通用户和管理员用户,管理员用户可以维护已注册的用户信息。当用户登
37、录系统后,可以查看当前系统中的菜单信息以及定餐等操作。管理员发布菜单信息管理员可以通过在线定餐系统动态发布菜单信息,发送菜单信息后,登录的客户要以查看到菜单信息并选择某些菜品进行定餐。购物车管理客户可选中某些菜品添加到购物车中,也可以删除购物车中的某一菜品或全部清空购物车。订单管理客户把所需要的菜品添加到购物车后,就可以根据购物车中的菜品下定单,客户填写好定单后,发送给餐饮企业,餐饮企业根据用户定单信息进行送餐。4 网上订餐总体设计系统设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案,进行系统
38、的总体设计和各子模块的设计,为下一阶段系统实施提供必要的技术资料。系统的总体设计是在系统分析的基础上由抽象到具体的过程。主要包括系统设计、数据库的需求分析以及网站的整体设计三大块。系统设计主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机运行环境的具体方案,进行系统的概要设计,为下一阶段系统详细设计提供必要的技术资料。4.1 框架描述下面描述网上订餐系统的架构设计,整个系统架构基于J2EE技术体系设计。J2EE体系包括JSP、Servlet、EJB、Web Service等多项技术。这些技术的出现给Web应用开发提供了一个非常有竞争力的选择12,怎样把这些技
39、术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,软件开发者们不可能对每个不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案,Struts就是其中之一,Struts是流行的基于J2EE的架构方案,其他常用的基于J2EE的架构方案还有Hibernate、Spring等13。该系统严格按MVC模式设计,按J2EE分层设计的理念,将中间层严格分成业务逻辑层、DAO层和数据持久层等。MVC层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现,表现层采用传统JSP技术
40、,JSP技术结合Struts的标签库,让应用的表现层层次清晰,可读性比较好。该系统采用的是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互,该系统的表现层是传统的JSP技术,中间层采用的是流行的Spring+Hibernate14,为了将控制层与业务逻辑层分离,又细分为以下几种。客户层(Client Tier)J2EE应用可以是基于Web的,也可以是不基于Web的。在基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从一个We
41、b服务器上下载Web层中的静态HTML页面或由JSP或Servlets生成的动态HTML页面。Web层J2EE Web组件可以由JSP页面、基于Web的Applets以及显示HTML页面的Servlets组成。调用Servlets或者JSP页面的HTML页面在应用程序组装时与Web组件打包在一起,就像客户层一样,Web层可能包括一个Java Bean类来管理用户输入,并将输入发送到在业务层中运行的Enterprise Bean类来处理。运行在客户层的Web组件依赖容器来支持诸如客户请求和响应及Enterprise Bean查询等。一般来讲,一个典型的Web应用的末端应该是表示层。Service
42、层Service层(业务逻辑层)负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的模式包装,完成系统所要求的业务逻辑。业务逻辑层包含布署层,可发送电子邮件、调用远程服务等。DAO层数据访问DAO层负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。数据持久层PO数据持久层PO,持久化对象。通过实体关系映射工具,将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合15。系统层次架构如图4-1所示。 图4-1 系统层次架构模型4
43、.2 网上订餐系统流程概述用户在浏览网站时首先看到的就是网站首页。在首页用户可以了解本餐馆和部分特色餐品的信息。用户如果想要订餐时或者直接通过电话或者直接填写收货人的信息或者注册成为会员,在用户查看完商品的信息后,可以把自己想要购买的商品加入订单中,也可以随时修改,清空订单里的商品,如果用户对订单里的商品都很满意,就可以直接下订单。这时相关的程序模块会将用户所提交的所有信息都记录在数据库里以便系统的管理人员可以核对信息并准备餐品,专门送餐人员给用户配送餐品,此时整个订餐的过程便结束。在网络订餐的后台管理方面还需要添加、修改、删除餐品,同时各类用户信息的管理,商城公告的设置,站内新闻的发布和订单
44、的处理等都需要系统的管理人员来操作。4.3 网上订餐系统业务实体层设计数据库的需求分析主要是数据库和数据库表的建立,该系统中需要存储那些数据,都是在这个设计中实现。业务实体在内存中表现为实体域对象,在数据库中表现为关系数据。实现业务实体包括以下内容:设计域模型,创建域模型实体对象。设计关系数据模型。创建对象-关系映射文件。其中,前两项适用于大多数由持久化数据驱动的应用程序,最后一项是特定于Hibernate应用的,不同的实现方式需要不同的步骤。4.3.1 数据库需求WEB应用跟踪和管理用户的订单,行为主要有两种措施:一种是使Session或Cookes保存用户活跃期间的信息,但是这些信息在会话
45、结束后将不再存在。对于那些需要持久保存的信息,以及数据量比较大的数据必须通过数据库来进行存储。数据库适合存储那些需要持久保存的信息,并且提供很好的方式进行查询,插入,修改和删除。网上订餐是面向庞大用户的信息化产品, MySQL是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,MySQL主要目标是快速、健壮和易用。因此该系统选择MySQL作为数据库。4.3.2 主要的E-R模型ER模型Entity-Relationship Model是一种叫做实体联系模型的简称,