1、沈阳航空航天大学北方科技学院课程设计报告VB课程设计任务书系 别 信息工程系 专业 电子信息工程 课程设计题目 餐饮管理系统 课程设计时间: 2015 年 6 月 22 日至 2015 年 8 月 5 日课程设计的内容及要求: (一)主要内容本系统主要应用于餐饮业,实现对饭店信息和消费信息的管理。主要内容如下:1. 饭店基本信息管理其中包括员工资料的管理、酒水资料管理、菜单资料管理、主食资料管理、席位和包间信息管理;主要实现对基本信息的录入、更新;2. 席位和包间预定管理:根据用户的预定要求输入预订信息,当超过预定时间1小时时,自动删除该预定记录;当客户到达时也要更新预定状态信息;3. 客户消
2、费管理:主要记录顾客的消费信息。4. 查询管理:能够对各种基本信息进行查询,也能对包间和席位预订和使用状态信息进行查询。5. 能够根据客户消费记录统计一天营业额。(二)基本要求沈阳航空航天大学北方科技学院课程设计报告1该系统开发工具采用VB6.0,数据库使用SQL Server;2独立完成系统的设计、编码和调试,通过指导教师当场验收;3交出完整的课设报告。(三)主要参考书(四)评语 (五)成绩 指导教师 2015 年 6 月 22 日餐饮管理系统 目 录1 需求分析11.1功能需求11.2数据需求11.3性能需求22系统设计32.1系统总体处理流程32.2功能模块设计32.3数据库设计43详细
3、设计63.1 数据库连接63.2功能模块设计与实现63.2.1基本信息查询模块设计与实现63.3人机界面设计10课设总结12参考文献13附录1-用户手册14附录2-源程序181 需求分析软件需求分析也称为需求分析工程,是软件生命期中重要的一步,本软件通过对饭店基本信息管理,席位和包间预订管理,客户消费管理和查询管理,实现了对饭店信息和消费信息的管理。为餐饮管理水平的提高提供了技术的支持。在需求分析阶段,要对经过可行性分析所确定的系统目标和功能做近一步的详细论述,确定系统“做什么”的问题。1.1功能需求随着餐饮业的不断发展,餐饮管理系统的内容对于决策者和管理者来说都非常重要。本系统主要包括桌台显
4、示、消费查,。人事档案及权限等几大部分,具有良好的用户接口,使用方便,具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵动地进行查询、修改、删除等维护性操作。餐饮管理系统有足够的存储容量,满足酒店每日营业的变动,另外,对于操作用户有一定的管理,并对用户的权限有一定的设置超级管理员拥有所有权限。经理除了系统维护外,其他操纵都可以,普通用户只能实现辅助工具的使用权限。1.饭店基本信息管理其中包括员工资料的管理、酒水资料管理、菜单资料管理、主食资料管理、席位和包间信息管理;主要实现对基本信息的录入、更新;2.席位和包间预定管理:根据用户的预定要求输入预订信息,当超过预定时间1小时时,自动
5、删除该预定记录;当客户到达时也要更新预定状态信息;3.客户消费管理:主要记录顾客的消费信息。4.查询管理:能够对各种基本信息进行查询,也能对包间和席位预订和使用状态信息进行查询。5.能够根据客户消费记录统计一天营业额。1.2数据需求系统中涉及到的数据较多,例如项目信息。由于数据比较繁多,根据系统要完成的功能,在此一一列出其中涉及到的数据信息,具体如下: 餐饮信息管理餐饮管理工作人员通过本系统来进行订餐、菜单、消费等信息管理。可以实现对餐饮基本信息的浏览,查找,编辑等操作。基本数据包括员工资料,酒水资料,菜单,主食,席位包间,客户消费等。 项目信息管理员工的添加、修改、删除,酒水的购入和售出,席
6、位和包间的预定、修改、退订,主食的购入和使用,客户的消费时间、消费金额等。1.3性能需求 系统是对餐馆,饭店进行系统管理的一个软件。由于是一个对餐饮项目进行管理,要求其要有明确的权限分配,并且要有较快的响应速度,系统还要有较高的可靠性。 安全性要求程序在运行过程中不会造成数据丢失,病毒侵入。 稳定性要求程序在长时间运行之后,不会出现故障、崩溃。 可靠性当用户输入非法数据或不符合格式要求的数据时,系统有相应的错误处理措施。 响应速度系统的响应速度不得超过1秒。 2系统设计2.1系统总体处理流程系统首先进行用户登录,当用户登录时验证用户身份,如图1所示图1如果是帐号密码正确,则进入界面如图2所示图
7、2如果是错误身份,则进入界面图3处理流程如图4所示。 图4 处理流程图2.2功能模块设计根据餐饮服务需求,本系统主要满足各餐饮行业的工作需求,餐饮管理人员,工作人员的录入统计和管理功能。餐馆工作人员需要录入身份,库存,使用,损耗,收入等内容,每一个流程都录入所需的添加或是修改、删除等的内容。并需要根据各流程的次序和客户订餐顺序等计算出该订单的收支。结账部分,在订单和结账两个阶段,分别由不同的工作人员对该订单所消费的账目进行结算,审核其是否有误,并由管理人员进行录入,最后由终期管理人员计算出该客户该订单的消费。软件还需要满足不同流程的设置。由餐饮管理员设置,每个工作人员的权限,可以对系统基本信息
8、和工作信息的查看、编辑等。管理员等用户可以查看往届资料,消费记录,员工信息等。系统功能图如图5所示。图5系统功能图系统功能主要由基本功能模块、编辑功能模块、添加修改功能模块、删除功能模块、消费管理功能模块、保存功能模块、统计功能模块组成。功能具体如下所示。 基本信息查询模块可以对员工信息、酒水信息、客户信息、订单信息、菜单和主食信息等进行浏览和查找。 基本信息维护模块可以对信息进行添加、修改和删除等功能。(3) 统计功能模块可以对营业功能进行统计整合,保存消费记录等功能。系统首先进行用户登录,当用户登录时验证用户身份。如果是管理员则进入登录界面,如果不是管理员身份,则进入返回界面。处理流程如图
9、6所示。图6 系统处理流程图2.2功能模块设计根据餐饮管理需求,本系统主要满足桌台显示、消费查询。人事档案及权限等几大部分,具有良好的用户接口,使用方便,具有完善的查询,对维护系统起到辅助决策的作用,能及时、方便、灵动地进行查询、修改、删除等维护性操作等功能。系统功能图如图7所示:图7系统功能图系统功能主要由基本功能模块、编辑功能模块、添加修改功能模块、删除功能模块、消费管理功能模块、保存功能模块、统计功能模块组成。功能具体如下所示。 基本信息查询模块可以对员工信息、酒水信息、客户信息、订单信息、菜单和主食信息等进行浏览和查找。 基本信息维护模块可以对信息进行添加、修改和删除等功能。(3) 统
10、计功能模块可以对营业功能进行统计整合,保存消费记录等功能。2.3数据库设计数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。本节主要通过数据库逻辑设计、数据库表设计对数据库设计进行详细介绍。 菜单表菜单表主要存储餐馆的基本信息,包括号、菜单名、负责人姓名、联系方式、办公地点等。部门信息表结构如表1所示。表 1菜单表字段名称字段类型字段长度是否为空字段说明号int12否标识菜单名Nvarchar(50)50否菜单名内容Nvarchar(50)50否内容价格in
11、t11是价格表说明:主键:号 酒水表酒水表主要存储菜单的酒水编号,名称、价格等。酒水表结构如表2所示。表 2酒水表字段名称字段类型字段长度是否为空字段说明酒水编号int50否酒水编号名称Nvarchaar(50)12否名称价格int50否价格表说明:主键:酒水编号423详细设计3.1 数据库连接VB的数据库连接方式主要有三种,ODBC、ADO和DAO。本系统选用ADO方式连接数据库。3.2功能模块设计与实现餐饮管理系统根据功能的不同分为以下几大类:基本信息查询模块,主要是对菜单,客户,主食,包间,消费,酒水,员工信息等基本信息的浏览和查询。基本信息维护模块,此模块可以实现对餐馆,服务,运营,消
12、费等基本信息的添加,修改,删除,只有管理员和部分审核人员才拥有此模块的使用权限。上传下载模块,管理员可以修改一些材料或资料,供大家下浏览。运营模块,员工可以对未结账的项目进行管理。酒水模块,由不同的员工对餐馆的项目进行管理。3.2.1 酒水信息模块酒水信息模块主要包含酒水信息的添加、修改、删除、查询功能。(1) 添加用户进入酒水信息模块之后,点击“添加”按钮,系统弹出“添加”对话框,在对话框中相应的位置收入酒水的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。本部分程序流程如图8所示。图8酒水信息添加程序流程图本部分对应程序段如下:Public Class 酒水添加 Priva
13、te Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext 数据库.酒水资料.InsertOnSubmit( New 酒水资料 With .名称 = TextBox1.Text, .价格 = TextBox2.Text ) Try 数据库.SubmitChanges() MessageBox.Show(插入成功!) Close() Catch MessageBox.Show(插入失败!) End Try End Sub Private Sub
14、Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Close() End SubEnd Class(2) 修改用户进入酒水信息模块之后,点击“修改”按钮,系统弹出“修改”对话框,在对话框中相应的位置收入酒水的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。Public Class 酒水修改 Dim 数据库 As 数据库DataContext = New 数据库DataContext Dim 修改项 As 酒水资料 = New 酒水资料 Private Sub TextBox1_TextCh
15、anged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged Dim 查询结果 = From 表项 In 数据库.酒水资料 Where 表项.酒水编号 = TextBox1.Text Select 表项 修改项 = 查询结果.FirstOrDefault() Try TextBox2.Text = 修改项.名称 TextBox3.Text = 修改项.价格 Catch End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs)
16、Handles Button1.Click 修改项.名称 = TextBox2.Text 修改项.价格 = TextBox3.Text Try 数据库.SubmitChanges() MessageBox.Show(修改成功!) Close() Catch MessageBox.Show(修改失败!) End Try End Sub Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click End Sub Private Sub Label2_Click(sender As Object, e
17、 As EventArgs) Handles Label2.Click End Sub Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged End Sub Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click End Sub Private Sub TextBox3_TextChanged(sender As Object, e As EventArg
18、s) Handles TextBox3.TextChanged End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click End SubEnd Class(3) 删除用户进入酒水信息模块之后,点击“删除”按钮,系统弹出“删除”对话框,在对话框中相应的位置收入酒水的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。(4) 查询用户进入酒水信息模块之后,点击“查询”按钮,系统弹出“查询”对话框,在对话框中相应的位置收入酒水的各种信息,点击“确定”按钮,如果数据无
19、误,则数据添加到酒水表中。程序如下:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.酒水资料 Where 表项.名称.Contains(TextBox1.Text) Select 表项 数据表.DataSource = 查询结果 End Sub3.2.2菜单信息模块 (1)用户进入菜单信息模块之后,点击“查询”按钮,系统弹出“查询”对话框,在对话框中相应的位置收入酒水的各
20、种信息,点击“确定”按钮,如果数据无误,则数据添加到菜单表中。本部分程序流程如图9所示。 图9 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.菜单 Where 表项.菜单名.Contains(TextBox1.Text) Select 表项 数据表.DataSource = 查询结果 End Sub(2) 用户进入菜单信息模块之后,点击“添加”按钮,系统弹出“添加”对话
21、框,在对话框中相应的位置收入菜单的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。程序如下: Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim 窗口 = New 菜单添加 窗口.ShowDialog() Button2_Click(Nothing, Nothing) End Sub(3) )用户进入菜单信息模块之后,点击“修改”按钮,系统弹出“修改”对话框,在对话框中相应的位置收入菜单的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。程序如下
22、: Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim 窗口 = New 菜单修改 窗口.ShowDialog() Button2_Click(Nothing, Nothing) End Sub(4)用户进入菜单信息模块之后,点击“删除”按钮,系统弹出“删除”对话框,在对话框中相应的位置收入菜单的各种信息,点击“确定”按钮,如果数据无误,则数据添加到酒水表中。程序如下: Private Sub Button4_Click(sender As Object, e As Even
23、tArgs) Handles Button4.Click Dim 窗口 = New 菜单删除 窗口.ShowDialog() Button2_Click(Nothing, Nothing) Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim 窗口 = New 菜单删除 窗口.ShowDialog() Button2_Click(Nothing, Nothing) End Sub3.3人机界面设计人机交互技术(Human-Computer Interaction Techniq
24、ues)是指通过计算机输入、输出设备,以有效地方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。通过以上设计达到人机界面的友好、美观,使用户的心情更加愉悦。主界面如图10所示:图10主界面员工信息界面如图11所示。 图11员工信息界面课设总结 在这次课程设计之前,我只接触过一次关于VB的课程设计,但那次是在老师的指导下完成的,这次就需要我自己独立完成这次的课程
25、设计。刚开始的时候完全不知道在哪里着手,但慢慢地我就一点点地理清了头绪,我先在网上找了许多关于餐饮方面的资料,然后根据课设的主要内容将资料进行筛选,再进行整理和归纳。经过两个星期的努力我终于完成了报告。看着新出炉的作品感觉特别的有成就感。我认为实践周的程序设计是给我们学习的一个大好机会,使我们在这样的机会里学到了一定的知识,毕竟理论要通过实践来锻炼,也只有自己参与了这样的一个锻炼,才能更好的发现自己的不足并加以改进和完善!参考文献1 王珊,萨师煊.数据库系统概论(第四版).高等教育出版社,2006年2 沈克水,刘肃平.数据库原理与应用.人民邮电出版社,2006年.3 李建中.数据库系统原理(第
26、2版).电子工业出版社,2006年4 杨冬青.数据库系统概念.机械工业出版社,2006年5 龚沛曾,杨志强.C/C+程序设计教程. 高等教育出版社,2004年附录1-用户手册(1)运行系统,出现信息,如图12所示。 图12登陆界面(2) 等待一会后即进入到系统主界面,如图13所示。 图13 主界面(3) 在此界面可以进行于昂信息、酒水信息、菜单、主食、席位和包间、客户消费的操作。点击“员工资料”进入到员工资料界面,如图14所示。 图14员工资料管理(5) 点击“菜单”进入到菜单界面,如图15所示。 图15菜单信息查询(5) 点击“主食”进入到主食界面,如图16所示。 图16主食信息 (6)选择
27、主界面的系统退出,系统自动退出。附录2-源程序登陆界面:Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.用户登陆表 Where 表项.帐号.Contains(TextBox1.Text) Select 表项.密码 Try IsDBNull(查询结果) Catch ex As Exception MessageBox.Show(用户名密
28、码不存在!) End Try If IsDBNull(查询结果) Then MessageBox.Show(用户名密码不存在!) Else If 查询结果.FirstOrDefault.Contains(TextBox2.Text) Then Dim 窗口 = New 管理界面 窗口.ShowDialog() Else MessageBox.Show(用户名密码不存在!) End If End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Close()
29、End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load End SubEnd Class包间和席位管理:Public Class 包间和席位管理 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.席位和包间 Where 表项.席位编号 = TextBox1.Te
30、xt Select 表项 数据表.DataSource = 查询结果 End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.席位和包间 Select 表项 数据表.DataSource = 查询结果 End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button
31、3.Click Dim 窗口 = New 包间席位添加 窗口.ShowDialog() End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim 窗口 = New 包间席位删除 窗口.ShowDialog() End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim 窗口 = New 包间席位修改 窗口.ShowDialog() End
32、Sub Private Sub 包间和席位管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click End SubEnd Class包间和席位删除:Public Class 包间席位删除 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click D
33、im 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.席位和包间 Where 表项.席位编号 = TextBox1.Text Select 表项 If Not IsDBNull(查询结果) Then Dim 删除数据 = 查询结果.FirstOrDefault() 数据库.席位和包间.DeleteOnSubmit(删除数据) 数据库.SubmitChanges() MessageBox.Show(删除成功!) Else MessageBox.Show(删除失败!) End If End Sub Private Sub 包间席位删除_Load
34、(sender As Object, e As EventArgs) Handles MyBase.Load End SubEnd Class席位和包间添加:Public Class 包间席位添加 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库DataContext Dim 查询结果 = From 表项 In 数据库.席位和包间 Where 表项.席位编号 = TextBox1.Text Select 表项 If Not IsDBNull(查询
35、结果.FirstOrDefault) Then 数据库.席位和包间.InsertOnSubmit( New 席位和包间 With .席位编号 = TextBox1.Text, .预定时间 = Date.Now ) Try 数据库.SubmitChanges() MessageBox.Show(插入成功!) Close() Catch MessageBox.Show(插入失败!) End Try Else MessageBox.Show(席位已预订!) End If End Sub Private Sub Button2_Click(sender As Object, e As EventArg
36、s) Handles Button2.Click Close() End Sub Private Sub 包间席位添加_Load(sender As Object, e As EventArgs) Handles MyBase.Load End SubEnd Class席位和包间修改:Public Class 包间席位修改 Dim 数据库 As 数据库DataContext = New 数据库DataContext Dim 修改项 As 席位和包间 = New 席位和包间 Private Sub TextBox1_TextChanged(sender As Object, e As Event
37、Args) Handles TextBox1.TextChanged Dim 查询结果 = From 表项 In 数据库.席位和包间 Where 表项.预定编号 = TextBox1.Text Select 表项 修改项 = 查询结果.FirstOrDefault() Try TextBox2.Text = 修改项.预定时间 TextBox3.Text = 修改项.席位编号 Catch End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 修改项.预定时
38、间 = Date.Now 修改项.席位编号 = TextBox3.Text Try 数据库.SubmitChanges() MessageBox.Show(修改成功!) Close() Catch MessageBox.Show(修改失败!) End Try End Sub Private Sub 包间席位修改_Load(sender As Object, e As EventArgs) Handles MyBase.Load End SubEnd Class菜单删除:Public Class 菜单删除 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim 数据库 = New 数据库Dat