




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 前言前言 1 1 1 系统功能系统功能分分析析 2 2 2 开发技术介绍开发技术介绍 3 3 3 数据库设计数据库设计 4 3 1 数据库中的数据表 4 3 2 数据库中的 e r 图 5 4 4 详细设计详细设计 6 4 1 系统功能模块划分 6 4 2 前台服务 7 4 2 1 开台点菜 7 4 2 2 智能化获取菜品 8 4 2 3 消费结账 9 4 3 基础信息 10 4 3 1 菜品管理 10 4 3 2 菜系管理 12 4 3 3 台号管理 13 4 4 结账报表 14 4 4 1 日结账报表 14 4 4 2 月结账报表 14 4 4 3 年结账报表 15 4 5 系统安全 16 4 5 1 修改密码 16 4 5 2 用户管理 16 5 5 课程设计小结课程设计小结 17 6 6 致谢致谢 17 7 7 参考文献参考文献 18 8 8 附录附录 18 前言 java java 技术是当今最流行最实用的计算机技术 是二十世纪九十年代的计算机技术 的重大发明 java 语言是一种纯粹面向对象的高级编程语言 是因特网上的世界语 当前 java 应用形势一片大好 是整个企业系统的宠儿 掌握 java 技术是每一个关心和立志从 事 it 事业的人的内功 也是当前市场的迫切需要 更是振兴中华软件的绝好机会 java 是现在全球最时髦的开发工具之一 它拥有一套庞大且完善的类库 内置了其他语言 需要靠库甚至是操作系统才能支持的功能 拥有一个虚拟机 总之 java 的出现 确实给整个程 序界带来了巨大的冲击 也许现在还无法准确评估 java 为整个 it 业带来的影响 但是有一点 却毋庸置疑 java 将不可避免地影响一代程序员 java 是面积网络的设计语言 用来让程序员创建应用程序 这些应用程序可以通过下载 而且可在任何计算平台上安全地运行 如果再加上互联网和公司企业内部网体系 你将会拥有 一个未准的网络计算环境 java 作为一个分布式的 面向对象的程序设计各方 可以让位于任 何地方的任何计算机应用网络上的的应用程序 综合上述 java 的生命力体现在如下方面 1 java 产生与流行是 internet 发展的客观要求 2 是一门各方面性能都很好的编程语言 它的基本特点是简单 面向对象 分布式 解释的 健 壮的 完全的 结构中立的 可移植的 性能很优异的 多线程的 动态的 适合的 internet 环境上开 发应用系统 3 java 可以制作大部分网络应用程序系统 而且与如今流行的 www 浏览器结合很好 4 java 不仅仅是一种各方 更重要的是一种区别于传统系统 遵守 网络就是计算机 信条的 平台技术 java 平台将面向对象系统扩展成包括程序和数据的网络计算机 nc 而这个平台 的核心就是 java 虚拟机 许多使 java 成为万能开发平台的属性都源于 java 虚拟机的概念和 实现 java 语言是一种功能强大的编程语言 分为 j2se j2me j2ee 几个版本 作为初 学者 我们先学习 j2se 在此基础上我们做了一个关于酒店管理的系统 2 1 系统功能分析 酒店管理系统是针对酒店设计的一个软件 用户分为管理员用户和普通用户 普通用 户只有前台服务中的前台点菜 获取菜品和修改密码的权限 管理员拥有前台服务中的开 台点菜 智能化获取菜品 消费结账 基础信息中的菜品管理 菜系管理 台号管理 结 账报表中的日结账报表 月结账报表 年结账报表以及结账报表添加导出功能 系统安全 中的修改密码 用户管理 系统的具体流程图如下 1 1 所示 图 1 1 系统流程图 3 2 开发技术介绍 java 的开发中主要用到得技术 java se java se 是 java 平台标准版的简称 java platform standard edition also known as java 2 platform 用 于开发和部署桌面 服务器以及嵌入设备和实时环境中的java 应用程序 java se 包括用于开发 java web 服务的类库 同时 java se 为 java ee 提供了基础 java se java platform standard edition java 标准版 就是基于 jdk 和 jre 的 common dbutils 是操作数据库的组件 对传统操作数据库的类进行二次 封装 可以把结果集转化成 list dbutils 包括 3 个包 mons dbutils mons dbutils handlers mons dbutils wrappers dbutils 封装了对 jdbc 的操作 简化了 jdbc 操作 可以少写代码 mons dbutils dbutils 关闭链接等操作 queryrunner 进行查询的操作 mons dbutils handlers arrayhandler 将 resultset 中第一行的数据转化成对象数组 arraylisthandler 将 resultset 中所有的数据转化成 list list 中 存放的是 object beanhandler 将 resultset 中第一行的数据转化成类对象 beanlisthandler 将 resultset 中所有的数据转化成 list list 中存放的是类对象 columnlisthandler 将 resultset 中某一列的数据存成 list list 中存放的是 object 对象 keyedhandler 将 resultset 中存成映射 key 为某一列对应为 map map 中存放的是数据 maphandler 将 resultset 中第一行的数据存成 map 映射 maplisthandler 将 resultset 中所有的数据存成 list list 中 存放的是 map scalarhandler 将 resultset 中一条记录的其中某一列的数据存成 object mons dbutils wrappers sqlnullcheckedresultset 对 resultset 进行操作 改版里面的值 stringtrimmedresultset 去除 resultset 中中字段的左右空格 trim 4 3 数据库设计 3 1 数据库中的数据表 系统的数据库中一共用了六张数据表 分别是 tb desk tb menu tb order form tb order item tb sort tb sort tb user 表中的具体字段及各个字段的意义 见下列各表 1 桌子信息表用于存放台号及其座位数如下表 3 1 所示 字段名称字段说明字段类型 num 桌子号 varchar seating 桌子的座位数 int 表 3 1 桌子信息表 tb desk 2 菜基本信息表 tb menu 主用于存放菜品编号 名称 单价等菜品信息 菜品信 息表如下表 3 2 所示 字段名称字段说明字段类型 num 菜的编号 char 8 sort id 菜系编号 int name 菜名varchar 20 code 助记符varchar 10 unit 单位varchar 4 unit price 单价 int state 状态 char 4 表 3 2 菜基本信息表 tb menu 3 顾客点菜表 tb order form 用于存放签单编号 时间 总消费额等签单信息 如表 3 3 所示 字段名称字段说明字段类型 num 顾客菜单编号 char 11 desk num 顾客桌子号 varchar 5 datetime 点菜时间 datetime money 消费金额 int user id 外键 当前操作人员编号 int 表 3 3 顾客点菜表 tb order form 4 顾客点菜统计表 tb order item 用于存放签单所签菜品编号 消费数量等签单 详细信息 如下表 3 4 所示 字段名称字段说明字段类型 id 主键 varchar order form num 顾客菜单编号 char 11 menu num 对应菜单编号 char 8 amount 总共点菜数 int total 总价 int 5 表 3 4 顾客点菜统计表 tb order item 5 菜系类别表 tb sort 存放菜类名称等信息 如下表 3 5 所示 表 3 5 菜系类别表 tb sort 字段名称字段说明字段类型 id 菜系编号 int name 菜系名varchar 20 6 管理员信息表 tb user 存放操作员账号密码 权限级别及其基本信息 如下表 3 6 所示 表 3 6 管理员信息表 tb user 字段名称字段说明字段类型 id 用户编号 int name 用户名varchar 8 sex 性别 char 2 birthday 出生日期 datetime id card 身份证号varchar 20 password 登录密码varchar 50 freeze 使用状态 char 4 3 2 数据库中的 e r 图 e r 图是反映各个实体之间的关系的 以及实体的属性 为数据库提供了一个很直观 的效果 e r 图如下图 3 1 所示 6 图 3 1 全局 e r 图 4 详细设计 详细设计也即过程设计 确定如何具体地实现酒店管理系统所需的功能 准确描述概 要设计中划分的各模块具体执行过程 从而在编码阶段可以直接把这个描述翻译成某种语 言书写的程序 4 1 系统功能模块划分 按结构化设计方法 在系统功能逐层分解的基础上 对系统各功能模块进行设计 酒店管 理系统 包含四个模块 前台服务 基础信息 结账报表和系统安全 具体的结构设计图 hipo 图如下 7 酒店管理系统 前台服务1 0基础信息2 0结账报表3 0系统安全4 0 登 陆 1 1 点 菜 开 单 1 2 消 费 结 账 1 3 台 号 管 理 2 1 菜 品 管 理 2 2 菜 系 管 理 2 3 日 报 表 3 1 月 报 表 3 2 年 报 表 3 3 用 户 密 码 修 改 4 1 用 户 管 理 4 2 添 加 删 除 添 加 添 加 删 除 图 4 1 结构设计图 hipo 4 2 前台服务 前台服务主要是为了提供酒店日常运营时候的各个功能 可以进行用户登录 开台点 菜 智能化获取菜品和常用的消费结账 4 2 1 用户登录 用户登录用于用户登录进入主界面 由于进行运行方便的需要 默认用户名和密码改 为系统默认帐号和密码 用户登录效果如图 4 2 所示 图 4 2 用户登录图 4 2 2 开台点菜 开台点菜是当有顾客需要点菜的时候 直接选择酒店的某一台号 然后添加若干菜品 8 开单 可在签单前取消所选菜品 签单后不可取消 同时要求在选择菜品时显示该台的消 费金额 在经客人确定后签单该台的点菜 智能化获取菜品功能是可根据菜品的编码或者助记码 拼音首字母 选择菜品 在输 入相关信息的同时显示有关菜品 可通过 开单 按钮或回车键开单 开台点菜和智能化 获取菜品功能效果如下图 4 3 所示 图 4 3 开台点菜图 4 2 3 消费结账 消费结账是在客人签完单之后结账的时候需要的 并显示找零金额信息 具体效果如 下图所示 9 图 4 4 消费结账图 4 3 基础信息 基础信息模块可以对菜品 菜系以及台号进行管理 在菜品管理中可以对菜品进行添 加删除功能 在菜系管理中可以对菜系进行添加 删除 在台号管理中可以对台号进行添 加 删除的功能 4 3 1 菜品管理 菜品管理可以添加和删除菜品 菜品信息包括编号 自动产生 名称 单位 助记码 菜系 单价信息 添加和删除功能效果如下图 4 5 所示 图 4 5 菜品管理窗体效果图 10 4 3 2 菜系管理 菜系管理是对酒店所有的菜系进行管理 如添加 删除菜系名称 添加和删除功能效 果图如图 4 7 所示 图 4 7 菜系管理窗体效果图 4 3 3 台号管理 台号管理是针对桌子的号码以及座位数进行添加 删除操作的 添加和删除效果如图 4 9 所示 11 图 4 9 台号管理窗体效果图 4 4 结账报表 4 4 1 日结账报表 日结账报表可以显示与查询日结账报表 包括编号 台号 开台时间 消费金额以及 该单中消费的菜品与数量信息 显示效果如图 4 11 所示 12 图 4 11 日结账报表图 4 4 2 月结账报表 月结账报表是显示与查询月结账报表 包括日期 开台总数 消费总额 平均消费额 最大消费额 最小消费额信息 显示效果如图 4 12 所示 图 4 12 月结账报表图 13 4 4 3 年结账报表 年结账报表是显示与查询年结账报表 包括一年中每个月每天的消费金额以及每个月 消费总计与每个月同一天的消费总计信息 显示效果如图 4 13 所示 图 4 13 年结账报表图 4 5 系统安全 4 5 1 修改密码 修改密码功能为用户的安全考虑 用户可以修改自己的用户密码 显示效果如图 4 14 所示 图 4 14 修改用户密码图 14 4 5 2 用户管理 用户管理模块可以添加 删除用户 包括姓名 性别 出生日期 登录密码 身份证 号信息 效果显示图如 4 15 所示 图 4 15 用户管理图 5 课程设计小结 此次课程设计由于时间紧迫 被允许由三到四人合作分工完成 在此过程中遇到诸多 问题 例如数据库链接 java 类命名和 java 程序完成后的模块组装等问题 在此次设计中 张海峰负责菜品管理模块 李志芳负责结账管理模块 我 徐聪 负 责前台服务和用户管理模块 由于本组中有男女组合 沟通问题受到极大挑战 通过此次课程设计 极大提升了我们的 java 设计能力以及理解能力 并加大了我们的 java 合作设计的了解度 6 致谢 在这个项目的制作的过程中 得到了很多人的帮助 首先感谢学校提供给了我们这样 的机会来将理论知识转化为实际经验 其次感谢陈涛老师在这个项目上的指导和提供的帮 助 最后感谢很多热心的同学的帮忙 很多困难都是在大家的讨论中得到解决的办法的 15 7 参考文献 1 胡伏湘 雷军环 java 程序设计实用教程 北京 清华大学出版社 2009 8 2 张跃平 耿祥义 java 大学实用教程学习指导 北京 电子工业出版社 2008 5 3 谭浩强 java 编程技术 北京 人民邮电出版社 2003 4 8 附录 部分主要代码 1 登录模块的主要代码 public class landframe extends jframe private jlabel namelabel 用户名文本输出显示 private jlabel pswlabel 密码文本输出显示 private jpasswordfield passwordfield 密码框 private jcombobox usernamecombobox 用户名下拉菜单 private jlabel eplabel1 eplabel2 按钮之间的空格 public static void main string args try landframe frame new landframe frame setvisible true catch exception e e printstacktrace public landframe 首先设置窗口的相关信息 settitle 酒店管理系统 登录 设置窗 口的标题 setresizable false 设置窗 口不可以改变大小 setalwaysontop true 设置窗 口总在最前方 setbounds 100 100 300 200 设置 窗口的大小 setdefaultcloseoperation jframe exit on close 设置当关闭窗口时执行的动作 下面将创建一个面板对象并添加到窗口的容器中 16 final jpanel panel new jpanel 创建 一个面板对象 panel setlayout new gridbaglayout 设 置面板的布局管理器为网格组布局 getcontentpane add panel borderlayout center 将面板添加到窗体中 添加用户名输入前的文本输出显示 namelabel new jlabel namelabel settext 用户名 namelabel setfont new font 宋体 font bold 16 final gridbagconstraints g1 new gridbagconstraints g1 insets new insets 15 0 0 0 将顶部 左边 底部 右边设置为指定值 g1 gridx 1 设置行索 引为2 g1 gridy 1 设置列索 引为1 panel add namelabel g1 将组件按指定的布局管理器添加到面板中 创建并设置用户名下拉菜单 usernamecombobox new jcombobox 创建 用户名下拉菜单组件对象 usernamecombobox setmaximumrowcount 5 设 置下拉菜单最多可显示的选项数 usernamecombobox additem 徐聪 为下 拉菜单添加提示项 usernamecombobox addactionlistener new usernamecomboboxactionlistener 为下拉菜单添加事件监听器 g1 anchor gridbagconstraints west 设置 为靠左侧显示 g1 insets new insets 15 0 0 0 将顶 部 左边 底部 右边设置为指定值 g1 gridy 1 设置行索 引为1 g1 gridx 2 设置列索 引为2 panel add usernamecombobox g1 将组 件按指定的布局管理器添加到面板中 添加密码输入前的文本输出显示 pswlabel new jlabel pswlabel settext 密 码 pswlabel setfont new font 宋体 font bold 16 g1 insets new insets 15 0 0 0 g1 gridx 1 g1 gridy 2 17 panel add pswlabel g1 创建并设置密码框 passwordfield new jpasswordfield passwordfield setcolumns 10 设置 密码框可显示的字符数 passwordfield settext 111 设置 密码框默认显示三个一 g1 insets new insets 5 0 0 0 设 置组件外部上方的填充量为5像素 g1 anchor gridbagconstraints west g1 gridy 2 g1 gridx 2 panel add passwordfield g1 创建并设置一个用来添加三个按钮的面板 final jpanel buttonpanel new jpanel 创 建一个用来添加按钮的面板 buttonpanel setopaque false 设置 面板的背景为透明 buttonpanel setlayout new boxlayout buttonpanel boxlayout x axis 设置面板采用水平箱布局 final gridbagconstraints g2 new gridbagconstraints 创建网格组布局管理器对象 g2 insets new insets 10 0 0 0 设 置组件外部上方的填充量为10像素 g2 gridwidth 2 设置其 占两列 g2 gridy 3 设置行 索引为3 g2 gridx 1 设置列 索引为1 panel add buttonpanel g2 将组 件按指定的布局管理器添加到面板中 创建并设置一个登录按钮 并将其添加到用来添加按钮的面板中 final jbutton landbutton new jbutton 创 建登录按钮组件对象 landbutton settext 登 陆 landbutton setmargin new insets 0 0 0 0 设置按钮边框和标签之间的间隔 landbutton setcontentareafilled false 设 置不绘制按钮的内容区域 landbutton setborderpainted true 设 置不绘制按钮的边框 landbutton addactionlistener new landbuttonactionlistener buttonpanel add landbutton 将登 18 录按钮添加到用来添加按钮的面板中 eplabel1 new jlabel eplabel1 settext buttonpanel add eplabel1 重置按钮的创建和添加 final jbutton resetbutton new jbutton resetbutton settext 重 置 resetbutton setmargin new insets 0 0 0 0 resetbutton setcontentareafilled false resetbutton setborderpainted true resetbutton addactionlistener new resetbuttonactionlistener buttonpanel add resetbutton eplabel2 new jlabel eplabel2 settext buttonpanel add eplabel2 退出按钮的创建和添加 final jbutton exitbutton new jbutton exitbutton settext 退 出 exitbutton setmargin new insets 0 0 0 0 exitbutton setcontentareafilled false exitbutton setborderpainted true exitbutton addactionlistener new exitbuttonactionlistener buttonpanel add exitbutton 初始化用户名下拉菜单 vector usernamev dao getinstance susernameofnotfreeze if usernamev size 0 添 加复选框选项内容 usernamecombobox additem 徐聪 else for int i 0 i usernamev size i usernamecombobox additem usernamev get i 2 用户管理模块的主要代码 public usermanagerdialog super setmodal true settitle 酒店管理系统 用户管理 setbounds 100 100 500 375 final jpanel inputpanel new jpanel inputpanel setlayout new gridbaglayout 19 getcontentpane add inputpanel borderlayout north final jlabel namelabel new jlabel namelabel settext 姓 名 final gridbagconstraints gridbagconstraints 13 new gridbagconstraints gridbagconstraints 13 insets new insets 10 0 0 0 inputpanel add namelabel gridbagconstraints 13 nametextfield new jtextfield nametextfield setcolumns 6 final gridbagconstraints gridbagconstraints new gridbagconstraints gridbagconstraints insets new insets 10 0 0 0 gridbagconstraints gridy 0 gridbagconstraints gridx 1 inputpanel add nametextfield gridbagconstraints final jlabel sexlabel new jlabel sexlabel settext 性别 final gridbagconstraints gridbagconstraints 1 new gridbagconstraints gridbagconstraints 1 insets new insets 10 15 0 0 gridbagconstraints 1 gridy 0 gridbagconstraints 1 gridx 2 inputpanel add sexlabel gridbagconstraints 1 final jradiobutton manradiobutton new jradiobutton buttongroup add manradiobutton manradiobutton settext 男 manradiobutton setselected true final gridbagconstraints gridbagconstraints 2 new gridbagconstraints gridbagconstraints 2 insets new insets 10 0 0 0 gridbagconstraints 2 gridy 0 gridbagconstraints 2 gridx 3 inputpanel add manradiobutton gridbagconstraints 2 final jradiobutton womanradiobutton new jradiobutton buttongroup add womanradiobutton womanradiobutton settext 女 final gridbagconstraints gridbagconstraints 3 new gridbagconstraints gridbagconstraints 3 insets new insets 10 0 0 0 20 gridbagconstraints 3 gridy 0 gridbagconstraints 3 gridx 4 inputpanel add womanradiobutton gridbagconstraints 3 final jlabel birthdaylabel new jlabel birthdaylabel settext 出生日期 final gridbagconstraints gridbagconstraints 4 new gridbagconstraints gridbagconstraints 4 insets new insets 10 15 0 0 gridbagconstraints 4 gridy 0 gridbagconstraints 4 gridx 5 inputpanel add birthdaylabel gridbagconstraints 4 birthdaytextfield new jtextfield birthdaytextfield setcolumns 10 final gridbagconstraints gridbagconstraints 5 new gridbagconstraints gridbagconstraints 5 insets new insets 10 0 0 0 gridbagconstraints 5 gridy 0 gridbagconstraints 5 gridx 6 inputpanel add birthdaytextfield gridbagconstraints 5 final jlabel passwordlabel new jlabel passwordlabel settext 登录密码 final gridbagconstraints gridbagconstraints 8 new gridbagconstraints gridbagconstraints 8 insets new insets 5 0 0 0 gridbagconstraints 8 gridy 1 gridbagconstraints 8 gridx 0 inputpanel add passwordlabel gridbagconstraints 8 passwordtextfield new jtextfield passwor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础护理知识试题及答案
- 基础吸痰试题及答案
- 2025年中国手动清洁工具行业市场全景分析及前景机遇研判报告
- 雨污水管线及设施提升改造工程节能评估报告
- 人民医院住院大楼改造项目建筑工程方案
- 城区支线管网改造提升项目建设工程方案
- 变压器及配电室建设项目投标书
- 离婚房产赠予协议范本:共同财产分割及子女抚养
- 双方自愿离婚及财产分割与子女安置合同范本
- 离婚协议书范例:孕期权益维护与财产分割合同
- 选矿技术基础知识培训课件
- 校车安全管理操作规范
- 2025-2026学年苏科版(2024)初中物理九年级上册教学计划及进度表
- 劳技鉴别织物课件
- 2025年北京市天文知识竞赛(小学组)历年参考题库含答案详解(5卷)
- 热压罐安全操作规程
- 2025年秋期人教版3年级上册数学核心素养教案(第4单元)(教学反思有内容+二次备课版)
- 2025年高考英语全国一卷真题(含答案)
- 清廉企业建设课件内容
- 2025年全国“质量月”质量知识竞赛题库及答案
- 化妆打底教学课件图片
评论
0/150
提交评论