ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:696.34KB ,
资源ID:7007514      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7007514.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版酒店管理系统毕业设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版酒店管理系统毕业设计论文.docx

1、完整版酒店管理系统毕业设计论文 毕业论文(设计) 题目: 网上订餐系统 学院/系 计算机科学与工程系 专 业 学 号 姓 名 指导教师 2011年 05月 14日1、开发环境开发工具:MyEclipse 开发环境:windows XP开发语言:jsp数据库: SQL Server 20002、系统分析2.1、需求分析“民以食为天,随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。努力在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者 所追求的目标。网络订餐实现了小店面大作为的成本效益,解决了因为店面小的限制而无法提高营业额的难题,是一个小投入大成效的经营新模式。在网上

2、参观订餐的人相对网下人来说还是比较少,一个是对网上餐馆的信用度持疑虑态度;另一个是网上订餐只可以看到物品的说明简介和外观,没有看到实体于细节处,无法通过快速浏览确定是不是自己想要的菜品。而这正是传统的实体餐馆优于网上餐馆的地方。而在网上订餐的人都是一般都是对电脑比较熟练的人,也就就是比较年青化的消费群体.就是白领、大学生、高中生和对计算机操作相对比较熟的人.因为这些人工作都比较忙,而且对计算机也比较熟,思想也比较超前,对于在网上订餐能够接受,并经常上网订餐。2.2、可行性分析经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效

3、益进行估计。技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。订餐管理系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。3、系统设计3。1、模块设计(a)用户注册(b)用户登录(c)菜品浏览(d)菜品订购(e)菜

4、品查询(f)订单修改(g)修改密码(h)修改个人信息(i)管理员3。2、功能模块图前台功能图(如图31)主要包括客户进入网站后进行的相应操作.首先,客户需要注册会员登录,如果不注册会员则不能进行订餐的下一步操作。其次,会员注册成功后,以会员身份登录网站,则可以进行会员信息修改,订单信息查询修改,网上订餐以及网站留言等功能。图3-1前台功能图图32后台功能图后台功能图(如图32)主要介绍系统管理员登录网站后台进行的相应操作.首先,管理者需登录后台网站.其次,登录成功后,可进行系统用户管理、菜品类别设置、网站新闻发布、菜品信息管理等。订单及管理流程图(如图3-3)介绍了用户从开始订餐到网站后台管理

5、者查看订单,实现送货,更改订单状态的整个过程,也是整个订餐系统的运作过程。下订单流程图: 订单管理流程图:图3-3订单及管理流程图3.3、数据库设计概述 数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。 3.4、数据库设计周期 根据软件工程的思想,数据库设计的周期可以划分为六个阶段: 规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。

6、需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。 设计阶段:把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。 程序编制阶段:以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。 调试阶段:对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。 运行和维护阶段:是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效地处理数据故障和进行数据库恢复.同时解决开发过程的遗留问题,改正错误

7、进行功能完善。 在我们的数据库系统建设中,着重考虑了以下两个标准保证数据的一致性: 字段标准:字段标准不统一是造成数据库难以共享的一个主要原因,因为字段的设计处于数据库设计的最底层,或者可以说是最基本的一层,如果这一层都不能统一的话,会直接影响到数据库中数据的共享。 代码标准:代码的引入为保持数据库中数据的一致性提供了一个重要手段。 此外本数据库设计主要遵循以下原则: 数据库文件的实用性,数据库文件的安全性,数据库文件的独立性,节省磁盘空间。数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各

8、种信息需求。物理结构设计的原则如下:1。尽可能的减少数据冗余和重复.2.结构设计与操作设计相结合。3.数据结构具有相对的稳定性.基于以上设计原则,本系统设计了一个数据库,包含基本信息表(如员工类别、存货等)及几个实体联系建模后的表(如散件销售、整机销售等)。为了加快系统访问的速度把这些表放在一个数据库中。3.5、E-R图设计 (a)系统ER图 (b)用户基本信息处理E-R图 (c)用户订单处理E-R图(d)菜品查询处理ER图(e)管理员E-R图3.7、数据库设计本系统的数据库其中包括九个表,分别为菜品菜品表t_goods, 用户注册表t_user, 管理员表t_admin, 菜品类型表t_ca

9、telog, 公告表t_gongao,定单表t_order,定单详细信息表t_orderItem。详情请见下面的数据库表1 菜品表2 菜品类别表3 订单表4 订单详细表5 公告表6 管理员表 7 注册用户表4、详细设计4.1、主页面模块 代码如下:Map request=(Map)ServletActionContext。getContext()。get(request”); String sql=from TGoods where goodsDel=no and goodsIsnottejia=yes order by goodsId desc”; List goodsYesTejiaLis

10、t=goodsDAO.getHibernateTemplate().find(sql); if(goodsYesTejiaList.size()4) goodsYesTejiaList=goodsYesTejiaList。subList(0, 4); request.put(”goodsYesTejiaList”, goodsYesTejiaList); sql=”from TGoods where goodsDel=no and goodsIsnottejia=no order by goodsId desc; List goodsNoTejiaList=goodsDAO.getHibern

11、ateTemplate().find(sql); if(goodsNoTejiaList。size()4) goodsNoTejiaList=goodsNoTejiaList.subList(0, 4); request.put(”goodsNoTejiaList”, goodsNoTejiaList);4。2、用户注册模块用户注册是为第一次登录网站的用户所设计的。在用户成为本站用户之前一定要注册才可以访问我网站的其它网页。用户注册包括:登录名称,真实姓名,设置密码,电子邮件等。注册成功后,才可以访问本站的其他页面.代码如下TUser user=new TUser(); user.setUse

12、rName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user。setUserTel(userTel); user。setUserRealname(userRealname); user。setUserEmail(userEmail); user。setUserSex(userSex); user.setUserQq(userQq); user.setUserDel(no”); userDAO。save(user); Map session= ServletActionContext。getCont

13、ext()。getSession(); session。put(”user”, user); return successAdd;4.3、用户登录模块用户登录包括:登录名称,输入密码.当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。代码如下:String sql=from TUser where userName=? and userPw=?; Object con=userName,userPw; List userList=userDAO。getHibernateTemplate().find(sql,con); if(

14、userList。size()=0) this.setMessage(”用户名或密码错误); this.setPath(qiantai/default.jsp”); else Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)userList.get(0); session.put(”user”, user); Cart cart=new Cart(); session.put(cart”, cart); this.setMessage(”成功登录); this。setPath(”qia

15、ntai/default。jsp”); return ”succeed”;4。4、菜品浏览模块菜品浏览:成功登陆后的用户可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。代码如下:String sql=”from TGoods where goodsDel=no and goodsIsnottejia=no order by goodsCatelogId; List goodsList=goodsDAO.getHibernateTemplate().find(sql); for(int i=0;igoodsList。size();i+) TGoods goods=(TGoods)good

16、sList.get(i); System。out.println(goods.getGoodsCatelogId()); goods.setGoodsCatelogName(catelogDAO。findById(goods.getGoodsCatelogId())。getCatelogName()); Map request=(Map)ServletActionContext.getContext().get(request”); request.put(goodsList”, goodsList); return ActionSupport.SUCCESS;4。5、订餐车模块代码如下:TG

17、oods goods=goodsDAO。findById(goodsId); TOrderItem orderItem=new TOrderItem(); orderItem.setGoods(goods); orderItem。setGoodsQuantity(quantity); Map session= ServletActionContext.getContext()。getSession(); Cart cart = (Cart)session。get(cart); cart。addGoods(goodsId, orderItem); session。put(cart”,cart);

18、 /this.setMessage(); this。setPath(myCart。action”);4.6、订单确认模块代码如下:Map session= ServletActionContext。getContext().getSession(); Cart cart = (Cart)session。get(cart); TUser user=(TUser)session。get(user”); TOrder order=new TOrder(); order.setOrderBianhao(new SimpleDateFormat(yyyyMMddhhmmss)。format(new Da

19、te()); order.setOrderDate(new SimpleDateFormat(yyyy-MMdd hh:mm:ss)。format(new Date())); order。setOrderZhuangtai(no);/未受理 order。setOrderUserId(user。getUserId(); order.setOrderJine(cart。getTotalPrice(); System.out.println(odderFukuangfangshi+%”); order。setOdderFukuangfangshi(odderFukuangfangshi); orde

20、r。setOdderSonghuodizhi(odderSonghuodizhi);4。7、订单提交模块代码如下:for (Iterator it = cart。getItems().values()。iterator(); it。hasNext();) TOrderItem orderItem = (TOrderItem) it.next(); orderItem。setOrderId(order.getOrderId()); orderItem。setGoodsId(orderItem。getGoods()。getGoodsId()); orderItemDAO.save(orderIte

21、m); cart.getItems().clear(); session.put(cart, cart); Map request=(Map)ServletActionContext.getContext().get(request”); request。put(order, order);4。8、后台管理员登陆 这是进入系统时的身份验证,用户首先要从软件开发者那里申请用户名和密码,才可以进入。该过程的流程图如图4-2所示: 代码如下:String sql=from TAdmin where userName=? and userPw=?”; Object con=userName,userP

22、w; List adminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()=0) result=no”; else WebContext ctx = WebContextFactory。get(); HttpSession session=ctx。getSession(); TAdmin admin=(TAdmin)adminList。get(0); session。setAttribute(”userType”, 0); session.setAttribute(admin”, admin); re

23、sult=”yes”; 4。9、 后台主界面代码如下:FRAME name=topFrame src=”/admin/top.jsp noResize scrolling=no FRAMESET border=0 name=content frameSpacing=0 frameBorder=0 cols=166,* FRAME name=BoardMenu marginWidth=0 marginHeight=0 src=” FRAME name=main marginWidth=0 marginHeight=0 src=”/admin/index/sysPro。jsp” noResize

24、4.10、菜品类别管理代码如下:String sql=from TCatelog where catelogDel=no”; List cateLogList=catelogDAO.getHibernateTemplate().find(sql); Map request=(Map)ServletActionContext.getContext().get(request”); request。put(cateLogList”, cateLogList); return ActionSupport.SUCCESS;4。11、菜品管理代码如下:String sql=”from TGoods wh

25、ere goodsDel=no and goodsIsnottejia=no order by goodsCatelogId”; List goodsList=goodsDAO.getHibernateTemplate()。find(sql); for(int i=0;igoodsList。size();i+) TGoods goods=(TGoods)goodsList。get(i); System.out.println(goods。getGoodsCatelogId()); goods。setGoodsCatelogName(catelogDAO.findById(goods.getGo

26、odsCatelogId())。getCatelogName()); Map request=(Map)ServletActionContext.getContext()。get(request); request.put(goodsList, goodsList); return ActionSupport.SUCCESS;4.12、订单管理TOrder order=orderDAO。findById(orderId); order。setOrderZhuangtai(”yes”);/已经受理订单 orderDAO。attachDirty(order); this。setMessage(”受

27、理订单成功); this.setPath(”orderMana。action”); return ”succeed;5、系统调试与测试5。1、程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2、程序的测试5.2.1、测试的重要性及目的测试的重要性:软件的测试在软件生命周期中占据重要的地位。近来,软件工程界趋向于一种新的

28、观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 测试的目的:如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。 1。软件测试是为了发现错误而执行程序的过程; 2.测试是为了证明程序有错,而不是证明程序无错误; 3.一个好的测试用例是在于它能发现至今未发现的错误; 4。一个成功的测试是发现了至今未发现的错误的测试。 测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目

29、管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2、测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:1。模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。2。系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误.3.验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误.5。2.3、测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 1。单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1