酒店管理系统的设计与实现(22页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《酒店管理系统的设计与实现(22页).doc》由会员分享,可在线阅读,更多相关《酒店管理系统的设计与实现(22页).doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-酒店管理系统的设计与实现-第 22 页酒店管理系统的设计与实现1 引言酒店管理系统是我们常说的MIS (Management InformationSystem, 管理信息系统)的一种, 在强调管理, 强调信息的现代社会中它越来越得到普及。酒店管理系统的主要目标是实现对酒店内部各种管理的电子化和自动化, 提高酒店的办公效率, 为高质量的酒店服务提供保证。在酒店业竞争越来越激烈的今天, 努力在市场竞争中脱颖而出, 已经成为每位酒店经营者所追求的目标。酒店如何才能提高服务质量, 其管理能力显得越来越重要。由于使用了先进的数据库管理技术, 酒店管理系统对提高酒店的管理能力将会起到比较重大的作用,
2、整个系统的基本设计目标是实现系统界面友好美观、简单易用、功能全面并有较高的安全性。本系统需要实现中小型酒店常用的点菜、订菜、结算等功能, 并帮助酒店建立菜谱数据库和销售存根数据库, 能够方便地进行查询, 并在系统的易用性和安全性两方面进行相应的完善。2 系统主要模块(1)登录管理模块; (2)菜谱管理模块; (3)点菜订菜模块; (4)结算模块; (5)帮助模块; (6)数据库设计; (7)系统界面设计。软件系统由各个具体的功能模块组成, 若值班员未登录或登录失败, 则只能使用登录, 帮助, 关于, 退出这四个功能模块。登录成功后才可以使用全部的功能模块。各个功能模块都是分别进行开发的, 这样
3、就便于日后拓展功能, 也易于检查和修改错误。软件的系统结构如图1 所示。3 系统设计方案根据系统功能的要求, 考虑到Visual C+的编程特点, 将酒店管理系统分解成前台和后台两部分, 并将系统分解为几个比较小的功能模块分别进行开发。使得开发过程更具条理性, 并且方便对模块功能进行修改或添加新的功能模块, 从而使整个系统能够随着酒店业务的扩展进行功能的升级。为了增强系统的安全性,需要设计登录模块, 登录成功后才可以使用全部功能.整个酒店管理系统的设计方案如图2 所示。图1 软件系统结构图2 系统设计方案摘要: 本文主要介绍了利用Visual C+开发的酒店管理系统。随着软件开发技术和数据库技
4、术的完善与发展, 国内外的企业已经开始充分利用各种各样的系统管理软件来管理诸如销售信息、产品信息、员工信息等大量日趋繁杂的资料, 计算机辅助管理的高效性和高安全性等优点使得传统的管理方式黯然失色, 也为系统管理软件的发展提供了更广阔的前景和发展空间。本系统设计的主要目标是设计一个面向中小型酒店的简单易用的酒店管理系统。前台以Visual C+ 为开发工具, 设计软件的界面和各个功能模块; 后台使用SQLServer 2000 进行系统数据库的连接和管理。本系统已基本实现了中小型酒店常用的点菜、订菜、结算等功能, 帮助酒店建立了菜谱数据库和销售存根数据库, 可以方便地进行查询, 并在系统的易用性
5、和安全性两方面进行了相应的完善。关键词: Visual C+; 安全性; 数据库中图分类号: TP315 文献标识码: A 文章编号: 1009- 3044(2007)19- 40023- 03The Des ignment and Implementation of Res taurant Management Sys temGAN Chao- Song1, XIA Rong2(1.School of Computing, Jiangxi City Vocational Institute, Nanchang 330004, China; 2.Science and Technology C
6、ollege of NCHU, Nanchang330034, China)Abs tract:This paper mainly introduces the management system of restaurant developed with Microsoft Visual C+. With the developmentof software and database technology, the domestic corporations and the oversea corporations already begin to make full use of all k
7、inds of systemmanagement software to manage lots of interior things, such as vendition information、production information、employee information and so on.Computer- aided management has lots of merits compared with traditional management mode, such as high efficiency and high security. It alsosupplies
8、 more wide foreground and developing space for the development of system management software. The main aim of this system is to designa easily- using management system of restaurant for petty restaurant. Front end uses Visual C+ as developing tool, designs main interfaceand function modules; backgro
9、und use SQL Server 2000 for connecting and managing system database. This system basicly actualized functionsin common use of order dishes、prearrangement、settle accounts for petty restaurant, and help restaurant to set up database of bills of fare and venditioninformation. They can expediently be qu
10、eryed and strengthen the easily- using and security of system.Key words :Visual C+; security; database234 设计要点与注意事项4.1 设计要点图形化界面尽量做到美观简洁;充分考虑到系统的安全性;通过使用map 类快速保存和检索数据集结果;通过使用数据绑定技术优化代码。4.2 注意事项系统运行前数据库要进行正确配置;算法应简单明了, 有较高的时空效率;注意学习使用数据绑定等新技术;设计登录模块时注意增强安全性。5 关键技术5.1 数据库的连接将SQL Server 默认的数据库设置为酒店管理系
11、统所在的RMS 后, 就可以在程序中使用DSN 来访问SQL Server 数据库了。CRMSDlg:OnInitDialog()中连接数据库部分的代码如下:trym_DBCnt.CreateInstance(_uuidof(Connection);m_DBCnt - ConnectionString = DSN =RMS;UID =fdd;PWD =121;m_DBCnt- Open(, , , - 1);catch(_com_error& e)AfxMessageBox(e.ErrorMessage();this- EndDialog(0);return TRUE;其中DSN=后面即为酒店
12、管理系统所用的数据库的名称, 可根据实际情况进行更改。5.2 菜谱管理模块菜谱对话框的设计采用一个列表框控件显示读取的数据记录, 并在CDlgViewCP:OnInitDialog()中对这个控件(m_list)进行初始化(分割列, 设置列宽, 设置风格等), 其中(LVS_EX_FULLROWSELECT);这一行代码使单击列表框时选中其中的一整行, 而不是其中的某一格。在单击并选中某一行的时候,程序处理这个单击事件, 并将这一行的数据在下面的列表框中显示出来, 利用函数CDlgViewCP:OnClickListCp 来实现这一点:int i = m_list.GetSelectionMa
13、rk();m_no = m_list.GetItemText(i,0);m_name = m_list.GetItemText(i,1);m_kind = m_list.GetItemText(i,2);etItemText(i,3);m_detail = m_list.GetItemText(i,4);UpdateData(FALSE);*pResult = 0;另外在菜谱管理模块中还要同时实现菜谱查询功能, 即由用户选择查询目标(编号,菜名,种类), 再填入所要查询的内容就可在菜谱中查询到符合条件的菜。如果没有输入任何查询条件, 那么就列出菜谱中所有的菜。void CDlgViewCP:R
14、efreshData(LPCTSTR qry)m_list.DeleteAllItems();m_list.SetRedraw(FALSE);_RecordsetPtr pRst = NULL;IADORecordBinding *picRs = NULL; /Interface Pointer declared.(VC+ Extensions)CCPRs rs;try _bstr_t strSQL = qry;TESTHR(pRst.CreateInstance(_uuidof(Recordset);pRst = m_DBCnt- Execute(strSQL, NULL, adCmdTex
15、t);/数据绑定(Data Binding)TESTHR (pRst - QueryInterface (_uuidof (IADORecordBinding),(LPVOID*)&picRs);TESTHR(picRs- BindToRecordset(&rs);int i = 0;char buf128;while (! pRst- adoEOF)m_list.InsertItem(0, rs.m_sz_no);ame);m_list.SetItemText(i, 2, rs.m_sz_kind);sprintf(buf, %f, rs.m_f_price); m_list.SetItem
16、Text(i, 3, buf);m_list.SetItemText(i, 4, rs.m_sz_detail);/移到下一条记录pRst- MoveNext();picRs- Release();pRst- Close();catch(_com_error& e)AfxMessageBox(e.ErrorMessage();m_list.SetRedraw(TRUE);return;m_list.SetRedraw(TRUE);在上面的这段RefreshData 函数的代码中, 由于使用了ADO2.0 for Visual C+ Extensions 所提供的新特性Data Binding
17、(数据绑定)技术, 所以代码显得比较简洁。5.3 登录管理模块在未登录的时候, 主对话框中的按钮, 除了登录, 退出, 帮助,关于等项, 全是不可用的。为了达到这一效果, 在CRMSDlg:OnInitDialog()中加入如下代码:GetDlgItem(IDC_BTN_UPDPWD)- EnableWindow(FALSE);GetDlgItem(IDC_BTN_DC)- EnableWindow(FALSE);GetDlgItem(IDC_BTN_JS)- EnableWindow(FALSE);GetDlgItem(IDC_BTN_CP)- EnableWindow(FALSE);Get
18、DlgItem(IDC_BTN_VIEWDC)- EnableWindow(FALSE);若登录成功后, 只需将FALSE 换成TRUE, 则所有按钮都变为可用。将进行登录验证的SQL 代码加入到主对话框的事件处理函数CRMSDlg:OnBtnLogin()中, 用来处理登录事务:sql_.Format (SELECT 值班员FROM ZBY WHERE 值班员=%s AND 密码=%s,dlg.m_name, dlg.m_pswd);这里并没有取出值班员表中的所有字段(值班员和密码), 然后把密码字段和用户的输入作比较来决定登录成功与否; 而是只取出了值班员名字(值班员), 密码的校验放在数
19、据库服务器端进行, 这主要是基于安全的考虑。如果没有确实的需要, 就尽量不从数据库里取用户密码这种敏感数据, 以免产生安全漏洞, 削弱系统的安全性。修改密码部分的处理代码和登录部分类似, 只是不但要进行旧密码的验证, 还要确认两次输入的新密码一致, 如旧密码错误或两次输入的新密码不一致则需要给出相应的提示。另外还要利用SQL 语句向数据库中写入新密码: sql_.Format (Update ZBYSET 密码=% s WHERE 值班员=% s,dlg.m_newpswd, dlg.m_name); 密码修改成功后则给出密码已修改成功的提示。5.4 点菜模块在这个模块里可以根据顾客的需要逐项
20、输入菜谱中的菜肴,并可对已经做出的选择进行删除和修改。待最终决定之后单击提交按钮就会将结果保存到数据库中。点菜订菜操作首先要在桌号编辑框中输入桌号, 然后在编号选择框中通过选择菜谱中的编号来选择菜肴。这样顾客只需说出所需菜肴在菜谱上的编号, 值班员就可以很快地找到顾客所需要的菜, 而不必让顾客报出菜名,提高服务效率, 降低出错率。为了使编号选择框中包含所有的菜谱号, 在CDlgDC:OnInitDialog()中应包含如下代码:try_bstr_t strSQL(SELECT * FROMCP);pRst = m_DBCnt- Execute(strSQL, NULL, adCmdText);
21、TESTHR (pRst - QueryInterface (_uuidof (IADORecordBinding),(LPVOID*)&picRs);TESTHR(picRs- BindToRecordset(&rs);int i = 0;cpmap.clear(); / 清空cpmapwhile (! pRst- adoEOF)m_nos.AddString(rs.m_sz_no);/向cpmap 中添加一个菜谱号- 菜名映射cpmap.insert (CPMap:value_type (string (rs.m_sz_no), string(rs.24m_sz_name);pRst- M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 设计 实现 22
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内