还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库专题试验-------饭店简易结账系统开发语言:Java建模工具PowerDe si gne r数据库S QLSe rve r2023操作系统Windows
7.2数据库系统和访问机制本着以便和简朴实用的原则,该项目使用SQISe r v er2023o访问机制:通过JDBC纯驱动方式来访问数据库由于初期的J JDBC接口不是很成熟,只有比较少W、J数据库厂商提供纯Ja v a的驱动程序不过近年诸多厂商都实现了纯Java的驱动程序,使得Java访问数据库愈加安全快捷由于桥接方式比之纯驱动方式不稳定、性能差、诸多JDBC特性不支持,因此该项目使用JDBC纯驱动方式访问数据库3・开发工具的比较与选择该项目选择使用Jav a语言来实现,开发工具选择e c1ipse1JCrea tor小巧,功能不多,有代码提醒,应用非常简朴,运行速度快不过没有GUI设计工具,调试功能不强2JBu i1加=3功能上很强大,属于精品软件,价格不菲有GU I设计工具,有UML工具,能生成当地应用程序包等不过速度慢,耗资源33Ec1ip s eIBM投资开发日勺开源软件,完全免费,GUI设计比较强大,运行速度较快,代码辅助功能很完善,同步对项目的管理功能也很强大,插件日勺设计非常杰出,应用简朴考虑到经济实用,最终选择了强大的开源软件Ec1i pse0
五、已实现系统的技术文档
1.系统的功能清单序号功能项功能描述1订餐游客可自己订餐,职工或经理均可代为订餐2退订顾客可自己退订,职工或经理均可代为退订3结账顾客祈求结账,职工或经理均可结账4记录个人报表服务员和收银人员用来查看自己的详细服务信息;经理用来查看特定职工的服务信息5人事管理经理用来维护人事信息,可增、册h改、查6菜单管理经理用来维护菜单信息,可增、册k改、查7记录报表经理用来查看所有员工的信息8协助信息2•系统的文献清单序号文献名重要功能描述1s q10pe r ate.java对数据库的操作2login Cheek.java检查登录信息3Pr iority.java目前顾客的优先级4CancelJP an el.java顾客自己取消订餐5CancelJP a nel
2.java职工或经理代顾客取消订餐6C he c kOut.java结账7Me nuMgr.java菜单管理8Pers on aIMgr.java人事管理9P erson alRep ort.jav a记录个人报表10Repo rt.java记录总报表11Rese r v e.j ava订餐12F onts.java用到日勺某些字体13P i c tureJ Pan e
1.java用来设背景的一种工具类14SelectMenu.java选菜15ChoseD e s k.ja va选桌界面16Login,java登录界面170p erateV ie w.j ava操作主界面18W eIcome.java欢迎界面(程序入口)3•系统的程序描述通过we1come类中的main函数进入到欢迎界面,顾客根据提醒进行订餐登录,或者输入登录信息进行登录输入登录信息后,通过loginCheck类的检测,或提醒登录信息错误,或进入正常登录界面,并设置Prior it y中的I priori ty属性表达目前顾客欧|优先级游客登录进去可以进行订餐,订餐时实现依托于Reser v e类顾客登录进去可以查看到自己的订餐信息,退餐时实现依托于Can celJPa nel类服务员和收银员登录进去可以代顾客订餐、退订订餐的实现仍然依托Reserve类,退订的实现依托Can celJ Pane12类还可以进行结账,依托于Check0u t类,结账后,进行数据库中顾客表的更新,写入服务的服务员号还可依托PersonalReport类查看自己的服务记录信息经理登录进清除了可以进行服务员和收银员的所有操作,还可通过Per sonalMgr进行人事管理,或炒觥鱼、或增职工、或修改信息,可通过McnuMgr类进行菜单维护,添菜,撤菜,改价之类可通过Pe r sonalReport类查看某个员工的服务报表,通过Report类查看大的比较笼统的报表
4.开发过程⑴实现欢迎界面其实欢迎界面除了看起来比较炫日勺效果外一无用处,如下是加载其进度日勺代码i n t[]progr es sValu e={0,1,5,9,14,17,26,35,38,44,49,56,65,71,75,78,86,94,98,99,100;for i n ti=0;ipro gres sVa1u e.1e ngt h;i++t ry“/休眠50m s,再执行Th r e ad.sleep位0;}c at chIn t erruptedExcepti one{//TODO Aut o—generated ca tchblockp rint St ackTr ace;s jpb.setValue progr es sValu e[i];//获得进度值可以看到,所谓进度条,也就是在数自己放日勺某些数字2实现登录界面登录界面不是一般的J Fram e,而是继承自一种JDia1og,没有最小化和叉publi cclass Logine xte nds JD ialog imp1ements ActionListener3登录验证既然登录,就需要访问数据库了由于一种项目访问数据库次数较多,总不能每次访问时就写一大堆的反复代码因此,专门写一种访问数据库且常用的操作口勺类,就是sq1Operate.javao该类的某些属性以和函数前两个函数用来进行查询,并且返回查询成果集后两个函数用来进行对数据库日勺其他操作最终一种函数用来关闭资源可以进行数据库访问和操作了,还需要一种1gin Check类验证一下,并显示登录信息loginChe ck类的J某些属性和函数:分别有三个函数用来在三个不一样日勺表中检测顾客日勺登录信息验证成果如下接下来日勺任务:无有关操作,实现登录后的主面板!4登录后H勺主面板在左边加上某些快捷操作,功能一目了然用Oper ateView类实现对这个项目进行操作的主界面详情如下这里用到了一种很重要的工具类:PictureJPanel类使用这个类只要将图片传为参数就行了,就不会出现插入图片却看不到的问题内容如下*后来加面板的时候直接将图片作为参数传入给该类的一种对象*@a ut hor zha ngxinpublicclass Pic tur eJPa nel exte ndsJ Panel{«Tmage bg;®pu blie Pictu reJPanelIma g e i{//T0D0A uto—generated co ns t ruet orstubthi s.bg=i;t his.se tSizeT ool kit.getDefaultToolkit^.get Sere enSize.wi dth,o Tool kit.getDefau1tToolkitO.g etScr eenS ize.he ig ht;6public voidpaint Componen tG raphics g{su pe r.p aint Co mponentg;g.d raw Ima ge bg,0,0,this.ge tWidth,this.getH eight,this;尚有一种工具类:Fonts都是某些用到的字体测试成果58个操作BU界面思绪使用car d布局一共有8个卡片•,详细如下C a rdlR es e r v e订餐Card2:Cancel JPanel顾客取消订餐Card3Cancel JPanel职工和经理代顾客取消订餐Card4Che ckOut结账超C ard5:Pers onalMgr人事管理Card6:MenuM gr菜单管理C ard7:P e rsonalRep ort个人报表Card8Repo rt记录报表总表要点
①每个卡片都实现为一种类,这样rJ话,写起来条理比较清晰,并且出现问题的时候也比较轻易找到问题
②每个类日勺实现措施都大同小异,只要一种写好之后其他日勺只是稍作修改这里并未碰到某些大的障碍,只是用前面所写的sqlOper ate类中的函数进行操作
③订餐的时候需要选择座位,为了维护以便,特地将选择作为单独作为一种类:Chs eDesk
④订餐的最终需要选菜,仍然抽象出该操作,单独实现为一种类:SelectM enu该类中有很重要的三个信息:菜的份数、折扣、o价格由于会用这三个信息来计算顾客选菜的总额这三个信息分别用三个向量来保留
⑤虽然这8个类都涉和到了界面,不过归根结底还是顾客进行的操作,因此将这几种类放到user包中,区别于v iew包实现效果6根据顾客设置操作目前是只要可以登录进去就可以进行所有的操作,因此需要进行优先级鉴定,需要一种顾客权限日勺类Pri ority,通过顾客登录返回日勺信息设置顾客所能进行的操作在Ope rate View类中根据优先级设置操作的代码至此,整个系统已经完毕
六、系统的使用要运行该系统,需要安装Jr
七、需要深入进行的工作该系统只是实现了某些基本规定,尚有某些未实现日勺功能1顾客不能修改订餐日勺信息,只能退订2顾客应当可以通过该系统反馈服务信息以和价格口味等状况3服务员应当可以通过该系统与顾客进行交流4报表功能不强大,没有使用某些折线图之类来体现餐厅的运行状况
八、体会和提议这次的课程设计感触颇深,首先深刻感受到程序H勺实际应用性,这学期的课程设计的题目都是贴近实际生活的问题,我们就可以很清晰口勺明白自己写的程序要处理什么样的实际问题,应当处理什么样的实际问题,觉得自己日勺程序更有实用价值我设计日勺这个饭店简易结账系统系统只是一种非常简朴的模型,实际生活中应用日勺饭店结账系统功能十分的强大,可以在线理解信息,预定退订等业务也可以在线完毕,并且有很强大日勺报表功能当然我日勺程序的可以实现饭店中最基本也是最重要的业务,如预定,退订这次设计中不停日勺出现问题,我则自己努力,不停的改正错误,改善自己日勺程序,有些自己实在是无法处理的问题,则会与其他同学讨论,或上网查询、搜寻资料……在不停的改善过程中,深刻的认识到自己程序的漏洞和不健全性,也发现了自己对于Java的理解实在是皮毛,以致有诸多很简朴的错误调试了很长时间通过这次设计,不仅让我深入加深了对知识的巩固,并且很好的锻炼了我的J独立思索能力,以和分析问题处理问题日勺能力此后凡事都不要着急,要冷静日勺分析思索,越是急越是无法处理,只有从容冷静深入思索才能真正日勺处理问题,只要自己努力凡事都能处理尚有就是深刻体会到了平时多练习的重要性,平时假如不多练习,在编写自己H勺程序时会手忙脚乱无所适从最重要的一点就是老师提供了数据库系统的设计环节刚开始时总是认为系统比较小,完全没有必要使用建模工具,认为自己建几张表就足够用了,这是很不对的的虽然这个系统比较小,但还是中途多次修改了数据库中日勺内容,幸好当时使用了建模工具,要否则修改起来可就很麻烦了,假如碰到大日勺系统不用建模工具就会走诸多不必要的弯路这点也是我从这个系统中得到的一种很深刻的教训
九、参照资料
1.CSDN论坛
2.goog1e选题简介错误味定义书签
二、系统功能设计错误味定义书签
1.选题分析错误味定义书签错误味定义书签
三、数据库设计错误味定义书签
1.E-R图错误味定义书签单错误味定义书签
2.表清错误味定义书签
五、已实现系统的技术文档错误!未定义书签
113.系统的程序描述1%错误床定义书签
4.开发过程错误床定乂书签
六、系统的使用错误!未定义书签
七、需要深入进行的工作错误味定义书签
一、选题简介该简易餐厅结账系统需要完毕客人订桌、点菜、结账和日报表打印功能选题详述1三种参与角色:客人、系统管理人员、服务和收银台人员⑵客人功能需求:订桌、点退菜、结账3系统管理员功能需求:菜单和价格维护含折扣、顾客建立和授权、记录报表生成打印⑷服务和收银台人员功能需求替代客人完毕客人功能需求、打印消费清单、记录个人服务额总计
二、系统功能设计
1.选题分析I.该系统需要四个实体:顾客实体、职工实体、经理实体、菜单实体1顾客实体实体名c ustomer角色:客户属性id,密码,姓氏,性别,订餐时间,就餐时间,,邮箱,座位主键id2职工实体实体名:cl er ko角色服务员兼收银员属性id,密码,姓名,性别,就职时间,工资,,邮箱主键i d3经理实体实体名manager角色:经理属性I d,密码,姓名,性别,就职时间,工资,,邮箱主键id4菜单实体实体名food角色:餐厅里面H勺多种吃货属性id,菜名,价格,折扣主键idI I.还需要两个联络:服务、订餐1服务联络名s erv e产生联络的J两个实体:cle rk和cus t om er属性:无服务员欧J主键只要作为顾客的外键就行了何时产生:当服务员选择某个顾客点击结账按钮时会建立此关系⑵订餐联络名:res erv e产生联络的两个实体c u stomer和foo d属性:数量同一份菜的份数何时产生当顾客点击订餐按钮时会建立此关系2•系统的功能模块图
3.重要功能的实现措施I.订餐1填写详细信息,填写完毕后进行选餐2选餐时,返回food表中所有的记录,顾客选择要点日勺菜,并填写菜日勺份数3确认后,向cu stomer表中添加一条顾客记录4向res erv e表订餐表中添加多条订餐记录II.退订删除rese rv e表中的有关记录III.结账1在cu stomer表中查询总价2更新cu stomer表,将服务员的编号更新至对应的顾客记录IV.个人报表cu s tome r表选择----------〉投影V.记录报表custome r表:直接投影VI.菜单管理和人事管理某些基本的通过高级语言进行增删改查的操作
三、数据库设计
1.E-R图Powerdesigner仓U立的I CDM
2.表清单序号表名功能描述1man ager经理表2cler k服务员和收银员表3c ustome r顾客表4food食物表5rese rve顾客订餐表1Powerdesigne r生成的PDM:2S QLServ er中的表3据字典表格列清单表名名称代码阐明clerk c1e_id c1e id职工号职工表c odecode密码n ame name姓名sex sex性别e mp_d at emp date就职时间esa1ary sa1ary薪水ph onephonee mai1em ail邮箱c ust ome c us_id cu s_i d顾客号r cl e idcle_id服务的职工号顾客表code co d e密码n ame name姓名sex sex性别eat time eat_tim就餐时间ep ho neph oneem ail emai1邮箱sum_pric esum_pric花费总额es eatseat作为food fo o didfoo d_id食物标号食物表name name食物名price price价格discount di sco u折扣ntmanager man_id man_id经理号经理表code co de密码n ame name姓名sex sex性别empdate emp_d at就职时间esalary salary薪水p honephon eemaile mai1邮箱reserv ec us_i dcus_id顾客号订餐表f o od_id foodid食物编号num num菜的份数表格索引清单名称代码唯一的群集器重要时外键候选键表格clerk_P Kcle rk_PK TRUE FALSE TRUE FALSE FALSE clerkc ustomer_PK customer_PK TRUE FALSE TRUE FALSE FA LSEcustome rs erv e_FK ser ve_FK FALSE FALSE FALSE TRUE FALSEcust ome rfood_PK food_PK TRUEFALSE TRUEFALSEFALSE fo odmana ger_PK manager_PK TRUEFALSETRUEFALS EFALSE managerreserve_P K rese rve_PK TRUE TRUETRUEFAL SEFALS Eres ervereser ve_F Kreser ve_F KFALSE FALSEFALSETRUEFALSE reser v er eserve FKr eserve FK2FALSEFALSEFALSETRUEFAL SEreserve2表格键清单名称代码表格cus_i dc us_id customerfoodi Ide nt ifierfoo dd_1man i d man idmana gerfood_idIdent if ireserveer_l参照清单名称代码父表格子表格res eres erve customerres erververeser ve reserve foodreserves erveserve c1erkcustomer表格清单名称代码clerk c1e rkcust omercust ome rfood foodm an agermanagerreserve res erve
四、开发环境
1.开发环境概述开发工具eclipse。
个人认证
优秀文档
获得点赞 0