酒店管理系统毕业设计_第1页
酒店管理系统毕业设计_第2页
酒店管理系统毕业设计_第3页
酒店管理系统毕业设计_第4页
酒店管理系统毕业设计_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

管理信息系统课程设计 1 河南工业职业技术学院河南工业职业技术学院 毕业设计任务书 类类 别 别 三年制高职 专专 业 业 软件技术 班班 级级 软件 1301 姓姓 名 名 高杰 毕业设计题目 毕业设计题目 酒店管理系统 指导教师姓名 指导教师姓名 姜燕 负责人签字 负责人签字 年年 月月 日日 管理信息系统课程设计 2 摘要 旅游和科技化的浪潮使得酒店和餐饮行业发展的如火如荼 如何以方便 快捷 经济 的方式来对该行业进行有效管理是一个重要问题 随着科学技术的不断提高 计算机科学 日渐成熟 在社会的各个领域并发挥着越来越重要的作用 也使得软件成了解决问题的有 效途径 酒店管理系统以方便 快捷 费用低的优点正慢慢地进入人们的生活 将传统的酒店 管理方式彻底的解脱出来 提高效率 减轻工人人员以往繁忙的工作 减小出错的概率 本系统从满足客户的需求角度出发 实现了酒店管理的基本流程 系统的主要功能包括前 台服务 后台管理 销售统计 系统安全 人员管理 初始化系统等等 用户在酒店消费 的时候所要等待的时间就会大大的减少 操作员能够很方便的对用户信息的登记和对用餐 状态的的管理 从而实现了酒店管理系统高效 准确的特点 本论文全面介绍了酒店管理系统设计的过程 系统是利用 MyEclipse 7 0 作为数据库 前端开发工具 SQL Server 2005 为后台数据库 主要采用 Windows XP Windows 7 作为操 作系统 采用 java 为开发语言 本着易实用性 扩展性 可移植性的原则 采用 c s 模式 开发 实现酒店管理信息化的发展需求 关键词 数据库 SQL Server2005 MyEclipse 7 0 酒店管理系统 管理信息系统课程设计 3 目目 录录 第一章第一章 系统概述系统概述 1 1 1 开发背景 1 1 2 开发语言简介 1 3 系统简介 第二章 可行性分析可行性分析 2 1 技术可行性 2 2 管理可行性 2 3 经济可行性 第三章第三章 系统需求分析系统需求分析 3 1 项目规划 3 2 系统功能结构 3 3 用例图设计 第四章第四章 系统设计与实现系统设计与实现 4 1 设计目标 4 2 开发运行环境 4 3 数据库设计 4 3 1 数据库表的概要 4 3 2 主要数据表结构 4 4 功能模块的实现 4 4 1 文件架构 4 4 2 登录和系统界面 4 4 3 数据库连接 4 4 3 前台服务模块 a 开台查看实现 b 点菜与签单实现 c 自动结账实现 管理信息系统课程设计 4 第五章第五章 总结总结 参考文献 第一章 系统概述 1 1开发背景 随着计算机技术的飞速发展 信息时代的到来 信息改变了我们 这个社会 各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化 酒店管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理 以现代化工具代替传统手工作业 无疑 使用网络信息化管理使酒店管理更先 进 更高效 更科学 信息交流更迅速 酒店管理系统是典型的信息管理系统的一部份 而且是必不可少的一部份 其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面 对于前者要求建立起简洁且资料一致性和完整性强 资料安全性好的数据库 而对于后者则要求应用程序功能完备 易使用等特点 酒店管理系统是酒店经营管理中不可缺少的部分 它的内容对于经营的决 策者和管理者来说都至关重要 所以客房管理系统 信息管理系统应该能够为用 户提供充足的信息和快捷的查询手段 但一直以来人们使用传统人工的方式管 理文件档案 这种管理方式存在着许多弊端 如 效率低 保密性差 容易出现 差错等 且对于查询维护等极为不方便 在当今时代 这些完全可以改用计算 机来代替人的手工操作 管理信息系统课程设计 5 作为计算机及网络应用的一部分 使用计算机对客房信息进行管理 具有手工 管理所无法比拟的优点 例如 检索迅速 查找方便 可靠性高 存储量大 保 密性好 寿命长 成本低等 这些优点能够极大地提高客房经营管理的效率 也是企业的科学化 正规化管理 与世界接轨的重要条件 且办事效率也是决 定收入的一个关键因素 因此 我们组决定选择酒店管理系统作为本人的毕业设计 力求开发出一 套界面友好 使用简单的适用于各中 小规模的酒店管理系统 1 2开发语言简介 Java 语言其实最早是诞生于 1991 年 sun 公司最初为一些消费性电子产 品而设计的一个通用环境 后来逐步完善广泛应用与 Internet 桌面系统等各 个领域 在开发方面具有以下优势 a 软件的需求分析 可将用户的需求进行动态的 可视化描述 以提供设 计者更加直观的要求 而用户的需求是各色各样 的 不受地区 行业部门 爱好 的影响 都可以用 Java 语言描述清楚 b 软件的开发方法 由于 Java 语言的面向目标的特性 所以完全可以用 O O 的技术与方法来开发 这是符合最新的软件开发规范要求的 c Java 语言的动画效果远比 GUI 技术更加逼真 尤其是利用 WWW 提供的 巨大动画资源空间 可以共享全世界的动态画面的 资源 软件产品用 java 语言开发的软件可以具有可视化 可听化 可操作化的效 果 这要比电视 电影的效果更为理想 因 为它可以做到 即时 交互 动画与动 作 要它停就停 要它继续就继续 而这是在电影与电视播放过程中难以做到 的 本系统在选择 java 语言原因之一它还具有其跨平台性 可移植性 安全性 健壮性 充分考虑跨系统平台和安全因素 这对于产品应用和市场化需求有很 大作用 1 3 系统简介 管理信息系统课程设计 6 现代化的酒店组织庞大 服务项目多 信息量大 要想提高劳动生产 降 低成本 提高服务质量和管理水平 进而促进经济效益 必须借助计算机来进 行现代化的信息管理 酒店管理系统正是为此而设计的 优秀的酒店客房管理 系统操作方便 灵活性好 系统安全性高 运行稳定 这也是我所设计本程序 的目的之一 本产品采用的 C S 模式开发 主要考虑界面的友好性 且运行于 客户端有效的降低服务器和客户端之间的运算量 节省了时间 本系统包括销 售统计 后台管理 人员管理 初始化系统 和系统安全 五个模块 并与 sql2005 数据库应用相结合 第二章 可行性分析 2 1 技术可行性 编写语言 采用 Java 语言进行编写 Java 是一种安全的 稳定的 简 单的 由 C 和 C 衍生出来的面向对象的编程语言 它在继承 C 和 C 强大功能 的同时去掉了一些它们的复杂特性 例如没有宏 和模版 不允许多重继承 Java 操作简单和运行效率高 以其强大的操作能力 优雅的语法风格 创新的 语言特性 编程的支持成为开发的首选语言 由于对 Java 技术比较熟练 对于 系统较为简单的 但基本功能较为完善的酒店管理系统来说是基本没有问题的 编程平台 编程平台采用 myeclicps7 0 它已被证明是一个极其强大和成 功的开发平台 其成熟稳定能够充分保证软件设计的顺利进行 数据库 数据库采用微软的 SQL Server 2005 虽然该数据库版本不是最 新的 但其工作稳定 功能强大 资源耗费较少 所以能够充分满足目前的需 要 以上所用技术都是成熟的 先进的 稳定的 因此 开发本系统在技术上 是可行的 2 2管理可行性 由于本系统功能比较简单 对于工作人员不存在太大难度 管理员权限 明确 系统管理员拥有维护数据库系统的权限 对数据库中的数据进行添加 删除 更新等操作界面友好简单可操作性强 因此 本系统在管理上是可行的 管理信息系统课程设计 7 在本系统的运营阶段 使用系统的工作人员 除了需要具备在 Windows 平 台上使用个人电脑的知识 并不需要特别的技术能力 本系统充分结合实际酒店中餐饮营销方式 操作实际易于接受 适用性强 在销售统计模块中分别对年 月 日销售模块进行全面统计 有利于改善优 化管理服务 2 3 经济可行性 经济上主要考虑本系统带来的效益是否大于开发本系统的成本 采用自动 化的信息管理减少了人员的使用 对信息进行充分统计 方便管理 为决策着 进行更好决策做出依据 提高经济效益 由于本系统的开发以课程设计为依托 参与人员的目的以学习为主 投入成本比较小 另外 系统管理员和业务员都拥 有计算机的专业知识 酒店前台工作人员和管理人员不需要经过培训即可操作本 软件 这样可以为开发本系统节升资金 减少后期资源浪费 因此 开发本系 统在经济是可行的 综上所述 开发本系统 在经济上 技术上 管理上都是可行的 8 第三章 系统需求分析 3 1 项目规划 通过项目组考察与调研 系统整理所有资料 并对这些资料从整体和局 部进行分析 最后决定在本系统中包含如下 6 大功能模块 前台服务 该模块主要包括开台点菜 维护菜品 签单 结账等功能 其 中维护菜品功能包括添加和取消菜品 能够取消菜品的前提条件是尚未签 单 即处于开单状态 结账时则要求所有商品都要签单 否则不允许结账 后台管理 该模块主要包括台号管理 菜系管理和菜品管理功能 其中菜 系用来对菜品进行分类 销售统计 该模块主要用来分段统计营业额 可以按日 月 年进行统计 其中日统计是按照消费单和销售的商品统计销售额 月统计是按照日期和 每日的销售额统计销售额 年统计是按照日期和月份统计销售额 系统安全 该模块主要包括交接班 锁定系统和修改密码功能 其中交接 班功能在操作员换岗时使用 锁定系统在操作员临时离开时使用 人员管理 该模块主要包括档案管理 管理员管理和操作权限管理功能 其中管理员管理功能用来管理系统的操作员 权限管理功能用来管理系统 操作员具有的操作权限 初始化系统 该功能用来对系统进行初始化 初始化后系统数据将全部被 删除 9 3 2系统功能结构 该介绍以超级管理员的角色从整理结构来介绍各个功能模块的使用方 法 首先进入登录界面用超级管理员权限登录 超级管理员拥有后台管 理 销售统计 系统安全 人员管理 前台管理 初始化系统权限 分 别可以对管理员赋予各种权限 并且对台号 菜品种类进行设定分类 还可以进行销售统计和初始化系统 初始化后系统数据将被全部删除 下图为整体功能 3 3 用例图设计 a 前台服务分析 10 开台点菜 前台服 务员 维护菜品 签单 结账 b 后台管理分析 管理 员 台号管理 菜品管理 c 销售统计 菜系管理 11 管理员 日销售统计 月销售统计 年销售统计 d 系统安全 管理员 交接班 锁定系统 修改密码 e 人员管理 12 高级管 理员 操作权限管理 档案管理 管理员管理 f 初始系统化 管理 员 初始化系统 13 第四章 系统设计与实现 4 1 设计目标 根据餐饮行业的特点和实际情况 本系统以餐饮业务为基础 突出前台管 理 重视营业数据分析等功能 从专业角度出发 努力为餐饮管理者提供科学 有效的管理模式和数据分析功能 力求开发出一款简单 使用的酒店管理系统 令其适合于众多餐饮企业的需求 同时该系统还要具有一定的人性化和智能化 的特点 以保证软件有易学易用的特点 界面设计还要简介大方 以便常用功 能的操作 4 2 开发运行环境 本系统运行时需要以下条件 硬件平台 cpu pentium 41 8GHz 内存 256MB 以上 操作系统 windows xp windows 2000 windows 2003 windows 7 数据库 Sql Server 2005 开发工具包 JDK Version1 6 4 3 数据库的设计 本系统的底层数据库采用的 sql server2005 数据库 系统数据库名称为 db DrinkeryManage 在数据库中共包含 7 个数据库表和三个视图 下面是对各 表的概要说明及具体及结构 4 3 1 数据库表的概要 该树形结构图显示了数据库系统的所有数据表 14 4 3 2主要数据表结构 tb desk 台号表 用于保存餐台信息 表结构如下所示 tb sort 菜系表 用于保存菜系信息 表结构如下所示 tb menu 菜品表 用于保存菜品信息 表结构如下所示 15 tb record 档案表 用于保存档案信息 表结构如下所示 tb manager 管理员表 用于保存系统管理员信息 表结构如下所示 tb order form 消费单表用于保存消费单信息 表结构如下所示 16 tb order item 消费项目表用于保存每个消费单具体包含的消费项目 信息 表结构如下所示 4 4 功能模块的实现 系统根据酒店管理中餐饮行业的特点 共有六个模块组成 在此本人将以 前台服务模块为例 详细的阐述系统实现的主要思想 和设计逻辑 4 4 1 文件架构 写代码之前 通常将系统的文件夹架构做一整体规划 主要目的对文 件进行分类管理 以便在开发和维护中迅速查找 同时也对系统起到 分层作用 以文件架构为基础 整体设计出功能架构图 如下所示 17 4 4 2 登录和系统界面 采用 swing 技术设计出登陆窗体 主要有登录名框 密码框 和两个 按钮组成 界面友好简洁 系统主窗体设计以容器 面板方式嵌套组合 主要本着简单易懂 界 面友好为原则 充分体现操作性实用性的特点 18 4 4 3 数据库连接 采用 myeclicps 和 sqlserver2005 的连接方式 在使用数据库之前应注意 以下问题 安装数据库驱动应为 1 2 版本以上 而且要确保 TCP IP 端口协议开 启 创建 5 个私有静态变量加载和连接数据库 其中 threadlocal 用来保存已经创 建的数据库连接 private static final String DRIVERCLASS com microsoft sqlserver jdbc SQLServerDriver private static final String URL jdbc sqlserver 127 0 0 1 1433 DatabaseName db DrinkeryManage private static final String USERNAME sa private static final String PASSWORD sa 此处为加载数据库驱动 private static final ThreadLocal threadLocal new ThreadLocal static 在静态代码块中加载数据库驱动 try 19 Class forName DRIVERCLASS newInstance 加载数据库驱动 catch Exception e e printStackTrace 此处连接数据库方法 public static Connection getConnection 创建数据库连接的方法 Connection conn threadLocal get 从线程中获得数据库连接 if conn null 没有可用的数据库连接 try conn DriverManager getConnection URL USERNAME PASSWORD 创建新的数据库连接 threadLocal set conn 将数据库连接保存到线程中 catch SQLException e e printStackTrace return conn 返回数据库连接 此处为关闭数据库 public static boolean closeConnection 关闭数据库连接的方法 boolean isClosed true 默认关闭成功 Connection conn threadLocal get 从线程中获得数据库连接 if conn null 数据库连接可用 threadLocal set null 清空线程中的数据库连接 try conn close 关闭数据库连接 catch SQLException e isClosed false 关闭失败 e printStackTrace return isClosed 返回关闭结果 4 4 3 前台服务模块 前台服务模块主要分为 开台签单 点菜签单 自动结账功能 以 人性化 简易化为原则 增加了系统的可操作性 例如 开台点菜功能中有助 20 记码可方便前台进行快捷输入菜品名称 如红烧肉助记码为 hsr 输入一个或 全部字母即可出来菜品名 用自动结帐功能系统可自动显示应付金额和要找金 额 从而避免因忙碌和繁杂的事物和数据造成的过失 a 开台查看实现 在客户需要服务时选中所开台号 然后点开单即可进行点菜等服务操作 主窗体上部显示签单列表 开台列表 分别对台号 和账单进行显示 在主界 面中图示如下 当在 台号 下拉框中选中已经开台的台号时 开台列表中该台号所在的行 也将被选中 同时在签单列表中将列出该餐台消费的所有项目 效果如上图所 示 如果在 台号 下拉框中选中尚未开台的台号时 在开台列表中将不选中任 何行 并且在签单列表中将没有任何项目 实现 台号 代码如下 final JLabel numLabel new JLabel 创建 台号 标签 numLabel setText 台号 设置标签文本 orderDishesPanel add numLabel numComboBox new JComboBox 创建台号选择框 numComboBox setNextFocusableComponent codeTextField 设置下一个 将要获得焦点的组件 initNumComboBox 初始化台号选择框 numComboBox addActionListener new ActionListener public void actionPerformed ActionEvent e int rowCount rightTable getRowCount 获得已开台数 21 if rowCount 0 没有开台 return 不执行任何操作 Object selectedDeskNum numComboBox getSelectedItem 获得 台号 选择框中的选中项 int needSelectedRow 1 默认选中的台号未开台 for int row 0 row rowCount row 查看选中的台号是否已经开台 if selectedDeskNum equals rightTable getValueAt row 1 已经开台 needSelectedRow row 保存其在 开台列表 中的所 在行 break 跳出循环 if needSelectedRow 1 选中的台号尚未开台 即将要开台 rightTable clearSelection 取消选择 开台列表 中的选中 行 leftTableDataV removeAllElements 清空 签单列表 中的所有行 leftTableModel setDataVector leftTableDataV leftTableColumnV 刷新 签单列表 表格模型的数 据 else 选中的台号已经开台 即将要添加消费项目 rightTable setRowSelectionInterval needSelectedRow 在 开台列表 中选中该台号 leftTableDataV removeAllElements 清空 签单列表 中的现有项目 leftTableDataV addAll itemOfDeskV get needSelectedRow 向 签 单列表 添加新选中餐台的消费项目 leftTableModel setDataVector leftTableDataV leftTableColumnV 刷新 签单列表 表格模型的数 据 leftTable setRowSelectionInterval 0 选中 签单列 表 中的第一行 b 点菜与签单实现 22 选中要点的餐台后即可进行点菜 系统支持两种方式点菜 一种是通过 菜品的 记助码 这种样式的优点在于快速获取菜品名称 另一种方式通过菜 品的编号输入后自动显示菜品名到商品名称框里 其系统图中显示如下所示 获取菜品功能是通过文本框添加键盘事件监听器实现的 代码如下 codeTextField addKeyListener new KeyAdapter public void keyTyped KeyEvent e 通过键盘监听器实现控制文本 框的输入内容 if abcdefghijklmnopqrstuvwxyz0123456789 indexOf e getKeyChar 0 确认输入了内容 if codeRadioButton isSelected 按助记码查询 Vector menusV dao sMenuByCode input 查 询符合条件的菜品 if menusV size 0 存在符合条件的菜品 menuV Vector menusV get 0 获得第一 个符合条件的菜品 menuV remove 0 移除菜品的序号 23 else 按编号查询 if input length 9 确认编号是否为9位 menuV dao sMenuByNum input 查询符合条 件的菜品 if menuV null 不存在符合条件的菜品 nameTextField setText null 设置 商品名称 文本框 为空 unitTextField setText null 设置 单位 文本框为空 priceTextField setText null 设置 单价 文本框为 空 else 存在符合条件的菜品 nameTextField setText menuV get 2 toString 设置 商品名称 文本 框为符合条件的菜品名称 unitTextField setText menuV get 4 toString 设置 单位 文本框为 符合条件的菜品单位 priceTextField setText menuV get 5 toString 设置 单价 文本框 为符合条件的菜品单价 orderDishesPanel add codeTextField 注解 consume 该方法用于销毁此次事件 如果此次事件是向一个文本框中输入一个字符 则取消次输入 e getKeyCode KeyEventVK ENTER 该段代码用来判断此处事件是用户按下 Enter 键 触发的 如果是则返回 true 否则返回 false 默认情况下点才数量为 1 如果不需要修改点菜数量 通过菜品助记码或编号 获得菜品后直接单击回车就开单成功从而方面用户操作 24 确定多点菜品和数量后 也可以通过单击 开单 按钮完成开单工作 签单 列表中的新开单菜品前会有一个 NEW 标记 确定消费 签单列表 中所有菜品后 需要单击 签单 按钮取消所有菜品 前所有菜品的 NEW 标记实现 签单 c 自动结账实现 该功能自动计算 签单列表 中消费金额 在 实收金额 文本框中输入已 收金额 系统自动计算应找金额 避免因忙碌繁杂而引起的错误结算 在结账之前一定要确保所有菜品已经签单 否则将弹出提示信息 并且要保 证实收金额不小于消费金额 实现结账代码如下 final JButton checkOutButton new JButton checkOutButton setText 结 账 checkOutButton addActionListener new ActionListener public void actionPerformed ActionEvent e int selectedRow rightTable getSelectedRow if selectedRow 0 未选中任何餐台 JOptionPane showMessageDialog null 请选择要结账的餐 台 友情提示 JOptionPane INFORMATION MESSAGE 弹出提示 return int rowCount leftTable getRowCount 获得结账餐台的点 菜数量 if leftTable getValueAt rowCount 1 0 equals NEW 存在未签单菜品 JOptionPane showMessageDialog null 请先确定未签单商 品的处理方式 友情提示 JOptionPane INFORMATION MESSAGE 弹出提示 return int expenditure Integer valueOf expenditureTextField getText 获得消费金额 int realWages Integer valueOf realWagesTextField getText 获得实收金额 if realWages expenditure 查看实收金额是否小于消费金 25 额 if realWages 0 未输入实收金额 JOptionPane showMessageDialog null 请输入实收金 额 友情提示 JOptionPane INFORMATION MESSAGE 弹出提 示 else 实收金额小于消费金额 JOptionPane showMessageDialog null 实收金额不能 小于消费金额 友情提示 JOptionPane INFORMATION MESSAGE 弹出提示 realWagesTextField requestFocus 为 实收金额 文本 框请求获得焦点 return changeTextField setText realWages expenditure 计算并设置 找零金额 String orderFormData getNum rightTable getValueAt selectedRow 1 toString Today getDate rightTable getValueAt selectedRow 2 expenditureTextField getText TipWizardFrame this managerV get 0 toString 组织消费单信息 dao iOrderForm orderFormD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论