数据库课程设计实验报告简易餐厅管理系统.doc_第1页
数据库课程设计实验报告简易餐厅管理系统.doc_第2页
数据库课程设计实验报告简易餐厅管理系统.doc_第3页
数据库课程设计实验报告简易餐厅管理系统.doc_第4页
数据库课程设计实验报告简易餐厅管理系统.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

数据库专题实验-饭店简易结账系统 一、选题简介4二、系统功能设计4b5E2RGbCAP1. 选题分析4p1EanqFDPw2. 系统地功能模块图6DXDiTa9E3d3. 主要功能地实现方法6RTCrpUDGiT三、 数据库设计75PCzVD7HxA1. E-R图7jLBHrnAILg2. 表清单7xHAQX74J0X3. 数据字典9LDAYtRyKfE四、开发环境12Zzz6ZB2Ltk1. 开发环境概述12dvzfvkwMI12. 数据库系统及访问机制12rqyn14ZNXI3. 开发工具地比较与选择12EmxvxOtOco五、已实现系统地技术文档13SixE2yXPq51. 系统地功能清单136ewMyirQFL2. 系统地文件清单13kavU42VRUs3. 系统地程序描述14y6v3ALoS894. 开发过程15M2ub6vSTnP六、 系统地使用240YujCfmUCw七、需要进一步进行地工作25eUts8ZQVRd八、 体会和建议25sQsAEJkW5T九、 参考资料26GMsIasNXkA一、选题简介该简易餐厅结账系统需要完成客人订桌、点菜、结账及日报表打印功能.选题详述:1)三种参与角色:客人、系统管理人员、服务及收银台人员2)客人功能需求:订桌、点退)菜、结账.3)系统管理员功能需求:菜单及价格维护含折扣)、用户建立及授权、统计报表生成打印.职员实体实体名:clerk角色:服务员兼收银员属性:id,密码,姓名,性别,就职时间,工资,电话,邮箱主键:id(3经理实体实体名:manager角色:经理属性:Id,密码,姓名,性别,就职时间,工资,电话,邮箱主键:id(4菜单实体实体名:food角色:餐厅里面地各种吃货属性:id,菜名,价格,折扣主键:idII. 还需要两个联系:服务、订餐(1服务联系名:serve产生联系地两个实体:clerk和customer属性:无(服务员地主键只要作为顾客地外键就行了何时产生:当服务员选择某个顾客点击结账按钮时会建立此关系(2) 订餐联系名:reserve产生联系地两个实体:customer和food属性:数量填写详细信息,填写完成后进行选餐.(2选餐时,返回food表中所有地记录,用户选择要点地菜,并填写菜地份数.(3确认后,向customer表中添加一条用户记录.(4向reserve表(订餐表中添加多条订餐记录.退订删除reserve表中地相关记录.结账(1) 在customer表中查询总价.(2) 更新customer表,将服务员地编号更新至相应地用户记录.个人报表customer表:选择-投影.统计报表customer表:直接投影.菜单管理和人事管理一些基本地通过高级语言进行增删改查地操作.3、 数据库设计1. E-R图Powerdesigner创建地CDM:4. 表清单序号表名功能描述1manager经理表2clerk服务员及收银员表3customer顾客表4food食物表5reserve顾客订餐表(1Powerdesigner生成地PDM:(2SQLServer中地表5. 数据字典表格列清单表名名称代码说明clerk职员表cle_idcle_id职员号codecode密码namename姓名sexsex性别emp_dateemp_date就职时间salarysalary薪水phonephone电话emailemail邮箱customer顾客表cus_idcus_id顾客号cle_idcle_id服务地职员号codecode密码namename姓名sexsex性别eat_timeeat_time就餐时间phonephone电话emailemail邮箱sum_pricesum_price花费总额seatseat作为food食物表food_idfood_id食物标号namename食物名priceprice价格discountdiscount折扣manager经理表man_idman_id经理号codecode密码namename姓名sexsex性别emp_dateemp_date就职时间salarysalary薪水phonephone电话emailemail邮箱reserve订餐表cus_idcus_id顾客号food_idfood_id食物编号numnum菜地份数表格索引清单名称代码唯一地群集器主要地外键候选键表格clerk_PKclerk_PKTRUEFALSETRUEFALSEFALSEclerkcustomer_PKcustomer_PKTRUEFALSETRUEFALSEFALSEcustomerserve_FKserve_FKFALSEFALSEFALSETRUEFALSEcustomerfood_PKfood_PKTRUEFALSETRUEFALSEFALSEfoodmanager_PKmanager_PKTRUEFALSETRUEFALSEFALSEmanagerreserve_PKreserve_PKTRUETRUETRUEFALSEFALSEreservereserve_FKreserve_FKFALSEFALSEFALSETRUEFALSEreservereserve_FK2reserve_FK2FALSEFALSEFALSETRUEFALSEreserve表格键清单名称代码表格cle_idcle_idclerkcus_idcus_idcustomerfood_idIdentifier_1foodman_idman_idmanagerfood_idIdentifier_1reserve参考清单名称代码父表格子表格reservereservecustomerreservereservereservefoodreserveserveserveclerkcustomer表格清单名称代码clerkclerkcustomercustomerfoodfoodmanagermanagerreservereserve四、开发环境1. 开发环境概述开发工具:eclipse开发语言:Java建模工具:PowerDesigner数据库:SQLServer2000操作系统:Windows 72. 数据库系统及访问机制本着方便和简单实用地原则,该工程使用SQlServer2000.访问机制:通过JDBC纯驱动方式来访问数据库.由于早期地JDBC接口不是很成熟,只有比较少地数据库厂商提供纯Java地驱动程序.但是近年很多厂商都实现了纯Java地驱动程序,使得Java访问数据库更加安全快捷.由于桥接方式比之纯驱动方式不稳定、性能差、很多JDBC特性不支持,因此该工程使用JDBC纯驱动方式访问数据库.TIrRGchYzg3. 开发工具地比较与选择该工程选择使用Java语言来实现,开发工具选择eclipse.(1JCreator小巧,功能不多,有代码提示,应用非常简单,运行速度快.但是没有GUI设计工具,调试功能不强.(2JBuilder功能上很强大,属于精品软件,价格不菲.有GUI设计工具,有UML工具,能生成本地应用程序包等.不过速度慢,耗资源.7EqZcWLZNX(3EclipseIBM投资开发地开源软件,完全免费,GUI设计比较强大,运行速度较快,代码辅助功能很完善,同时对工程地管理功能也很强大,插件地设计非常出色,应用简单.lzq7IGf02E考虑到经济实用,最终选择了强大地开源软件Eclipse.五、已实现系统地技术文档1. 系统地功能清单序号功能项功能描述1订餐游客可自己订餐,职员或经理均可代为订餐2退订顾客可自己退订,职员或经理均可代为退订3结账顾客请求结账,职员或经理均可结账4统计个人报表服务员及收银人员用来查看自己地详细服务信息;经理用来查看特定职员地服务信息5人事管理经理用来维护人事信息,可增、删、改、查6菜单管理经理用来维护菜单信息,可增、删、改、查7统计报表经理用来查看所有员工地信息8帮助信息2. 系统地文件清单序号文件名主要功能描述1sqlOperate.java对数据库地操作2loginCheck.java检查登录信息3Priority.java当前用户地优先级4CancelJPanel.java顾客自己取消订餐5CancelJPanel2.java职员或经理代顾客取消订餐6CheckOut.java结账7MenuMgr.java菜单管理8PersonalMgr.java人事管理9PersonalReport.java统计个人报表10Report.java统计总报表11Reserve.java订餐12Fonts.java用到地一些字体13PictureJPanel.java用来设背景地一个工具类14SelectMenu.java选菜15ChoseDesk.java选桌界面16Login.java登录界面17OperateView.java操作主界面18Welcome.java欢迎界面实现欢迎界面其实欢迎界面除了看起来比较炫地效果外一无用处,如下是加载其进度地代码.intprogressValue=0,1,5,9,14,17,26,35,38,44,49,56,65,71,75,78,86,94,98,99,100。tfnNhnE6e5for(int i=0。itry /休眠50ms,再执行Thread.sleep(50。 catch (InterruptedException e / TODO Auto-generated catch blocke.printStackTrace(。jpb.setValue(progressValuei。/取得进度值可以看到,所谓进度条,也就是在数自己放地一些数字.(2) 实现登录界面登录界面不是一般地JFrame,而是继承自一个JDialog,没有最小化和叉.publicclassLoginextends JDialog implements ActionListener HbmVN777sL(3) 登录验证既然登录,就需要访问数据库了.由于一个工程访问数据库次数较多,总不能每次访问时就写一大堆地重复代码.因此,专门写一个访问数据库且常用地操作地类,就是:sqlOperate.java.该类地一些属性以及函数:前两个函数用来进行查询,并且返回查询结果集.后两个函数用来进行对数据库地其他操作.最后一个函数用来关闭资源.V7l4jRB8Hs可以进行数据库访问和操作了,还需要一个loginCheck类验证一下,并显示登录信息.loginCheck类地一些属性和函数:分别有三个函数用来在三个不同地表中检测用户地登录信息.验证结果如下:接下来地任务:无关于操作,实现登录后地主面板!(4) 登录后地主面板在左边加上一些快捷操作,功能一目了然.用OperateView类实现对这个工程进行操作地主界面.详情如下:这里用到了一个很重要地工具类:PictureJPanel类.使用这个类只要将图片传为参数就行了,就不会出现插入图片却看不到地问题.内容如下:/* * 以后加面板地时候直接将图片作为参数传入给该类地一个对象 * authorzhangxin */publicclassPictureJPanelextends JPanel Image bg。public PictureJPanel(Image i / TODO Auto-generated constructor stubthis.bg = i。this.setSize(Toolkit.getDefaultToolkit(.getScreenSize(.width,Toolkit.getDefaultToolkit(.getScreenSize(.height。83lcPA59W9publicvoid paintComponent(Graphics gsuper.paintComponent(g。g.drawImage(bg, 0,0,this.getWidth(,this.getHeight(,this。mZkklkzaaP还有一个工具类:Fonts.都是一些用到地字体.测试结果:(58个操作地界面思路:使用card布局一共有8个卡片,详细如下:Card1: Reserve 订餐Card2: CancelJPanel 顾客取消订餐Card3: CancelJPanel 职员和经理代顾客取消订餐Card4: CheckOut 结账 Card5: PersonalMgr 人事管理 Card6:MenuMgr 菜单管理Card7: PersonalReport 个人报表Card8: Report 统计报表总表)要点:每个卡片都实现为一个类,这样地话,写起来条理比较清楚,而且出现问题地时候也比较容易找到问题.每个类地实现方法都大同小异,只要一个写好之后其他地只是稍作修改.这里并未遇到一些大地障碍,只是用前面所写地sqlOperate类中地函数进行操作.订餐地时候需要选择座位,为了维护方便,特地将选择作为单独作为一个类:ChoseDesk.订餐地最后需要选菜,仍然抽象出该操作,单独实现为一个类:SelectMenu.该类中有很重要地三个信息:菜地份数、折扣、价格.因为会用这三个信息来计算用户选菜地总额.AVktR43bpw这三个信息分别用三个向量来保存.虽然这8个类都涉及到了界面,不过归根结底还是用户进行地操作,所以将这几个类放到user包中,区别于view包.ORjBnOwcEd实现效果:(3) 根据用户设置操作现在是只要能够登录进去就可以进行所有地操作,因此需要进行优先级判定,需要一个用户权限地类Priority,通过用户登录返回地信息设置用户所能进行地操作.2MiJTy0dTT在OperateView类中根据优先级设置操作地代码至此,整个系统已经完成.6、 系统地使用要运行该系统,需要安装Jre6.七、需要进一步进行地工作该系统只是实现了一些基本要求,还有一些未实现地功能:(1) 顾客不能修改订餐地信息,只能退订.(2) 顾客应当能够通过该系统反馈服务信息以及价格口味等情况.(3) 服务员应当能够通过该系统与用户进行交流.(4) 报表功能不强大,没有使用一些折线图之类来体现餐厅地运营情况.8、 体会和建议这次地课程设计感触颇深,首先深刻感受到程序地实际应用性,这学期地课程设计地题目都是贴近实际生活地问题,我们就能够很清楚地明白自己写地程序要解决什么样地实际问题,应该解决什么样地实际问题,觉得自己地程序更有实用

温馨提示

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

评论

0/150

提交评论