基于Java的可浓餐厅网上订餐管理系统的设计与实现

获取项目源文件,技术交流与指导联系Q:1225467431

摘要 随着人们生活水平的提高,对饮食的要求已不仅是解决温饱,很多人在进行紧张工作之余选择享受美食,得到美的精神享受和放松。传统的就餐方式往往会出现人们到餐厅就餐,排队或没有位置的现象。因此,开发出图文并茂,信息能够及时更新与查看的网上订餐的系统就成为了解决上述问题的主要途径。

网上订餐是近年来随着网络技术的发展而产生的一种新型的就餐方式。它与传统就餐方式相比,网上订餐拥有很多优势,这样的订餐方式效果很好,既让顾客觉得方便、快捷,又对每个订单的信息保管妥善、处理及时,实现了高度智能化管理。网络订餐方式将成为餐饮业销售的新模式与新的增长点。

在开发网上订餐管理系统中,采用ASP.NET和jdk-i586搭建管理系统平台,并采用了Access2003数据库管理系统及Java主流开发技术进行了实现流程规范化,数据灵活化配置一套网上订餐管理系统。通过系统的开发掌握软件的基本的开发流程,了解了系统的业务。从而掌握软件开发整体过程,把知识运用实际生产中。

关键词 数据库管理系统  餐饮管理系统  系统设计  Java  Access2003


Based on Java Kenong Restaurant Online Ordering Management System Design and Implementation

Abstract  As people living standard rise, to the requirements of the diet has not only is hunger, a lot of people in the nervous of the job choice food, cooking, and get a beautiful spirit to enjoy and relax. Traditional dining way will often present people to restaurants, waiting in line or no position phenomenon. Therefore, developed with pictures, information can update and view online order system becomes the main ways of solving these problems.

Online order is in recent years with the development of network technology and produces a new dining way. Compared with the traditional it dining way, online order has many advantages, such order way effect very good, already make customers feel convenient, quick, and for each order information properly, the timely handling, realize the highly intelligent management. The network will become the restaurant industry sales order way of new pattern and new growth point.

 In the development of online order management system, using asp.net and JDK-i586 building management system platform, and used the Access2003 database management system and Java development technology realize mainstream realization of process standardization, the data included a catering management system configuration. Through the development of the system of basic soft wares have development process, learned about the system business. To master the whole software development process, the knowledge is used in practical production.

 Key words  Database Management System  Catering Management System  System Design  Java  Access2003

目录

   1

第一章 绪论 2

1.1 选题背景和研究意义 2

1.2 国内外研究现状 2

1.3 本课题研究的内容 3

第二章 系统技术概述 5

2.1 ASP.NET技术 5

2.2 Java程序开发技术 6

2.3 Access数据库系统技术 7

第三章 需求分析 9

3.1 用户需求 9

3.1.1 可浓餐厅的基本功能 9

3.1.2 用户对系统的需求 9

3.2 系统具备的基本功能 9

3.2.1 前台用户模块 9

3.2.2 后台管理员模块 10

3.3 数据流图 11

3.3.1 顶层数据流图 12

3.3.2 第一层数据流图 12

第四章 系统总体设计 13

4.1 体系结构 13

4.2数据库设计 14

4.2.1 实体图 14

4.2.2 E-R 15

4.2.3 关系模式 16

4.3 系统数据库实现 17

4.3.1 Access数据库 17

4.3.2 数据库表的设计 17

第五章 系统详细设计与实现 21

5.1 网上订餐系统前台设计 21

5.1.1 系统首页设计 21

5.1.2 菜色及菜单信息浏览 22

5.1.3 留言功能的设计与实现 23

5.2 网上订餐系统后台设计 24

5.2.1 后台管理系统登录界面设计 24

5.2.2 网上订餐管理系统首页 26

5.2.3 添加员工信息页面 27

5.2.4 修改/删除员工信息页面 29

5.2.5 查询会员信息页面 30

第六章  总结与展望 35

6.1 总结 35

6.2 展望 35

致谢 37

参考文献: 38

 

近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账,基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。这就迫切需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理该企业的日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。

当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同人们现在离不开的自行车、汽车一样。大家都应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。

作为计算机应用的一部分,使用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

本系统选用 Access数据库及配套的平台Win 7。前台开发工具采用ASP.NET语言,利用其可视化的开发环境、丰富的控件资源,快速开发出了前台网站。而后台开发工具采用了Java编程语言,设计出一个简单易操作的后台应用程序,实现对员工、菜品、部门、会员、餐桌信息的添加、查询、修改及删除功能。

使用本系统,员工可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。


第一章 绪论

1.1 选题背景和研究意义

面对餐饮业多元化的经营现状,经营的特色、规模、出品这些因素的不同,带给餐饮企业的则是不同的标准和工作流程和方法,面对着这解决方法不一的情况,对人才的专业化程度的要求也相应地提高了,然而在国内市场上,餐饮业人才供应不足,在这样的两难情况下,网上订餐系统的出现暂缓了这一紧张局面。

    首先,网上订餐管理系统不是单纯的用于结账计算的工具,它有着科学的、标准的管理体系,它是通过对目前餐饮市场的具体情况科学的调研分析后设计而成的,它能够针对中餐因其菜品的多样化和特色化的服务很难实现标准化管理,使中餐企业的成本控制很难实现这些问题得到有效的解决。

    其次,网上订餐管理系统能够给出具体的相应的符合企业自身要求的较科学的标准化管理流程,这暂时缓解了专业人才的需求,通过使用该系统就能完成专业人员所要做的事。

    最后,网上订餐管理系统可以针对企业的经营现状而做出科学的分析,使得企业对市场的应变能力得到了提高,从而通过餐饮管理系统来实现强化管理、降低成本、堵漏节流等作用。更好的完善企业的经营管理,提高企业自身的竞争实力[7]

1.2 国内外研究现状

    随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发展景象,其中餐饮业的发展尤为突出。近两年来已呈现出高速发展的态势。但在快速发展的同时,餐饮业在日常经营管理中仍普遍采用手工管理方式,整体科技含量低。随着餐饮企业规模和数量的不断增长,手工管理模式无论是在工作效率、人员成本,还是提供决策信息方面都已难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升。

    这就要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。目前市场上大多数餐饮软件是基于Windows操作系统的,也有部分餐饮软件考虑到版权的问题,采用Linux操作系统;又比如,系统数据库,有AccessSybaseMySQL、SQLServer等,对于餐饮系统来说,采用什么数据库与餐厅的规模比较相关,较小的餐厅可以采用比较简单的数据库如Access,这样使用维护都可以做的比较简单,而规模大的餐厅就应该用SQLServer这样的数据库,可以保障数据比较安全、系统比较稳定,但同时也要求有专门的系统管理员来维护。还有,数据的录入通常有三种方式,一是基于普通电脑,二是基于触摸屏,三是采用无线点菜系统,而无线技术又有基于红外技术和基于无线网络的技术。从目前的发展趋势看,餐饮系统越来越多的采用触摸屏,而无线技术正在逐步成熟起来。

    在国内,餐饮软件的发展也正处于蓬勃发展的时期,如北京天良软件,它是一家以软件开发、销售为主营方向的技术开发型企业。天良软件立足于餐饮及酒店客房管理市场,致力于为客户提供一流的产品及服务,企业下设市场拓展部、产品研发部、公关策划部、客户服务部等主要职能部门。

    在国外发展比较成熟的软件还有龙腾触摸屏点菜系统,“龙腾餐饮管理系统”软件采用了独特的组网技术,以Window为操作平台,全32为应用软件系统,功能在国内处于领先地位。网络系统是以Windows搭成的对等网络,简单实用、稳定可靠,保证企业非常迅速地把信息传递到各个点。这个系统适用于快餐企业、西餐、火锅有勾划式菜单的餐饮企业,中高档中餐可以配合其他点菜设备一起使用这个系统。

1.3 本课题研究的内容

    本餐饮管理系统的主要内容是对员工资料、菜品/菜系信息、客户点菜、餐桌、会员资料统一管理。功能模块可以划分为以下大块——前台、后台和数据库管理。

    1.前台功能模块

客户在网络上点击查看可浓餐厅的网站,通过浏览首页、公司简介页面,可对可浓有一定的了解,如果用户需要点餐,可查看菜单总览网页,然后致电餐厅,由餐厅人员帮助点餐。

2.后台功能模块

1)员工管理

增加,修改,删除,查询员工基本信息。管理员对员工信息进行完善。

2)菜单管理

增加,修改,删除,查询点菜单、退菜单信息。服务员笔记或者PDA点菜流程任意定制。菜单打印,根据餐厅的打印机分布,可自定义打印流程。

3)部门管理

增加、修改、删除、查询部门基本信息,查询人员操作历史记录。

4)查询管理

对员工、菜单、部门、会员、留言等信息进行统一查询,便于了解餐厅各方面信息。

5)系统安全管理

用户管理,修改密码,退出。

3.数据库模块

进行存储,并提供对相关的数据进行存储,查询,修改,以及权限设置等管理操作。


第二章 系统技术概述

    本系统分为前台和后台,前台网站采用ASP.NET动态页面技术,后台系统采用Java编程语言,Access2003数据库管理系统来设计的可浓餐厅网上订餐管理系统。

2.1 ASP.NET技术

ASP被称为活页服务器页面,它可以根据用户的不同,在不同的时间显示不同的内容。然而,由于ASP程序和网页的HTML混合在一起,这就使得程序看上去相当复杂,在开发的过程中常常产生一些问题;同时,ASP页面是由脚本语言解释执行的,使得其速度受到影响。由于以上的这种限制,微软推出了ASP.NET。

ASP.NET不仅仅是ASP的一个简单升级,它更为用户提供了一个全新而强大的服务器控件结构。ASP.NET几乎全是基于组件和模块化,每一个页面,对象和HTML元素都是一个运行的组件对象。在开发语言上,ASP.NET使用.NET Framework所支持的VB.NET,C#.NET等语言等作为其开发语言,这些语言生成的网页在后台被转换成了类并编译成了一个DLL。

ASP.NET是一个统一的Web开发模型,它包括可以使用户使用尽可能少的代码生成企业级Web应用程序所必需的各种服务。ASP.NET作为.NET Framework的一部分提供给用户。随着Web应用技术的进一步发展,微软推出了ASP.NET 3.5,使得用户用ASP.NET 3.5来构建的Web应用越来越容易。和ASP.NET 2.0相比,ASP.NET 3.5具有下列几个方面的改进。

1.更快的分页数据处理能力。ASP.NET 3.5提供了专业的数据控件和分页控件。

2.更快更炫的网页交互技术。AJAX框架。ASP.NET 3.5集成了AJAX框架,支持异步数据处理和页面的局部刷新。

3.LINQ集成查询技术。ASP.NET 3.5支持LINQ技术,可以提供更简洁的代码实现复杂查询的功能。LINQ支持对象,数据库和泛型列表等查询。

2.2 Java程序开发技术

Java不仅是编程语言,还是一个开发平台,Java技术给程序员提供了许多工具:编译器、解释器、文档生成器和文件打包工具等等。同时Java还是一个程序发布平台,有两种主要的“发布环境”,首先Java运行时环境(Java Runtime Environment,简称JRE)包含了完整的类文件包,其次许多主要的浏览器都提供了Java解释器和运行时环境。目前Sun公司把java平台划分成J2EE、J2SE、J2ME三个平台,针对不同的市场目标和设备进行定位。J2EE是Java2 Enterprise Edition,主要目的是为企业计算提供一个应用服务器的运行和开发平台。J2EE本身是一个开放的标准,任何软件厂商都可以推出自己的符合J2EE标准的产品,使用户可以有多种选择。

Java主要有以下特性:

1.Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2.Java语言是面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为Implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3.Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URL Connection、Socket、Server Socket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4.Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

5.Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类Class Loader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类Security Manager)让Java应用设置安全哨兵。

6.Java语言是体系结构中立的。Java程序(后缀为.java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为.class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

7.Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

8.Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

9.Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++[4]

2.3 Access数据库系统技术

Access 是Office办公套装软件中的一个极为重要的组成部分。自1992年推出以来,Access以其功能强大、易学易用、界面友好等特点,备受世人瞩目。现在,Access已成为世界上最流行的桌面数据库管理系统。

Access具有强大的数据管理功能,不仅可以快速、方便地建立各种数据表,查询、设计和创建窗体、报表,还可以使用宏进行特定的操作,用VBA语言进行更高级的程序开发。

Access数据库的特点为:

1.Access是一个面向对象的、采用事件驱动机制的小型关系数据库管理系统。

2.Access是一个前后台结合的软件,既有用户界面,又有逻辑、流程处理,即VBA语言。

3.Access是一个典型的开放式管理系统,可以同时面对数据库最终用户和数据库开发人员。

4.Access采用了与Microsoft Windows同样的风格,采取了面向对象的方式来完成数据库管理的各项功能,简化了用户的开发工作。

5.Access提供了丰富的图形化工具和向导,使用户不用编写代码即可轻松地创建并管理数据库系统。

6.Access针对实际应用,提供了表、查询、窗体、报表、页、宏和模块共七类对象,用于收集、存储和处理各种信息,并为每个对象都提供了设计器和生成向导。

7.Access内置大量函数,提供了多种宏操作和连击帮助功能。

8.提供了创建数据访问页的功能,可以发布到网络上的Web页面。用户通过数据访问页可以直接查询和处理数据库中的数据[6]


第三章 需求分析

3.1 用户需求

3.1.1 可浓餐厅的基本功能

1. 前台对餐厅基本信息的详细介绍;

2. 客户可以浏览餐厅环境,菜单及菜色的功能;

3. 客户可以在线留言,提出对餐厅的建议以及进行订餐;

4. 餐厅管理员通过后台系统,对餐厅工作人员、菜单、部门等进行查询、添加、删除和修改功能。

3.1.2 用户对系统的需求

    面向客户的点餐系统,整个系统应该有两种用户角色,即客户和管理员。不同的角色对应进入其相应的界面。

    客户进入前台网站浏览网页,而不能进入到后台管理系统的模块中;管理员可以对客户所发出的信息进行点单,同时在后台对系统进行用户管理,收集客户信息,并展开系统的正常运行维护工作。通过管理员才可以对系统展开维护,修改密码。工作完成后,客户和管理员通过各自专门的出口退出登录状态。

3.2 系统具备的基本功能

    可浓餐厅网上订餐管理系统是一个B/S结构的系统,主要由前台用户模块和后台管理员模块两部分构成。

3.2.1 前台用户模块

在前台用户模块中,主要功能包括:登录模块,浏览餐厅以及各类信息展示,用户订餐管理。

各个模块之间的关系如图3-1

 

3-1 用户模块功能图

1. 登录模块。顾客可以直接在网上查找该餐厅,然后注册成为会员,通过自己的账号和密码,进行登录。

2. 浏览模块。顾客可以查看与餐厅相关的详细信息,并且可以在线留言提出对餐厅的建议及进行订餐,可以对餐厅的某个菜单发表自己的评论。

3. 订餐模块。顾客通过前台网页查看自己所要点的菜色,然后点餐,后台系统会生成一张订单让管理人员进行审核,然后直到顾客用完餐起身去收银台结账,离开。

3.2.2 后台管理员模块

在后台管理员模块中,主要功能包括:系统管理,员工管理,菜单管理,查询管理。各个模块之间的关系如图3-2所示。

1. 系统管理。后台管理员可以对整个系统展开维护各工作,

2. 员工管理。后台管理员登录后,可以实现对员工的管理,其中包括添加新的员工信息,对已有员工的信息进行修改,删除离职的员工的信息。

3. 菜单管理。管理员可以对添加新的点菜单信息,中途客户有需要加菜或者退菜,管理员也可以对已经生成的订单信息进行修改,同时可以对用户订单的信息进行审核,对于审核通过的订单,管理员可以给客户进行进单处理。

4.部门管理。后台管理员登录后,可以实现对部门的管理,其中包括添加新的部门信息,对已有部门的信息进行修改,

5. 查询管理。管理员可以实现对员工、菜单、部门、会员、留言表等各类与餐厅相关的信息进行查询。

 

3.3 数据流图

通过对系统需求的调查分析,细化软件功能,把系统划分为几个子系统,明确每个子系统所要完的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理。数据流图是用来表示系统的逻辑模型。

3.3.1 顶层数据流图

客户进入餐厅后,开始点餐,然后直到他们用完餐离开去收银台结账,离开餐厅的过程。如图3-3所示。

 

3.3.2 第一层数据流图

    对顶层数据流图中的P2业务处理部分进行细化,其中包含点菜、加菜及退菜服务。如图3-4所示。

 


第四章 系统总体设计

4.1 体系结构

该系统采用三层体系结构将应用程序划分为三个逻辑层面,这三个逻辑层面分别是表示层、业务逻辑层和数据访问层,采用三层体系结构有利于系统的开发、维护、部署和扩展。分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源[9]

1. 表示层。表示层用于直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味着只做与外观显示相关的工作,不属于它的工作不用做。

2. 业务逻辑层。业务逻辑层用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将操作继续向后传递,尽量保证程序的正常运行。

3. 数据访问层。顾名思义,数据访问层就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,如System.Data.SqlClient等,除数据层之外的任何地方都不应该出现这样的引用。

ASP.NET可以使用.NET平台快速方便地部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#、VB、C++和J#作为后台代码的语言。. NET中可以方便的实现组件的装配,后台代码通过命名空间可以方便的使用自己定义的组件。显示层放在ASPX页面中,数据库操作和逻辑层用组件或封装类来实现,这样就很方便的实现了三层架构。

4.2数据库设计

4.2.1 实体图

E-R 图是用来表示数据及其联系的工具,是用来描述现实世界的数据模型。它与具体的数据库管理系统无关,在设计阶段,E-R图是设计数据库逻辑模型的重要依据。

根据关系模式所要实现的功能设计,建立它们之间的关系,进而实现逻辑结构功能。

可浓餐厅网上订餐系统可以划分的实体有:员工实体、部门实体、会员实体、留言实体,菜单实体,菜系实体,台号实体,收银台实体。用E-R图一一描述这些实体,如图4-1,图4-2,图4-3,图4-4,图4-5,图4-6,图4-7,图4-8所示。

 

 

 

 

4.2.2 总E-R图

根据以上八个实体图,通过互相之间的联系将其连接起来得到总E-R图,如图4-9所示。

4.2.3 关系模式

1.员工(员工号,姓名,性别,出生日期,部门,籍贯);

2.部门(部门编号,代理人,部门名,人数);

3.顾客/会员(编号,姓名,性别,出生日期,联系方式,详细地址);

4.留言(姓名,联系电话,Email,QQ,详细地址,留言);

5.菜单(姓名,点菜,联系电话,详细地址,数量,结账);

6.菜系(菜系,名称);

7.台号(台号,座位数);

8.收银台(编号,台号,消费时间,消费金额,操作人员,结账时间);

9.工作(员工号,部门编号);

10.服务(服务员编号,桌号);

11.结账(收银台编号,桌号);

12.点菜(桌号,菜单编号)。

4.3 系统数据库实现

4.3.1 Access数据库

本系统用Access数据库来实现对数据的存储,首先打开Microsoft Access数据库,然后点击“使用设计器创建表”来创建系统中需要用到的表。Access数据库界面如图4-10所示。

 

4-10 Access数据库界面

4.3.2 数据库表的设计

本系统数据库中各个表的设计结果如下列图所示:

1.员工表(ygb)。主要由员工号,姓名,性别,出生日期,部门,籍贯等字段组成。该表功能是用来保存餐厅工作人员的信息。员工表结构如图4-11所示。

 

4-11 “员工信息”表结构图

2.部门表(bmb)。主要由部门编号,代理人,部门名,人数组成。该表功能是用来记录餐厅各部门的信息。部门表结构如图4-12所示。

 

4-12 “部门信息”表结构图

3. 顾客/会员表(hyb)。主要由编号,姓名,性别,出生日期,联系方式,详细地址等字段组成。该表功能是用来记录与客人相关的信息。顾客/会员表结构如图4-13所示。

 

4-13 “顾客/会员信息”表结构图

4.留言表(lyb)。主要由姓名,联系电话,Email,QQ,详细地址,留言等字段组成。该表功能是用来记录用户对餐厅的建议或对某道菜的评价信息。留言表结构如图4-14所示。

 

4-14 “留言信息”表结构图

5.菜单表(cdb)。主要由姓名,点菜,联系电话,详细地址,数量,结账等字段组成。该表功能是用来记录客户点菜的订单信息。菜单表结构如图4-15所示。

 

4-15 “菜单信息”表结构图

6.菜系表(cxb)。主要由菜系,名称字段组成。该表功能是用来记录餐厅厨房所做的每道菜所属于哪种菜系的详细信息。菜系表结构如图4-16所示。

 

4-16“菜系信息”表结构图

7.台号表(thb)。主要由台号,座位数等字段组成。该表功能是用来记录餐厅座位的详细信息。台号表结构如图4-17所示。

 

4-17 “台号信息”表结构图

8.收银台表(sytb)。主要由编号,台号,消费时间,消费金额,操作人员,结账时间等字段组成。该表功能是用来记录客户进入餐厅后所消费的详细信息。收银台表结构如图4-18所示。

 

4-18“收银台信息”表结构图


第五章 系统详细设计与实现

5.1 网上订餐系统前台设计

5.1.1 系统首页设计

网上订餐系统的首页:在首页中显示了可浓餐厅的大部分信息,通过首页可以跳转到网站中其他的页面,进行相关的操作,在首页中还会有新菜显示出来,让浏览网站的人立即了解直到餐厅出的新的菜色[10]。如图5-1所示。

5-1 “系统首页”界面效果图

用户通过首页可以浏览到本系统的主要功能模块,可浓餐厅网上订餐管理系统首页包括新菜的展示,为了吸引用户的购买,将有关新菜的最新信息放在网站的首页,首页中还包括推荐的新菜,首页的顶部显示了网站的Logo,列出了网站的基本功能主要包括公司简介、环境展示、菜色展示、菜单总览、人才招聘、在线留言、联系方式的功能,为了方便用户快速找到自己所需要订餐的菜色,还提供了菜单总览的功能。在页面的左侧列出了本店中式快餐的价目表,以方便用户的分类查找。

    本界面相关部分核心代码如下:

         <SCRIPT>

var ii=0

demo3.innerHTML=demo1.innerHTML

function Marquee(){

if (ii==1)return

if(demo3.offsetWidth-demo2.scrollLeft<=0)

demo2.scrollLeft-=demo1.offsetWidth

else{

demo2.scrollLeft++

}

}

setInterval(Marquee,20)

</SCRIPT>

5.1.2 菜色及菜单信息浏览

在首页中,可以直接浏览到部分的菜单信息,信息包括:图片,菜名,价格等。在该网页上也可以查看快餐菜单的详细信息。另外,在主页上还根据不同的菜进行分块展示,同时也可以点击每个分块上的more+”字样查看相关的全部信息列表。如图5-2、图5-3所示。

    

5-2 “菜色展示”界面效果图               图5-3 “菜单展示”界面效果图

该页面列出了店里的所有快餐,包括该类快餐所有商品的图片、价格、详细介绍,用户可以选择按价格或者菜色进行选择,也可以跳转到任意快餐页面进行查看,用户可以在看中某种快餐的同时点击该图片会显示该快餐的详细信息。

5.1.3 留言功能的设计与实现

1.留言界面的设计

系统对于有账号的会员提供了留言功能,用户填入正确的信息,系统对其审核无误后,可以完成留言功能。留言界面效果如图5-4所示。

 

5-4 “用户留言”界面效果图

该留言页面对于用户的留言信息进行了简单的验证例如:所填信息不能为空,留言的用户名需要在数据库中已经存在,当用户填写完信息后,必须正确输入系统随机产生的验证码,这样能够保证系统安全性的同时,防止恶意用户恶意注册占用网站的资源。

    本界面相关部分核心代码如下:

     <SCRIPT language=javascript type=text/javascript>

function checkform()

{   if(document.myform.txt_name.value=='')

{   alert('Sp_CMS提示\r\n\n您的姓名必须填写!');

myform.txt_name.focus();

return false;     }

if(document.myform.txt_where.value=='')

{    alert('Sp_CMS提示\r\n\n食物名称必须填写!');

 myform.txt_where.focus();

 return false;    }

if(document.myform.txt_tel.value=='')

{   alert('Sp_CMS提示\r\n\联系电话必须填写!');

myform.txt_tel.focus();

return false;     }

if(document.myform.txt_qq.value=='')

{   alert('Sp_CMS提示\r\n\nqq必须填写!');

myform.txt_qq.focus();

return false;     }

if(document.myform.txt_content.value=='')

{   alert('Sp_CMS提示\r\n\n内容必须填写!');

myform.txt_content.focus();

return false;

}return true;

}    

  </SCRIPT>

2.留言的实现效果

留言的实现,同时顾客的留言后在“在线留言”页面被提取出来的内容,如图5-5所示。

 

图5-5 “用户留言页面”界面效果图

5.2 网上订餐系统后台设计

5.2.1 后台管理系统登录界面设计

后台管理员需要登录后才能进入后台,后台登录界面如图5-6所示。

通过登录验证,保证了数据的安全性和保密性。管理员对信息的管理是分别针对数据库中的每一张表进行的。在浏览每张表的信息时带有查询功能,使得工作效率提高。对于每张表的信息可以添加、删除和修改。但留言表中的信息不能修改,只能回复和删除[5]

 

5-6 后台管理登录界面

管理员在登录界面,若要登录成功,则需要输入正确的用户名和密码,不然系统就会报错。登录成功及失败界面如图5-7,图5-8所示。

        

5-7 登录成功界面                         5-8登录失败界面

    登录界面相关部分核心代码如下:

public void actionPerformed(ActionEvent e)

   {     if(usertext.getText().equals("123456") && codetext.getText().equals("123456"))

     {

JOptionPane.showMessageDialog(this,"登录成功","登录提示",JOptionPane.INFORMATION_MESSAGE);

     new CYMain();       //登录成功后,连接到CYMain

      this.setVisible(false);           //隐藏登陆界面

     }

   else

   {

    JOptionPane.showMessageDialog(this,"用户名或密码错误,请重新输入","登录提示",JOptionPane.INFORMATION_MESSAGE);

    usertext.setText("");

     codetext.setText("");

   }

   }

5.2.2 网上订餐管理系统首页

管理员进入后台系统,对餐厅内部各类相关信息进行管理,包括对员工、菜单、部门的添加,修改,删除,以及查询相关信息。并且通过该界面管理员可以直接进入自己要的界面或者退出该系统。订餐系统界面设计效果如图5-9所示。

 

5-9 “订餐系统首页”界面效果图

管理员进入后台系统首页后,想要退出该系统或者对相关的信息展开维护,链接到其他页面的部分代码如下[2]

public void actionPerformed(ActionEvent e)

{      if(e.getSource()==itemExit)   //退出

{        System.exit(0);   }

else

if(e.getSource()==itemAddS)   

{      new yginfo();    //增加员工连接yginfo

     }

}

5.2.3 添加员工信息页面

管理员登录后台后可以对员工的相关信息进行添加,对于添加通过的信息可以录入到数据库中。添加员工信息页面界面设计效果如图5-10所示。

5-10 “添加员工信息页面”界面效果图

本界面相关部分核心代码如下:

public void actionPerformed(ActionEvent e)

 try

{ //驱动

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=restaurant.mdb"; //数据库为restaurant.mdb

       Connection conn=DriverManager.getConnection(url);   //建立连接

        Statement stmt=conn.createStatement();

         if(xb1.isSelected())    //将性别添加到Access数据库中

        {

         xb=xb1.getText();

         }

        if(xb2.isSelected())

        {

         xb=xb2.getText();

         }

        String sqlstr ="insert into ygb(ygh,xm,xb,csrq,bm,jg) values('"+sNum.getText()+"','"+sName.getText()+"','"+xb+"','"+sBirth.getText()+"','"+sMajor.getText()+"','"+sHome.getText()+"')";

        int result= stmt.executeUpdate(sqlstr);

        if (result>0)

        {

         JOptionPane.showMessageDialog(this,"添加成功","添加员工信息",JOptionPane.INFORMATION_MESSAGE);

//弹出一个页面,说明数据添加成功

        }

        Conn. close();

        stmt.close();

        }

        catch(Exception ee)

        {

 }

 if(e.getSource()==modifyInfo )   //当登录的是员工,则无法修改和删除,并自动退出

{

   this.setVisible(false);

 }

 else

 if(e.getSource()==deleteInfo )

{

    this.setVisible(false);

 }

  }

5.2.4 修改/删除员工信息页面

以修改员工信息为例:管理员进入修改页面后,先输入要修改的员工的员工号,点击“确定”后,链接到添加信息页面,然后输入要修改的信息,最后点击“修改”就可以了。修改信息界面效果如图5-11所示。

 

5-11 “修改信息”界面效果图

本界面相关部分核心代码如下:

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==button)

{

String xh1=text.getText();

    yginfo st=new yginfo();

try

{ //驱动

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=restaurant.mdb"; //数据库为restaurant.mdb

       Connection conn=DriverManager.getConnection(url);   //建立连接

        Statement stmt=conn.createStatement();

//执行查询的SQL语句

        String sqlstr ="select * from ygb where xh='"+ text.getText()+"'";

        ResultSet rs= stmt.executeQuery(sqlstr);//ResultSet为结果集合

        while (rs.next())   //循环打印结果集中的每一条记录

        {//获取当前记录中个字段内容

         st.sNum.setText(rs.getString("xh"));

         st.sName.setText(rs.getString("xm"));

          if(rs.getString("xb").equals(""))//判断获取性别字段时输出的 """"

            st.xb1.setSelected(true);

          else

            st.xb2.setSelected(true);

          st.sBirth.setText(rs.getString("csrq"));

          st.sMajor.setText(rs.getString("zy"));

         st.sHome.setText(rs.getString("jg"));      

        }

       rs.close();

       stmt.close();

        }

        catch(Exception ee)

        {     }

}

 if(e.getSource()==button)

{     new yginfo();    //修改员工连接yginfo

}

else if(e.getSource()==button1)

{    System.exit(0);

}

}

5.2.5 查询会员信息页面

管理员进入会员查询页面后,根据页面提示的信息输入“男”或“女”,点击“查询”就可以调出数据库中的相关信息[1][3]。查询信息界面效果如图5-12所示。

 

5-12 “查询信息”界面效果图

本界面相关部分核心代码如下:

public void actionPerformed(ActionEvent q)

     {      String bh;

         String xm;

         String sex;

         String csrq;

         String lxdh;

         String xxdz;

          if(tf1.getText().equals(""))

  {

   JOptionPane.showMessageDialog(this,"不能为空","提示信息",JOptionPane.INFORMATION_MESSAGE);

}

      else

      {    if(q.getSource()==bt)

       {

        try

{  //驱动

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   

             String   url= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ= restaurant.mdb";

             Connection con=DriverManager.getConnection(url);      

             Statement stm=con.createStatement();

             String sqlstr="select * from hyb where sex='"+tf1.getText()+"'";

             ResultSet result=stm.executeQuery(sqlstr);

             list=new ArrayList();

             while(result.next())

         {   cx mykc=new cx();

            mykc.bh=result.getString("bh");

            mykc.xm=result.getString("xm");

            mykc.sex=result.getString("sex");

             mykc.csrq=result.getString("csrq");

             mykc.lxdh=result.getString("lxdh");

             mykc.xxdz=result.getString("xxdz");

             list.add(mykc);

             }

             con.close();

             stm.close();

            Object [][] results = new Object[list.size()][columnNames.length];

             for(int i=0;i<list.size();i++)

             {

              cx mycj=(cx)list.get(i);

              results[i][0]=mycj.bh;

              results[i][1]=mycj.xm;

                results[i][2]=mycj.sex;

                results[i][3]=mycj.csrq;

                results[i][4]=mycj.lxdh;

                results[i][5]=mycj.xxdz;

             }

              pane2.removeAll();

             table = new JTable(results,columnNames);

             JScrollPane scrollPane = new JScrollPane(table);

         pane2.add(scrollPane);

             this.add(pane2,BorderLayout.CENTER);

             table.addMouseListener(this);

             this.validate();

        }

        catch(Exception z) { }

      }

       }

  }

 public void mouseClicked(MouseEvent e) {    chaxun();   }

 public void mouseEntered(MouseEvent e) {  }

 public void mouseExited(MouseEvent e) {   }

 public void mousePressed(MouseEvent e) {  }

 public void mouseReleased(MouseEvent e) {  }

 public void chaxun()

    {

String bh;

String xm;

String sex;

String csrq;

String lxdh;

String xxdz;

     int n=table.getSelectedRow();

     bh=table.getValueAt(n,0).toString();

 xm=table.getValueAt(n,1).toString();

 sex=table.getValueAt(n,2).toString();

 csrq=table.getValueAt(n,3).toString();

 lxdh=table.getValueAt(n,4).toString();

 xxdz=table.getValueAt(n,5).toString();

     tf2.setText(bh);

 tf3.setText(xm);

 tf4.setText(sex);

 tf5.setText(csrq);

     tf6.setText(lxdh);

     tf7.setText(xxdz);

    }


第六章  总结与展望

6.1 总结

当初在做毕业设计时之所以选择餐饮管理系统,其实并没有过多的思考,或许该说我们是一群贪吃的孩子,美食就成了我选择的课程题目。不过在设计的过程中才发现我们现在拥有的知识还是远远不够用的。餐饮系统具有很高的挑战性,而且需要符合中国的中小餐饮企业的发展需要。众所周知,中国的餐饮服务行业最多的是个体经营模式,大多数店主都希望有一款产品可以满足餐饮管理的需要而且花费的价格也相对低廉,甚至一次投资终身受益。而订餐管理系统的出现就完全可以满足他们的愿望。

经过将近两个月的努力,可浓餐厅网上订餐管理系统终于顺利诞生了,虽然还存在某些需要改进的地方。在这段时间里我通过运用PS、Access、Java软件实现这个系统,对ASP.NET也有了更深一步的认识,网站开发到后来比刚刚开发时的速度要快上好多,虽然一开始就遇到了许多问题,需要停下来查找相关资料,在网上搜实例代码下来学习,自己解决不了还要去向其他同学请教,但到后来熟练就轻松多了,遇到的问题几乎都能自己解决而不像一开始那样。

在这次的设计中,我有很深的感触,如果我们要做成一件事,那么我们应该需要具有求知意识,向他人请教,而不是一个人单独去做任何一件事,那么就会事倍功半。在此,我要感谢我的舍友与指导老师。

6.2 展望

对于一个要在现今社会立足的餐厅来说。就必须提高餐厅的营业水平和接待能力。所以在以后的经营中,餐厅还必须努力做到以下几点[8]

1.提高翻台率。即就是要缩短客人的用餐时间。

2.提高服务技巧。清台时应注意及时有序,注意文明作业,保持动作的稳定。

3.提前为下一环节做准备。

4.全员动员。全员的参与才能全方位缩短时间。

5.加强对聚会、包场活动的宣传。

6.对重大节目的菜单组合,尽可能提供多种类价位的选择,有针对性的进行推销(价格梯度设计)。

7.制作可浓名片。有目标性的分发给有包场、订餐、外卖等客源。

如果餐厅能对以上几点做到很好的话,同时心存随时随地为用餐者提供最好的服务,让顾客有宾至如归的感觉的话,那么它就成功了一大部分,不仅老顾客会经常来光顾,也会有更多新顾客慕名而来。

致谢

在本次毕业设计中,曾遇到过不少问题,如果单靠我个人的努力,很难按时完成毕业设计,在此,我衷心感谢我的指导老师——王磊导师,我从王磊导师身上学到了很多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益匪浅。他无论在理论上还是在实践中,都给与我无私帮助和悉心的教导,使我的毕业设计得以顺利地按时完成。

论文完成的前提是导师给我提供了舒适的工作、学习环境,并给予我悉心的关怀与指导。在此表示忠心的感谢。导师认真负责的工作态度、严谨的治学风格使我深受启发。开发的同时,我能和同学们之间的相互探讨也使我获益匪浅。在遇到困难时得到了导师和同学的大力帮助和支持。

此外,还要感谢在这三年期间,学院的各位领导和老师给予的鼓励和支持。同时感谢我的舍友们对我的支持和帮助,使我的学习生活能够顺利进行。

我愿在未来的学习和生活中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、导师、同学和朋友。

最后,再一次向曾经关心和帮助过我的所有老师、同学致以最诚挚的谢意。


参考文献:

[1].张亦辉,冯华,胡洁.Java面向对象程序设计[M].北京: 人民邮电出版社.2010.209~271.

[2].明日科技,李钟尉,陈丹丹.Java项目开发案例全程实录(第2版)[M].北京:清华大学出版社.2011.145~192.

[3].席国庆.深入体验Java项目开发[M].北京:清华大学出版社.2011.79~121.

[4].明日科技,李钟尉,陈丹丹,张振坤.Java编程宝典[M].北京:人民邮电出版社.2010.

[5].吴亚峰,苏亚光.30天学通Java项目案例开发[M].北京:电子工业出版社.2010.464~514.

[6].王虹.Access数据库程序设计(第2版)[M].北京:电子工业出版社.2009.

[7].卞文志.网上订餐将成为餐饮业利润第二落点[J].北京:烹调知识.2007.26~27.

[8].王富贵.餐饮业发展问题的研究[A].西宁市第三产业研究文集.1995.21~30.

[9].施伯乐,丁宝康,汪卫.数据库系统教程[M].北京:高等教育出版社.2003.147~151.

[10].刘海疆,李东博.网页制作三剑客教程 [M]. 西安:电子科技大学出版社 2004.

猜你喜欢

转载自www.cnblogs.com/rdutdhtfj/p/12657449.html