专业实习报告
目录
1 系统分析 3
1.1 项目背景 2
1.2 餐厅管理系统的功能需求 3
1.2.1 总体功能需求 3
1.2.2 具体系统功能需求描述 3
1.3 运行环境 3
2.1 总体设计 4
2.1.1 订单管理 4
2.1.2 结算管理 4
2.2 数据库设计 5
2.2.1 数据库需求分析 5
2.2.2 数据库逻辑结构设计 5
2.3 程序实现 5
2.3.1 主窗口模块 5
2.3.2 订单管理 6
2.3.3 结算管理 7
3 设计总结……………………………………………………………………………17
4 参考文献....................................................................................................................................18
1 系统分析
1.1 项目背景
在餐饮行业中,餐厅的规模在不断扩大,菜单的数量在急剧增加,有关餐厅的各种信息量也在成倍地增长。面对庞大的信息量,就需要有餐厅管理系统来提高餐厅管理工作的效率。通过这样的系统,可以方便地查询、统计和修改餐厅菜单的基本情况、餐桌的增减情况和规范管理订餐以及结算服务,从而减少管理方面的工作量同时避免由于人为因素所造成的数据遗漏和错误等。
1.2 餐厅管理系统的功能需求
1.2.1 总体功能需求
餐厅管理系统是基于ODBC数据库并用VC++和ACCESS实现的可以对餐厅各方面进行简单管理的简单软件。
1.2.2 具体系统功能需求描述
本系统主要包括FLASH欢迎模块、登录模块、菜单管理模块、餐桌管理模块、订单管理模块、结算管理模块和主界面模块。
(1) Flash欢迎界面:显示餐厅部分信息。
(2) 登录模块:保护餐厅。
(3) 菜单管理模块:显示菜谱的各项信息,可以对其进行添加、修改等操作。
(4) 餐桌管理模块:显示餐桌的各项信息,可以进行修改、增加、删除操作。
(5) 订单管理模块:显示订单的各项信息,可以进行增加、修改、清空等操作。
(6) 结算管理模块:实现对订单的结算操作。
1.3 运行环境
用VC++和ACCESS设计,适用于windows2000以上版本。
2 系统设计
2.1 总体设计
程序分四部分系统菜单管理、餐桌管理、订单管理、结算管理系统。
程序结构图如下:
图1系功能结构图
2.1.1 订单管理
输入:餐桌号、菜谱号、数量、日期
输出: 无
功能:对定菜信息实现浏览、查找、添加、删除和修改等功能。
2.1.2 结算管理
输入:订单信息即桌号、菜谱号等。
输出:应付金额
功能:根据订单自动计算应付金额并记录。
2.2 数据库设计
用数据库存储管理员信息、菜谱信息、餐桌信息、订单信息和结算信息。
2.2.1 数据库需求分析
数据库结构设计如下:
管理员信息:包括的数据项有:管理员用户名和密码。
菜单信息:包括的数据项有:菜单编号、名称、种类、价格及描述。
餐桌信息:包括的数据项有:餐桌桌号、容量、描述及是否空闲。
订单信息:包括的数据项有:餐桌号、菜谱号、数量及日期。
结算信息:包括的数据项有:餐桌号、菜谱号、菜名、日期及金额。
2.2.2 数据库逻辑结构设计
用Microsoft ACSSESS 2003进行数据库系统设计。
序号 | 字段名 | 字段类型 | 字段大小 | 字段含义 |
1 | UserName | 文本 | 10 | 用户名 |
2 | UserPswd | 文本 | 15 | 口令 |
2 | UserType | 数字 | 整型 | 用户类型,0:系统管理员,1:普通用户 |
字段名称 | 数据类型 | 字段属性 | ||||
字段大小 | 描述 | 必填字段 | 索引 | 是否主键 | ||
Desk_code | 文本 | 50 | 餐桌号 | 是 | 无 | 否 |
Dish_code | 文本 | 50 | 菜谱号 | 是 | 无 | 否 |
Dish_num | 数字 | 整型 | 菜份数 | 是 | 无 | 否 |
AppendDate | 日期 | _ | 订菜时间 | 是 | 无 | 否 |
PayFor | 数字 | 整型 | 是否付款 | 是 | 无 | 否 |
2.3 程序实现
2.3.1 主窗口模块
主窗口及控件属性
ID | 成员变量 | 加函数 | |
IDC_SELECT_TAB | CTabCtrl | m_tabctrl | OnInitialUpdate//初始化标签 |
IDC_LIST_VIEW | CListCtrl | m_ListView | |
类名:CRMSView |
图7 订单管理窗口
表12 IDD_DIALOG_ORDER对话框中的主要控件
控制类型 | ID | 属性设置 |
Button | IDC_BUTTON_ADD | Caption设为“增加(&A)” |
Button | IDC_BUTTON_DELETE | Caption设为“删除(&D)” |
Button | IDC_BUTTON_MODIFY | Caption设为“修改(&M)” |
Button | IDC_BUTTON_CLEAR | Caption设为“清空(&c)” |
Static Text | 默认 | Caption设为“桌号” |
Static Text | 默认 | Caption设为“菜谱号” |
Static Text | 默认 | Caption设为“数量” |
Static Text | 默认 | Caption设为“日期” |
Edit Box | IDC_EDIT_DESKCODE | 默认 |
Edit Box | IDC_EDIT_DISHCODE | 默认 |
Edit Box | IDC_EDIT_NUM | 默认 |
Date Time Picker | IDC_DATETIMEPICKER_DATE | 默认 |
List Control | IDC_LIST_DISP | View选中Report |
Group Box | 默认 | Caption设为“操作” |
控 件 ID | 变 量 名 | 数据类型 |
IDC_EDIT_CODE | m_strCode | CString |
IDC_EDIT_NUM | m_strNum | CString |
IDC_EDIT_DESC | m_strDesc | CString |
IDC_COMBO_FREE | m_cbFree | CComboBox |
IDC_LIST_DISH | m_listDisp | CListCtrl |
图8 结算管理窗口
表14 IDD_DIALOG_PAY对话框中的主要控件
控件类型 | ID | 属性设置 |
Button | IDD_BUTTON_PAY | Caption设为“结算(&P)” |
Static Text | 默认 | Caption设为“桌号” |
Static Text | 默认 | Caption设为“菜谱号” |
Static Text | 默认 | Caption设为“菜名” |
Static Text | 默认 | Caption设为“金额” |
Static Text | 默认 | Caption设为“日期” |
Edit Box | IDD_EDIT_DESKCODE | 默认 |
Edit Box | IDD_EDIT_DISHCODE | 默认 |
Edit Box | IDD_EDIT_DISHNAME | 默认 |
Edit Box | IDD_EDIT_MONEY | 默认 |
Date Time Picker | IDD_DATETIMEPICKER_DATE | 默认 |
List Control | IDD_LIST_DISP | View选中Report |
Group Box | 默认 | Caption设为“结账信息” |
控 件 ID | 变 量 名 | 数据类型 |
IDC_EDIT_DESKCODE | m_strDeskCode | CString |
IDC_EDIT_DISHCODE | m_strDishCode | CString |
IDC_EDIT_DISHNAME | m_strDishName | CString |
IDC_EDIT_MONEY | m_strMoney | CString |
IDC_DATETIMEPICKER_DATE | m_Date | CTime |
IDC_LIST_DISP | m_listDisp | CListCtrl |
初步了解了系统的编程步骤,了解了数据库编程。这次设计运用了列表控件、图片控件等。对以后的学习有了更明确的目标。更重要的是了解到了C++的学习方法。但这次设计还有很多不成熟的地方,比如对代码的依赖性很大,自己的创意很少。在以后的学习中还需不断的深入。