1、摘要第 1 页 共( 34) 页本科毕业论文(20 届)校园 B2C 网上订餐系统设计与实现 前端界面设计与展示所在学院专业班级 信息与计算科学学生姓名指导教师完成日期摘要第 2 页 共 (34) 页校园 B2C 网上订餐系统设计与实现 前端界面设计与展示摘要随着信息技术在订餐的管理上越来越深入而广泛应用,管理信息系统的实施已在技术上逐步成熟。本文主要研究怎样开发订餐管理系统,诠释了开发订餐管理系统的必要性和重要性,系统的开发在 J2EE 平台上进行,结合后端的 Oracle 数据库技术 ,用 JAVA 进行编码,开发出一个符合企业需要,比较实用的信息管理统。通过对计算机硬件和软件解决方案的论
2、证,对应用领域进行调查分析,参考许多资料,在指导老师的帮助下 ,详细分析了订餐管理系统的几个主要设计阶段:需求分析、概要设计和详细设计,同时给出了系统实现的具体思想方案,并列举了实际工程中的实例创建过程、方法和效果。该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实施阶段、系统调试和测试阶段、参考文献、附录等阶段组成。关键字:订餐软件;系统设计与实现;功能模块;JAVAABSTRACTAlong with the information technology in the reservation management more and more thorough and ext
3、ensive application, management information systems implementation, technology has gradually matured. This paper mainly studies how to develop reservation management system, explains the development of reservation management system the necessity and importance, system development on the J2EE platform
4、, combined with the rear end of Oralce database technology, code with JAVA, developed a consistent with business needs, more practical information management system. Through to the computer hardware and software solutions for the demonstration, the application areas of investigation, reference a lot
5、 of data, in instructs under teachers help, a detailed analysis of reservation management system design of several major phases: requirement analysis, outline design and detailed design, and gives the system to achieve the specific scheme, and gives the actual engineering examples in the creation pr
6、ocess, method and effect. The system developed by the system requirements analysis, conceptual design, logical design, database stage stage implementation stage, the system debugging and testing stage, references, appendix, phase composition.摘要第 3 页 共( 34) 页Key Words: Campus order system;Reservation
7、 software ;System design and implementation;Function module;第 1 章 引言1.1 绪论当今社会的生活节奏越来越快,人们对餐饮的要求也越来越高,不仅要求色香味俱全, 而且对于就餐的时间和方式也有了更高的要求, 许多同学觉得出门吃饭比较麻烦,这样就产生了快捷订餐的要求,最快的方式莫过于利用计算机网络,将餐饮业和计算机网络结合起来, 就形成了网上订餐系统, 使用本系统的餐饮企业提供菜品信息,我们为其提供网上订餐服务,不仅提高餐饮企业的服务质量,扩大知名度,也是为最终顾客提供方便快捷的食品服务. 社会对餐饮的快捷性要求形成了对网上订餐的要求
8、,该项目将使用 J2EE 技术的 Spring+Struts+Hibernate 实现快捷的开发与部署,并且可以最大限度的保证系统的稳定性. 网上订餐系统将极大的方便食客的就餐,同时也有利于我们的管理和售后服务. 革开放二十多年来,我国订餐业发展迅猛,日新月异,各种风味特色,各种经营形式,各种组织结构的订餐企业星罗棋布,但“竞争激烈,生意难作” 也成了订餐业的 “流行脖。更新经营方式,拓展大众市场,建全订餐业的“软硬” 件设施,发展订餐信息渠道是我国订餐业应探索的主旋律。所以,社会化,科学化,集锦化 21 世纪的发展方向。当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得
9、十分普遍了,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。所以说科学化是二十一世纪订餐业的主流。目前,国内的订餐管理系统几种情况是:中国的软件系统大多源自管理信息系统(MIS),从部门业务需求的角度出发设计。管理信息系统设计的初衷是服务于学校内绝大多数的业务操作人员,将业务操作人员的重复性劳动予以初场户摘要第 4 页 共 (34)
10、 页动化,即从管理理论抽象出理想化的业务管理模式,在基于该业务模式的摹础上实现低层次的数据处理或业务流程电子化。管理信息系统的设计,是根据中小型学校业务单元的需求来编写的,一般无法满足多体制、多元化、多董组织结构的大型学校数据处理需求。研究背景及意义1.2.1 课题研究背景Java 是由 Sun Microsystems 公司推出的 Java 面向对象程序设计语言(以下简称 Java 语言)和 Java 平台的总称。由 James Gosling 和同事们共同研发,并在 1995 年正式推出。Java 最初被称为 Oak,是 1991 年为消费类电子产品的嵌入式芯片而设计的。1995 年更名为
11、 Java,并重新设计用于开发 Internet 应用程序。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器均支持 Javaapplet。另一方面,Java 技术也不断更新。Java 自面世后就非常流行,发展迅速,对 C+语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。 2010 年 Oracle 公司收购 Sun Microsystems。1.2.2 课题研究的内容本课题是设计一个
12、基于 J2EE 的订餐系统。这是一个属于小型的订餐管理系统,可以有效的对中小型餐厅消费进行管理,此校园订餐应达到以下效果:系统采用人机交互的方式,界面实现了响应式布局,布局友好,能在不同设备上显示相对应的效果。操作简便,快捷,数据储存安全可靠。实现对校园内的顾客浏览菜品,点菜,提交订单,查询订单,结账等操作实现顾客对菜品进行评价的操作订餐系统要体现易维护性和易操作性。1.2 国内外研究现状java 软件开发行业在国外发展较为成熟,从业人员数量庞大。在国内,则相对滞后,不过,经过几年的成长,java 软件开发已成长为一匹实力惊人的“ 黑摘要第 5 页 共( 34) 页马”,人才缺口突破 20 万
13、,挺向 60 万。60 万“ 人才荒 ”局面的出现,一方面是由于软件行业开发语言的升级,逐渐由 C,C#,.NET 的模式升级为 JAVA 语言开发模式,java 软件开发人员成为软件开发的“主力军”。另一方面,则因为人才培养滞后。首先,高校没有捕捉到市场信息,只有屈指可数的几个院校设立了系统的 java 软件开发专业;其次,各地的 java 软件培训机构每年的人才供给量不超过万人,远远不能满足企业需求。 目前,以 SUN 公司公布的 JAVA 最新框架结构为标准,将 Java 语言以Java2 为中心,其组成分为了 3 个部分:1)企业版 J2EE。该版本是面对各大企业环境为中心而开发的一种
14、以应用程序为主体的计算机网络平台,其中还包括 3 个层次:EJB 、JSP 、和 SERVSLT ;2)标准版 J2SE。其中,Java 核心编程为图形用户界面的编程、工具包程序的编写以及数据库的程序编写等;3)微型版J2ME。该版本一直以消费品和各种嵌入式设备的网络应用平台为研究中心,主要涉及的领域为手机、手机中的各种无线游戏等。其核心技术为移动信息设备小程序。从目前 Java 语言的应用及推广来看,标准版的更符合大众需求,它以其简单方便的特点赢得市场好评。 计算机的诞生及广泛应用推动了 IT 领域的发展,但现在的计算机早已不是访问 INTERNET 的唯一的途径。目前,各类更具信息化的电子
15、产品成为一股新的力量进入 IT 领域,推动了 PC 时代的大发展。由于各种消费信息的急剧增加,传统的客户机的各方面条件均不如 PC,PC 的发展对服务器的应用管理体统也提出了更高标准。然而,Java 语言完全满足了 PC 的条件,在减少内存,直接在各类电子产品中运行,在网络中可被任何设备所识别,充分利用网络资源等方面有所突破创新,为 PC 时代的发展创造了有力条件。最初 Java 语言为与数据库联系紧密设计了 Java servlet 和 SQL-J 技术,以及 JSP 技术。最为重要的是 JSP 技术的迅猛发展,使 JAVA 语言的网络应用更为实际化、更高效快捷,成为 IT 产业首选的技术。
16、 JSP 以 Java 语言作为其服务器端的使用语言,结合了 JAVA SCRIPT 等多种其他客户端语言,使网络浏览器更为方便的展现。另外,从目前 Java 发展前景来看,我国更多企业倾向于JAVA/J2EE 技术,将其作为应用程序开发的首要选择方案。由于数据方面的程序设计以及逻辑方面的程序控制已成为我国企业环境程序应用的关键技术,并且这些都体现了 JAVA 语言的优势,因此,在 Java 语言的实际应用中,企业版越来越受到各大企摘要第 6 页 共 (34) 页1.3 课题难点重点及研究内容1.3.1 课题难点重点课题的重点难点在课题开题的初期,就是对于 J2EE 技术的学习和理解,不同于一
17、般的 JAVA 开发,基于 J2EE 的软件开发,必须将 JAVA 和 J2EE 绑定起来,才能完成对软件的开发,和功能的实现。尽管在各种语言的 binding 中,程序的架构都大同小异,但小部分问题还是会把人搞得很抓狂。例如 Obj-C 里中的省去了好多本要手动完成的步骤,将同一套想法搬到 C+,或者 WinRT 就会若干出错。但是总的来说只要先从 JAVA 的 sample 代码入手就会少很多问题。本次毕业设计,主要是基于 J2EE 的软件开发,用 JAVA 语言,在调试的过程中会有一些头疼,一些细枝末节的问题,会很多,很繁杂。但是不会受到跨平台开发的困扰。1.3.2 研究内容主要研究内容
18、就是,通过对 JAVA 技术,J2EE 开发的学习和熟悉。然后将 JAVA 和 J2EE 技术结合起来,开发一款,运行在 JAVA 之上的,具有浏览菜品,点餐,用户注册的功能基于 JAVA 的订餐软件软件。第二章 Java 研究第 7 页 共( 34) 页第 2 章 JAVA 研究2.1 JAVA 的定义及基本概念2.1.1 JAVA 的定义一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用。Alljoyn 的重要的基本概念Java 语言是易学的Java 语言的语法与 C 语言和 C+语言很接近,使得大多数程序员很容易学习和使用 Jav
19、a。另一方面,Java 丢弃了 C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java 语言是强制面向对象的Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C+语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语言。Java 语言是分布式的Java 语言支持 Internet
20、应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket 、ServerSocket 等。 Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java 语言是健壮的Java 的强类型机制、异常处理 、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java更具健壮性。Java 语言是安全的重庆师范大学学士学位论文第 8 页 共 (34) 页Java 通常被用在网络环境中,为此,Java
21、提供了一个安全机制以防 恶意代码的攻击。除了 Java 语言具有的许多安全特性 以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。Java 语言是体系结构中立的Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java 语言是可移植的这种可移植性来源
22、于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性, Java 编译器是用Java 实现的, Java 的运行环境是用 ANSI C 实现的。Java 语言是解释型的如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时, Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java 是性能略高的与那些解释型的高级脚本语言相比,Java 的性能还是较优的。Java 语言是原生支持多线程的在 Java 语言中,线
23、程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。Java 语言是动态
24、的第二章 Java 研究第 9 页 共( 34) 页Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的API 能缩短应用系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是 Jav
25、a 企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。Java 由四方面组成:Java 编程语言,即语法。Java 文件格式,即各种文件夹、文件的后缀。Java 虚拟机(JVM ),即处理*.class 文件的解释器。Java 应用程序接口( Java API)。Java 分为三个体系,分别为 Java SE(J2SE,Java2 Platform Standard Edition,标准版),JavaEE (J2EE,Java 2 Platform, Enterprise Edition,企业版),Java ME(J2ME ,J
26、ava 2 Platform Micro Edition,微型版)。与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此
27、微软公司推出了与之竞争的.NET 平台以及模仿 Java 的 C#语言。Java 是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。Java 分为三个体系,分别为 Java SE(J2SE,Java2 Platform Standard Edition,标准版),JavaEE (J2EE,Java 2 Platform, Enterprise Edition,企业版),Java ME(J2ME ,Java 2 Platform Micro Edition,微型版)。抽象类:规定一个或多个抽象方法的类别本身必须定义为 abstract,抽重庆师范大学学士学位论文第 10 页
28、共 (34) 页象类只是用来派生子类,而不能用它来创建对象。final 类 :又称“最终类” ,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。包:Java 中的包是相关类和接口的 集合,创建包须使用关键字package。多态类:在 java 中,对象变量是多态的。而 java 中不支持多重继承。接口:Java 中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。java 中的每一个类都是从 Object 类扩展而来的。Object 类方法:
29、equal 用于测试一个对象是否同另一个对象相等。toString 返回一个代表该对象的字符串,每一个类都会从 Object 类继承该方法,有些类重写了该方法,以便返回当前状态的正确表示。通用编程:任何类类型的所有值都可以同 object 类型的变量来代替。封装:把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。2.2 JAVA 的优势简单Java 语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java 略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java 也适合于在小型机上运行,它的基本解释器及类的支持只有 40KB 左右,加上标准类库和线程的支持也只有 215KB 左右。面向对象Java 语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏; 而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。鲁棒性Java 在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时