基于 net的餐馆管理系统毕业论文

更新时间:2024-02-02 13:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江工业大学之江学院毕业设计(论文) 中文摘要

毕业设计(论文)

I

浙江工业大学之江学院毕业设计(论文) 目录

目 录

1 绪 论 ............................................................................................................. 1

1.1 选题的背景和意义 ................................................................................................. 1

1.1.1 国内外研究现状及发展趋势 .......................................................................................... 1 1.1.2 课题研发的意义 .............................................................................................................. 2

1.2研究的基本内容 ...................................................................................................... 2

2 相关知识和技术 ........................................................................................... 4

2.1 ASP.NET探析 .......................................................................................................... 4

2.1.1 ASP.NET对ASP的突破 ................................................................................................. 4 2.1.2 ASP.NET的新特色 .......................................................................................................... 5

2.2 ADO.NET技术 ........................................................................................................ 5

2.2.1 ADO.NET 的新特色 ....................................................................................................... 6 2.2.2 ADO.NET的对象 ............................................................................................................ 6

2.3 CSS样式表设计 ...................................................................................................... 7

2.3.1 CSS技术的功能 .............................................................................................................. 7 2.3.2 CSS技术的优点 .............................................................................................................. 8

2.4 AJAX技术 ............................................................................................................... 8

2.4.1 AJAX原理........................................................................................................................ 9 2.4.2 AJAX的几个主要技术 .................................................................................................... 9 2.4.3 AJAX的优势 .................................................................................................................... 9

2.5 数据库技术 ........................................................................................................... 10

2.1.1 数据库技术的特点 ........................................................................................................ 10 2.1.2 数据库访问技术 ............................................................................................................ 11 2.1.3 SQL Server2000 .............................................................................................................. 12

3 系统需求分析 ............................................................................................. 13

3.1 餐馆管理系统需求 ............................................................................................... 13 3.2 用例分析 ............................................................................................................... 14 3.3 系统关键问题分析 ............................................................................................... 15 3.4 系统运行环境 ....................................................................................................... 16

4 系统设计 ..................................................................................................... 17

4.1 系统概要设计 ....................................................................................................... 17

4.1.1 系统总体框架 ................................................................................................................ 17

4.2 系统模块详细设计 ............................................................................................... 17

4.2.1 用户登录........................................................................................................................ 17 4.2.2 前台营业模块 ................................................................................................................ 17

浙江工业大学之江学院毕业设计(论文) 目录

4.2.3 预订服务模块 ................................................................................................................ 18 4.2.4 外卖服务模块 ................................................................................................................ 18 4.2.5 员工管理模块 ................................................................................................................ 18 4.2.6 系统管理模块 ................................................................................................................ 19

5 系统数据库设计 ......................................................................................... 20

5.1 系统E-R图 ........................................................................................................... 20 5.2 数据库表设计 ....................................................................................................... 20

5.2.1 用户登录表 .................................................................................................................... 20 5.2.2 员工信息表 .................................................................................................................... 20 5.2.3 菜谱表............................................................................................................................ 20 5.2.4 座位信息表 .................................................................................................................... 20 5.2.5 订单信息表 .................................................................................................................... 21 5.2.6 外卖服务表 .................................................................................................................... 21 5.2.7 外卖详细表 .................................................................................................................... 21 5.2.8 账单信息表 .................................................................................................................... 21 5.2.9 账单详细表 .................................................................................................................... 21 5.2.10 员工考勤表 .................................................................................................................. 22 5.2.11 员工工资表 .................................................................................................................. 22 5.2.12 库存管理表 .................................................................................................................. 22

5.3 数据库存储过程设计 ........................................................................................... 22 5.4 数据库视图设计 ................................................................................................... 23

6 系统实现 ..................................................................................................... 24

6.1 数据库操练类的实现 ........................................................................................... 24 6.2 系统主要功能模块的实现 ................................................................................... 26

6.2.1 登录模块实现 ................................................................................................................ 26 6.2.2 点菜功能的实现 ............................................................................................................ 27 6.2.3 座位资源的实现 ............................................................................................................ 30 6.2.4 结账管理的实现 ............................................................................................................ 31 6.2.5 就餐详情的实现 ............................................................................................................ 31 6.2.6 预订功能的实现 ............................................................................................................ 32 6.2.7 外卖服务的实现 ............................................................................................................ 33 6.2.8 员工信息模块的实现 .................................................................................................... 34 6.2.9 员工考勤模块的实现 .................................................................................................... 35 6.2.10 库存管理的实现 .......................................................................................................... 35 6.2.11 营业统计模块的实现 .................................................................................................. 36

结 论 ............................................................................................................... 37 参考文献 ......................................................................... 错误!未定义书签。

III

浙江工业大学之江学院毕业设计(论文) 目录

致 谢 ............................................................................... 错误!未定义书签。

IV

浙江工业大学之江学院毕业设计(论文) 图目录

图目录

图2.1 AJAX原理图 ......................................................................................... 9 图3.1 系统管理员用例图 ............................................................................. 14 图3.2 经理用例图 ......................................................................................... 14 图3.3 服务员用例图 ..................................................................................... 15 图3.4 收银员用例图 ..................................................................................... 15 图3.5 外卖员用例图 ..................................................................................... 15 图4.1 系统总体框架图 ................................................................................. 17 图4.2 登录流程图 ......................................................................................... 17 图4.3 前台营业详细功能模块图 ................................................................. 17 图4.4 前台营业模块程序流程图 ................................................................. 18 图4.5 预订服务详细功能模块图 ................................................................. 18 图4.6 预订服务模块程序流程图 ................................................................. 18 图4.7 外卖服务详细功能模块图 ................................................................. 18 图4.8 外卖服务模块程序流程图 ................................................................. 18 图4.9 员工管理模块结构图 ......................................................................... 19 图4.10 系统管理详细模块结构图 ............................................................... 19 图5.1 系统E-R图 ........................................................................................ 20 图6.1 系统登录界面效果图 ......................................................................... 26 图6.2 登录后的主界面效果图 ..................................................................... 27 图6.3 点菜界面效果图 ................................................................................. 27 图6.4 选择座位界面效果图 ......................................................................... 29 图6.5 座位资源效果图 ................................................................................. 30 图6.6 结账管理界面效果图 ......................................................................... 31 图6.7 结账操作界面效果图 ......................................................................... 31 图6.8 就餐详情效果图 ................................................................................. 31 图6.9 新建预订效果图 ................................................................................. 32 图6.10 预订管理效果图 ............................................................................... 33 图6.11 外卖管理效果图 ............................................................................... 33

V

浙江工业大学之江学院毕业设计(论文) 图目录

图6.12 外卖订单效果图 ............................................................................... 33 图6.13 送外卖界面效果图 ........................................................................... 34 图6.14 员工信息界面效果图 ....................................................................... 34 图6.15 员工信息添加效果图 ....................................................................... 34 图6.16 员工考勤模块效果图 ....................................................................... 35 图6.17 物资管理界面效果图 ....................................................................... 35 图6.18 新库存物资添加效果图 ................................................................... 35 图6.19 出入库操作效果示意图 ................................................................... 36 图6.20 月销售统计效果图 ........................................................................... 36 图6.21 日销售统计效果图 ........................................................................... 36

VI

浙江工业大学之江学院毕业设计(论文) 表目录

表目录

表5.1 用户登录表t_admin ........................................................................... 20 表5.2 员工信息表t_emmploy ...................................................................... 20 表5.3 菜谱表t_menu .................................................................................... 20 表5.4 座位信息表t_table ............................................................................. 21 表5.5 订单信息表t_preconcert .................................................................... 21 表5.6 外卖服务表t_takeout ......................................................................... 21 表5.7 外卖详细表t_takeoutdetail ................................................................ 21 表5.8 账单登记表t_order ............................................................................ 21 表5.9 账单详细表t_orderdetail ................................................................... 21 表5.10 员工考勤表t_attendace .................................................................... 22 表5.11 员工工资表t_salary ......................................................................... 22 表5.12 库存管理表t_matereal ..................................................................... 22

浙江工业大学之江学院毕业设计(论文)

1 绪 论

1.1 选题的背景和意义

近年来,人民生活生平不断提高,越来越多的人选择到餐馆里就餐,使得餐饮业有了更多的发展机会,但同时餐饮业的竞争也在不断地加剧。要想再竞争激烈的市场上立于不败之地,好的管理是必不可少的。加强管理不能只重视人为因素,技术因素也是非常重要的,好的管理方法如果引入了先进的技术手段,会使管理走上一个新的台阶。现在计算机的高度发展,使得它在各个领域内被广泛利用,如果可以将计算机技术运用到餐馆的管理上来,那么势必带给餐馆非常大的技术支持。

目前市场上各类管理系统应运而生,有针对大饭店、大酒店的酒店管理系统[1]。这类管理系统的开发已经非常成熟,从餐饮到客房、再到后厨可以做到统一管理,前台可以预订机票、门票等各种预订业务,甚至在房间里可以做到点菜、点饮料或呼叫服务员等。然而,为数众多的小的餐饮企业却没有一个合适的管理系统。为了将小型餐饮企业管理纳入规范化、现代化管理的轨道,针对目前餐饮企业中存在的问题和管理的实际需要,针对小型餐饮企业的信息管理系统应运而生。通过餐馆管理系统的开发,可以有侧重点的满足小型餐饮企业的多方面管理需求。例如:从顾客的角度来看,它能实现即时点菜、折扣优惠、结账、打印账单等功能,从管理者角度可实现即时查询营运状况、记录员工工作业绩、管理员工基本信息等功能,实现企业的信息化管理,从而提高企业的市场竞争力。

1.1.1 国内外研究现状及发展趋势

国内外开发的饭店餐饮管理系统大多是面向大型餐饮饭店或者高级酒店的。例如有些系统采用了先进的无线点菜系统或者触摸屏点菜系统以及计算机网络系统,但这类系统对于餐饮中为数很多的中小型餐饮企业而言,硬件系统功能过剩并且价格昂贵,软件功能国语复杂繁多,信息化投入成本太大,反而不便于管理,使餐饮企业投入了大量的不必要的资金。而一些中小型饭店所使用的小型餐饮管理系统本身的性能现状也不理想,例如软件不统一,软件的稳定性不够好,国内外软件提供商通盘考虑性差等等。

目前市场上一些小型的餐馆或者连锁店所使用的大多都是最简单的点餐系统。这样的系统大多只能实现最基本的点菜功能。而对于餐馆运营过程中的其他的更多的例如预定、外卖、员工管理、座位信息管理等功能,这样的系统明显是远远不够的。大部分的情况,除了点菜外的这些功能,大多是靠员工直接去解决的。在整个过程中,往往浪费了大量的人力物力,而且效率不高,并且还会出现很多的失误和偏差。所以

1

浙江工业大学之江学院毕业设计(论文)

说,针对现在餐饮业对于运营和管理的需求,在如今计算机技术飞速发展的时代,这样的系统其实还有很大的提升空间。

在《福建电脑》2009年25卷(6期)中介绍了一种VB6.0小型餐饮管理系统[2]。该系统分为前台营业管理、库存管理、预定管理、会员管理、系统设置、用户登陆六个部分,会员管理可以实现会员信息的浏览,添加、删除、修改等操作.点菜收银、库房管理、预定管理等功能基本实现了与会员管理的有机结合。系统基本可以实现小型餐馆使用的实际需要,但是该系统没有对于员工管理的设计,只能方便餐馆对于消费者提供的服务,而不能帮助餐馆管理者管理员工信息。因此,对于一个餐馆管理的完整性来说,该系统还是比较片面的,只能一定程度地提高餐馆的营运效益。

1.1.2 课题研发的意义

基于当前市场的需求,通过开发一个合适中小型餐饮企业的餐馆管理系统,可以使得中小型餐馆更便捷、更高效率地服务顾客,还大大地提高餐馆的经济效益。一方面,该类系统既可以满足顾客进行点餐、外卖、预订等需求,另一方面,在餐馆的运营管理过程中可以借助系统尽可能地减少人力物力方面的资源浪费,还可以帮助管理者管理员工,管理者可以直接方便地查看营业状况和员工的工作业绩。因此,餐馆管理系统从各方面来讲,都是极具开发前景和意义的。

1.2研究的基本内容

本次毕业设计课题的主要任务是根据日常生活中的餐馆运营过程中所需要的各种管理功能为基础,实现基于中小型餐饮企业的餐馆管理系统的设计与开发[3]。系统大致分为前台营业、预定服务、外卖服务、员工管理和系统管理五个模块。前台营业模块包括:点菜、座位资源、就餐详情、结账管理4个功能。预定服务模块包括:预定和订单管理2个功能。外卖服务模块包括:外卖订单和外卖订单管理2个功能。员工管理包括:员工信息、员工考勤、工资管理和考勤管理4个功能。系统管理模块包括:菜单管理、库存管理、座位管理、账户管理和营业统计5个功能。通过这五个模块基本实现点菜、预定、外卖、结账、库存管理、员工管理、座位信息管理等餐馆运营过程中所需要的管理需求。

论文对系统的研发背景、意义,设计思路与理论技术基础,以及实现方法作了详细的阐述。论文总体结构如下:

第一章, 绪论,主要对系统的研究背景、意义和内容做详细的阐述。 第二章, 相关知识和技术,主要是对系统实现的过程中所需要用到的主要技术

做适当的分析和介绍。

第三章, 需求分析,主要是对系统的需求进行合理地分析。

2

浙江工业大学之江学院毕业设计(论文)

第四章, 系统总体设计,分概要设计和详细设计,包括系统的总体框架的设计,

各模块的流程设计等。

第五章, 系统的数据库设计。主要是对系统的表进行设计,并设计E-R关系图。 第六章, 系统实现及主要功能代码。主要是系统的主要功能模块具体如何地实

现及其主要代码的设计。

3

浙江工业大学之江学院毕业设计(论文)

2 相关知识和技术

2.1 ASP.NET探析

ASP.NET是微软新推出的体系架构.NET中的一部分[4],它在利用.NET提供的新功能来创建功能更强大的Web页时,也完全享有ASP的优点:

(1) 完全和HTML集成,易于非专业人员的学习和使用; (2) 无需手工编译和连接就可以直接执行,易于生成; (3) 程序代码均在服务器端运行,因此提高了程序的安全性; (4) 采用了面向对象的技术; (5) 不存在浏览器的兼容问题。

asp.net相比传统动态页面的技术,使程序设计相对简单化,结构也更为清晰,不过同时也大大加重了页面设计的难度。其界面处理与传统的asp,php,cgi相比,相对死板一些,几乎全部需要由程序员来处理它的界面,很难使用第三方工具进行可视化的设计。不过从另一方面来看,asp.net想把程序与界面分开,它使程序与界面结合得更为紧密。也就是说asp.net使web应用更象一个传统的windows应用[5],以程序员为主,设计人员基本就插不上手了。通过GridView、Datalist、日历、Repeater等等web控件就不难发现,这些设计良好的可复用控件大大的提高了编程的效率。asp.net主要是面向程序员的一次重大改革,它使编写大型的web应用程序更为简便和符合现代软件工程。

2.1.1 ASP.NET对ASP的突破

虽然ASP.NET是从ASP的基础上发展而来的,但技术上却又完全不同。ASP.NET几乎完全是基于组件和模块化的[6],它是对ASP的革命性发展[7],主要表现在以下几个方面:

(1) 工作原理:在ASP.NET中,当输入用户请求后,ASP.NET模块会分析ASP.NET源文件的内容,并将其分解成单独的命令以建立代码的整体结构。ASP.NET页在第一次被浏览时,要经过两个阶段的编译,所以速度会比ASP要来得慢。但当第一次被浏览之后,MSIL就会被储存下。这样,同一网页被再次浏览时,只需花费从MSIL编译成机器代码的时间,所以总体速度比ASP要快[8]。

(2) 命名空间:.NET Framework使用了非常整齐的命名模式来组织所有的类,即命名空间。简单地说,命名空间可以视为对象集合,类就是对象。采用了命名空间的方法后,第1部分是组织名,第2部分是技术名,然后才是程序员为自己的类定义的名字,这样便是很好的解决了这个问题。

浙江工业大学之江学院毕业设计(论文)

(3) 服务器端控件:ASP.NET替我们提供了一个全新并且强大的服务器控件结构

[9]

。服务器端控件主要分为两种:Web控件和HTML控件。在ASP.NET中还可以使(4) Web服务:Web服务是一段应用程序或商业逻辑,通常以“类”的方式存在,

用它所支持的任意一种语言来进行自定义控件的编写[10]。

可以通过编程并使用标准的Internet协议,将功能完全展示在互联网和企业内部网上

[11]

。它采用通用的HTTP协议、XML以及SOAP,把原本互不相干的站点服务形成

一整套分布的、智能化和自动化的网络应用,提供了在不同体系机构下构建的网站之间相互提供应用接口服务、数据的一种方案,大大的减轻了程序员的开发工作量,充分地利用了已经拥有的开发资源和网络资源。

(5) 数据缓存技术:缓存技术就是通过将经常访问或需要较大系统开销的数据保存到内存中来减少系统响应时间的一种技术。ASP.NET提供了两种数据缓存功能,一种是输出缓存,一种是数据缓存[12]。当服务器第一次从数据库取回数据后,数据就会被保存在变量中,当服务器接收到相同的请求后,经过缓存的数据直接从服务器传递到客户端。但是,必须要在代码中设定数据的缓存期限。

(6) ADO.NET:在ADO.NET中,通过Managed Provider所提供的应用程序编程接口(API),它可以轻松地访问各种数据源的数据,包括OLE DB和所ODBC支持的数据库。与ADO相比较,ADO.NET具有易操作、可维护、可伸缩、互用性等很多优势。

(7) 可靠的安全性:其安全策略包括认证(Authenticate)和授权(Authorize)两部分。一方面,它可以基于Cookie、WindowsNT/2000或微软的Passport Web Service自身的安全机制对用户的身份进行认证。另一方面,它还可以基于账户或角色对已认证用户授予不同的访问权利。

2.1.2 ASP.NET的新特色

ASP.NET之所以能取得如此革命性的成功,提供了迄今为止最先进的Web开发平台,在很大程度上都要归功于微软最新推出的.NET框架及开发工具[13]。作为.NET框架的一部分,ASP.NET在任何安装该框架的地方都是可以使用的。换句话说,ASP.NET不再是一个附加部分,而是成为了一个标准的设置。另外,ASP.NET借鉴了VB、Java等语言的开发优势[14]加入使它具备了以下新特色:优良的性能、简易性、强大的开发工具支持、效率高、可定制和可读性、扩展性、可伸缩性和有效性、兼容性。

2.2 ADO.NET技术

ADO.NET是.NET FrameWork SDK提供给.NET开发语言进行数据库开发的一个

5

浙江工业大学之江学院毕业设计(论文)

系列类库的集合。它可以有效地从数据操作中将数据访问分解为多个可以单独使用或前后使用的不连续组件。

2.2.1 ADO.NET 的新特色

ADO.NET 不再像以前的ADO 版本一样是为了存取数据库的观点而设计的,而是为了因应广泛的数据控制而设计的,所以使用起来比起以前的ADO更灵活有弹性,也同时提供了更多的功能。ADO.NET的出现并不意味着要取代ADO,而是为了提供更有效率的数据存取。微软透过最新的.NET 技术提供了可以满足众多需求的架构,这个架构就是.NET共享对象类别库。这个共享对象类别库不但涵盖了Windows API的所有功能,并且还提供更多的功能及技术,另外它还将以前我们常常使用的放在不同COM组件上对象及功能同时含括进来。除此之外ADO.NET 还将把XM整合进来,这样一来数据的交换就变的更加轻松容易了。所以ADO.NET的架构及新功能是为了能满足广泛的数据交换需求所产生出来的一项新技术。

2.2.2 ADO.NET的对象

ADO.NET对象模型中主要有五个组件,分别是Command对象、Connection对象、DataSetCommand、DataSet以及DataReader。这些组件中负责建立联机和数据操作的部分,称为数据操作组件(Managed Providers),分别由Command对象、Connection对象、DataSetCommand对象以及DataReader对象所组成。数据操作组件最主要是作为DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet 对象中,以及将数据存回数据源的工作。

(1) Connection对象:Connection对象主要是开启程序和数据库之间的连结。如果没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET 的最底层,可以自己产生这个对象,或是由其它的对象自动产生。

(2) Command对象:Command对象主要用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection对象上,也就是Command对象是透过连结到数据源的Connection对象来下达命令的;所以Connection连结到哪个数据库,Command对象的命令就会下到哪里。

(3) DataSetComman对象:DataSetCommand对象主要的工作是在数据源以及DataSet 之间执行数据传输,它可以透过Command对象下达命令,并将取得的数据放入DataSet中。这个对象是架构在Comman对象上,并提供了许多配合DataSet 使用的功能。在Beta 2 版中DataSetCommand物件会改名为DataAdapter。

(4) DataReader对象:当我们只需要循序的读取数据而不需要其它操作时,可以

6

浙江工业大学之江学院毕业设计(论文)

使用DataReader 对象:DataReader对象是一次一笔向下循序地读取数据源中的数据,不作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但很节省资源而且效率高。此外,因为不用把数据全部传回,故可以降低网络的负载。

(5) DataSet对象:DataSet这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以把整个数据库显示出来。DataSet的能力不只是可以储存多个Table,还可以透过DataSetCommand对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是ADO.NET 中重量级的对象,这个对象架构在DataSetCommand对象上,本身 不具备和数据源沟通的能力 ;也就是说我们是将DataSetCommand对象当做DataSet对象以及数据源间传输数据的桥梁。

ADO.NET 对象可以让我们快速方便的去存取各种数据。传统的主从式应用程序在执行时,都会和数据源保持联机。但是在某些状况下和数据库一直保持联机是不需要的,而且一直保持和数据源的联机就会浪费系统的资源。而有些时候我们只需要单纯的取回数据,这时候就不需要保持对数据源的联机。ADO.NET 被设计成对于数据处理不一直保持联机的架构,应用程序只有在要取得数据或是更新数据的时候才对数据源进行联机的工作,所以应用程序所要管理的连结也减少了,数据源也不用一直和应用程序保持联机,既减轻了负载又提高了效率。

2.3 CSS样式表设计

CSS的英文全称是Cascading Style Sheets,中文翻译为“层叠样式表”,简称为

样式表, 它是一种制作网页的便捷技术。它的主要用途如下:可以轻松地控制页面的布局;使页面的字体变得更加漂亮,更加容易编排,同时使页面真正赏心悦目;它可以将许多网页的风格格式同时更新,不用再一页一页地修改;以前一些非得通过图片转换才能实现的功能,现在只要用CSS都可以轻松实现。正是层叠样式表卓越的功能使得它在现在网页设计中得到了广泛应用与推广。

2.3.1 CSS技术的功能

在CSS出现之前,虽然HTML已经为网页设计者提供了强大的格式设置功能,但必须为每个需要设置的地方使用格式设置标记,而不能为具有一定逻辑含义的内容设置统一的格式。现在,运用CSS技术可以克服HTML的这些缺陷,方便地为所有的网页设置一种风格。另外,如果将原来安排在网页文件中的格式化元素和属性提取到网页外部,将这些样式规则定义到一个样式表文件中,则可以为所有需要使用该样式的网页所链接。总之,CSS是一种格式化网页的标准方式,它对字体、间隔、颜色、

7

浙江工业大学之江学院毕业设计(论文)

定位以及边距等格式方面提供了多种属性,这些属性都可以用于HTML标记符。CSS灵活定制网页元素的风格能控制网页元素在页面上的外观,将元素逐个定义显示风格。通过创建类(CLASS),还可以定义标记元素的多种外观。CSS迅速地更新网站风格能将整个网站网页的风格信息集中在一个文件后缀为.css的称为外部css样式表的文件中,然后将所有的网页都链接到这个文件上。这样,当改变CSS文件的风格说明,就可以影响这个网站网页的风格。CSS文件也是一个文本文件,所有可以用来编辑HTML文件的编辑器都可以用来编辑CSS文件。CSS还可以组合不同风格的网页,不同的设计者,通过使用CSS技术,链接CSS文件就可以使许多人开发制作的网页统一到同一种风格下。

2.3.2 CSS技术的优点

(1) 方便网页格式的修改:由于CSS对页面格式的控制可以独立地进行,这就使得修改网页元素的格式变得更加容易,网页的更新工作也就大为减轻。

(2) 便于减少网页体积:为了得到一个较好的浏览效果,设计网页时常常要制作多种图片,以获得想要的字体和布局,但图片用的越多,网页就越臃肿。CSS的出现,为解决这类问题提供了另一种思路。如利用CSS技术来取代原先只能用图像表示的艺术字体。由于图像文件的减少,整个网页的体积随之大为减少,这样便可提高网页下载和现实的效率,实际意义十分明显。

(3) 能使网页元素更准确的定位:CSS的最大优点之一是它的定位技术。网页设计者往往采用表格或层来定位网页元素,层定位主要应用于复杂且不规则的网页结构。正确使用层定位必须配合CSS,才能实现最终效果。

(4) 良好的适应性:许多新的网页设计技术不断产生,但是现在浏览器不一定百分之百的支持这些技术,直接在HTML中使用时必须十分谨慎。而在CSS中使用则可以避免由于浏览器不支持这些新技术而出现的页面显示混乱的情况。当浏览器不支持这些规则时,系统会自动调用缺省方式进行解释并显示。

2.4 AJAX技术

AJAX是Jesse James Garrett在2005年2月提出的,它出现在Garrett的文章“Ajax:a new approach to web Application”中。Ajax不是一种新的技术,而是建立在JavaScript、XHTML和CSS、DOM、XMLHttpRequest、XML等大量成熟技术基础之上的一项综合技术,是一种新的Web设计开发方式。对于Ajax的技术内涵,其概念的提出者Garrett描述为以下的几个方面:使用XMLHttpRequest对象实现与服务器的异步通信;使用JavaScript操作DOM(Document Object Model)实现动态显示和交互;使用XML和XSLT进行数据交换及相关操作;使用XHTML和CSS实现标准化的呈现界面;

8

浙江工业大学之江学院毕业设计(论文)

使用JavaScript将XHTML、DOM、XML、XMLHttrIRequest绑定在一起。

2.4.1 AJAX原理

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求[15],然后从服务器获得数据,用javascript操作DOM来更新页面。这其中最为关键的一步就是从服务器获得请求数据。XMLHttpRequest是ajax的核心机制,它是一种支持异步请求的技术,在IE5中首先引入的。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户,达到没有刷新页面的效果。AJAX的原理图如图2.1所示:

图2.1 AJAX原理图

2.4.2 AJAX的几个主要技术

(1) XMLHttpRequest:在Ajax引擎中的几项技术中XMLHttpRequest是最为核心的技术,是Ajax引擎解决无需刷新整个页面就可以从服务器获取新数据这个问题的关键所在。这个功能是很重要的,因为它既帮助减少了无状态连接的痛苦,又排除了下载冗余Web数据的需要,从而提高了进程的速度。

(2) DOM(Document Object Model):DOM是给XML文件和HTML使用的一组API。它提供了文件结构的表述,让你可以改变其中的口容和可见物。其本质是建立网页与程序语言或Script沟通的桥梁。所有Web开发人员可操作及建立文件的属性、方法及事件都以对象来展现(例如.document就代表”文件本身”这个对像,table对象则代表HTML的表格对象等等)。这些对象可以由当今大多数的浏览器以Script来取用。一个用HTML或XHTML构建的网页也可以看作是一组结构化的数据,这些数据被封在DOM中.DOM提供了网页中各个对象的读写的支持。

(3) JavaScript:JavaScfipt是一在浏览器中大量使用的跨平台编程语言,常被用来做一些网页特效或表单验证。在Ajax中Javascript则是XMLHttpRequest和DOM交互的桥梁和Ajax引擎工作的主要推动力。Javascript通过调用XMLHttpRequest的属性和方法来获取服务端数据,然后调用DOM的API来更新Web页面的内容。实现整个页面的无刷新更新页面。

2.4.3 AJAX的优势

(1) 减轻服务器的负担:因为Ajax的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响影对服务器空问和带宽造成的负担。同时Ajax可以把原来需要服务器要做的许多事情放到客户端来做。

9

浙江工业大学之江学院毕业设计(论文)

(2) 刷新更新页面,减少用户实际和心理等待时间:AJAX的使用不像传统刷新那样出现白屏的情况,而是在读取数据的过程中显示的是原来页面的状态,只有当接收到全部数据后才更新相应部分的内容。这种更新是瞬间的,用户基本感觉不到。

(3) 不需要插件或者下载小程序:AJAX里面的每个技术都是基于标准化的并且被广泛接受的技术,所以不需要下载插件或者小程序。

(4) AJAX可以调用外部数据:AJAX可以调用外部的数据,也可以实现数据聚合的功能,还可以利用一些开放的资源开发来开发自己的一些应用程序。

(5) AJAX使WEB中的界面与应用分离:AJAX引擎只需要从服务端获取XML或者其他格式的数据,便可定制整个WEB界面,从而使服务器只关注数据的逻辑处理而不是WEB界面的呈现。这样有利于分工合作,既提高了效率,还可以减少非技术人员对页面修改造成的WEB应用程序错误,也更加适用于现在的发布系统。

2.5 数据库技术

数据库技术是信息系统的一个核心技术,是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。数据库技术产生于20世纪60年代末70年代初,它是研究数据库的结构、存储、设计和使用的一门软件科学,是进行数据处理和管理的一项技术。随着计算机的普及,当今社会中企事业、交通运输业、情报搜索和金融等各行业都纷纷建立起以数据库为核心的信息系统。数据库在当今社会中的作用越来越明显,它的重要性不言而喻。从某种程度上说数据库建设的规模、数据库信息的数量和质量以及数据库的使用程度,是作为衡量一个国家信息化程度的标志。

数据库技术研究和管理的对象是数据,所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照指定的结构建立相应的数据库和数据仓库。利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统,并利用应用管理系统最终实现对数据的处理、分析和理解。

2.1.1 数据库技术的特点

(1) 数据结构化:数据结构化不仅指数据库中数据文件自身是有结构的(由记录的型体现),更重要的是指数据库中的数据文件以特有的形式相互联系。

(2) 共享性高、冗余度低:数据库的三级模式中,每个子模式都是模式的子集。当增加新的应用时,仅增加一个新的子模式定义。相同的数据可以被多个用户、多个应用共享,而在物理上这些数据仅存储一次,冗余度低。

(3) 数据独立性高:数据独立性简单地讲是指数据独立于应用程序,即一方的改

10

浙江工业大学之江学院毕业设计(论文)

变不引起另一方的改变。数据库系统的二级映像保证了独立性的实现。

(4) DBMS的集中管理:DBMS不仅仅只是提供了对数据库的三级模式和二级映射的支持,而且对数据的并行操作性、安全性、保密性、完整性和可恢复性都提供了保证,使得在更大范围的(如Internet环境)数据共享成为可能。

(5) 方便的用户接口:在数据库系统中,DBMS除了提供数据描述语言DDL(Data description language)外,还提供数据操作语言DML(Data Manipulation language)。用户使用DML语言可以很方便地访问数据库中的数据,例如SQL(Structure Query Language)。其次,相当多的DBMS还提供了可视化的编程方式以方便应用程序的开发,如Access中的菜单生成器、表单生成器、报表生成器等;或者为用户使用其他第三方语言开发应用程序提供访问数据库的统一接口,如ODBC和JDBC等。

2.1.2 数据库访问技术

目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。

(1) 开放数据库连接(Open Database Connectivity,ODBC) :开放数据库连接是由Microsoft公司定义的一种数据库访问标准。使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。 ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。

(2) OLE DB :OLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。OLE DB实际上是Microsoft公司OLE对象标准的一个实现。OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。 一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。 因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。

(3) 动态数据对象(Active Data Objects,ADO) :动态数据对象是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用[16]。

11

浙江工业大学之江学院毕业设计(论文)

ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。

2.1.3 SQL Server2000

SQL Server2000是由Microsoft公司推出的,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。SQL Server2000的常见版本有企业版(支持所有SQL Server2000的特性,可作为大型的WEB站点、企业联机事务处理和数据仓库系统等的产品数据库服务器)、标准版(用于小型的工作室或部门)、个人版(用于客户机或单机系统)和开发者版(用于程序员开发应用程序)。

SQL Server2000主要的工具和应用程序有查询分析器、导入和导出数据、服务管理器、服务器网络实用工具、客户端网络实用工具、联机丛书、企业管理器和事件探查器等。在本系统的设计中,主要用到的是企业管理器、服务管理器、查询分析器等工具。企业管理器是SQL Server2000中实用最平凡的工具,是SQL Server2000管理员与系统打交道的主要工具。使用企业管理器可以完成创建数据库和数据库对象、管理数据库和对象、运行系统工具等工作。服务管理器是在服务器端实际工作时最有用的实用程序,用来启动、暂停、继续喝停止数据库服务器的实时服务。因此,用户对数据库进行任何操作之前必须启动服务管理器。查询分析器则是用于输入和执行SQL语句的,通过这些语句能迅速查看结果,以分析和处理数据库中的数据。查询分析器是一个实用的工具,它与企业管理器不同,不是图形化工具,而是通过键入SQL命令和程序脚本来查看语句及相应的执行结果。

12

浙江工业大学之江学院毕业设计(论文)

3 系统需求分析

3.1 餐馆管理系统需求

当今社会中,随着人民生活水平的不断提高,餐饮业的发展也如火如荼。但是在激烈竞争的市场经济中,谁的信息管理现代化水平高,谁重视信息资源的开发和利用,谁就能抓住机遇,在竞争中取胜。鉴于传统的餐馆管理体系,往往会过多地浪费人力物力而效率却得不到提高。对于餐馆,这样的管理体系已经满足不了当前市场的需求了。因此开发一个适宜的、功能全面的餐馆管理系统刻不容缓。餐馆管理系统的充分合理地利用不但会极大地提高工作效率,还能较少员工的劳动强度,充分地利用有效资源。

开发此系统的目的是帮助餐馆管理者管理餐馆的日常营运,在节省劳动力和资源最优化使用的前提下,帮助餐馆提高经济效益。

餐馆管理系统大致分为前台营业、预定服务、外卖服务、员工管理和系统管理五个模块。前台营业模块包括点菜、座位资源、就餐详情、结账管理4个功能,通过这些功能模块可以完成点菜、选择座位、查看就餐详情和结账等操作。预定服务模块包括预定订单和订单管理2个功能,主要满足顾客的预定服务。外卖服务模块包括外卖订单和外卖订单管理2个功能,主要满足为顾客提供外卖的服务。员工管理包括员工信息、员工考勤、工资管理和考勤管理4个功能,通过该模块餐馆管理者可以方便地管理员工。系统管理模块包括菜单管理、库存管理、座位管理、账户管理和营业统计5个功能,这些功能主要是餐馆后勤工作,包括加菜单、座位还有系统的账户管理等。具体功能需求如下:

(1) 权限管理:系统需要经过有效的身份验证才可以登录。管理员可进行系统的全面管理,包括创建用户以及给予不同用户相应的权限。不同身份的用户,拥有自己各自不同的权限。除管理员外,其他的用户身份有经理、服务员、外卖员、收银员。

(2) 点菜功能:服务员可以为顾客进行点菜,并且选择就餐座位。

(3) 座位资源:当顾客有需求时,服务员可以查看当前有效座位信息,提供能够满足顾客的座位。

(4) 就餐详情:当顾客有需求时,服务员通过就餐详情查看点菜信息和座位信息,满足顾客更换座位、新增点菜或者退菜的需求。

(5) 结账功能:可以打印点菜信息和账单,完成点菜和外卖的结账操作。 (6) 预定功能:可以完成预定功能,包括桌号信息、预定时间和预定过期时间。 (7) 外卖功能:可以记录外卖信息,打印外卖信息,包括外卖点餐内容、送货时间和送货地址。

浙江工业大学之江学院毕业设计(论文)

(8) 员工管理功能:包括员工信息、考勤、工资的管理。经理可以查看员工信息,员工上班、下班、加班、请假都要登入系统进行考勤。根据考勤信息来给予每个员工该月工资(每个员工都有基本工资)。

(9) 菜单管理:系统管理员可以在该模块编辑菜单信息,例如添加菜单、删除菜单、更改菜品价格等。

(10) 座位管理:系统管理员可通过该模块编辑座位信息,例如添加座位、删除座位、更改座位信息。

(11) 账户管理:系统管理员可以进行用户管理,包括添加新用户并且赋予用户权限、删除用户。

(12) 库存管理:系统管理员或者餐馆员工可以更新库存,库存操作包括入库和出库,还可查看菜品原料、酒水等的库存。

(13) 营业统计:经理可以查看餐馆运营的情况的统计。

总体来说,通过这五个模块基本实现点菜、预定、外卖、结账、库存管理、员工管理、座位信息管理等餐馆运营过程中所需要的管理需求。

3.2 用例分析

系统要求不同类型的用户拥有不同的操作权限[17],具体用户类型有:系统管理员、经理、普通服务员、收银员和外卖员。不同的用户在该系统中有不同的权限,由系统管理员在创建用户时赋予各用户不同的权限。

图3.1 系统管理员用例图

系统管理员角色:系统管理员在该系统中权限最大,理论上具备所有权限。但基于餐馆管理系统的特殊性,创建用户时会给他全部的权限,但是实际上只需系统管理员执行菜单管理、座位管理、库存管理、账户管理、和员工信息管理(主要是添加和删除员工信息)的操作。其用例图如3.1所示:

经理角色:根据实际情况,经理有时候也会参与到前台的工作中,因此经理登录后可以进行的基本操作有点菜、座位资源、结账服务、新建预定、员工管理,还可以查看营业统计。其用例图如3.2所示:

图3.2 经理用例图

服务员角色:服务员登录后主要的权限包括点菜、就餐详情、座位资源、预定服务。点菜、选择座位、更改菜品、预定服务等操作均通过服务员实现。其用例图如3.3所示:

14

浙江工业大学之江学院毕业设计(论文)

图3.3 服务员用例图

收银员角色:收银员主要负责结账操作。其用例图如3.4所示:

图3.4 收银员用例图

外卖员角色:外卖员的权限包括外卖预定、外卖管理功能、员工信息和员工考勤。主要负责接订外卖和送外卖。其用例图如3.5所示:

图3.5 外卖员用例图

注:所有用户均可进行登录和修改密码操作,只是考虑到用例图的美观性,所以才只在收银员和外卖员的用例图中画了登录和修改密码操作。

3.3 系统关键问题分析

(1) 用户权限的分析与实现:管理员对用户的权限分配是否正确,如何分配权限,防止用户越权操作。例如,普通服务员可以登记用餐信息,但不可以查看其他员工的数据信息。

(2) 预定功能问题:预定信息的记录包括桌号、预定时间和过期时间。系统默认过期时间为预定时间之后一个小时,并且默认该座位的有效状态为过期时间之后三个小时,即顾客在过期时间时开始用餐,用餐时间为3小时。因此该座位的有效时间为过期时间之后3个小时。因此为了保证预定的座位不会与就餐座位和其他预定订单的座位发生冲突,需要妥善的解决座位的实时状态更新和使用时序算法的问题。

(3) 点菜功能问题:点菜过程中记录菜品信息和座位号,在结账之前,可以在该点菜订单号中更改菜品信息,例如退菜、加菜或者更换座位。最后的价格计算均有系统根据订单号自动进行计算,在结账时收银员可以调整折扣,并根据折扣重新计算订单应付款。因此需要解决点菜过程中点菜数据的缓存设置、上菜过程的点菜数据状态的实时更新、以及灵活的订单结算功能等问题。

(4) 外卖功能问题:由外卖员记录外卖信息,打印外卖菜品,然后外卖员再送出外卖,送外卖回来后在收银员处进行结账操作。外卖状态若为未送出的话,顾客可以更改外卖菜品、送货地址。因此外面功能模块需要进行事务流程的设计,对于不同状态的外卖订单提供相应的正确操作功能链接,避免订单状态的不正确转换和不合实际的错误操作。

15

浙江工业大学之江学院毕业设计(论文)

3.4 系统运行环境

系统运行环境的要求 (1) 硬件要求 内存:2GB 硬盘空间:250GB

(2) 软件要求

? 服务器端:

操作系统:Windows 2003 网络协议:TCP/IP

数据库:Mircrosoft SQL Server 2000 运行环境:framework 3.5

? 客户端:

操作系统:Windows 98/2000/XP/Vista/Win7 网络协议:TCP/IP

浏览器:Internet Explorer 7.0以上

16

浙江工业大学之江学院毕业设计(论文)

4 系统设计

4.1 系统概要设计

4.1.1 系统总体框架

总体设计是把总体任务分解为许多基本的、具体的任务,这些具体任务合理地组织起来构成总体任务。其基本任务是将系统划分成许多模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面及模块间信息的传递[18]。总体设计过程首先寻找实现目标系统的各种不同的方案。通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计。餐馆管理系统包含了前台营业、预定服务、外卖服务、员工管理和系统管理等主要功能模块,其具体的框架如图4.1所示:

图4.1 系统总体框架图

4.2 系统模块详细设计

系统详细设计从以下几个方面进行阐述:用户的登录验证、前台营业、预定服务、外卖服务、员工信息和系统管理等功能的详细程序流程设计。

4.2.1 用户登录

用户登录功能主要包括账号和密码的验证,其程序流程图如图4.2所示:

图4.2 登录流程图

4.2.2 前台营业模块

前台营业模块包含了点菜、座位资源、就餐详情和结账4个模块。顾客前来就餐时,首先查看是否有空闲座位,没有则无法继续点菜;若有则选择座位并且点菜,然后打印就餐详情,包括桌号、菜品信息和价格等。在上菜前可更改就餐详情,即可以换桌、加菜或者退菜。最后打印账单、结账。详细功能模块图如图4.3所示:

图4.3 前台营业详细功能模块图

模块的详细程序流程图如4.4所示:

浙江工业大学之江学院毕业设计(论文)

图4.4 前台营业模块程序流程图

4.2.3 预订服务模块

预订服务模块包含了预订订单和订单管理两个模块。接订订单时,先查看有效座位信息,如无则无法预订;若有则选择桌位,记录预订的时间生成订单。如果顾客在有效时间内(系统默认预订时间到之后的一个小时为有效时间)前来就餐,订单生效,

如果没来前来就餐,则订单自动过期失效。详细功能模块图如图4.5所示:

图4.5 预订服务详细功能模块图

该模块的详细程序流程图如4.6所示:

图4.6 预订服务模块程序流程图

4.2.4 外卖服务模块

外卖服务模块包含了外卖订单、外卖管理和结账3个模块。外卖员接订外卖,记录菜品信息和送货地址,打印外卖信息。在送货之前可以更改外卖信息,如份数、送货地址(一般不允许退菜),最后外卖员送出外卖,把收回的钱交给收银员。收银员更改外卖订单号的状态为已收款。详细功能模块图如图4.7所示:

图4.7 外卖服务详细功能模块图

该模块的详细程序流程图如4.8所示:

图4.8 外卖服务模块程序流程图

4.2.5 员工管理模块

员工管理模块主要包括员工信息、员工考勤、工资管理和考勤管理4个小模块。 员工信息:主要由管理员负责添加、编辑或者删除员工的基本信息,主要包括员工编号、姓名、性别、职位、基本薪金等。

员工考勤:主要用于记录员工的考勤。员工迟到、早退、请假等均在考勤中记录,依据考情情况作出奖惩。

工资管理:工资主要通过员工的基本薪金和考勤自动生成。系统会设定迟到、早退、请假或加班等各自的奖惩措施。因此,通过前两个模块可以自动生成员工的工资。

考勤统计:可以直接查看所有员工的考勤状况。经理可查看所有员工的考勤状况,

18

浙江工业大学之江学院毕业设计(论文)

而员工只可以看到自己的考勤状况。

员工管理模块的结构如图4.9所示:

图4.9 员工管理模块结构图

4.2.6 系统管理模块

系统管理模块包含了菜单管理、座位管理、库存管理、账户管理和营业统计5个小模块,主要由系统管理员进行操作。

菜单管理:系统管理员更新菜单信息,包括新菜品的添加,已有菜品的删除,菜品价格和描述的更改等。

座位管理:可以更新餐馆的座位信息,包括座位的添加与删除,也可以修改原先座位的信息,座位的信息有包厢名、桌号、可坐人数。

库存管理:可以查看餐馆的剩余库存,方便对原料进行及时的补给。库存管理包括入库和出库两个操作,可记录主食、菜品原料、酒水等所有餐馆运营所需的原料。

账户管理:由系统管理员进行账户的创建、删除,并且在每个账户创建的同时会赋予不同的权限,按照实际的情况和不同的要求来给予权限。

营业统计:主要用于餐馆的管理者查看餐馆的运营状况。可按月查看或者按天查看经营状况。

系统管理模块的结构图如4.10所示:

图4.10 系统管理详细模块结构图

19

浙江工业大学之江学院毕业设计(论文)

5 系统数据库设计

5.1 系统E-R图

E-R图,也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。餐馆管理系统的E-R图如图5.1所示。

图5.1 系统E-R图

5.2 数据库表设计

数据库设计是本系统的一个重要环节,因为它与系统的性能,系统的编码实现紧密相关。数据库结构的好坏决定了系统的成功与否。本系统共有一个数据库。其主要数据表有12张,下面详述各表结构及其作用:

5.2.1 用户登录表

该表用于存放用户的账户信息,包括用户编号、用户名、用户密码、用户身份及每个账户各自的操作权限。如表5.1所示:

表5.1 用户登录表t_admin

5.2.2 员工信息表

该表主要用于员工的基本信息,包括员工编号、员工姓名、性别、身份证号码、出生年月、职位、基本薪金、聘用日期、联系电话和住址,如表5.2所示:

表5.2 员工信息表t_emmploy

5.2.3 菜谱表

菜谱表主要用于存放餐馆的菜品基本信息,包括菜品编号、菜品名称、价格、折扣、口味、类型、描述和所需原料,如表5.3所示:

表5.3 菜谱表t_menu

5.2.4 座位信息表

座位信息表主要用于存放餐馆座位的基本信息,包括桌号编号、桌号、包厢名、类型和该桌可坐的人数。如表5.4所示:

浙江工业大学之江学院毕业设计(论文)

表5.4 座位信息表t_table

5.2.5 订单信息表

订单信息表主要用于记录预定服务时所记下的基本信息,包括订单编号、订单号、订单时间、预定时间、截止时间、预定桌号、备注、状态、接单员编号和联系电话。如表5.5所示:

表5.5 订单信息表t_preconcert

5.2.6 外卖服务表

外卖服务表主要用于记录外卖信息,包括外卖编号、外卖订单号、外卖订餐时间、送货时间、送货地址、接单员编号、外卖价格、状态和备注。如表5.6所示:

表5.6 外卖服务表t_takeout

5.2.7 外卖详细表

外卖详细表主要记录外卖的详细信息,包括外卖详情编号、外卖编号、菜品编号、份数、价格和备注。该信息需要被打印出来,作为厨师做菜的依据和顾客签收时的发票,类似于点菜时的账单。该表如表5.7所示:

表5.7 外卖详细表t_takeoutdetail

5.2.8 账单信息表

账单登记表主要记录顾客的用餐信息和结账信息,在结账前打印,包括账单编号、账单号、桌号、包厢名、服务员编号、就餐时间、消费总价、折扣、收银员编号、和状态。如表5.8所示:

表5.8 账单登记表t_order

5.2.9 账单详细表

账单详细表主要用于记录顾客用餐的一些详细信息,具体包括账单明细编号、账单号、菜品编号、份数、退菜标志、备注、实际价格和状态,跟外卖详细表相类似。如表5.9所示:

表5.9 账单详细表t_orderdetail

21

浙江工业大学之江学院毕业设计(论文)

5.2.10 员工考勤表

员工考勤表主要记录员工的考勤信息,包括考勤编号、员工编号、出勤日期、出勤类型(上班、下班、请假、迟到等)、考勤工资(该工资是指除基本工资之外的加班费、奖金和扣钱等)和备注。如表5.10所示:

表5.10 员工考勤表t_attendace

5.2.11 员工工资表

员工工资表主要用于记录员工该月的所有工资(基本工资+奖金+加班费-扣钱),该表包括工资编号、年月、员工编号、基本薪金、奖金、加班费、扣钱和总工资。如表5.11所示:

表5.11 员工工资表t_salary

5.2.12 库存管理表

库存管理表主要用于记录餐馆的库存信息,所有菜品的原材料、酒水等都记录于此,该表主要包括原料编号、原料名称、规格、数量、计量单位。如表5.12:

表5.12 库存管理表t_matereal

5.3 数据库存储过程设计

本系统的座位预定数据库数据处理中使用到了数据库的存储过程。主要应对数据库中已经过期的预订订单要恢复空闲状态,快到预定时间和还在约定的预定期内的座位应该设置为预定状态,确保不会被占用。顺便把超时的预定订单设置成无效状态。在查询分析器中创建存储过程,代码如下:

CREATE PROCEDURE process_table AS --将预订状态的座位但现在预订已经过期的座位设置为空闲status=0 update t_table set status=0 where status=1 and table_id in (select tablenum from t_preconcert where shiptimegetdate() and Requiretime< DATEADD(hh, 3, getdate())) 22

浙江工业大学之江学院毕业设计(论文)

5.4 数据库视图设计

在设计座位资源、结账服务、外卖服务、预订服务、考勤统计和营业统计时,都对数据库进行了视图的设计。主要的视图设计代码如下:

就餐详情视图v_orderdetail的设计代码:

SELECT dbo.t_order.Order_id AS 编号, dbo.t_menu.Menu_name AS 菜品名称, dbo.t_orderdetail.amount AS 份数, dbo.t_menu.Menu_price AS 原价, dbo.t_orderdetail.realprice AS 现价, dbo.t_orderdetail.Tuicai AS 退菜标记, dbo.t_orderdetail.finished AS 上菜标记, dbo.t_menu.Menu_style AS 类型, dbo.t_order.Tablenum AS 桌号, dbo.t_order.Status AS 状态, dbo.t_orderdetail.Detail_id, dbo.t_orderdetail.Remarks AS 备注 FROM dbo.t_order INNER JOIN dbo.t_orderdetail ON dbo.t_order.Order_id = dbo.t_orderdetail.Order_id INNER JOIN dbo.t_menu ON dbo.t_orderdetail.menu_id = dbo.t_menu.Menu_id WHERE (dbo.t_order.Status = 0) 外卖信息视图v_takeout的设计代码:

SELECT dbo.t_takeout.Takeout_id, dbo.t_takeout.Takeout_no AS 订单编号, dbo.t_takeout.takeouttime AS 订餐时间, dbo.t_takeout.Shiptime AS 发货时间, dbo.t_takeout.Shipaddress AS 外卖地址, dbo.t_emmploy.Name AS 送餐人, dbo.t_takeout.Price AS 总金额, dbo.t_admin.admin_name AS 经办人, CASE dbo.t_takeout.Status WHEN 0 THEN '未送餐' WHEN 1 THEN '已送餐' WHEN 2 THEN '已结算' END AS 状态 FROM dbo.t_takeout INNER JOIN dbo.t_admin ON dbo.t_takeout.Employee_id = dbo.t_admin.Admin_id LEFT OUTER JOIN dbo.t_emmploy ON dbo.t_takeout.Employee_id2 = dbo.t_emmploy.Employee_id 外卖详情视图v_takeoutdetail的设计代码:

SELECT dbo.t_takeout.Takeout_id, dbo.t_takeoutdetail.Detail_id, dbo.t_takeoutdetail.menu_id, dbo.t_menu.Menu_name AS 菜品名称, dbo.t_takeoutdetail.amount AS 份数, dbo.t_takeoutdetail.price AS 单价 FROM dbo.t_takeout INNER JOIN dbo.t_takeoutdetail ON dbo.t_takeout.Takeout_id = dbo.t_takeoutdetail.Takeout_id INNER JOIN dbo.t_menu ON dbo.t_takeoutdetail.menu_id = dbo.t_menu.Menu_id 23

浙江工业大学之江学院毕业设计(论文)

6 系统实现

6.1 数据库操练类的实现

为方便数据库操作,首先创建了数据库操作类db,该类中定义了一个数据库连接对象和七个数据库操作方法,具体实现如下。

数据库连接对象conn的定义和数据库连接方法的实现,在该方法中实现了数据库连接对象的创建,并且对数据库连接对象创建的结果进行了判断,成功则返回true,否则返回false

private SqlConnection conn; //数据库连接对象定义 private Boolean linkDB(){ //数据库连接 //从web.config读取数据库连接串 Stringconname=ConfigurationManager.ConnectionStrings[\ String.ToString(); //建立数据库连接 conn = new SqlConnection(conname); if (conn != null) return true; else return false; } 数据插入方法的实现,该方法能够实现向数据库插入新记录的操作,并在完成后返回实际插入的记录数目,返回0,则表示插入操作失败。

public int InsertDB(string sql) { int insettnum = 0; if (linkDB()) //调用数据库连接方法 { //定义数据库操作对象 SqlCommand myslqcommand; myslqcommand = new SqlCommand(sql, conn); myslqcommand.Connection.Open(); //执行数据插入操作 insettnum = myslqcommand.ExecuteNonQuery(); conn.Close(); } return insettnum; } 数据库更新方法的实现,该方法能够实现对数据库的各类更新操作,并在完成操作后返回实际更新的记录数目,返回值为0,则表示没有更新任何记录。

public int UpdateDB(string sql) { int updatenum = 0; if (linkDB()) //调用数据库连接方法 24

浙江工业大学之江学院毕业设计(论文)

{ //定义数据库操作对象 SqlCommand mysqlcommand; mysqlcommand = new SqlCommand(sql, conn); mysqlcommand.Connection.Open(); //执行数据库更新操作 updatenum = mysqlcommand.ExecuteNonQuery(); conn.Close(); } return updatenum; } 数据删除方法的实现,该方法在完成数据删除之后将返回实际删除的记录数目,返回值为0,则表示删除操作失败。

public int DeleteDB(string sql) { int deletenum = 0; if (linkDB())//调用数据库连接方法 { //定义数据库操作对象 SqlCommand mysqlcommand; mysqlcommand = new SqlCommand(sql, conn); mysqlcommand.Connection.Open(); //执行数据删除操作 deletenum = mysqlcommand.ExecuteNonQuery(); conn.Close(); } return deletenum; } 基于SqlDataReader类的数据查询方法的实现,该方法将返回一个只读,只进的SqlDataReader类的对象结果集。

public SqlDataReader OpenDR(string sql) { SqlDataReader dr = null; //定义数据结果集对象 if (linkDB()) //连接数据库 { SqlCommand mysqlcommand; //定义数据库操作对象 mysqlcommand = new SqlCommand(sql, conn); mysqlcommand.Connection.Open(); //执行数据查询操作 dr=mysqlcommand.ExecuteReader(CommandBehavior.CloseConnection); } return dr; //返回查询的结果集 } 基于DataSet类的离线方式的数据库查询操作的实现,该方法将返回一个DataSet类的对象结果集。

public DataSet OpenDS(string tablename, string sql) { 25

浙江工业大学之江学院毕业设计(论文)

DataSet ds = null; //定义DataSet对象 if (linkDB()) //连接数据库 { //定义数据适配器 SqlDataAdapter mycommand; mycommand = new SqlDataAdapter(sql, conn); ds = new DataSet(); //将查询的结果集填充到DataSet对象 mycommand.Fill(ds, tablename); } return ds; //返回查询结果集DataSet对象 } 关闭数据库方法的实现,在该方法中不仅实现了断开数据库连接,同时要销毁了数据库连接对象,从而实现更及时地释放系统资源,提高系统性能。

public Boolean closeDB() { conn.Close(); //关闭数据库连接 conn.Dispose(); //销毁数据库连接对象 return true; } 6.2 系统主要功能模块的实现

6.2.1 登录模块实现

系统管理员创建账户时会赋予每个账户各自不同的权限。用户登录后,根据自己账户的权限可以对系统进行不同功能的操作。登录的界面效果图如图6.1所示:

图6.1 系统登录界面效果图

系统登录关键代码如下: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { db mydb = new db(); //创建数据库操作类对象 string strsql = \ SqlDataReader rd = mydb.OpenDR(strsql); if (rd.Read()) { if (rd[\ // 登陆成功,则设置Session Session[\用户id Session[\用户名 //权限读取,一共有有17个权限 Session[\ ?? 26

浙江工业大学之江学院毕业设计(论文)

Response.Redirect(\转入首页 }else { //密码错误 Response.Write(\密码错误!')\ } } else { //用户名不存在 Response.Write(\用户不存在!')\ } } 登陆后的主界面如图6.2所示:

图6.2 登录后的主界面效果图

6.2.2 点菜功能的实现

前台营业模块主要实现点菜、选择桌号、查看和修改就餐详情(包括修改菜品的份数、退菜和修改桌号)和结账。点菜的界面效果图如图6.3所示:

图6.3 点菜界面效果图

点菜界面主要代码如下(仅以热菜为例):

页面载入代码如下,主要完成了订单号的生成,可点菜品数据的提取与显示,临

时存放点菜数据信息的缓存(即DataTable对象)的创建。

protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Random re = new Random();//生成点菜的订单号 Stringorder_num=DateTime.Now.ToString(\ re.Next(10,99).ToString(); L_ordernum.Text = order_num; ViewState[\存放选择好的桌号,默认为零,即未选 // 提取菜品数据 get_data1(); get_data2(); get_data3(); get_data4(); DataTable dt1 = new DataTable(\存放点的热菜数据 // 为表dt1创建列 dt1.Columns.Add(\ dt1.Columns.Add(\ dt1.Columns.Add(\ dt1.Columns.Add(\ 27

浙江工业大学之江学院毕业设计(论文)

dt1.Columns[\设置主键 dt1.PrimaryKey = new DataColumn[] { dt1.Columns[\ ViewState[\ } 菜品数据的显示需要友好,而且需要有比较详尽的信息,因此在获取数据库

的菜品数据时,需要进行必要的处理,以合适的方式加以显示,热菜数据提取代码:

protected void get_data1() { db mydb = new db(); string sql = \价格:'+CONVERT(varchar, menu_price) + '-'+CONVERT(varchar, menu_discount) as multi_name FROM [t_menu] WHERE ([Menu_name] LIKE '%\ TextBox1.Text.ToString()+\ and menu_id not in(\ ('蔬菜','荤菜','海鲜','汤类') order by menu_id; ds1 = mydb.OpenDS(\ ListBox1.DataSource = ds1.Tables[\设置数据源 ListBox1.DataTextField = \ //设置显示部分的字段名 ListBox1.DataValueField = \ //设置value部分的字段名 ListBox1.DataBind(); //绑定数据到控件 } 点菜功能的实现是通过添加热菜的按钮来实现的,当单击添加按钮后,将选择的菜品数据存入临时的缓存中,并且在已点的菜品列表中追加相应的数据。其关键代码如下:

protected void imgbtn_add1_Click(object sender, ImageClickEventArgs e) { if (ListBox1.SelectedIndex != -1) { //如果选择了某热菜 string menu_id = ListBox1.SelectedValue.ToString(); //获取选中热菜的menu_id L_help1.Text = L_help1.Text.Insert(1, \将新点菜的添加到辅助标签 db mydb = new db(); string sql = \ //从数据库提取被点的热菜的数据 SqlDataReader dr = mydb.OpenDR(sql); dr.Read(); //读取查询结果 DataRow row = ((DataTable)ViewState[\创建表的一个新行 row[\新建行的菜品编号设置 row[\ //新建行的菜品名称设置 row[\ (dr[\新建行的实际价格设置 row[\新建行的新点菜份数的设置 ((DataTable)ViewState[\将赋值后的新建行添加到内存表dt1中 28

浙江工业大学之江学院毕业设计(论文)

dr.Close(); mydb.closeDB(); set_data1();//将最新的内存表内容dt1绑定到gridview1中 TextBox1.Text = \ //清除搜索条件框的内容 } } 点菜环节还需要完成座位选择的功能,以确定顾客就餐的座位,座位选择界面如图6.4所示:

图6.4 选择座位界面效果图

座位选择的关键代码如下:

protected void Button1_Click(object sender, EventArgs e) {string table_id = DataList1.SelectedValue.ToString(); ViewState[\将选择的桌号存入viewstate string sql = \db mydb = new db(); SqlDataReader dr = mydb.OpenDR(sql); dr.Read(); string style = dr[\类型 string Roomname = dr[\包厢名 string Tablenum = dr[\桌号 dr.Close(); //关闭dr mydb.closeDB();//关闭数据库连接 if (style.Equals(\包厢\else L_tablenum.Text = \大厅-\Btn_tablechoose.Text = \更改桌号\Panel1.Visible = false;} 点菜订单提交按钮处理包括2个步骤,首先讲点菜订单存入数据库的订单数据表,然后依次将顾客点的菜品记录到数据库的订单详细数据表中,其关键代码如下:

…… //插入订单信息 sql = \ + \ int i = mydb.InsertDB(sql); …… //存储热菜的点菜数据,其余略 DataTable dt=null; sql = \ dt=(DataTable)ViewState[\ 29

浙江工业大学之江学院毕业设计(论文)

for (i = 0; i < dt.Rows.Count; i++) { sql += \ dt.Rows[i][\ + \ sql = sql.Substring(0, sql.Length - 7); if(dt.Rows.Count>0) mydb.InsertDB(sql); } 6.2.3 座位资源的实现

座位资源主要有快预订查询、保留座位,还可查看正在就餐的座位的就餐详情和结账。座位可以按包厢和大厅显示,每次操作完可点击刷新即可查看最新座位信息。座位资源的界面效果图如图6.5所示:

图6.5 座位资源效果图

座位资源管理的主要代码如下:

db mydb = new db(); //datalist1数据绑定 mydb.UpdateDB(\更新座位状态 string select_style = Drop_style.SelectedValue.ToString(); DataSet ds = null; string sql = \ select_style + \ds = mydb.OpenDS(\ //读取座位信息 DataList1.DataSource = ds.Tables[\DataList1.DataBind(); //将座位信息绑定到DataList1 //该座位顾客就餐详情的显示 string table_id = DataList1.SelectedValue.ToString(); string sql = \ t_order.status=0 and tablenum=\SqlDataReader dr = mydb.OpenDR(sql); if (dr.HasRows) { //如果该座位有正在就餐的数据,则显示就餐详情 dr.Read(); btn_ordereidt.CommandArgument = dr[\ L_ordernum.Text = dr[\ L_ordertime.Text = dr[\ L_employee.Text = dr[\ GridView1.DataBind(); //如果没有点菜,则显示label1的尚未点菜的提示信息 if (GridView1.Rows.Count == 0) Label1.Visible = true; else Label1.Visible = false; Panel_orderdetail.Visible = true; 30

浙江工业大学之江学院毕业设计(论文)

} dr.Close(); mydb.closeDB(); //关闭数据库连接 6.2.4 结账管理的实现

结账管理可以按未付款、已付款和全部账单显示。还可实现打印账单功能。点击结账可以进入结账操作界面。在结账界面中,可以实现结算订单、订单免单和更改折扣操作。结账管理和结账操作的界面效果图如图6.6和6.7所示:

图6.6 结账管理界面效果图

图6.7 结账操作界面效果图

结账操作主要包括结算订单、订单免单、更改折扣和返回结账管理功能,其代码实现主要如下:

结算操作代码:

string Discount = ViewState[\string Price = TextBox2.Text; if (Price == \string Employee_id2 = Session[\用登录的用户id代替 string sql = \ Employee_id2=\ where order_id=\ + ViewState[\db mydb = new db(); mydb.UpdateDB(sql); sql = \mydb.UpdateDB(sql); btn_do.Text=\重新结算\Response.Write(\结算完成!')\6.2.5 就餐详情的实现

就餐详情页面可以查看顾客当前的就餐详情,可以打印就餐的基本信息包括已点菜品信息、桌号等。还可以根据实际情况修改就餐详情或者删除订单。就餐详情页面效果图如图6.8所示:

图6.8 就餐详情效果图

删除订单主要实现代码如下:

31

浙江工业大学之江学院毕业设计(论文)

//获取要删除的订单id string order_id = ((Button)sender).CommandArgument.ToString(); //首先删除order_detail中该订单的数据,即把点的菜都删除掉 string sql = \ db mydb = new db(); mydb.DeleteDB(sql); //然后修改t_table中桌号的状态为空闲,因为删除订单就表示客人愤然离开了 sql = \ Order_id=\ mydb.UpdateDB(sql); //删除t_order表中的订单记录 sql = \ mydb.DeleteDB(sql); Response.Write(\订单删除成功!');\ GridView1.DataBind(); 6.2.6 预订功能的实现

预订功能分新建预订和预订管理两个小模块。新建预订页面主要用于记录订单的信息如预订时间、预订桌号等。预订默认保留一个小时,最多保留5个小时。预订管理主要用于管理预订订单,可删除订单也可根据需求修改订单信息。如果已经预订过的顾客前来就餐,可在预订管理界面点击就餐直接进行点菜。新建预订的效果图如图6.9所示:

图6.9 新建预订效果图

新建预订主要实现代码如下:

Button bt = (Button)e.Item.FindControl(\获取当前项的button控件 DataRowView dv = (DataRowView)e.Item.DataItem; //获取当前绑定单元格的数据 string table_id = dv[\string state = dv[\状态 string style = dv[\类型 string Conperson = dv[\人数 string roomname = dv[\包厢名 string tablenum = dv[\桌号 if (style.Equals(\大厅\else bt.Text = roomname; bt.Text = bt.Text + \号(\人)\if(table_id.Equals(ViewState[\预订管理界面效果图如图6.10所示:

32

浙江工业大学之江学院毕业设计(论文)

图6.10 预订管理效果图

预订管理主要实现预定的取消,重新设定,以及顾客到达餐馆后,预定信息的状态处理等,关键代码实现如下:

//预订赴约,正式进行点菜 string preconcert_id = ((Button)sender).CommandArgument.ToString(); db mydb = new db(); mydb.UpdateDB(\更新座位状态 string sql = \ mydb.UpdateDB(sql); //提取预订的桌号,如桌号以被其他占用,则桌号为0 sql=\t_table.table_id and t_table.status=1 and preconcert_id=\ SqlDataReader dr = mydb.OpenDR(sql); string table_id = \if (dr.Read()){ table_id = dr[\} dr.Close(); mydb.closeDB(); //修改预订的主号为就餐状态 sql = \mydb.UpdateDB(sql); 6.2.7 外卖服务的实现

外卖服务主要包括外卖订单和外卖管理两个模块。外卖订单模块主要实现外卖信息的记录,包括记录外卖地址、外卖所点菜品等。外卖管理主要实现送外卖、更改外卖详情(在做菜前允许修改菜品,送货前允许修改送货地址)、打印外卖详情和删除等功能。外卖管理和外卖订单的效果图分别如图6.11和6.12所示:

图6.11 外卖管理效果图

图6.12 外卖订单效果图

外卖订单的页面设计跟座位没有任何的关系,所以相对点菜要简单地多。外卖管理的送外卖主要实现代码如下:

string takeout_id = ((Button)sender).CommandArgument.ToString();//读取订单编号 //跳转到送外卖界面 Response.Redirect(\ 33

浙江工业大学之江学院毕业设计(论文)

string takeout_id = Request.QueryString[\ string emp = drop_emp.SelectedValue.ToString(); string sql =\ takeout_id;//修改数据库中外卖订单的状态为已送货,并记录送货员id db mydb = new db(); mydb.UpdateDB(sql); Response.Write(\操作完成!');\ Response.Redirect(\送外卖界面效果图如图6.13所示:

图6.13 送外卖界面效果图

6.2.8 员工信息模块的实现

员工信息模块主要可以实现员工信息的添加、删除和修改,其权限属于系统管理员。员工信息主要包括员工姓名、性别、身份证号码、职位、基本薪金、入职日期、联系电话和住址。员工信息的界面效果图主要如图6.14、6.15所示:

图6.14 员工信息界面效果图

图6.15 员工信息添加效果图

员工信息的修改按钮代码如下:

string employee_id = GridView1.SelectedDataKey[0].ToString(); string name = this.txt_name.Text.ToString(); string sex = this.drop_sex.Text.ToString(); string idno = this.txt_idno.Text.ToString(); string birth = this.txt_birth.Text.ToString(); string duty = this.DropDownList1.Text.ToString(); string salary = this.txt_salary.Text.ToString(); string hiredate = this.txt_hiredate.Text.ToString(); string tel = this.txt_tel.Text.ToString(); string address = this.txt_address.Text.ToString(); SqlDataSource1.UpdateCommand = \ \ + hiredate + \SqlDataSource1.Update(); Response.Write(\修改成功!')\ 34

浙江工业大学之江学院毕业设计(论文)

6.2.9 员工考勤模块的实现

员工考勤模块主要用于统计员工的考勤。可以记录的考勤类型有迟到、早退、事假、病假、暂时离职、普通加班、假期加班和其他。每种考核都对应不同的薪金奖惩。工资管理模块的工资统计就是由员工的基本薪金就加上员工的考勤所得薪金直接得来。其界面效果图如图6.16所示:

图6.16 员工考勤模块效果图

主要代码如下:

string sql = \SqlDataReader dr = mydb.OpenDR(sql);//打开数据库 if (!dr.HasRows) { Response.Write(\您输入的员工号不存在!')\return;} dr.Close(); mydb.closeDB(); sql = \\int i = mydb.InsertDB(sql); //插入考勤信息 imgbtn_ok.Enabled = false; Response.Write(\添加成功!')\6.2.10 库存管理的实现

库存管理可以帮助餐馆实现对菜品原料、酒水等一切物资的统一管理。主要操作为出库和入库。添加页面可以加入新物资。其效果图如图6.17、6.18所示:

图6.17 物资管理界面效果图

图6.18 新库存物资添加效果图

出入库操作的代码:

string optype = Drop_optype.SelectedValue.ToString(); string changenum = txt_changenum.Text.ToString(); if (changenum == \if (optype.Equals(\ string[] s = (L_num.Text.ToString()).Split(':'); int oldnum = int.Parse(s[1]); if (oldnum < int.Parse(changenum))//判断库存是否充足 {Response.Write(\库存不足!')\} SqlDataSource1.UpdateCommand = \ matereal_num \ where Matereal_id=\ 35

浙江工业大学之江学院毕业设计(论文)

SqlDataSource1.Update();//数据库更新 Response.Write(\成功!')\Panel2.Visible = false;//panel2页面隐藏 GridView1.Enabled = true; 出入库操作示意图如图6.19所示:

图6.19 出入库操作效果示意图

6.2.11 营业统计模块的实现

营业统计主要便于餐馆经营者查看餐馆的营业情况。营业统计可以查看日销售统计、月度统计、和年度统计。日销售统计中可以显示当日的所售出的菜品名称、份数、实际营业额、订单总数和营业额。其中月度销售统计和日销售统计效果图分别如图6.20和6.21所示:

图6.20 月销售统计效果图

图6.21 日销售统计效果图

36

浙江工业大学之江学院毕业设计(论文)

结 论

毕业设计是本科学习中一段非常重要的经历,它是我我们4年本科学习的一个综合检验,同时也给了我们一次非常难得的理论联系实际的机会。在这次毕业设计中,我主要我主要采用vs2005作为前台开发工具,SQL2000作为后台数据库。通过对.NET和SQL等知识的进一步深入学习,最终开发出了餐馆管理系统。虽然目前市场上已有很多的餐馆管理系统,但是我在设计这个系统的过程中新添加了许多功能,使得整个系统的功能总体上相对完善。

本系统实现了预期的餐馆管理系统的基本功能,系统总体上分为前台营业、预订服务、外卖服务、员工管理和系统管理等模块。每个模块用划分成许多细化的功能,初步实现了点菜、结账、预订、外卖、员工考勤和工资的管理、库存管理和座位信息管理等功能,基本上满足了现代餐馆管理过程中所需要的全部功能。虽然系统功能已经相对完善,但是由于本人编程水平有限,所以在对系统的整体把握和对一些功能处理的细节上,可能还存在改进的地方,系统的某些功能的实现可能也相对较简单。

通过这次对餐馆管理系统的设计开发,我摆脱了原本单纯的理论知识学习状态,通过此次毕业设计我第一次系统地运用到了以前学过的很多知识,提高了我的编程能力以及解决实际问题的能力。在整个过程中,我获取了丰富的收获,比如对一个设计整体的把握,对局部的取舍,以及对一些细节的斟酌处理等等。这正是我们都希望看到的毕业设计的目的所在。

浙江工业大学之江学院毕业设计(论文)

38

本文来源:https://www.bwwdw.com/article/cg2w.html

Top