您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 酒店点餐系统2-系统管理模块设计
12009-2010学年第二学期专业:计算机科学与技术班级:071011班题目:酒店点餐系统成员:姓名分工邓军成员任务分配、软件设计、软件调试靳鹏界面美化、成果汇报王锐强系统分析、数据库设计王隽捷系统分析、软件测试边金虎数据录入、软件测试赵佳欢数据录入、软件测试管理信息系统—系统设计报告2系统管理模块设计1、主界面设计...................................................................31.1开发过程..................................................................31.2关键程序..................................................................41.2.1类CSystemManagementApp设计..............41.2.2类CSystemManagementDlg设计................72、登录对话框设计.........................................................122.1开发过程................................................................122.2关键程序................................................................123、账号管理模块设计.....................................................143.1开发过程................................................................143.2关键程序................................................................144、厨师管理模块设计.....................................................164.1开发过程................................................................164.2关键程序................................................................165、菜品管理模块设计.....................................................185.1开发过程................................................................185.2关键程序................................................................196、收银模块设计.............................................................206.1开发过程................................................................206.2关键程序................................................................217、销售统计模块设计.....................................................237.1开发过程................................................................237.2关键程序................................................................248、通信模块设计.............................................................259、资源对话框对照说明.................................................2931、主界面设计1.1开发过程1)向项目中添加Dialog资源,设置其ID为IDD_SYSTEMMANAGEMENT_DIALOG,修改属性“Caption”为“酒店点餐系统-306工作室制作”。其设计界面如图1:图12)向对话框中添加3个GroupBox、2个ListControl、1个RichEditControl。设置其属性如表1:表1IDPropertiesMemberVariablesTypesMemberIDC_DESK_LISTView:Icon,Sort:AscendingCListCtrlm_DeskListIDC_DESK_USING_LISTView:Report,Sort:AscendingCListCtrlm_DeskUsingListIDC_MESSAGE_LISTWantReturn,Read-OnlyCRichEditCtrlm_MessageList3)向项目添加一个Menu和一个Toolbar,设计如图2--图7:图24图3图4图5图6图74)添加一个Menu作为系统托盘菜单,如图8:图81.2关键程序1.2.1类CSystemManagementApp设计1)向类CSystemManagementApp中添加类变量如下:5CSocket*m_CookTerminal;//厨师终端套接字CPtrListm_CTList;//顾客终端列表CDatabaseOperationm_DbOp;//数据库操作对象CWelcomem_WDlg;//欢迎界面2)在头文件“systemmanagement.h”中引入头文件如下:#include../DatabaseOperation.h#includeWelcome.h3)客户端类结构:classCClientInfo{public:intm_DeskID;//桌号CStringm_DishedTime;//点菜时间CClientSocket*m_ClientSock;//通信套接字CClientInfo();virtual~CClientInfo();};4)在InitInstance()中初始数据库连接,显示启动画面等:BOOLCSystemManagementApp::InitInstance(){//显示欢迎界面m_WDlg.m_elapse=5000;m_WDlg.Create(IDD_WELCOME);m_WDlg.ShowWindow(SW_SHOW);AfxEnableControlContainer();AfxInitRichEdit();::CoInitialize(NULL);//初始化com环境//网络连接初始化AfxSocketInit(NULL);//数据库连接初始化ConnectSQLServer();m_CookTerminal=NULL;……}5)数据库连接设置,从配置文件读取数据库信息://数据库连接voidCSystemManagementApp::ConnectSQLServer(){CStringIP,User,Passwd;intPort;GetPrivateProfileString(SQLServer,IP,local,IP.GetBuffer(20),20,.\\default.ini);IP.ReleaseBuffer();GetPrivateProfileString(SQLServer,User,sa,User.GetBuffer(20),20,.\\default.ini);6User.ReleaseBuffer();GetPrivateProfileString(SQLServer,Passwd,,Passwd.GetBuffer(20),20,.\\default.ini);Passwd.ReleaseBuffer();Port=GetPrivateProfileInt(SQLServer,Port,1433,.\\default.ini);//数据库连接初始化m_DbOp.CreateInstance();if(IP==local)m_DbOp.OpenLocalDatabase(DishesSystem);else{CStringstr;str.Format(%s,%d,IP,Port);m_DbOp.OpenRemoteDatabase(str,DishesSystem,User,Passwd);}}6)在程序退出时,清空客户端链表信息:intCSystemManagementApp::ExitInstance(){CoUninitialize();//断开连接CloseConnect();returnCWinApp::ExitInstance();}//断开连接voidCSystemManagementApp::CloseConnect(){POSITIONpos=m_CTList.GetHeadPosition();CMessageMsg;intcount=m_CTList.GetCount();if(pos){CClientInfo*m_pClientInfo;for(inti=0;icount;i++){if(pos!=NULL){m_pClientInfo=static_castCClientInfo*(m_CTList.GetNext(pos));if(m_pClientInfo!=NULL){if(m_pClientInfo-m_ClientSock!=NULL){//发送系统管理端退出消息OSM_SERVER_EXITMsg.CreateMsg(OSM_SERVER_EXIT,OST_SERVER|0x0001,OST_CLIENT|m_pClientInfo-m_DeskID);m_pClientInfo-m_ClientSock-Send(&Msg,sizeof(CMessage));}//注意m_pClientInfo中已自动关闭套接字deletem_pClientInfo;}}7}}if(m_CookTerminal!=NULL){m_CookTerminal-ShutDown();m_CookTerminal-Close();deletem_CookTerminal;}}1.2.2类CSystemManagementDlg设计1)在初始化函数OnInitDialog()中添加工具栏和菜单栏的设置,在CDialog::OnInitDialog()后添加如下代码,m_wndToolBar为重载CToolBar的类:if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1)){TRACE0(_T(工具栏创建失败!\n));returnFALSE;//failtocreate}/**/RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//定位工具条m_wndToolBar.LoadTrueColorToolBar(32,IDB_BITMAP_TB_DIS,IDB_BITMAP_TB_ABL,IDB_BITM
本文标题:酒店点餐系统2-系统管理模块设计
链接地址:https://www.777doc.com/doc-4898275 .html