酒店管理系统报告_第1页
酒店管理系统报告_第2页
酒店管理系统报告_第3页
酒店管理系统报告_第4页
酒店管理系统报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

沈沈 阳阳 工工 程程 学学 院院 课 程 设 计 设计题目 设计题目 Java 程序设计课程设计程序设计课程设计 酒店管理系统酒店管理系统 系系 别别 信息工程系信息工程系 班级班级 计专本计专本 101 学生姓名学生姓名 杜黎明杜黎明 温周洋温周洋 胡金龙胡金龙 郭潇阳郭潇阳 学号学号 20 18 24 29 号号 指导教师指导教师 杨弘平 费雅洁杨弘平 费雅洁 职称职称 副教授 教授副教授 教授 起止日期 起止日期 2011 年年 6 月月 13 日起日起 至至 2011 年年 6 月月 25 日止日止 II 沈 阳 工 程 学 院 课程设计任务书 课程设计题目 课程设计题目 Java 程序设计课程设计程序设计课程设计 酒店管理系统酒店管理系统 系系 别别 信息工程系信息工程系 班级班级 计专本计专本 101 学生姓名学生姓名 杜黎明杜黎明 温周洋温周洋 胡金龙胡金龙 郭潇阳郭潇阳 学号学号 20 18 24 29 号号 指导教师指导教师 杨弘平 费雅洁杨弘平 费雅洁 职称职称 副教授 教授副教授 教授 课程设计进行地点 课程设计进行地点 实训实训 F 任任 务务 下下 达达 时时 间 间 2011 年年 6 月月 13 日日 起止日期 起止日期 2011 年年 6 月月 13 日起日起 至至 2011 年年 6 月月 25 日止日止 教教研研室室主主任任 杨杨弘弘平平 2011年 年 6 月月 12 日批准日批准 1 设计的原始资料及依据 通过课程设计使学生进一步加深对课程内容的理解 利用程序设计的基本思想进行程序 的开发 进一步掌握编程方法和技巧 提高学生用程序的思想来解决实际问题的能力 2 设计的主要内容及要求 本小组设计题目 酒店管理管理系统 需要完成的功能 前台服务 开台点菜 添加菜品 结账 后台管理 维护台号 维护菜系 维护菜品 结账报表 日结账报表 月结账报表 年结账报表 系统安全 修改密码 用户管理 数据库的创建 登陆界面 3 对设计说明书撰写内容 格式 字数的要求 学生应撰写的内容为 中文摘要和关键词 目录 正文 参考文献等 课程设计说 明书 论文 的结构及各部分内容要求可参照 沈阳工程学院毕业设计 论文 撰写规范 执行 应做到文理通顺 内容正确完整 书写工整 装订整齐 装订格式 封面 任务书 成绩评审意见表 摘要和关键词 目录 正文 结论 致谢 参考文献 课程设计说明书 论文 是体现和总结课程设计成果的载体 一般不应少于 3000 字 打印时采用 A4 纸 页边距均为 20mm 正文采用宋体小四号字 行间距 18 磅 文中大标题 采用黑体小三号字 一级节标题采用黑体四号字 二级节标题采用黑体小四号字 三级节标 题采用黑体小四号字 表题与图题采用宋体五号字 4 设计完成后应提交成果的种类 数量 质量等方面的要求 课程设计任务书 课程设计报告 设计成品 光盘 5 时间进度安排 顺序阶段日期计 划 完 成 内 容备注 1第 16 周第 1 天查阅资料 充分解读题目内容 小组分工 确 定每个人的具体任务 1 天 2第 16 周第 2 天数据库设计及登陆界面的实现 1 天 3第 16 周第 3 4 5 天 第 17 周第 1 天 编制程序 单元测试 4 天 4第 17 周第 2 3 天程序整合 综合调试 2 天 5第 17 周第 4 天答辩 1 天 6第 17 周第 5 天撰写课程设计报告 1 天 6 主要参考资料 文献 1 耿祥义 JAVA2 实用教程 北京 清华大学出版社 2006 2 朱仲杰 JAVA2 全方位学习 北京 机械工业出版社 2006 IV 3 张思民 JAVA 程序设计实践教程 北京 清华大学出版社 2006 4 汤一平 Java 语言程序设计 北京 科学出版社 2006 5 刘艺 Java 程序设计大学教程 北京 机械工业出版社 2006 6 耿祥义 Java 课程设计 北京 清华大学出版社 2003 7 Sharon Zakhour Java 教程 北京 人民邮电出版社 2007 V 沈阳工程学院沈阳工程学院 课程设计成绩评定表课程设计成绩评定表 系 部 系 部 信息工程系信息工程系 班级 班级 计专本计专本101101 学生姓名 学生姓名 杜黎明 温周洋 胡金龙 郭潇阳杜黎明 温周洋 胡金龙 郭潇阳 指指 导导 教教 师师 评评 审审 意意 见见 评价内容具 体 要 求权重评 分加权分 调研 论证 能独立查阅文献 收集资料 能制定课程设计 方案和日程安排 0 15 54 43 32 2 工作能力 态度 工作态度认真 遵守纪律 出勤情况是否良好 能够独立完成设计工作 0 25 54 43 32 2 工作量 按期圆满完成规定的设计任务 工作量饱满 难度适宜 0 25 54 43 32 2 说明书的 质量 说明书立论正确 论述充分 结论严谨合理 文字通顺 技术用语准确 符号统一 编号齐 全 图表完备 书写工整规范 0 55 54 43 32 2 指导教师评审成绩指导教师评审成绩 加权分合计乘以 加权分合计乘以 8 8 分分加权分合计加权分合计 指指 导导 教教 师师 签签 名 名 年年 月月 日日 评评 阅阅 教教 师师 评评 审审 意意 见见 评价内容具 体 要 求权重评 分加权分 查阅 文献 查阅文献有一定广泛性 有综合归纳资料的能 力 0 25 54 43 32 2 工作量工作量饱满 难度适中 0 55 54 43 32 2 说明书的 质量 说明书立论正确 论述充分 结论严谨合理 文字通顺 技术用语准确 符号统一 编号齐 全 图表完备 书写工整规范 0 35 54 43 32 2 评阅教师评审成绩评阅教师评审成绩 加权分合计乘以 加权分合计乘以 4 4 分分加权分合计加权分合计 评评 阅阅 教教 师师 签签 名 名 年年 月月 日日 答答 辩辩 小小 组组 评评 审审 意意 见见 评价内容具 体 要 求权重评 分加权分 学生汇报 汇报准备充分 思路清晰 语言表达准确 概 念清楚 论点正确 有层次 有重点 基本上 反映了所完成任务的全部内容 时间符合要求 0 55 54 43 32 2 答 辩 思路清晰 回答问题有理论依据 基本概念清 楚 主要问题回答准确 深入 有说服力 0 55 54 43 32 2 答辩小组评审成绩答辩小组评审成绩 加权分合计乘以 加权分合计乘以 8 8 分分加权分合计加权分合计 答辩小组教师签名 答辩小组教师签名 年年 月月 日日 课课 程程 设设 计计 总总 评评 成成 绩绩分分 摘 要 随着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已被人们深刻认识 它 已进入人类社会的各个领域并发挥着越来越重要的作用 作为计算机应用的一部分 使用计 算机对酒店进行管理 具有手工管理无法比拟的优点 例如 检索迅速 查找方便 可靠性 高 存储量大 保密性好 成本低等 这些优点能够极大地提高酒店管理的效率 也是酒店 的科学化 正规化管理和与世界接轨的重要条件 因此 开发这样一套酒店管理系统已成为 很有必要的事情 JAVA是一门很优秀的编程语言 具有面向对象 与平台无关 安全 稳定和多线程等 特点 是目前软件设计中极为健壮的编程语言 JAVA不仅可以用来开发大型的应用程序 而且特别适合Internet的应用开发 JAVA确实具备 一次写成 处处运行 的特点 JAVA 以成为网络时代最重要的编程语言之一 本报告中介绍了用JAVA语言实现酒店管理系统的 全部过程 本次课程设计是配合JAVA程序设计课程 帮助学生深入学习掌握JAVA语言 熟练运用 这个工具来编写的 通过课程设计各个项目的综合训练 培养学生实际分析问题 编程和动 手能力 提高学生的综合素质 本课程设计尝试使用一些较生动的示例和设计项目 激发学 生学习兴趣 引导学生主动学习 正确理解 接受需要重点掌握的知识点 为参加项目开发 及更深入学习做好准备 本次课程设计主要是用 JAVA 和 MySQL 数据库实现酒店管理系统 其系统主要完成以 下功能模块 前台服务 主要实现开台点菜 添加菜品和结账 后台管理 主要实现台号维 护 菜系维护 菜品维护 结账报表 主要实现日结账报表 月结账报表和年结账报表 系 统安全 主要实现修改密码以及用户管理 另外还有数据库的创建 登陆界面 关键词 酒店管理系统 JAVA MySQL 沈阳工程学院课程设计报告 目 录 VII 目 录 摘 要 I 第 1 章 绪 论 1 第 2 章 系统功能介绍 2 2 1 系统功能总框图 2 2 2 模块功能介绍 2 2 2 1 用户登录模块介绍 2 2 2 2 前台服务功能介绍 3 2 2 3 后台服务模块介绍 3 2 2 4 结账报表模块介绍 5 2 2 5 系统安全模块介绍 7 2 3 组内任务分工 8 第 3 章 数据库设计 10 第 4 章 系统功能实现 14 4 1 公共模块设计 14 4 1 1 编写数据库连接类 14 4 2 登陆模块设计 14 4 3 前台服务模块设计 15 4 4 后台管理模块设计 17 4 4 1 菜系管理 17 4 4 2 菜品管理 18 4 4 3 台号管理 18 4 5 结账报表模块设计 19 4 5 1 结账报表工作区技术分析 19 4 5 2 日结账报表工作区的实现过程 20 4 5 3 月结账报表工作区的实现过程 21 4 5 4 年结账报表工作区的实现过程 23 4 6 系统安全模块设计 24 结 论 26 致 谢 27 参考文献 28 第 1 章 绪 论 世界的发展 社会的进步 人们的物质生活和精神生活都得到了很大的飞跃 人们以前 的意识里就是所谓的人工管理 可是人类在进步 国家在进步 世界在进步 那么必然会带 来新的产物 由前一个阶段向后一阶段过度 随着电子电子计算机技术的进步 为各行各业 的自动化管理打开了方便之门 在新的条件下 有必要实现酒店的自动化管理 提高酒店工 作人员的效率 本系统从对酒店的核心业务 前台服务出发 着眼于为酒店管理创造自动 化的办公环境而开发 在计算机飞速发展的今天 将计算机这一信息处理利器应用于酒店的日常管理已是势 必所然 而且这也将为酒店管理带来前所未有的改变 它可以带来意想不到的效益 同时也 会为酒店的飞速发展提供无限潜力 采用计算机管理信息系统已成为企业 酒店管理科学化 和现代化的重要标志 它给酒店管理带来了明显的经济效益和社会效益 主要体现在 极大 的提高了管理人员和工作人员的工作效率 大大减少了以往入出存流程繁琐 杂乱 周期长 的弊端 减少的出错率 更大程度避免了不必要的误差 使酒店管理正规化 标准化 社会 化 基于酒店管理的全面自动化 可以减少前台服务 后台管理及结账报表管理中的漏洞 可以节约不少管理开支 增加企业收入 这样可使酒店有更大的发展空间 被人们和社会所 认同 在社会上有它的位置和地位 对于前台服务的操作自动化和信息化 全面提高了公司 管理的水平 让工作人员很容易的实现开台 点菜以及结账的查询和管理 对于报表结算的 管理 更明确和准确化 既保证了酒店日常运营的准确 又利于管理者进行统计和查询 对 于后台管理 很方便的提供台号 菜系以及菜品的添加删除 可以方便的对酒店的运营进行 管理 具体信息的处理有强大的数据库做后盾 它里面保存大量且重要的信息 实现了酒店 管理的数据化 因为现在可以说是数据的时代 其实就是所谓的信息时代 随着我国改革开放的不断深入 经济飞速的发展 酒店要想生存 发展 要想在激烈 的市场竞争中立于不败之地 没有现代化的管理是万万不行的 酒店管理的全面自动化 信 息化则是其中极其重要的部分 为了酒店管理自动化的步伐 提高酒店管理业务处理效率 建酒店管理系统已变得十分重要 酒店管理已经成为现在的发展趋势 目前为止 酒店采用自动化管理的很少 还有大部 分采用人工管理 不过就是比较正规化 改善了以前的人工管理的部分缺点 可是在很大程 度上并没有解决问题 因为社会目前的发展对它们的要求仅限于此 但是就目前的社会发展 趋势看 社会在不断的发展 而且向全面自动话靠拢 那么酒店管理系统就将成为一大亮点 是社会发展的必然产物 因此开发一个标准化的酒店管理系统是很有必要的 而且 JAVA 是 一种面向对象的 无平台的编程语言 具有很大的发展空间 用它编写酒店管理系统可以更 体现出酒店管理的优势 第 2 章 系统功能介绍 2 1 系统功能总框图 酒店管理系统的功能结构图如图 2 1 所示 酒店管理系统 前台服务后台服务结账报表系统安全 开 台 点 菜 智 能 化 获 取 菜 品 自 动 结 账 台 号 管 理 菜 系 管 理 菜 品 管 理 日 结 账 报 表 月 结 账 报 表 年 结 账 报 表 修 改 密 码 用 户 管 理 图 2 1 酒店管理系统功能模块 2 2 模块功能介绍 2 2 1 用户登录模块介绍 用户登录模块是每个软件应用软件都不可或缺的部分 其主要功能是保证用户数据安全 同 时用户登录窗口也是用户看到的第一个系统界面 因此 一个设计优秀的用户登录窗口 将 有效的提高用户对系统的第一印象 本系统的用户登录界面如图 2 2 所示 用户登录窗口的设计优秀与否 主要包括以下几个方面 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 X 图 2 2 用户登录界面 2 2 2 前台服务功能介绍 酒店管理系统的主窗体效果如图 2 2 所示 窗体的中间部分用来显示当前的开台点菜信 息 窗体的下方用来操作该系统 例如开台点菜 自动结账 台号 菜系管理 营业报表等 单击图 2 2 中右下方的 菜品管理 按钮 将打开菜品管理对话框 该对话框用来维护 菜品信息 包括名称 助记码 菜系 单位和单价 其中助记码用来在点菜时快速获取菜品 信息 建议设置为菜品名称的首字母 例如将菜品 红烧牛肉面 的助记码为 hsnrm 同理单击图 2 2 中右下方的菜系管理 台号管理将分别显示所对应的菜系管理对话框和台号 管理对话框 单击图 2 2 中右下方的 日结账 按钮 将打开 日结账 对话框 该对话框用来统计 指定日期的销售情况 包括日营业额和各个商品的日营业额 同理单击 月结账 年结账 按钮 将分别显示出对应的 月结账 年结账 对话框 图 2 2 酒店管理系统主窗体 2 2 3 后台服务模块介绍 本系统的后台服务模块包含有 3 个小模块 分别为菜品管理 菜系管理和台号管理 每 个小模块又分为若干功能 后台管理模块如图 2 3 所示 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XI 图 2 3 后台管理模块 菜品管理是对整个酒店的菜单进行的管理 所提供的功能包括菜品的查询 添加和删除 功能 其中菜品的查询功能为系统自动查询 并且在添加或者删除菜品后自动刷新真个菜品 表 并把信息重新显示在表单中 如图 2 4 所示 图 2 4 菜品管理 菜系管理模块包括了对整个酒店所有菜系的查询 添加和删除功能 同时菜系的查询功 能为自动查询 如图 2 5 所示 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XII 图2 5 菜系管理 台号管理包含的功能有台号的查询 添加和修改功能 如图 2 6 所示 图2 6 台号管理 2 2 4 结账报表模块介绍 本系统提供提供了三种方式的结账报表 分别是日结帐号报表 月结账报表和年结账报 表 在结账报表的工作区中提供了打开这三种结账 功能的按钮 如图 2 7 所示 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XIII 图 2 7 结账报表工作区 日结账功能提供了对一日营业情况的统计 包括日开台数 各个餐台的消费金额 菜品 的消费情况 各个菜品的日销售情况 以及日营业额等 如图 2 8 所示 图 2 8 日结账报表 月结帐报表功能提供对一个月营业情况情况的统计 包括日开台总数 日总营业额 日 开台的平均消费额 日开台的最大和最小消费额 以及当月的总开台数 月总营业额 以及 一个月中的日平均营业额 一月中开台的最大和最小消费额 如图 2 9 所示 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XIV 图 2 9 月结账报表 年结账报表功能提供了对一年营业情况的统计 包括一年中每天的营业额 每月的营业 额 每月同一日的总营业额 以及一年的营业额 如图 2 10 所示 图 2 10 年结账报表 2 2 5 系统安全模块介绍 在本模块里所实现的三种功能分别是 修改密码 用户管理和推出系统 在系统安全工 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XV 作区提供了这三种功能的按钮 如果所示 图 2 6 系统安全工作区 修改密码功能是对旧密码的修改 如图所示 图 2 7 修改密码功能 用户管理功能提供了对用户和管理员的查询 添加 修改和删除的实现 图 2 8 用户管理功能 沈阳工程学院课程设计报告 第 2 章 系统功能介 绍 XVI 2 3 组内任务分工 组内分工如表 2 1 所示 表 2 1 组内分工表 全体成员 任务 组长学号 20 姓名 杜黎明 学号 18 姓名 温周洋 学号 24 姓名 胡金龙 学号 29 姓名 郭潇阳 数据库设计 登陆界面设计 前台服务模块设计 后台服务模块设计 结账报表模块设计 系统安全模块设计 程序测试 第第 3 章章 数据库设计数据库设计 在开发应用程序时 对数据库的操作时必不可少的 而一个数据库的设计优秀与否 将 直接影响到开发进度和性能 所以对数据库的设计就显得尤为重要 数据库的设计要根据程 序的需求及其功能制定 如果在开发软件之前不能很好的设计数据库 在开发过程中将反复 修改数据库 必将严重影响到开发进度 3 1 数据库需求分析 酒店管理系统的需求包括开台点菜功能 智能化获取菜品功能 自动结账功能 营业额 报表共跟功能等 在这些功能设计到的数据表包括台号表 菜品表 消费单表 为了使系统 更加完美 还需要为菜品分类 即需要用到菜系表 为了实现菜品的日销售情况统计 还需 要建立一个消费项目表 用来记录消费单消费的菜品 3 2 数据库概念结构设计 数据库设计是系统设计过程中的重要组成部分 它通过管理系统的整体的整体需求而指 定的 数据库设计的好坏直接影响到系统的后期开发 下面对本系统中具有代表性的数据库 设计进行详细说明 餐台和菜系在本系统中最简单的实体 在本系统中用来描述餐台信息的只有台号和座位 数 而描述菜系的主要是名称 餐台信息表的 E R 图如图 3 1 所示 菜系信息表的 E R 图如 图 3 2 所示 餐台 台号座位数 菜系 序号名称 图 3 1 餐台信息表 E R 图 图 3 2 菜系信息表 E R 图 在描述菜品尸体时 加入了助记码 目的是为了实现智能化获取菜品功能 通过这一功 能系统操作员可以快速获取顾客所点的菜品信息 菜品信息表的 E R 图如图 3 3 所示 图 3 3 菜品信息表 E R 图 沈阳工程学院课程设计报告 第 3 章 数据库设计 XVIII 消费单用来记录每次消费的相关信息 例如消费时使用的餐台 开台时间 消费金额等 消费单信息表 E R 图如图 3 4 所示 图 3 4 消费单信息表 E R 图 消费项目用来记录每个消费单消费的菜品 记录的主要信息由所属消费单 消费菜品的 名称 消费数量 消费额 消费项目信息表的 E R 图如图 3 5 所示 图 3 5 消费项目信息表 E R 图 将各个实体 E R 图进行合并后即可得到整个系统的整体 E R 图如图 3 6 所示 图 3 6 系统整体 E R 图 3 3 数据库表的设计 针对本系统的特点 在对所搜集的数据进行规范化之后 定义了如下六张表格 分别是 沈阳工程学院课程设计报告 第 3 章 数据库设计 XIX 用户信息表 餐台表 菜品表 菜系表 消费单表 消费项目表 通过对这六张表格的操作 可以较好地完成系统设计的各项功能 六张表格之间有着不同程度的联系 表 3 1 用户信息表 user 字段名称数据类型长 度备 注 loginNamevarchar21用户登录名 做主键 loginPasswordvarchar21用户登录密码 typechar1用户类型 namevarchar21用户姓名 sexchar2用户性别 ageint用户年龄 telvarchar20用户电话 createTimetimestamp创建用户时间 表 3 2 餐台表 desk 字段名称数据类型长 度备 注 idvarchar8餐台号 做主键 countint座位数量 表 3 3 菜品表 menu 字段名称数据类型长 度备 注 idvarchar8菜品编号 做主键 sortIdint菜系编号 与菜系表中 菜系编号外键关联 namevarchar30菜品名称 codevarchar10菜品助记码 unitvarchar4菜品单位 unitPricefloat菜品单价 表 3 4 消费项目表 orderItem 字段名称数据类型长 度备 注 idint消费项目编号 做主 键 orderFormIdvarchar15消费单编号 与消费 单中消费单编号外键 关联 menuIdvarchar10菜品编号 与菜品表 中菜品编号外键关联 amountint消费数量 沈阳工程学院课程设计报告 第 3 章 数据库设计 XX totalfloat消费额 表 3 5 菜系表 sort 字段名称数据类型长 度备 注 idint菜系编号 做主键 namevarchar50菜系名称 表 3 6 消费单表 orderForm 字段名称数据类型长 度备 注 idvarchar15消费单编号 做主键 deskIdvarchar8餐台编号 与餐台表餐 台编号外键关联 dateTimetime开台时间 moneyfloat消费金额 userIdvarchar21操作用户 第第 4 章章 系统功能实现系统功能实现 4 1 公共模块设计 4 1 1 编写数据库连接类 数据库连接类负责加载数据库驱动程序 以及创建和关闭数据库连接 为了最大程度的 应用每个已经创建的数据库连接 首先在数据库连接类中编写加载数据库驱动程序的代码 通常情况下将其放在静态代码 块中 这样的好处是只要该类第一次被加载时执行加载数据库启动的动作 避免了反复加载 数据库驱动程序 从而提高了软件的性能 具体代码如下 static try Class forName com mysql jdbc Driver catch Exception e e printStackTrace 然后编写用来创建和关闭数据库连接的方法 这里将定义两个方法 一个用于创建数据 库的连接 一个用与将数据库连接关闭 具体代码如下 public Connection getConnection throws SQLException ClassNotFoundException conn DriverManager getConnection jdbc mysql localhost 3306 db Manager root root return conn public void close All Connection conn Statement stmt ResultSet rs try if rs null rs close else if stmt null stmt close else if conn null conn close catch SQLException ex e printStackTrace 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXII 4 2 登陆模块设计 用户登录模块是用户使用软件时看到的第一个系统界面 因此对于用户登录界面的设计 需要美观大方 本系统的开发工具是使用 NetBeans7 0 首先创建用于用户登陆界面的窗体 为窗体设置标题 大小等信息 并添加一个分层窗体 然后将一个 JLabel 对象设置成整个 窗体的最底层 并为其设置背景图片 为了达到整个窗体美观的效果 在设计过程中 将界面的按钮也同样添加图片背景 在 用户第一次使用本系统时 数据库中将不存在系统管理员 在这种情况下 系统提供一个默 认的用户供用户登录后添加其他用户 在用户使用系统时 填写完用户名和密码后点击登录 按钮 或者单击键盘的确定键时 系统通过检测用户名和密码合法后即可登录本系统 实现 登录的具体代码如下 private void mouseLogin java awt event MouseEvent evt GEN FIRST event mouseLogin 鼠标点击登录 this check GEN LAST event mouseLogin private void KeyLogin java awt event KeyEvent evt GEN FIRST event KeyLogin System out println evt getKeyChar if evt getKeyCode KeyEvent VK ENTER this check GEN LAST event KeyLogin public void check String name password name jTextField1 getText username name password String valueOf jPasswordField1 getPassword if name split length 1 javax swing JOptionPane showMessageDialog this 违法的用户名 警告 JOptionPane WARNING MESSAGE LoginData ld new LoginData if ld check name password this dispose new MainFrame showFrame else javax swing JOptionPane showMessageDialog this 用户名或者密码错误 n t 请从新输入 警告 JOptionPane WARNING MESSAGE 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXIII 4 3 前台服务模块设计 开台签单工作区是本系统最常用的工作区如图 4 1 所示 所以需要将该工作区设计的更 加人性化和智能化 例如 在获取欲添加的菜品时 既可以通过菜品编号获得 又可以通过 才频频助记码获得 并且菜品的默认数量为一个等 图 4 1 开台签单工作区 在开台签单工作区设计中 首先为 台号 下拉列表框添加事件监听器 用来处理开台 或点菜的相关信息 如果选中的台号尚未开台 则取消 开台列表 中的选定行 并清空 签单列表 中的所有行 如果选中的台号已经开台 并且在 开台列表 中尚未选中 则 选中 开台列表 中的该台号 并刷新 签单列表 中的菜品信息 既显示为当前选中台号 所点的菜品 然后开发智能化获取菜品功能 通过为文本框添加键盘事件监听器实现 当用户在文本 框进行输入时 同时判断输入的是商品编号 还是商品助记码 并按指定条件查询符合条件 的菜品 如果存在符合条件的菜品 则获取第一个符合条件的菜品 并显示菜品的名称和单 位 负责将菜品名称和单位设置为空 具体代码如下 String input jTextField2 getText trim Vector vector null if input length 0 if jRadioButton2 isSelected getMenuName gmn new getMenuName vector gmn returnName input if vector size 0 vector Vector vector get 0 else vector null else if jRadioButton1 isSelected 按编号查询 getMenuName gmn new getMenuName vector gmn returnNameById input if vector size 0 vector Vector vector get 0 在新添加的菜品的前方唯有一个 NEW 标记 确定点菜结束后单击 签单 按钮 将取 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXIV 消所有新添加菜品前方的 NEW 标记 在未取消 NEW 标记的情况下合约选中后单击 取消 按钮取消该菜品 如果该餐台只点了该菜品 取消该菜品后同时取消该餐台的开台信息 如 果该餐台已经点了其他菜品 并且取消后不是最后点的菜品 还需要修改所点菜品的序号 结账功能设计 结账功能是作为酒店管理系统中一个重要的组成部分 结账功能的设计 需要在用户选择相应的台号后就将选中的台号的消费金额显示在结账工作区中 如图 4 2 所 示 因此需要为开台列表添加表格别选择时间 既当表格被选中时显示台号消费金额 在 结账功能区 为了方便用户结账计算金额的方便 需要为实付金额文本框添加键盘监听时间 当用户输入实付金额以后即可计算出找零金额并显示出来 当点击结账后 当前台号就已经 完成结单 则需要在开台列表中将选中的台号删除 并相连删除签单列表中选中台号所点的 所有菜品 图 4 2 结账工作区 4 4 后台管理模块设计 后台管理模块提供了 3 个子模块 分别为菜品管理 菜系管理和台号管理 菜品管理是 对整个酒店的所有菜品进行的管理 菜系管理是对酒店的菜系进行管理 台号管理是对酒店 的桌号进行管理 4 4 1 菜系管理 在该子模块中 有两个需要注意的问题 添加菜系时获取菜系的编号 在添加菜系时 只需要输入所要添加菜系的名称而无需输入菜系的编号 而菜系的编号 是通过对当前数据表中的菜系编号进行检索 用当前数据表中最后一项数据的菜系编号自加 一来实现的 然后和菜系名称一起插入数据表中 删除菜系时对菜品表中的操作 菜品表中的菜系编号和菜系表中的菜系编号是外键关联的 当删除菜系表中的数据时 如果不对菜品表中的菜系编号进行处理的话是会抛出异常的 而当删除菜系表中数据时又不 能删除菜品表中与之相关的所有数据 因此只能对菜品表中相关的数据进行修改 使其菜系 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXV 编号对应于菜系表中菜系名称为 未分类 的编号 其主要代码如下所示 删除菜系之前对菜品进行修改 GetStatement gs new GetStatement String sql delete from sort where name sortName String sql2 select id from sort where name 未分类 ResultSet rs gs return statement executeQuery sql2 String id while rs next id rs getString id String sql1 update menu set sortId id where sortId select id from sort where name sortName gs return statement execute sql1 gs return statement execute sql 同时要注意的是菜系表中菜系名称为 未分类 的数据项是不能被删除的 4 4 2 菜品管理 菜品管理子模块包含有菜品的添加和删除功能 在该子模块中 难点在与添加菜品过程 中对所添加信息的判断 添加菜品过程中 菜品的所有字段都不能为空 而且 ID NAME CODE 这 3 个字段在数据库中必须是唯一的 所以在添加过程中必须加以控制 下面仅以 ID 字段说明 其他字段都与之类似 控制流程如图 4 4 2 1 所示 文本框获取STR 空 数据库获取ID ID equals STR 结束 执行插入操作 开始 提示信息 是 否 是 否 图 4 4 2 1 字段控制流程图 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXVI 4 4 3 台号管理 台号管理子模块的功能宝库台号的查询 添加和修改功能 台号的查询分为有关键字查 询和无关键字查询 当执行有关键字查询是 系统只查询 SORT 表中 COUNT 与输入的作为 数相同的台号 当执行无关键字查询时 系统将查询整个 SORT 表中的数据项 关键代码如 下 查询 SORT 表关键代码 public class selectSorts public void selectSorts public ResultSet returnResultSet throws ClassNotFoundException SQLException GetStatement gs new GetStatement String sql select from sort ResultSet rs null rs gs return statement executeQuery sql return rs public ResultSet returnResultSet String s throws ClassNotFoundException SQLException GetStatement gs new GetStatement String sql select from sort where name s ResultSet rs null rs gs return statement executeQuery sql return rs 在添加和修改台号的过程中 同样要对所添加或修改的信息进行进行判断 在添加台号 过程中 台号不能为空 而且座位数量也不能为空 在修改台号过程中 台号编号不能为空 而且必须是在数据表中存在的台号 并且座位数也不能为空 其控制流程类似与菜品管理过 程中的字段控制流程 4 5 结账报表模块设计 结账报表模块提供了三种方式的结账报表 分别是日结账 月结账和年结账 日结账提 供了对一日营业额营业的统计 月结账提供了对一月营业额的统计 年结账提供了对一年营 业额的统计 4 5 1 结账报表工作区技术分析 在实现结账报表功能时 有两个技术要点 对日期有效性的控制 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXVII 在实现日结账功能时 无论用户修改了统计日期的年度和月份 都要影响到日下拉菜单 列表框中的可选项 包括大月 31 天 和小月 30 天 的变化 以及 2 月份在平年 28 天 和闰年 29 天 的变化 如果不能正确处理这些变化 将导致系统无法正常运行 其实在 实现月结账报表和年结账报表时也会设计到这个问题 只是在系统界面上不会明显的体会到 解决该问题的大体思路是通过年度和月份下拉列表框加事件监听器 实现对日下拉列表框添 加事件监听器 实现对日下拉列表框可选项的控制 对统计表格的控制 当系统界面不能显示出所有统计记录时 只需要将表格放到滚动面板中 这个办法对系 统界面不能显示出统计记录的所有行有效 因为在移动垂直滚动条时 表格的列名并不会随 之滚动 即表格的列名永远是可见的 但是当系统界面不能显示出统计记录的所有列时 这 个办法就不是很好了 因为在移动水平滚动条的时 表格的所有列都会随之滚动 导致最左 侧的一列或者几列不可见 而表格最左侧的一列或者是几列通常情况下也希望是永远可见的 即不会随着滚动条的移动而滚动 解决该问题的大体思路是实现两个表格 一个表格用来显 示最左侧希望永远可见的一列或者几列 另一个表格用来显示其他列 然后将两个表格并列 显示 4 5 2 日结账报表工作区的实现过程 日结账报表使用的主要数据表有 orderform 消费单表 初始化对话框 首先解决在实现日结账报表功能时候初始化窗体的功能 主要是日期的有效性问题 需 要从数据库中查找有效的日期 即点过菜的日期 然后将找到的有效日期显示在结账报表下 拉列表菜单中 如图 4 1 所示 图 4 1 日结账报表日期显示 由于在数据中存在许多非常重复的日期数据 所以本模块才用了 TreeSet 集合来存入分 别从数据库中获取的年份 月份和日 这样就避免了重复数据的出现 使得年份 月份和日 期下拉列表框中只显示出数据库中已存在的日期 即开过台的日期 主要代码如下所示 获取数据库中所有的不重复的日期 并排序 GetDate getDate new GetDate ResultSet rs getDate getDate Set years new TreeSet 点过菜的所有年 Set days new TreeSet 点过菜的所有日 String months 01 02 03 04 05 06 07 08 09 10 11 12 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXVIII for rs next String date rs getString orderFormId String year date substring 0 4 String day date substring 6 8 years add year days add day 其次要解决的问题是使下拉列表显示的日期与当前日期相吻合 如果当前日期开过台 主要代码如下所示 获取当前年月日 Today today new Today int currentYear today getYEAR int currentMonth today getMONTH int currentday today getDAY 下拉列表中添加项目 设置选择的是当前日期 String currentMonthTemp String valueOf currentMonth if currentMonth 10 currentMonthTemp 0 currentMonthTemp yearComboBox setSelectedItem String valueOf currentYear monthComboBox setSelectedItem currentMonthTemp dayComboBox setSelectedItem String valueOf currentday 日结账功能的实现 日结账功能实现过程是首先获取下拉列表框中选择的要查询的日期 然后根据该日期从 数据表 orderform 中查询该日开台信息 最后初始化表格 显示出查询的结果 的程序流程 图如图 4 2 所示 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXIX 开始 获取下拉列表选中要查 询日期并生成日期字符 串 查询该日开台信息 初始化表格 显示出查 询的数据 设置表格内容居中显示 结束 图 4 2 日结账功能流程图 4 5 3 月结账报表工作区的实现过程 月结账报表使用的主要数据表有 orderform 消费单表 月结账工作区的初始化过程同日结账功能是一样的 唯一的区别是日期显示上只有年和 月 需要重点做的是表格的显示部分 月结账表格部分需要显示出该月下每天的最大消费额 最小消费额 平均消费额 开台总数 消费总额以及以上消费额总计 如图 4 3 所示 月结账表格显示出统计数据过程中主要的问题是 如何来按照选中日期来判断该月有多 少天 需要定义一个二维数组 分别存放闰年以及平年各个月份的天数 通过判断如果是闰 年就按照闰年数组中的数据显示 如果是平年则按照平年数组中的数据显示 部分代码如下 所示 int year Integer valueOf String yearComboBox getSelectedItem int month Integer valueOf String monthComboBox getSelectedItem int days 31 29 31 30 31 30 31 31 30 30 30 31 31 28 31 30 31 30 31 31 30 30 30 31 int day null if year 4 0 else day days 1 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXX 图 4 3 月结账表格内容显示 月结账功能流程图如图 4 4 所示 开 始 获取选中日期 并根据日期来 生成日期字符串 确定该月所含有的天数days 是否小于当前月份天数 查询该日的消费项目 添加到表格中 是 根据表中查询的数据统计相 关项目总消费额 否 设置表格内容居中显示 结 束 图 4 4 月结账功能流程图 4 5 4 年结账报表工作区的实现过程 年结账报表使用的主要数据表有 orderform 消费单表 年结账工作区的初始化过程同日结账 月结账功能是一样的 唯一的区别是日期显示上只有 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXXI 年 其表格的显示部分是日结账和月结账部分的中和 年结账表格显示如图 4 5 所示 图 4 5 年结账表格显示 4 6 系统安全模块设计 系统安全模块实现了包括密码修改 用户管理 退出系统三个功能 密码修改功能就是对用户密码修改的一个实现 如图 4 6 所示 图 4 6 密码修改功能 进入用户管理界面首先要进行的就是管理员登陆 帐户和密码存在 User 表中 这里的 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXXII 主要问题就是管理员的安全问题 因为非管理员身份是不能访问数据库中特定的表 也没有 权限去添加删除有关的信息 只可以做管理员分配给其权限的相关操作 作为管理员在这一 模块主要有菜品管理 菜系管理 前台营业员用户管理 和台位管理 每一现都可以实现添 加删除和修改其状态的功能 后面的四个模块的增加 修改 删除 查询业务基本相同 做法也基本上是一样的 如图 4 7 所示 图 4 用户管理页面 我们在添加用户的时候可以选择是添加管理员还是普通用户 图 4 添加管理员操作 添加完管理员之后可以通过查询按钮来查询现在所有的管理员情况 沈阳工程学院课程设计报告 第 4 章 系统功能实 现 XXXIII 图 4 管理员查询页面 图 4 用户删除操作 结 论 通过两个周对 Java 程序设计的学习 我们对 Java 语言有了更进一步的了解 知道了如 何运用以前学过的知识来完成本次课程设计 我们小组选择了 酒店管理系统 的设计 主要实现前台服务 后台服务 结账报表 系统安全模块 选择这个题目时感觉有点困难 好像无从下手 基本上没有一个具体的设计 思路 因此我们先对数据库进行了设计 随

温馨提示

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

评论

0/150

提交评论