免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网上订餐系统的理论基础和设计思想 毕 业 设 计 说 明 书课题名称网上订餐系统院 系专 业班 级学 号学生姓名指导教师: 年 月 日计算机与软件学院毕业设计(论文)诚信承诺我谨在此承诺:本人所写的毕业论文网上订餐系统,系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果由本人承担。承诺人(签名): 年 月 日摘 要论文主要探讨“网络订餐系统”的理论基础和设计思想,根据系统的开发过程和系统的功能实现为主线来论述数据库管理软件的开发过程。主要阐述以软件工程理论作为系统开发的理论基础,以客户机/服务器模式的关系型数据库作为后台,以专业数据库开发语言作为实现手段的数据库管理软件的开发过程分析和理论研究。本系统是基于Jsp的网页式设计,企业可以通过一台服务器与多台客户机相连接,通过后台数据库的建立与设置,软件界面的设计与实现,程序的编写与调试等几个阶段来完成对订餐管理系统的开发。本论文详细地介绍了开发系统的具体步骤,以及应用的技术,以配图例的方式详尽说明,并在文中对一些源程序作了详细的解释。关键词:Web;JspAbstractThis dissertation mainly discussed the basic theory and designation of “Making Restaurant Reservation on web”, and the developing procedure according to system developing procedure and function realization. The essay also mentioned database management softwares developing procedure analyse and theory study by using software project theory as the theoretic basis of system developing , the C/S model relating database as the background and the professional database as the developing language applying method.This system is according to Jsp web page type design, the business enterprise can connect with each other with several customers machine through a server .By building and setting up background database, designing and applying software interface, programe writing and debugging, developed “House Agency Management Information System”.This dissertation introduced the specific steps in developing the system ,as well as the technical skill applied, presented with graphics and specific instruction and some source code has been explained particularly.Keywords: Web;Jsp;Making Restaurant Reservation on web ;Information Management目 录1 绪论11.1 开发背景11.2研究意义11.3 JSP的运行原理11.4 系统的运行环境32 系统分析42.1 需求分析42.1.1 任务概述42.1.2 需求描述42.1.3 面向的用户群体52.2 开发环境52.3 功能分析52.3.1 系统用例图52.3.2 系统业务流程分析73数据库设计93.1 数据库E-R图93.2 数据库表的设计104 系统详细设计124.1 系统架构层次124.2 系统模块设计124.2.1 总体模块功能描述124.2.2 用户模块功能描述134.2.3 菜式模块共描述144.2.4 留言板模块功能描述154.2.5 后台管理员模块功能描述155 系统实现175.1 用户注册175.2 用户登录185.3 在线订餐195.4 购物车215.5 订单管理245.6 留言板256 系统测试266.1 单元测试266.2 功能测试266.2.1 系统管理模块的功能测试276.2.2 菜肴管理模块276.2.3 订单管理模块276.2.4 购物车模块276.2.5 留言板模块27致 谢28参考文献291 绪论能足不出户,轻松闲逸地实现自己订购餐饮和食品(包饭、菜、盒饭便当等)餐饮业是一种个性化、多样化的服务产业。随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势在于:图文并茂,信息能够及时更新和在线查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息不能及时更新的现象。这样既节省了时间,也可以为广大用户提供更多选择”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。如图1.1所示: 图1.1 JSP运行原理在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit 方法的执行,并对此Servlet初始化。JspInit 方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService 方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。1.4 系统的运行环境要运行Jsp,需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持Jsp的服务器,如Weblogic,JSWDK等;而另一种则是在不支持Jsp的服务器上安装Jsp引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat等插件。其中主流服务器是Weblogic和tomcat.Weblogic是一款功能强大的服务器软件,配置比较简单,而且Jsp的扩展功能较多,附带了数据库的JDBC驱动程序。,支持JHTML 一种与Jsp十分相似的技术 ,是目前市场占有率最高的服务器。不过,Weblogic的运行情况不太稳定,使用它调试Jsp文件,出现语法错误或者数据库连接错误时,Weblogic就有可能崩溃。Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。本系统就是用该服务器的。2 系统分析2.1 需求分析2.1.1 任务概述综合应用主流Jsp技术,Struts Web框架技术,数据库技术,软件测试技术,网站部署与发布等技术,遵从IT企业生产性项目的软件产品生命周期开发工程模型或敏捷开发及持续集成模型,应用软件工程相关工具,完成网上订餐系统。根据系统说明书进行新系统的物理设计,提出一个由一系列模块和元素组成的新系统设计方案。通常分为总体设计和详细设计两个阶段。总体设计阶段的主要任务是:系统模块结构的设计、系统整体框架设计。详细设计阶段的主要任务是:数据库设计和数据文件的设计、编码设计、输入/输出设计、模块逻辑设计、包的设计、各模块类的设计等。在该项目中系统被分为四大模块:菜色展示购物车1 菜色展示系统展示系统是一套基于数据库平台的即时发布系统,可用于各类的展示、添加、修改和删除等。网站管理员可以管理简介、价格、图片等多类信息。浏览者在前台可以浏览到的所有资料,如价和详细介绍等信息。2 购物车购物车能够帮助顾客通过存放的信息,将们列在一起,并提供商品的总共数目和价格等功能,方便顾客进行统一的管理和结算。搜索系统商品搜索在网站中也是一项很重要的功能,主要帮助用户快速地找到想要购买的。可以利用数据库和信息检索技术为用户提供商品及其他信息的查询功能。后台管理后台管理在考虑管理操作简便的同时,要提供强大的管理模式,包括管理员角色的设置,商品管理订单管理网站基本信息管理等。本系统所面向的用户群分为网上者、网站管理人员两种。网上者网站管理人员客户端软件操作系统:Windows 2000 / XP /ista、Win7浏览器:IE6.0及以上版本、FireFox等服务器端软件操作系统:Windows 2000 Server或更高版本Web服务器:Tomcat数据库产品:SQL Server 2000网上系统图图2.1 网上系统图图2.2 系统业务流程图3数据库设计3.1 数据库E-R图根据数据库表的设计,绘制网上订餐系统的数据库E-R图,见图3.1所示:图3.1 数据库E-R图3.2 数据库表的设计此在线订餐系统采用SQL Server 2000数据库管理系统。首先用户需要在SQL Server 2000中建立一个数据库,将其命名为EDinner,然后根据数据库的逻辑结构分析创建7张数据表。1.用户表(Users):用于存放注册用户和管理员的记录,见表3.1所示。表3.1 My-Users表结构2.购物车表 OrderList :用于存放顾客所购买的菜肴信息,见表3.2所示。表3.2 OrderList表结构菜肴信息表 CMenu :用于存放初始的菜肴信息,见表3.3所示。表3.3 CMenu表结构订单表(Korder):用于存放订单数据,见表3.4所示。表3.4 Korder表结构分店表 Area :用于存放分店的信息数据,见表3.5所示。表3.5 Area表结构帮助文件表 CHelp :用于存放用户指南之类的数据,见表3.6所示。表3.6 CHelp表结构留言表 Cmemo : 用于存放用户留言的信息,见表3.7所示。表3.7 Cmemo表结构4 系统详细设计4.1 系统架构层次该网络订餐系统通过三层架构层次来实现,以确保系统运行的可靠性和安全性,下面是层层之间的关系,如下图4.1所示: 图4.1 系统架构层次4.2 系统模块设计4.2.1 总体模块功能描述该系统主要分为前台用户、游客,后台管理员权限,根据对顾客网上订餐系统业务流程的分析,已看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。顾客登录网上订餐系统进行菜单浏览、顾客注册为会员。会员对自己的个人信息进行更改,比如送餐地址和。以及账户密码。顾客对已选的菜单进行更改选择的数量或者取消选择。当顾客确定订餐完毕后,顾客将其提交只服务器后台点餐系统,并生成订单。生成订单后,进入付款页,可以多数量购买,价格要跟着数量增加,可以增删菜品。管理员在后台登录后,可以创建新的管理员。管理员可以对餐厅网上订餐系统上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜,每周更新一次菜谱等。管理员对菜单进行管理,确定订单的生成。管理员根据不同的属性来查询订单,比如生成日期或者编号等,系统功能模块结构图如图4.2所示:图4.2 系统功能模块结构图4.2.2 用户模块功能描述用户功能: 网站用户可以进行注册行为,输入资料提交至hillMan数据库的user1表之中。注册成功之后,直接登录。用户可以进行登录行为,登录后会根据其先前注册的资料,验证用户的合法性,并跳转到指定页面上。用户资料修改是为用户更改个人信息所提供的窗口,用户只有登录网页后才有权限修改个人资料信息。用户访问网上订餐系统时,可以注册或登录,然后进行相关的订餐操作,操作流程如下图4.3所示:图4.3 用户功能结构图4.2.3 菜式模块共描述菜式:用户通过使用购物车程序,可以使得网上购物更方便、更快捷。用户要购买商品,首先要将其放人购物车。同时用户还可以查看,修改购物车里的商品数量,系统将自动计算商品总价格等等。菜式列表供用户选择所需的菜式,将其加入购物车,注册用户可以下订单,如下图4.4所示:图4.4 菜式功能结构图4.2.4 留言板模块功能描述留言板:访客可以进入留言板,根据相关主题进行留言,注册用户可以创建新帖,如下图4.5所示:图4.5 留言板功能结构图4.2.5 后台管理员模块功能描述后台管理员:管理菜式的添加,删除,修改,订单的删除,修改,留言的删除,用户的查看,如下图4.6所示:图4.6 后台管理员功能结构图5 系统实现5.1 用户注册用户信息包括用户名、用户密码,联系地址,点击“注册”,如果用户没输入必要的字段,就会提示用户输入,完成注册。用户注册页面设计如图5.1所示:图5.1 用户注册图首先把reg.jsp文件的表单属性设置成 form name form2 method post action add.jsp ,再用JSP中request对象的getParameter方法获得FORM表单信息。具体代码如下: % Class.forName com.microsoft.jdbc.sqlserver.SQLServerDriver .newInstance ; String url jdbc:microsoft: Edinner; String user sa; String password ; Connection conn DriverManager.getConnection url,user,password ; Statement stmt conn.createStatement ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE ; String name String request.getParameter uname ; String psw String request.getParameter passWord ; String phone String request.getParameter phone ; String address String request.getParameter address ; String sql insert into users UserName,psw,U_Phone,U_Address,Power values +name+,+psw+,+phone+,+address+,2 ;stmt.executeUpdate sql ; response.sendRedirect ok.jsp ; % 5.2 用户登录用户登陆模块实现用户登陆功能,它验证用户提交的用户名和密码是否被授权,如果登录名为空,会提示请输入用户名,如果密码没输入或输入错误,会输入密码为空或错误,并根据访问权限为用户提供相应的业务功能。用户登页面设计如图所示5.2所示:图5.2 用户登录界面设计用户只有登录系统后才能订餐。登录时,用户需要在login.jsp页面中输入用户名和密码并提交到check.jsp中。check.jsp核实用户名和密码正确后,才允许用户登录,正确登录后用户就可以查询菜肴信息拉。这里是用Session对象的setAttribute方法设定指定名字的属性值,同时用request对象的getParameter方法获得用户名以及密码,代码如下: % session.setAttribute login,0 ;String name String request.getParameter uname ;String psw String request.getParameter passWord ;String sql select * from My_Users where UserName +name+ AND PassWord +psw+; ResultSet rs stmt.executeQuery sql ; % 获取到用户名和密码后,将它与用户表中的用户名和密码进行核对,如果一致则是合法用户,可以登录进入showmenu.jsp页面,如果不是则返回login.jsp主页重新输入。 % if !rs.next response.sendRedirect login.jsp ; else /session.setAttribute login,1 ; if rs.getInt Power 1 session.setAttribute login,1 ; else if rs.getInt Power 2 session.setAttribute login,2 ;/ 1 管理员,2 客户 session.setAttribute username,name ; response.sendRedirect showmenu.jsp ; % 5.3 在线订餐用户登录系统后,就可以购买美味了。购买时,用户需要查看都有哪些菜,这就需要一个菜单列表列出店中所有的菜肴。列表对应的是showmenu.jsp页面,主要内容有菜名、说明、图片、价格。进入详细介绍页面后,用户可以选择份数来订购了,订餐页面设计如图5.3所示:图5.3 菜肴展示图在列表页面中单击“图片”超链接,可以查看菜肴的详细信息。每份菜肴还需要提供“添加到购物车”的按纽,以便用户能够方便地购买,菜肴详细介绍如下图5.4所示: 图5.4 菜肴详细介绍图5.4 购物车用户查看购物车对应的是shoplist.jsp页面。此页面提取当前用户的所有订单列表,用户可以在该页面上修改自己的购物车,将自己不想买的菜删除,用户查看购物车如下图5.5所示;图5.5 购物车管理图代码实现如下:orderInfo.jsp页面 % String uname String session.getAttribute username ; % form action order.jsp method post onSubmit return check table cellspacing 1 cellpadding 4 width 92% height 100 border 0align CENTER bgcolor #c0c0c0 tr bgcolor #dadada td colspan 5 height 25 align center font color #000000 请确认支付和配送信息 tr bgcolor #ffffff td width 22% align RIGHT font color #000000 订 餐人: td colspan 4 width 78% % uname% input type hidden name cname value % uname% font id us tr bgcolor #ffffff td width 22% align RIGHT font color #000000 送货地址: td colspan 4 width 78% input type text name address length 200 onBlur address font id addr tr bgcolor #ffffff td width 22% height 31 align RIGHT fontcolor #000000 : td colspan 4 width 78% height 31 input type textname tel length 13 onBlur telcalled font id telmsg tr bgcolor #ffffff td width 22% align RIGHT font color #000000 应付金额: td colspan 4 width 78% 人民币: % new DecimalFormat 0.00 .format session.getAttribute total % 元 font id money tr bgcolor #ffffff td width 22% height 31 align RIGHT fontcolor #000000 配送方式: td colspan 4 width 78% height 31 table width 100% border 0 cellpadding 3 cellspacing 1bgcolor #c0c0c0 tr bgcolor #ffffff td align center width 100 送餐上门 font color #000000 10元起送 tr bgcolor #ffffff td width 22% height 31 align right fontcolor #000000 订单附言: td colspan 4 width 78% height 25 textarea name notice rows 6 tr bgcolor #dadada td colspan 5 height 12 align center input type submitvalue 确认以上信息无误,提交 如果购买的菜超过两份,则系统将其金额累加,代码如下: % ResultSet rs1 stmt.executeQuery sql1 ; float n 0; while rs1.next String m rs1.getString Prince ; n+ Float.parseFloat m ; % font color #000000 总金融 % n % % 图5.6 订单管理页面5.6 留言板用户登陆后,可以再留言板发表自己的看法,也可以在此给我们留言,留言板页面如下图5.7所示:图5.7 留言板界面6 系统测试6.1 单元测试黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。 黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。1.划分等价类并编号,如表6.1所示:等价类划分等价类有效等价值无效等价值用户名一到二十长度的字符串空字符超过二十长度的字符串密码一到二十长度的字串空字符超过二十长度的字符串表6.1 等价类划分表2.设计测试用例,以便覆盖所有有效等价类。测试数据用户名为“chenlin”密码为“fastkk”,测试数据有效,覆盖的有效等价类、。3.为每一个无效等价类设计一个测试用例测试数据用户名:“”密码:“xxxxxxxxxxyyyyyyyyyyzzz”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“”密码:“”,测试数据无效,覆盖的有效等价类、。测试数据用户名:“xxxxxxxxxxyyyyyyyyyyzzz”密码:“xxxxxxxxxxyyyyyyyyyyx”,测试数据无效,覆盖的有效等价类、。6.2 功能测试6.2.1 系统管理模块的功能测试在此模块中,系统管理员用户登陆后能进行查看、增加、删除、更改、查询、非系统管理员用户权力有限,不能进行这个模块的功能。6.2.2 菜肴管理模块在此模块中,系统管理员可以对菜肴项目进行添加,删除操作。6.2.3 订单管理模块在此模块中,信息管理员用户登陆后能进行查看、处理订单记录。6.2.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新课程教学中的多媒体辅助方法探索
- 金融产品销售技巧培训教材
- 家长会主持稿及互动环节设计
- 工业机器人维护保养手册与故障排除
- 文化传媒公司项目管理流程说明
- 医药行业新版GSP认证自查模板
- 房地产项目成本控制策略分析
- 小学语文病句修改训练教程
- 快递公司司机安全驾驶培训教材
- 建筑施工项目进度计划与控制要点
- 高教社2023马工程国际私法学教学课件u15
- 退费账户确认书
- 基于聚类的图像分割算法研究
- 教练式辅导-GROW模型介绍
- 河南粮投油脂有限公司油脂产业园项目环评报告
- 日中星鸟以殷仲春夏商周三代的星象与神学价值
- 原发免疫性血小板减少症教学查房
- 丈夫出轨净身出户协议书
- 矿泉水行业深度解析
- 部编版语文1至6年级下册教学总结
- 公路工程交工自评报告
评论
0/150
提交评论