餐饮管理系统.docx
- 文档编号:29555641
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:31
- 大小:371.57KB
餐饮管理系统.docx
《餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《餐饮管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
餐饮管理系统
1引言
1.1项目开发的背景
随着计算机产业的迅速发展,电子计算机已广泛的应用于信息管理、文字处理、辅助设计、辅助教学及人们的日常生活中。
餐饮管理系统主要是针对餐饮的一系列相关工作的管理,本系统的建立使餐饮管理、更加规范化、系统化,查询手段更加便捷化。
同时,餐饮管理系统也是实现餐饮管理现代化和信息化的重要内容。
近年来,随着规模的逐渐扩大,人工书写的方式已经不能满足如此庞大的数据。
为了更好的适应信息时代的高效性,一个利用计算机来实现餐饮管理工作的系统将必然诞生。
基于这一点,设计了一个餐饮管理系统,用来就餐饮进行管理,以便在最短的时间内,高效准确的完成整个管理过程。
基于对上述的认识,收集相关资料和数据,查阅有关文献及技术参数,对餐饮管理的实际需求等方面进行了调研,发现目前所采用的手工记录的方法进行管理存在以下几个方面的弊端:
对象范围广,数据存储不易;填写的数据多,且大量数据重复;不易存档,成千上万的信息和堆积如山的单据对管理人员来说是一个负担,需要大量的文档资料。
鉴于以上种种原因,餐饮管理的管理急需一种软件来代替手工操作来管理数据资料。
计算机技术在现代管理中的应用,使计算机成为领导者和管理人员应用现代技术的重要工具[1]。
计算机辅助餐饮管理活动,可以极大地增强管理者采集、处理信息的能力,从而有利于管理者及时决策。
计算机系统能根据管理过程的变化情况,将原始数据、资料等进行加工、保存,管理人员可以在解决具体问题需要信息资料时,随时进行检索查询,了解整个餐饮管理系统的动态情况,进行动态管理,从而有效的处理餐饮的管理工作,实现餐饮管理信息管理的自动化,提高效率。
1.2项目开发的意义
餐饮管理系统的开发目的是使餐饮管理模式从手工记录转变成信息管理,为餐饮管理人员提供方便条件。
对餐饮管理的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。
随着信息系统的不断完善,餐饮的管理将越来越依赖于信息化的管理。
所以系统开发将围绕餐饮管理工作的实际情况,使之能迅速适应用户和管理人员的需要。
餐饮管理系统的实施的现实意义:
减少管理餐饮的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了餐饮管理的计算机化。
2关键技术介绍
2.1JSP技术
JavaServerPage或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。
作为JavaTM技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。
同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变网页布局。
JSP编程技术的优势在于:
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.2MySQL
本网站使用的是MySQL数据库服务器。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysql和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。
例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL主要目标是快速、健壮和易用。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作网站,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站网站。
MySQL自身特性:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作网站。
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的SQL查询算法,有效地提高查询速度。
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
8.提供用于管理、检查、优化数据库操作的管理工具。
9.可以处理拥有上千万条记录的大型数据库。
2.3JAVA语言
Java是一种简单的,面象对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
它有以下特点:
1.平台无关性
平台无关性是指Java能运行于不同的平台。
Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。
使用Java编写的程序能在世界范围内共享。
Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。
Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。
Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。
程序员只需把主要精力用在类和接口的设计和应用上。
Java提供了众多的一般对象的类,通过继承即可使用父类的方法。
在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。
Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。
库函数提供了用HTTP和FTP协议传送和接受信息的方法。
这使得程序员使用网络上的文件和使用本机文件一样容易。
5.键壮性
Java致力于检查程序在编译和运行时的错误。
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能。
这些功能特征大大提高了开发Java应用程序的周期。
Java提供:
Null指针检测、数组边界检测、异常出口、Bytecode校验。
2.4系统开发模式
本系统采用B/S结构。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。
前者的特点是安全、快捷、准确。
后者则具有节省投资、跨地域广的优点。
须视企业规模和地理分布确定。
企业内部通过防火墙接入Internet,再整个网络采TCP/IP协议。
C/S与B/S区别:
Client/Server是建立在局域网的基础上的。
Browser/Server是建立在广域网的基础上的。
1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备。
信息自己管理。
有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2.对安全要求不同:
C/S一般面向相对固定的用户群,对信息安全的控制能力很强。
一般高度机密的信息系统采用C/S结构适宜。
可以通过B/S发布部分可公开信息。
B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
3.对程序架构不同:
C/S程序可以更加注重流程可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。
SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。
4.软件重用不同:
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。
B/S对的多重结构,要求构件相对独立的功能。
能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
5.系统维护不同:
系统维护是软件生存周期中,开销大,重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级。
升级难,可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级。
系统维护开销减到最小。
用户从网上自己下载安装就可以实现升级。
6.处理问题不同:
C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关。
应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。
7.用户接口不同:
C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流。
并且大部分难度减低,减低开发成本。
8.信息流不同:
C/S程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更像交易中心。
3系统分析
3.1系统可行性分析
为避免投资失误,保证新系统的成功开发和运行,从技术、经济和社会三方面对本系统的可行性进行了分析和研究。
3.1.1技术可行性
该系统拟采用成熟的数据库技术与系统开发技术,使用MySQL和Tomcat6.0服务器与JSP技术。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发[4]。
JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。
前台主要使用HTML语言,用JSP页面对表单数据进行处理。
Tomcat服务器系统由推出至今,其方便,宜用等特性深得开发人员的赞许,再加上其资源免费,下载方便,使得它在信息系统开发中应用日益广泛[5]。
本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。
使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。
这样既减少投入成本又简化了操作环节。
因此,开发该系统具有技术可行性。
3.1.2经济可行性
经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理。
即进行成本效益分析,评估项目的开发成本,计算开发成本是否会保证项目预期的全部利润[6]。
系统的开发基于本人对程序开发的实践学习而来,无需资金投入,并且系统开发过程投入的成本不高,因此开发经费完全可以接受。
因此,餐饮管理系统在经济上是可行的。
3.1.3社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据餐饮管理系统的实际情况开发研制的,是通过大量的调研得出的,系统的系统设计是在独立的环境下完成的,无可供抄袭的系统产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。
使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。
这样既减少投入成本又简化了操作环节。
由以上分析可知,本系统具有社会可行性。
3.2业务流程分析
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[7]。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。
业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[8]。
具体业务流程如图3.1所示。
图3.1业务流程图
3.3数据流图
数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程[9]。
数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。
描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。
其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[10]。
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。
该系统的数据流图分为顶层、一层、二层。
现行的顶层数据流图如图3.2所示。
图3.2顶层数据流图
具体分析第一层数据流图,该层数据流图如图3.3所示。
图3.3第一层数据流图
由于论文的篇幅限制不能一一列举数据流图,只给出了部分数据流图,其他的数据流图基本一致。
3.4数据字典
通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体[11]。
数据元素条目如表3.1所示。
表3.1数据元素
人员编号
调入年份
数据元素条目
总编号:
1-101
编号:
101
名称:
人员编号XXX
说明:
人员的编号
数据值类型:
离散
长度:
50
有关数据结构:
人员信息表如:
123
数据结构条目如表3.2所示。
表3.2数据结构
数据结构条目
名称:
管理员信息表
说明:
创建管理员信息记录似的数据总编号:
2-01
结构:
编号:
01
编号有关数据流、数据存储:
用户名P4修改密码、D4管理员信息表
密码数量:
每月约30份
数据流条目如表3.3所示:
表3.3数据流
数据流条目
名称:
修改密码总编号:
3-10
说明:
将密码信息存储到管理员信息存储编号:
10
数据流来源:
P4修改密码
数据流去向:
D4管理员信息存储流通量:
10份/周
包含的数据结构:
数据存储条目如表3.4所示:
表3.4数据存储
数据存储条目
名称:
管理员信息总编号:
4-01
说明:
存储管理员信息标号:
D4
结构:
编号
用户名
密码
有关的数据流:
P4→D4信息量:
400份/月
处理过程条目如表3.5所示:
表3.5处理过程
处理过程条目
名称:
人员管理总编号:
5-15
说明:
编号:
P1
输入:
P1人员管理
输出:
D1人员信息
处理:
外部实体条目如表3.6所示:
表3.6外部实体
外部实体条目
名称:
管理员总编号:
6-01
说明:
编号:
001
输入数据流:
P3食材管理个数:
1个
输出数据流:
由于论文篇幅的限制,不在此一一列举,其他所有的数据字典条目都是根据数据流图绘制的。
4系统设计
4.1系统功能设计
系统设计是一个把系统需求转换成用系统表示的过程[12]。
通过对目标系统的分析和研究,做出了餐饮管理系统的总体规划,这是全面开发系统的重要基础。
在对餐饮管理系统全面分析调查的基础上,制定出餐饮管理系统的总体规划。
系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。
从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图.
餐饮管理系统功能模块图如图4.1所示:
图4.1餐饮管理系统功能模块图
4.2系统数据库设计
数据库是本系统的核心和基础[13]。
它设计的好坏直接影响着整个系统的质量。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
4.2.1概念结构设计
从数据需求分析中得出系统的实体属性图。
管理员实体属性图如图4.2所示:
图4.2管理员实体属性图
食材分类实体属性图如图4.3所示:
图4.3食材分类实体属性图
人员实体属性图如图4.4所示:
图4.4人员实体属性图
食材实体属性图如图4.5所示:
图4.5食材实体属性图
菜谱实体属性图如图4.6所示:
图4.6菜谱实体属性图
入库实体属性图如图4.7所示:
图4.7入库实体属性图
出库实体属性图如图4.8所示:
图4.8出库实体属性图
账单实体属性图如图4.9所示:
图4.9账单实体属性图
E-R模型的组成元素有:
实体、属性、联系。
E-R模型用E-R图表示。
实体是用户工作环境中所涉及的事务,属性是对实体特征的描述[14]。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。
实体用矩形框表示,实体名称标注在矩形框内。
用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型[15]。
(2)属性是实体的性质。
用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图4.10所示:
图4.10系统E-R图
说明:
图中用矩形表示实体。
实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。
实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
4.2.2数据库表设计
管理员信息表用于存放管理员的信息,如表4.1所示。
表4.1管理员信息表
字段名
类型
长度
说明
id
Int
4
编号(主键)
name
varchar
30
用户名
pwd
varchar
20
用户密码
食材分类信息表用于存放食材分类的基本信息,如表4.2所示。
表4.2食材分类信息表
字段名
类型
长度
说明
id
Int
4
编号(主键)
Name
varchar
20
分类名称
Beizhu
varchar
200
备注
人员信息表用来存放人员的基本信息,如表4.3所示。
表4.3人员信息表
字段名
类型
长度
说明
id
Int
4
编号(主键)
Xingming
varchar
8
姓名
Sex
varchar
2
性别
Age
Int
4
年龄
Tel
varchar
20
电话
Zhiwei
varchar
10
职位
Address
varchar
20
住址
Yonghum
varchar
10
用户名
Pass
varchar
50
密码
Quanxian
varchar
50
权限
食材信息表用来存放食材的基本信息,如表4.4所示。
表4.4食材信息表
字段名
类型
长度
说明
id
Int
4
编号(主键)
Fenleiid
Int
4
分类编号(外键)
Name
varchar
20
货品名称
Address
varchar
20
产地
Danwei
varchar
20
单位
Guige
varchar
10
规格
Beizhu
varchar
50
备注
菜谱信息表用于存放食材分类的基本信息,如表4.5所示。
表4.5菜谱信息表
字段名
类型
长度
说明
id
Int
4
编号(主键)
Name
varchar
20
菜谱名称
Beizhu
varchar
200
备注
入库信息表用来存放入库的基本信息,如图4.6所示。
表4.6入库信息表
字段名
类型
长度
说明
id
Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 餐饮 管理 系统