1、管理信息系统课程设计实验报告专业班级: 文公1051 课程名称: 餐厅管理信息系统设计学 号: 学生姓名: 指导教师: 韩菁 完成日期2012 年 11 月目录一、系统需求分析31.1问题的提出31.2可行性分析31.3系统的设计目标3二、系统设计42.1系统设计42.2系统运行环境4三、系统结构框架53.1系统结构框架53.2 系统功能设计5四、 系统数据库设计64.1餐厅管理系统数据库E-R模型64.2数据库表设计84.3 创建数据库10五、操作模块115.1 系统登录模块115.2用户注销模块126.2 自动编号216.3 设置文本框只能输入数字型字符串22 一、 系统需求分析 现在的管
2、理系统不仅要有漂亮的用户界面,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。本系统的设计与实施将极大地方便食客的就餐,同时也有利于我们的管理和服务。同时,我们的餐厅信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。 1.1问题的提出在信息化高速发展的今天,餐厅管理的信息化管理已成为必不可缺的一部分,但是目前的大多数餐厅管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的餐厅管理系统应运而生。1.2可行性分析系统的可行性分析是对课题的通盘
3、考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。1.2.1经济可行性分析因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高餐厅的销售效率,即提高了餐厅的经济效益,所以从经济上完全是可行的。1.2.2技术可行性分析本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统
4、,对于那些有一般的计算机知识的人员就可以轻松上手。而整个餐厅与管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。1.3系统的设计目标 本系统主要包括七大模块,分别是系统登录退出模块、客户信息管理模块、菜单信息管理模块、订餐信息管理模块、充值结算管理模块、折扣信息管理模块、员工信息管理模块。每个模块的功能如下:系统登录退出模块:本模块是被用于用户登录,注销和退出。模块根据用户的不同类型赋予用户不同的管理权限。低等级的用户不可访问高等级用户的个别功能,
5、而高等级用户可以使用低等级用户的所有系统功能。客户信息管理模块:本模块将餐饮企业松散的客户资源加以整合,通过标准化的管理操作,将客户资料加以收集。菜单信息管理模块:本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。订餐信息管理模块:通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。充值结算管理模块:通过此模块,用户可以方便的为客户提供充值结算服务,充值收取的现金将会计入用户的收款现金中,便于管理员结算时核
6、对收款金额。结算方式分为两种,一种是现金结算,一种是账户余额结算,现金结算的收款金额会计入用户的收款现金,而账户余额结算的金额会从客户的账户里扣除。折扣信息管理模块:本模块只限于管理员使用,通过它可以设定为客户打折时用到的折扣程度。员工信息管理模块:本模块只限于管理员使用,管理员使用它,可以添加删除用户。用户类型分为店长(管理员)和职员。二、系统设计2.1系统设计通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用Microsoft Visual Studio 2005作为前台开发工具,后台数据库采用SQL Server 2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操
7、作简单且功能完整的超市商品管理系统。2.2系统运行环境客户端操作系统:Windows NT/2000/XP或更高版本服务器操作系统:Windows XP 数据库:Microsoft SQL Server 2005前台:Microsoft Visual Studio 2005三、系统结构框架 3.1系统结构框架 根据以上需求,餐饮信息管理系统功能被划分为以下模块,如图3.1所示:用户登录员工店主系统登录退出客户信息管理菜单信息管理充值结算管理折扣信息管理员工信息管理帮助预定信息管理图3.1系统功能结构图3.2 系统功能设计 系统功能设计是使整个系统能基本实现餐厅的进、销等管理功能,能让餐厅管理者
8、更直观的了解餐厅的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从餐厅全局的角度出发进行决策,利用信息控制超市的行为。本系统主要包括七大模块,分别是系统登录退出模块、客户信息管理模块、菜单信息管理模块、订餐信息管理模块、充值结算管理模块、折扣信息管理模块、员工信息管理模块。每个模块的功能如下:系统登录退出模块:本模块是被用于用户登录,注销和退出。模块根据用户的不同类型赋予用户不同的管理权限。低等级
9、的用户不可访问高等级用户的个别功能,而高等级用户可以使用低等级用户的所有系统功能。客户信息管理模块:本模块将餐饮企业松散的客户资源加以整合,通过标准化的管理操作,将客户资料加以收集。菜单信息管理模块:本模块将餐厅的菜品信息通过标准化的管理操作加以整合,使得菜品的价格、配料、功效和图片可以完全呈现在客户面前,使得客户可以方便地选择自己想要的食物。订餐信息管理模块:通过订餐模块使得传统餐饮订餐过程变得轻松方便,订餐信息管理模块会在客户订餐的同时核对客户所预定的餐桌的使用情况,避免传统订餐易出现的预定重合问题。充值结算管理模块:通过此模块,用户可以方便的为客户提供充值结算服务,充值收取的现金将会计入
10、用户的收款现金中,便于管理员结算时核对收款金额。结算方式分为两种,一种是现金结算,一种是账户余额结算,现金结算的收款金额会计入用户的收款现金,而账户余额结算的金额会从客户的账户里扣除。员工信息管理模块:本模块只限于管理员使用,管理员使用它,可以添加删除用户。用户类型分为店长(管理员)和职员。四、 系统数据库设计 4.1餐厅管理系统数据库E-R模型用户(User)用户编号用户密码用户类型身份证号用户姓名用户电话收款金额 用户E-R图主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。客户(customer)客户编号客户地址客户密码客户姓
11、名添加时间账户余额已用金额客户地址客户照片客户电话客户手机用户编号客户生日客户E-R图主要存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。食谱(food)食谱名称价格食谱功效食谱配料食谱照片食谱E-R图主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。预定(YuDing)身份证号消费金额客户姓名日期时间用户编号桌号预定餐点预定E-R图主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。折扣(discount)折扣程度已消费金
12、额折扣E-R图存储管理员(店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。4.2数据库表设计1、 user(用户表)表3.1 user序号字段名称字段描述字段类型长度备注1user_id用户编号Char20不允许空2Pwd用户密码Char20不允许空3Style用户类型nchar20不允许空4Id用户身份证号Char20不允许空5Name用户姓名Char20不允许空6Tel用户电话Char20不允许空7Money收款金额money允许空用户表主要用于存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息来记录经手的用户,
13、字段money用于记录用户的收款金额,便于结算时对收款现金的核对。2、 customer(客户表)表3.2 customer序号字段名称字段描述字段类型长度备注1Name客户姓名Char20不允许空2Id客户编号nchar20不允许空3Address客户地址Char50不允许空4Birthday客户生日nchar20不允许空5Pwd客户密码nchar20不允许空6Addtime添加时间nchar20不允许空7Money账户余额money不允许空8usedmoney已用金额money不允许空9Photo客户照片image允许空10Tel客户电话nchar20允许空11mobilephone客户手
14、机nchar20不允许空12Userid用户编号nchar10不允许空客户表主要用于存储一些客户信息,如客户的账号、密码、联系方式和消费情况等等,主要用于客户订餐、充值和结算,字段money用于储存账户余额,在使用充值和账户余额支付时会使用到它。字段usedmoney用于记录客户的消费情况,为客户打折时会使用到它。3、 food (食谱表)表3.3 food序号字段名称字段描述字段类型长度备注1Name食谱名称nchar20不允许空2Price价格money不允许空3Photo食谱照片image允许空4Efficacy食谱功效nchar50允许空5Formula食谱配料nchar50允许空食谱
15、表主要用于存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。字段Price记录的是食物的价格。当客户预定餐点时,系统使用它来算费用。4、 YuDing(预定表)表3.4 YuDing序号字段名称字段描述字段类型长度备注1Tableid桌号nchar10不允许空2Date日期nchar20不允许空3Time时间nchar10不允许空4Name客户姓名nchar10不允许空5customerid客户身份证号nchar10不允许空6Userid用户编号nchar10不允许空7Food预定餐点nvarcharMAX不允许空8Money消费金额money不允许空预定表主要
16、用于存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。当系统预定餐点时,会从其他各表中调出需要的信息,经过计算和处理后,将最终信息储存到YuDing表,该表和其它各表都有紧密的联系。5、 discount(折扣表)表3.5 discount序号字段名称字段描述字段类型长度备注1usedmoney已消费金额Char10不允许空2Discount折扣程度Char10不允许空折扣表用于存储管理员(店主)设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。当客户预定餐点时,打折服务的折扣程度就是参照该表。134.3
17、创建数据库4.3.1 数据库的链接为了便于用户使用和维护,我们将与数据库的连接,单独写出来并进行编译,这样系统在新的环境使用时,只需改动一处数据库连接代码,即可立即使用,连接关键代码如下:Public Shared constr As String = Data Source=WWW-3C702F2C1C8SQLEXPRESS;Initial Catalog=dcdatebase;Integrated Security=True4.3.2 Is_SQL_Cmd方法方法Is_SQL_Cmd是判断数据是否存在,当系统登录和添加客户需要验证数据库中是否存在提交的数据时会用到它。其主要代码如下: Pu
18、blic Function Is_SQL_Cmd(ByVal cmdstr As String) As Boolean SqlConn = New SqlConnection(constr) SqlConn.Open() SqlCmd = New SqlCommand(cmdstr, SqlConn) Try SqlDr = SqlCmd.ExecuteReader() If SqlDr.HasRows Then Return True Else Return False End If Catch ex As Exception Return False Finally SqlConn.Clo
19、se() End Try End Function4.3.3 SQL_Ada方法方法SQL_Ada是为了查询数据库,并将查询到的结果存放在内存中的datatable表中,餐饮信息管理系统中使用到的组件DataGridView再从datatable表中得到数据。 Public Function SQL_Ada(ByVal adastr As String) As DataTable SqlConn = New SqlConnection(constr) SqlConn.Open() SqlAda = New SqlDataAdapter(adastr, SqlConn) ds = New Dat
20、aSet Try SqlAda.Fill(ds) Return ds.Tables(0) Catch ex As Exception Return New DataTable Finally SqlConn.Close() End Try End Function4.3.4 ExecCmd过程ExecCmd是为系统中的添加、删除、修改服务,系统里的客户、菜单、折扣和员工的添加、删除和修改都用到了该过程。 Public Sub ExecCmd(ByVal cmdstr As String) SqlConn = New SqlConnection(constr) SqlConn.Open() Sq
21、lCmd = New SqlCommand(cmdstr, SqlConn) SqlCmd.ExecuteNonQuery() End Sub五、操作模块 5.1 系统登录模块用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行系统操作时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行登录对系统进行操作。如果用户以职员的身份进入系统,则只能进行顾客信息管理、菜单信息查询、预定信息管理和充值结算管理,而菜单信息管理、折扣设定、员工管理这些功能将被屏蔽,如果用户以管理员(店长)身份登录,系统的所有功能都
22、将可以使用。以下是“登录”按钮的代码:cmdstr = select * from user where user_id = + TextBox1.Text + and pwd= + TextBox2.Text + and style= + ComboBox1.Text + Try If sqlobject.Is_SQL_Cmd(cmdstr) Then main.m_Login = True . /类似部分省略 Me.Close() Else MsgBox(请填写正确的用户名、密码和用户类型!) End If Catch ex As Exception main.OPErr.WriteErr
23、(ex) End Try系统先进行数据库操作,判断是否存在用户名、用户密码和用户类型完全符合要求的数据,如果存在,则说明用户可以登录,同时把登录的用户类型和用户名告诉需要用到用户类型和用户名数据的模块如系统主界面、充值模块和买单模块等。5.2用户注销模块用户注销模块的代码如下: Private Sub 注销ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 注销ToolStripMenuItem.Click Me.m_style = Me.m_Login = False For Each ChildForm As Form In Me.MdiChildren ChildForm.Close() Next main_Load(sender, e) Login.Show() Me.ToolStripStatusLabel1.Text = 登录 End Sub用户通过本模块可以注销系统,系统恢复到登录前画面,这样就可以防止在用户离开后,系统数据被人恶意修改。