




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业技术实训报告题目:基于 C#语言的咖啡厅系统系别:专业:学生姓名:指导老师:成 绩:2011 年 8 月 8 日1 系统分析1.1 开发背景及意义在信息高度发达的今天, 随着人们生活水平的不断提高, 餐饮业的种类在千 变万化之中, 餐饮业消费持续增长, 同行业之间的竞争越来越激烈。 为了提高工 作效率,这就迫切需要引入准确、 高效的计算机管理方式。 该软件使用计算机对 餐饮信息进行管理, 目的在于让许多餐饮企业可以拥有完整的计算机管理, 具有 手工管理所无法比拟的优点,能够极大地提高运营管理的效率。餐饮业务涉及的各个工作环节已不再仅仅是传统的管理、 结算业务, 而是更 广、更全面的服务性行
2、业代表。 特别是近年来我国的餐饮业面临更加激烈的同业 竞争,如何提供更多的工作流程和更优质的服务, 如何吸引更多的客户, 如何利 用计算机技术加强顾客个人信息管理、 进行客户业务再造, 提高员工的工作效率 和业务竞争能力是摆在各家餐饮企业面前的一个迫切需要解决的问题。餐饮行业发展态势明显,主要体现在连锁经营、品牌培育、技术创新、管理 科学化为代表的现代餐饮企业, 大众化消费越来越成为餐饮消费市场的主题; 餐 饮文化已经成为餐饮品牌培育和餐饮企业竞争的核心, 现代科学技术、 科学的经 营管理、现代营养理念在餐饮行业的应用已经越来越广泛。本系统设计的主要意义在于它能够切实有效地指导工作人员规范业务
3、操作 流程,更高效、快捷地实现业务的管理,保障顾客信息的安全,提高管理水平和 工作效率,进而提高业务竞争能力。1.2 可行性研究1.2.1 技术可行性本系统采用的是 Visual Studio 2005 作为开发环境,采用 SQL Server 2005 数据库实现数据存储。如今微软已经研究出 Visual Studio 2008 和 SQL Server 2008,本系统也可以在这些环境中进行编辑、修改、运行。1.2.2 经济可行性由于本系统属于比较小型的管理系统, 只需几台电脑就可以对所有餐台进行 管理,同时也不像以前咖啡厅有很多的服务员, 所以需要投入的资金不需要很大, 同时这个小型的管
4、理系统比以前手工操作方便了很多, 从而减少了很多时间, 利用这些时间可以为咖啡厅带来很大的收益1.3 功能需求本系统是咖啡厅管理系统, 属于餐饮行业的管理系统, 一般的餐饮行业的餐 馆在运营期间, 操作基本上就是点餐、 结账等等的简单操作。 而本系统的开发为 餐饮行业的餐馆带来的功能已经包含了那些基本操作,同时也添加很多的功能, 比如老板可以随时查看餐台信息、 定餐信息、开单信息, 只要轻轻点几下鼠标就 可以查看,比以前的纸张记录好很多、 方便很多。 再者本系统设计页面里的显示 信息可以随意更改, 用户可以将自己本店的很多特色添加进去, 以实现自身的独 特性。本系统可以用于很多类似咖啡厅的店铺
5、,比如茶馆、酒吧、饭店等等。只 要将里面的程序进行进一步完善, 增强一些功能, 增加一些需要的功能, 这个系 统可以变成比较大型的系统, 就可以用于比较大型的餐饮行业的酒店。 所以我认 为本系统的功能很适合各种餐饮行业。1.4 环境需求1.4.1 硬件环境如果想把该系统用于比较小型的餐饮企业的话, 只需要一台设备完善的电脑 就行,或者可以增加几台设备完善的电脑就能管理整个店铺。设备需要显示屏、 主机、键盘、鼠标等等。如果想把该系统进一步完善用于比较大型的餐饮企业,比如酒店,则可以 10 几个餐台用一台电脑管理,或者更多的餐台用一台电脑管理,所以大型的餐 饮企业也不需要很多的电脑就可以管理整个酒
6、店,减少了设备引进的资金。1.4.2 软件环境因为该系统是用 Visual Studio 2005 作为开发环境,采用 SQL Server 2005 数据库实现数据存储, 如果想对系统进行更改, 可以在网上直接下载安装就可以 更改运行。想要更改系统显示的信息可以运行 Visual Studio 2005 ,在程序里 面进行更改显示信息,如果想对存储信息进行管理,可以运行 SQL Server 2005 里,可以对每个表进行更改、 新增、删除,也可以对表里的数据进行更改、 新增、 删除。所以非常方便。2 系统设计2.1 系统结构设计通过需求分析,了解到系统需要实现的主要功能模块以及各个模块实现
7、所涉及的数据对象,下面就对这个系统做个正题的设计和构架。2.1.1 系统功能模块设计基于以上需求分析和数据分析, 对于一个标准的咖啡厅管理系统应该有了一个全面的认识。系统模块主要包括主界面、顾客开单、销售、预定管理、宾客结账、餐台状态、顾客消费情况查询。系统功能模块图如图 2.1 所示。销售 预订管理 餐台状态咖啡厅管理系统宾客结账顾修所吧增客改有台加登登登销消记记记售费图 2.1 系统功能模块图查消询费消记费录顾客消费主界面:用来显示各个功能的按钮,各个餐台的状态,开店时间,还有所有 餐台总状态。顾客开单:分为三个部分: (1)顾客登记:对指定餐台进行开单登记; (2) 修改登记:对指定餐台
8、的登记情况进行修改和删除; (3)所有登记:显示以前所 有餐台的开单情况。销售:分为两个部分:(1)吧台销售:对指定餐台进行定餐;(2)增加消费:对指定餐台进行增加消费预订管理:分为四个部分:(1)新增预订:对指定餐台进行预订; (2)修改预订:对指定餐台的所有预订信息进行修改; (3)删除预订:删除指定餐台的预 订信息;(4)查看预订:能搜索指定餐台的预订信息,能够查看到所有餐台的预 订情况。餐台状态:能够查询到指定餐台的状态情况,还能够修改指定餐台的状态。宾客结账:分为两个部分:(1)宾客结账:查询指定餐台的消费情况,对指定餐台进行结账;(2)合并结账:添加指定餐台,然后合并一起结账。顾客
9、消费:分为两个部分:(1)查询消费:能够查询到指定餐台的消费情况;(2)消费记录:能够看到以前的所有餐台的消费记录。2.2 数据库设计2.2.1 数据库概念设计(1)咖啡厅餐台信息包含:餐台编号、顾客人数、服务生、顾客姓名、开 单时间。定餐信息包含:餐台编号、定餐菜单、定餐数量、定餐金额。预订信息 包含:预订餐台编号、预订人姓名、预订人电话、预订时间。咖啡厅餐台信息实 体图如图 2.2 所示。服务生餐台编号顾客人数顾客姓名餐台开单时间图 2.2 咖啡厅餐台信息实体图2)定餐信息实体图如图 2.3 所示餐台编号顾客人数图 2.3 定餐信息实体图2.2.2 数据库逻辑设计数据库中共有 6 个表,分
10、别是餐台定餐表、餐台状态表、餐台开单表、消费 记录表、开单记录表、预订餐台表,具体信息如下。(1)餐台定餐表主要用来存储指定餐台的定餐信息, 主要字段有餐台编号、定餐数量、定餐菜单、定餐金额,设餐台编号为主键。如表 2.1 所示。表 2.1 餐台定餐表列名数据类型长度可否为空idnvarchar50NOT NULLslnvarchar50NULLcdnvarcharMAXNULLjenvarchar50NULL2)餐台状态表主要是用来存储各个餐台的状态和是否定餐情况,主要字段有餐台编号、餐台状态、是否定餐,设餐台编号为主键。如表 2.2 所示表 2.2 餐台状态表列名数据类型长度可否为空idn
11、varchar50NOT NULLk dcnvarcharnvarchar501NULLNULL(3)餐台开单表主要是用来存储指定餐台开单情况, 主要字段有餐台编号、顾客人数、服务生、开单时间、顾客姓名,设餐台编号为主键。如表 2.3 所示。表 2.3 餐台开单表列名数据类型长度可否为空idnvarchar50NOT NULLrsnvarchar50NULLfwsnvarchar50NULLsjnvarchar50NULLnamenvarchar50NULL(4)消费记录表主要是用来存储以前各个餐台的消费记录,主要字段有餐台编号、定餐数量、定餐菜单、定餐金额、结账时间。如表2.4 所示。表 2
12、.4 消费记录表列名数据类型长度可否为空idnvarchar50NULLslnvarchar50NULLcdnvarchar50NULLjenvarchar50NULLsjnvarchar50NULL(5)开单记录表主要是用来存储以前各个餐台的开单情况,主要字段有餐台编号、顾客人数、服务生、开单时间、顾客姓名。如表 2.5 所示。表 2.5 开单记录表列名数据类型长度可否为空idnvarchar50NULLrsnvarchar50NULLfwsnvarchar50NULLsjnvarchar50NULLnamenvarchar50NULL(6)预订餐台表主要是用来存储对指定餐台的预订情况,主要
13、字段有餐台编号、预订人姓名、预订人电话、顾客人数、预定时间,设餐台编号为主键,如表 2.6 所示。表 2.6 预订餐台表列名数据类型长度可否为空idnvarchar50NOT NULLnamenvarchar50NULLphonenvarchar50NULLrsnvarchar50NULLsjnvarchar50NULL2.3 系统界面设计2.3.1 人机界面设计准则1、一致性。2、较少步骤。3、及时提供反馈信息。4、无需记忆。5、易学。6、富有吸引力。7、易操作性。2.3.2 用户界面设计(1)主界面操作人员打开系统以后就进入主窗体, 主窗体有很多的不同功能。 在窗体的 顶端选择 Menu
14、Strip 控件显示按功能分组的选项;接下来是放置一个 Panel 控 件,设置背景图片, 在 Panel 控件里放置五个 Button 控件, 各个 Button 控件设 备背景图片,点击 Button 控件可以进入不同的窗体;在下面空间的左半部分放 置一个 Panel 控件,在 Panel 里的顶部放一个 Label 控件,用来显示动态时间, 下面放置四个 Label 控件,用来显示大厅、最低消费、计费标准、开店时间;再 在下面放置五个 Label 控件,用来显示餐台总状态、餐台总数、当前占用、当前 可供、当前预订; 在这个 Panel 控件的右边空间也放置一个 Panel 控件, 并设置
15、 背景图片,在 Panel 控件里放置 12 个 PictureBox 控件和 12 个 Label 控件, PictureBox 控件用来显示 12 个餐台的状态效果,是用图片显示的, Label 控件 是用来显示 12 个餐台的编号。如图 2.4 所示。图 2.4 咖啡厅管理系统主界面(2)餐台状态当操作人员想要对指定餐台的状态进行更改, 就进入餐台状态窗口。 这个窗 口分为上、中、下三个小部分。上部分是用来查询指定餐台的状态以及信息,在 第一行放入一个 Label 控件,信息是“餐台编号” ,放一个 TextBox 控件,用来 用户输入指定的餐台编号,放一个 Button 控件,信息是“
16、查询”,是用来点击以 后从数据库中返回指定餐台的状态及相关信息, 第二行放四个 Label 控件,其中 两个信息为“该餐台状态”和“顾客姓名” ,剩下两个 Label 控件是用来显示指 定餐台的状态和相关信息;中间部分是用来为下部分注明,放一个 Label 控件, 信息是“以下不能修改使用和预订的餐台” ,在这个 Label 控件上下各放一个 Label 控件用来分隔;下部分是用来修改指定餐台的状态,放两个 Label 控件, 信息是“餐台编号”和“修改状态” ,接着放一个 TextBox 控件,用来用户输入 指定的餐台编号,三个 RadioButton 控件和三个 PictureBox 控件
17、,三个 RadioButton 控件分别代表“可用” 、“停用”、“脏台”,三个 PictureBox 控件是 用来显示三种状态的图片效果,最后放两个 Button 控件,信息分别是“修改” 和“取消”,“修改”是用来对指定餐台修改状态, “取消”是用来返回到主窗口。 如图 2.5 所示。图 2.5 咖啡厅管理系统餐台状态界面2.4 系统详细设计(1)操作人员在客户进入咖啡厅以后,要进行顾客开单,顾客开单流程图 如图 2.6 所示。开始取消 输入餐台编号、顾客人 数、服务生、顾客姓名主界面确定重输餐台编号、 顾客人数、 服务生、顾客姓名是否输入正确该餐台是否空闲开单成功吧台销售窗口图 2.6
18、顾客开单流程图(2)当顾客用餐完毕后,操作人员会进行宾客结账操作,宾客结账流程图 如图 2.7 所示。开始取消 输入要结账的餐台编号结账是否输入餐台编号该餐台是否开单该餐台是否 定餐NY结账成功,收取因为您没有定XX元钱餐,所以收取您10 元钱主界面图 2.7 宾客结账流程图3 系统实现3.1 系统功能实现1、顾客登记窗口 主要功能是对指定餐台进行开单操作。 填写好餐台编号、顾客人数、服务生、 顾客姓名,点击“确定”按钮后,就会实现开单操作。窗口如图 3.1 所示。图 3.1 顾客登记窗口“确定”按钮代码如下: privatevoid button1_Click( object sender,
19、 EventArgs e) string z = , y = , x = , k = ;/ 定义三个 string 类型的量,代表餐台编号、顾 客人数、服务生、顾客姓名 bool t = false ;/ 判断餐台编号、顾客人数、服务生、顾客姓名是否填写正确 if (textBox1.Text = )/ 当餐台编号没有输入,则显示下面信息MessageBox.Show( 请输入使用的餐台编号 ); elseint a = int .Parse(textBox1.Text);/ 将餐台编号转换成 int 类型 if (a 12)/判断输入的餐台编号是否在 1到12之间MessageBox.Sho
20、w( 没有该餐台,请重新输入 );textBox1.Text =elsez = textBox1.Text;/如果餐台编号输入正确,则把值赋给 zif (textBox3.Text = )/ 如果顾客姓名没有填写,则显示下面信息 MessageBox.Show( 请输入顾客姓名 );elsek = textBox3.Text;/如果填写了顾客姓名,则把值赋给 kif (textBox2.Text = )/ 如果顾客人数没有填写,则显示下面信息 MessageBox.Show( 请输入顾客人数 );elsey = textBox2.Text;/如果填写了顾客人数,则把值赋给 yif (radio
21、Button1.Checked)/ 如果选择了第一个 radioButtonx = radioButton1.Text;/ 把第一个 radioButton 的值赋 给xt =true ;/ 判断餐台编号、顾客人数、服务生、顾客姓名填写正确elseif (radioButton2.Checked)/ 如果选择了第二个 radioButtonx = radioButton2.Text;/ 把第二个 radioButton 的值赋 给xt = true ; / 判断餐台编号、顾客人数、服务生、顾客姓 名填写正确else / 如果没有填写服务生就显示下面信息 MessageBox.Show( 请选择
22、服务生 );if (t) / 判断餐台编号、顾客人数、服务生、顾客姓名填写正确string c = 5 ;/ 定义一个量来存储餐台状态, 5代表该餐台使用中 SqlConnection con = newSqlConnection ( DataSource=.;Initial Catalog=coffee;Integrated Security=True );/ 与数据库建 立连接SqlCommand km = newSqlCommand( select k from c where id=+ z + , con);/ 从数据库中返回指定餐台的状态数据con.Open();SqlDataRea
23、der dr = km.ExecuteReader();dr.Read();string d = dr.GetString(0).ToString();/定义一个量存储从数据库中返回的值con.Close();if (d = 1 )/ 如果返回值是 1代表该餐台是空闲中就可以进行下面的开单 string o = DateTime .Now.ToString();/定义一个量存储开单时间SqlCommand cm =SqlCommand dm =newSqlCommand( update c set k= con);/ 修改该餐台的状态 newSqlCommand( insert into d
24、values+ c + where id=+ x + , + o + + z + , + y + , ) , con);/ 将开单信息存储进数据库中的餐台开单表SqlCommand fm =+ x + , + o +newSqlCommand( insert into kd values( + z + , + y + , ) , con);/ 将开单信息存储进数据库中的开单记录表con.Open();cm.ExecuteNonQuery();cm.Dispose();dm.ExecuteNonQuery();dm.Dispose();fm.ExecuteNonQuery();fm.Dispos
25、e();con.Close();MessageBox.Show( 欢迎就餐 , 请点餐 );/ 开单成功就显示此信息Form1 f = newForm1();f.b();/ 调用主界面中的 b方法,来对主界面的 12 个餐台的状态显示不 同图片f.a( int .Parse(z);/ 调用主界面中的 a 方法,用来计算餐台总状态情 况this .Close();Form3 kdd = newForm3(); kdd.Show();/ 打开吧台销售窗口else MessageBox.Show( 该餐台已使用, 请另选一个餐台 );/ 如果该餐台不是空闲状态就显 示此信息2、修改登记窗口修改登记窗
26、口的功能是用来对已经登记的用户信息进行更改。 操作人员首先 输入要修改的餐台编号, 点击查询, 如果该餐台有开单信息就会显示出顾客姓名 和顾客人数, 如果没有开单信息就会显示其它信息, 接着在修改顾客姓名和修改 顾客人数中填写完整信息,点击修改就会修改成功。如图 3.2 所示。图 3.2 修改登记窗口“修改”按钮代码如下:privatevoid button4_Click( object sender, EventArgs e)/ 判断输入的餐台编号是否开单if (label11.Text = )/ 如果输入的餐台没有登记,则显示警告信息 MessageBox.Show( 由于该餐台没有登记,
27、所以不能修改);else / 如果输入的餐台有登记,就执行修改操作/ 判断修改顾客姓名和修改顾客人数是否填写完整if (textBox5.Text = | textBox6.Text = )/ 如果没有填写完整,显示警告MessageBox.Show( 请填写完整 );else / 如果填写万张,就执行修改操作SqlConnection con = newSqlConnection ( Data Source=.;Initial Catalog=coffee;Integrated Security=True);/ 与数据库建立连接SqlCommand cm = newSqlCommand( u
28、pdate d set name=+ textBox5.Text + ,rs= +textBox6.Text + where id= + label20.Text + , con);/ 修改数据库中顾客开单表中的餐台信息SqlCommand dm = newSqlCommand( update kd set name= + textBox5.Text + ,rs= + textBox6.Text + where id=+ label20.Text + , con);/修改数据库中开单记录表中的餐台信息con.Open(); cm.ExecuteNonQuery(); cm.Dispose();
29、dm.ExecuteNonQuery();dm.Dispose(); con.Close();MessageBox.Show( 修改成功 );/ 修改成功以后显示信息Form1 f = newForm1();/ 修改成功以后返回到主界面f.Show();f.b();this .Close();/ 本窗口关闭3、新增预定窗口 新增预定窗口主要是用来对一些空闲餐台进行预订操作。 操作人员可以输入 预订餐台编号、联系人姓名、联系人电话、顾客人数,然后点击预订,如果所要 预订的餐台不是空闲状态会显示警告信息,如果是空闲状态会预订成功。如图 3.3 所示。图 3.3 新增预定窗口预订”按钮代码如下:pr
30、ivatevoid button1_Click( object sender, EventArgs e)int he = int .Parse(textBox1.Text);/ 将输入的预定餐台编号转换成 int 类型/ 判断预定餐台编号、联系人姓名、联系人电话、顾客人数是否输入完整if (textBox1.Text = | textBox2.Text = | textBox3.Text = |textBox4.Text = )/ 如果没有输入完整,则显示警告信息MessageBox.Show( 请填写完整 );elseif (he 12)/如果输入完整,判断输入的餐台编号是否超出餐台编号Me
31、ssageBox.Show( 没有该餐台,请重新输入 );/ 如果超出餐台编号,显示警告信息 textBox1.Text = ;/ 将原先输入的值清空重新输入else / 如果没有超出餐台编号,则进行预订操作SqlConnection con = newSqlConnection ( Data Source=.;Initial Catalog=coffee;Integrated Security=True );/ 与数据库建立连接SqlCommand km = newSqlCommand( select k from c where id=+ textBox1.Text + ,con);/ 查
32、询预订的餐台是否空闲con.Open();SqlDataReader dr = km.ExecuteReader();dr.Read();string d = dr.GetString(0).ToString();/ 将返回的餐台状态值赋给 d con.Close();if (d = 1 )/ 如果空闲,就可以预订SqlCommand cm = newSqlCommand( insert into yd values(+ textBox1.Text +, +textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + DateTime
33、.Now.ToString() +) , con);/ 将预订信息插入进餐台预定表中SqlCommanddm = newSqlCommand( update c set k= + 2 + where id= + textBox1.Text + , con);/ 修改该餐台的状态值con.Open();cm.ExecuteNonQuery();cm.Dispose();dm.ExecuteNonQuery();dm.Dispose();con.Close();MessageBox.Show( 预订成功 );/ 预订成功以后显示警告信息this .Close();/ 本窗口关闭Form1 f = newForm1();/ 返回到主界面f.Show();f.b();elseMessageBox.Show( 该台不能使用, 请另选一个餐台 );/ 如果该餐台不是 空闲状态,则显示警告信息4 系统测试4.1 测试项目打开主界面以后,进行操作:顾客开单 - 吧台销售 - 增加消费 - 宾客结 账。4.2 测试过程及结果1、进入主界面以后,点击“顾客开单”按钮,进入“顾客开单”窗口,在 餐台编号、顾客人数、服务生、顾客姓名中输入不同信息,结果不同。如表 4.1 所示。表 4.1 顾客开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业领域绿色能源技术应用
- 工业设计在产品创新中的作用与价值研究
- 工作中的情绪管理与压力缓解
- 工业设计与产品创新的策略研究
- 工作效率提升工具及方法研究
- 工作环境优化对员工满意度的影响
- 工程塑料在汽车领域的应用
- 工厂厂区绿化规划
- 工程机械动载荷下的结构强度分析
- 工程机械的维护与修理技术培训
- 通风与防排烟系统的施工方案
- 沪教版英语小学四年级上学期试卷与参考答案(2024-2025学年)
- 人工智能训练师理论知识考核要素细目表二级
- 2024年人教版一年级数学(下册)期末试卷及答案(各版本)
- 《卒中患者吞咽障碍护理规范》
- DL∕T 698.45-2017 电能信息采集与管理系统 第4-5部分:通信协议-面向对象的数据交换协议
- GB/T 44189-2024政务服务便民热线运行指南
- 浙江省杭州市学军中学2025届数学高一下期末统考试题含解析
- 2025年中考数学专题09 逆等线最值专题(原卷版)
- 中医医疗技术手册2013普及版
- 【全球6G技术大会】:2023通感一体化系统架构与关键技术白皮书
评论
0/150
提交评论