毕业论文设计餐厅点餐系统的设计与实现.docx

上传人:b****2 文档编号:17469678 上传时间:2023-07-26 格式:DOCX 页数:31 大小:1,019.46KB
下载 相关 举报
毕业论文设计餐厅点餐系统的设计与实现.docx_第1页
第1页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第2页
第2页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第3页
第3页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第4页
第4页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第5页
第5页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第6页
第6页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第7页
第7页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第8页
第8页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第9页
第9页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第10页
第10页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第11页
第11页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第12页
第12页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第13页
第13页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第14页
第14页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第15页
第15页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第16页
第16页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第17页
第17页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第18页
第18页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第19页
第19页 / 共31页
毕业论文设计餐厅点餐系统的设计与实现.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业论文设计餐厅点餐系统的设计与实现.docx

《毕业论文设计餐厅点餐系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业论文设计餐厅点餐系统的设计与实现.docx(31页珍藏版)》请在冰点文库上搜索。

毕业论文设计餐厅点餐系统的设计与实现.docx

毕业论文设计餐厅点餐系统的设计与实现

餐厅点餐系统的设计与实现

摘要

本设计使用Java语言开发了基于B/S模式的餐厅点餐系统,开发工具是MyEclipse,数据库采用的是SQLServer2008。

系统主要用于餐厅点餐信息管理。

本系统有员工和管理员两个角色。

管理员模块功能主要包括菜品信息管理、员工信息管理、营业信息统计等;员工模块功能主要包括点菜、会员信息管理、餐桌管理、结账等。

系统可以方便用户对餐厅营业信息的管理,能有效提高工作效率。

【关键词】餐厅点餐;管理系统;JSP;SQLServer

Designandimplementationofthe

restaurantorderingsystem

Abstract

ThedesignusesJavalanguagetodeveloptherestaurantorderingsystembasedonB/Sstructure,developmenttoolisMyEclipse,databaseuseSQLServers2008.Thesystemisusedforthemanagementofrestaurantorderinginformation.Thesystemisdividedintotwomodules:

moduleofemployeesandmoduleofadministrators.Theadministratorshavetherightstomanagefoodinformation,employeesinformationandbusinessinformation.Theemployees’rightsincludingorderingfood,managingmemberinformationandtableinformation.Thesystemcanbeconvenientforuserstomanagetherestaurantbusinessinformation,andcanimprovetheefficiencyoftheworkeffectively.

[Keywords]restaurantordering,managementsystem,JSP,SQLServer

1绪论

1.1研究背景

计算机的发明带领人们走入了信息化的社会,它不断的改变着人们的生活和生产方式。

有了计算机的帮助,现在只需要几台机器和一个管理人员就能轻松完成繁琐的工作。

计算机在安全和准确方面也优于人工。

因为计算机在处理工作的时候有着很多优点,所以人们也越来越重视对其的应用。

企业的餐厅点餐系统很多仍然是几年前开发的基于客户端的桌面软件形式的系统,存在着效率低下,使用不便等诸多缺点。

随着科学技术的不断提高,基于WEB的信息管理系统更适合被使用。

如今的网络技术完全可以支撑起一个更加科学合理的信息管理平台,可以为管理者及时的提供的各项信息管理方式。

管理系统近些年来依托着互联网也发展迅速。

被应用在了包括在金融,人事等很多领域。

许多著名的学府都有专门为此设立的学科专业方向。

我国当前的现状是,之前国内许多开发者都把发挥服务器的处理能力作为主要考虑因素,所以很多管理系统使用的是传统的C/S结构。

但是随着发展,开发者逐渐也意识到了传统结构下的模式,在满足了处理能力的同时却忽略了用户在今后使用中容易出现的问题和不便,比如系统的维护升级等。

所以,现在开发者也越来越倾向于使用更加优化的B/S结构[1]。

主要研究内容

本项目结合了用户对信息管理的需求,以真实的工作流程为结构,配合科学的理论体系,设计并开发一个基于B/S结构餐厅点餐系统。

该点餐系统是以简化用户操作、高效处理、节约人力成本为前提。

针对特定的业务流程,结合科学管理的理论,设计并开发了以Myeclipse作为系统的开发平台的餐厅点餐系统,使用了主流的开发结构B/S结构和JAVA开发语言,以SQLServer作为基础数据库。

通过员工和管理员两种角色实现了管理者和使用者职能的区分,在满足了各自功能的前提下,也方便了日常使用和管理。

研究意义

目前,市场上很多基于客户端/服务器端的餐厅点餐系统,随着工作需求的增加,暴露出了很多缺点,比如操作的繁琐,对数据库的更新效率低下等等。

为此,为了能够弥补这些缺点,本文研究了一种基于B/S结构的网络版信息管理系统来解决上述的问题。

无论从操作简便性上,还是操作的效率性上都比先前的系统有着很大的优势。

这种结构的管理系统可能会是今后信息管理系统发展的趋势。

2相关技术

2.1JSP技术简介

JSP是一种动态网页技术标准。

因为JSP技术可以在程序员编写完成后,可以动态的生成界面[2]。

可以灵活方便的响应用户的请求,更加满足了现在社会在Web项目需求大大增加的要求。

加上JSP技术对平台要求的灵活性,越来越受开发者的欢迎。

系统使用的编程语言

Java语言是一种面向对象的程序语言[3]。

因为他较为人性化的从程序员设计程序的角度出发,他在被提出的时候被加以了很多考虑。

无论是他封装、继承、多态的特性,还是他设计的诸多API[6]。

都能帮助程序员更简单灵活的完成编码工作。

2.3B/S结构

B/S结构(Browser/Server是一种削弱了客服端在整个项目中的地位的新结构。

对一些大型的区域网络来说,传统的C/S结构用户的电脑安装的客户端如果出现问题,维修人员需要大量的精力去排查。

而B/S结构可以很好的解决这些问题。

用户的浏览器就是客户端,不再需要安装专门的客户端来使用,维护人员也只需要针对服务器进行管理就能实现高效率的运作[9]。

就针对维护成本方面而言有着绝对的优势。

2.4SQLServer数据库简介

Microsoft推出了关系型数据库SQLServer。

因为有着Microsoft不断发展和投入,近些年来,SQLServer不断升级提高了产品的竞争力,加上数据库本身的简单易用性,因此很受开发者的欢迎。

3需求分析

3.1开发背景分析

信息化社会讲究效率,管理者越来越在意节约人力成本和自动化办公,该点餐系统可以满足餐厅管理者对这方面的需求。

本次要开发的系统无论从效率上,操作的简便程度上还是从日后的维护角度都能够满足工作需要。

用户很容易理解和掌握操作。

因为整个系统模块化划分,可以让以后的维护工作变得更加简单。

3.2功能需求分析

餐厅点餐系统开发的出发点是提高企业的工作效率,把比较繁杂的工作简便化。

如图3-1系统功能图可以划分程序模块。

图3-1系统功能图

菜品信息管理模块:

该模块主要负责管理菜品信息的登记以及管理员对菜品信息的维护,是本管理系统的核心部分,对菜品信息维护包括增加菜品信息、删除菜品信息、修改菜品信息功能。

餐桌管理模块:

该模块主要是让管理员能够对餐桌信息进行操作,可以查看桌餐的状态,修改餐桌的使用情况等等。

就餐信息管理模块:

该模块主要对餐桌点菜和结账的管理。

3.3参与者分析

开发者可以用用例的概念作为解决方案来建立模型,用户需求可以从这个角度来分析描述[9]。

用例模型就是从用户的需求角度出发来设计系统的具体功能。

这样的分析过程对项目初始设计阶段有着很大的帮助。

只有通过软件需求分析,才能为系统总体设计垫定好框架,便于程序员着手编码。

该系统是现代计算机技术和信息分析模型相结合的产物。

用例图可以直观的帮助使用者理解整个项目的职能。

通过以上的分析可以用户和管理员两个角色满足客户的需求,按照所需的职能不同来划分系统,完成不同的功能。

3.3.1用户用例分析

此管理系统的主要功能是登录后对菜品信息和就餐信息的查询操作等功能。

从系统出发来分析,以用户角度来执行不同功能,具体如图3-2所示:

图3-2用户功能分析图

3.3.2管理员用例分析

系统管理员的主要功能是对点餐信息进行管理,图3-3为系统管理员功能分析图。

图3-3系统管理员功能分析图

3.4非功能需求分析

性能需求

为了追求系统的稳定性,要极大程度的降低bug的出现,提高系统对数据库操作的准确性和及时性,为了系统日后能够方便的进行功能的升级和相应的维护,在编排代码时需要将各个代码模块化,分层管理各个功能层。

安全需求

因为一个系统所需要处理的数据可能很大,因此需要能够保证用户在使用时候的响应速度能够安全的处理事务。

同时也要注意避免因为权限限制不足对系统数据库造成的不良影响。

为了更好的保障数据安全,也需要及时的将数据上传备份。

此外,也要把登录时的验证作为重要的一个环节。

可靠性需求

可以从安全和可靠两个角度来分析系统的可靠性[7]。

安全主要考虑数据的安全,要保证用户在操作数据时不会丢失或者有错误情况的出现。

稳定主要考虑系统运行时的平稳,不能有频繁的故障,不能出现无法启动等等故障

运行环境需求

本系统使用地点没有特殊要求,只要简单的计算机配置就可以,具体需要的如表3-1所示:

表3-1需要计算机运行环境

服务器端

客户端

处理器:

Pentium双核以上

操作系统:

windows2000及以上

内存:

1G以上

网络协议:

TCP/IP协议

数据区:

SQLServer2008

浏览器:

IE6以上

4数据库分析与设计

数据库结构组成

本系统包含了表4-1:

管理员信息表、表4-2:

菜谱信息表、表4-3:

餐桌表、表4-4:

分类信息表、表4-5:

会员信息表、表4-6:

员工信息表、表4-7:

预定信息表等,

表的管理图如图4-1所示:

图4-1数据库表关系图

详细有关字段如下所示:

表4-1管理员信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

账号编号

username

nvarchar

50

用户名

password

nvarchar

50

密码

表4-2分类信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

fl

nvarchar

50

账号分类

表4-3菜谱信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

mc

nvarchar

50

名称

lb

nvarchar

50

类别

pic

nvarchar

150

图片

jg

nvachar

50

价格

content

text

16

描述

表4-4餐桌信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

mc

nvarchar

50

名称

bz

nvarchar

50

备注

zt

nvarchar

50

状态

表4-5会员信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

username

nvarchar

50

账号名

password

nvarchar

50

密码

xm

nvarchar

50

姓名

sex

nvachar

50

性别

dh

nvachar

50

表4-6员工信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

username

nvarchar

50

账号名

password

nvarchar

50

密码

xm

nvarchar

50

姓名

sex

nvachar

50

性别

dh

nvachar

50

表4-7预定信息表

字段名

数据类型

长度(字节)

字段含义

是否主键

id

int

4

编号

czid

nvarchar

50

餐桌编号

xm

nvarchar

50

姓名

dh

nvarchar

50

4.2系统数据库连接

JDBC驱动把程序对数据库的连接、发送处理请求和响应结果三件事封装了接口,独立于整个管理系统。

这样可以在设计程序之初,不必要去考虑用户会使用什么数据库,等真正到应用的时候只要将修改对应的数据库连接端口。

这样可以大大的提高了程序的可对接性。

因为将数据库连接也作为了一个模块存在,并且JDBC直接调用SQL命令,这样不仅提高了灵活性,也提高了对数据库操作的效率。

本系统通过JDBC连接数据库的源代码如下:

try

{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver";

cnt=DriverManager.getCntection("jdbc:

sqlserver:

//localhost:

1433;DatabaseName=ctzz","grall","jugle123");

startwork=cnt.createStatement();

}

catch(Exceptionex)

{

ex.getMessage;

}

}

publicvoidclose()

{

try

{

//connMgr.freeCntection("java",cnt);

cnt.close();

}

catch(SQLExceptionex)

5系统实现

下面将展示系统中的模块功能和实现,首先我将介绍项目中间的各个文件,如图5-1所示:

图5-1项目总览图

是对管理员登陆、增加、修改、删除操作的封装。

N主要是中的对菜品进行管理的servlet组件。

TestS主要是对菜品的分类、菜品的删除、员工的录入、删除、更新等操作的封装。

包中的A主要是对管理员登陆、修改密码、登陆记录查询等文件的封装。

S主要是系统核心设置组件。

C主要是对数据库查询的分页功能进行封装。

中Common.java是对一些常用方法的封装,比如对输出字符串的过滤等等。

C是声明了代码中的常量。

DBO.java是对数据库连接的封装。

d:

WebRoot为工程视图层代码。

5.1身份验证模块

用户登录系统前,浏览器会呈现账号和密码输入的文本框,并且有选择自己的身份的下拉菜单。

用来检验用户的身份。

系统登录包括员工和管理员两种权限,在填写用户名称和用户密码后,用户提交的表单和提交到后台,通过查询数据库进行比较,如果有相对于的记录就可以通过,相反的就是不通过。

具体的登录流程如图5-2所示:

图5-2登录流程图

用户登录界面效果,如图5-3所示:

图5-3用户登录界面

登录时,当用户在文本框中提交了信息后点击登录,会触发按钮事件checklogin()对用户输入合法性进行验证,然后通过index.jsp中的from表单提交到servlet的访问路径Admin下,然后通过Post方法提交到com.action包下的A中,接着通过创建了Adminbean对象然后连接数据库提取数据库中的信息与session中用户输入的数据进行比较。

如果验证成功就通过servlet响应成功界面。

如果验证不成功就会返回如图5-4的错误提示并且返回到登录页面。

图5-4错误登录信息提示图

用户登录的关键代码如下:

a:

Admindengl?

method=ygslogin"method="post">中向servlet中的访问路径admin提交了用户输入的信息。

b:

在配置文件web.xml中,根据访问路径找到对应的注册组件AdminAction.

c:

在A中:

if(method.equals("ygslogin")){//

StringuserInfo=request.getParameter("username").trim();

//获取用户在浏览器端输入的username信息

StringpswInfo=request.getParameter("password").trim();

//获取用户在浏览器端输入的password信息

if(nameInfo==null||pswInfo==null){

request.setAttribute("message","对不起,输入错误!

");//给用户提示出错

}

else{

ComBeancomb=newComBean();//创建了一个ComBean对象

Stringrole=request.getParameter("sf");

//获取用户在浏览器选择的角色

if(role=="管理员"){//判断管理员登陆的执行代码

Stringid=comb.getString("Selcetidfromadminwherepassword='"+pswInfo+"'"andusername='"+nameInfo+"'");

//在数据库中查找与输入的信息能配对的信息

if(id=null){

request.setAttribute("message","对不起,没有找到该用户,请检查输入是否正确!

");//给用户提示错误的信息

}else{

session.setAttribute("user",nameInfo);//把信息绑定到seeion上

request.getRequestDispatcher("admin/index.jsp").forward(request,response);//成功后响应给用户界面

}

}

else{

StringroleId=comb.getString("selectidfromygwhereusername='"+nameInfo+"'andpassword='"+pswInfo+"'");

if(roleId=null){

request.setAttribute("message","登录信息错误!

)}

else{

session.setAttribute("user",nameInfo);

request.setAttribute("message","您的操作已经成功!

)}

}

管理员管理模块

管理员成功通过了登录验证后进入页面,如下图所示5-5管理员登录成功页面所示:

图5-5管理员登录成功页面

菜品信息管理功能

如图5-5显示点击左边菜品信息管理可以对菜品进行管理、添加、查询等操作,点击菜品信息管理会得到如图5-6菜品管理操作页面所示:

图5-6菜品管理操作页面

流程如下:

a:

用户在点击添加菜品信息后会出现如图5-7所示的添加界面。

图5-7添加菜品的界面

b:

输入:

if(method.equals("addcp")){//增加

Stringmc=mySmartUpload.getRequest().getParameter("mc");

//获取提交的菜品名称

Stringlb=mySmartUpload.getRequest().getParameter("lb");

//获取提交的菜品类别

Stringjg=mySmartUpload.getRequest().getParameter("jg");

//获取提交的菜品价格

Stringcontent=mySmartUpload.getRequest().getParameter("content1");

//获取提交的菜品描述

SmartFilefile=mySmartUpload.getFiles().getFile(0);

//创建上传的对象

StringfileExt=file.getFileExt();

//获取上传内容

Stringpath="/file";

//上传的路径

count=mySmartUpload.save(path);

intresult=cBeanUp("insertintocp(mc,lb,pic,jg,content)values('"+mc+"','"+lb+"','"+path+"/"+file.getFileName()+"','"+jg+"','"+content+"')");//对cp表进行对应信息的插入

c:

在cp/index.jsp中对查询结果进行表格打印,并且对删除,修改按钮增加了超链接指向:

cp/add.jsp?

method=upcp&id=<%=pagelist2.

get(0).toString()%>">修改传递了名称为upcp的方法请求和对应参数。

删除指向了为ComServlet的注册组件ComServlet.java,并且传递了名称为delcp的方法请求和对应的参数。

d:

点击修改在cp/add.jsp中,查询出该条数据并且显示在格式中

e:

表单提交给了servlet的注册路径文件中找到对应的组件N。

if(method.equals("upcp")){//修改

Stringfnumb=mySmartUpload.getRequest().getParameter("id");

//获取菜品的编号

Stringfname=mySmartUpload.getRequest().getParameter("mc");

//获取菜品的名称

Stringfkind=mySmartUpload.getRequest().getParameter("lb");

//获取菜品的类别

Stringfprice=mySmartUpload.getRequest().getParameter("jg");

//获取菜品的价格

Stringfcont=mySmartUpload.getRequest().getParameter("content1");

//获取菜品的描述

SmartFilefile=mySmartUpload.getFiles().getFile(0);

//创建文件上传的对象

StringfileExt=file.getFileExt();

Stringpath="/file";

count=mySmartUpload.save(path);

intorgl=cBeanUp("updatecpsetmc='"+fname+"',lb='"+fkind+"',pic='"+path+"/"+file.getFileName()+"',jg='"+fprice+"',cont

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2