Java网上订餐系统与分析大型实验报告

合集下载

网上订餐系统分析与设计实验报告

网上订餐系统分析与设计实验报告

网上订餐系统分析与设计实验报告
信息系统分析与设计
课程实验报告
饱了么网上订餐平台
信息系统分析与设计
组长
组员
专业
指导教师
完成日期
目录
第一部分项目管理与计划 (3)
实验1 指定项目计划 (3)
实验2 项目可行性分析 (6)
第二部分系统分析 (8)
实验 3 项目需求收集 (8)
实验4 用例建模 (9)
实验5 通过用例获取概念数据模型 (16)
实验6 将概念数据模型转换为对象关系模型 (17)
实验7 分析类图建模(序列图、分析类图) (17)
实验8 三种可选方案选择分析 (20)
第三部分系统设计 (23)
实验9 物理数据库设计 (23)
实验10 确定系统构架等设计元素、设计类图建模 (28) 实验 11 界面设计 (30)
第一部分项目管理与计划实验1 指定项目计划
1.1项目的工作分解结构(WBS),所需资源
网上订餐系统WBS
1.2 通过PERT技术估算项目的持续时间PERT公式
1.3甘特图和网络图
甘特图
网络图
实验2 项目可行性分析
2.1经济可行性分析
随着人民的生活水平的提高,餐厅也蓬勃发展,线下的实体服务已经满足不了日益进步的需求。

网络订餐系统给人们带来了方便,成为一种全新的商务模式。

网上订餐平台一方面为餐厅搭建了一个集中的宣传平台,能为餐厅节约经济成本,创造更多的收益;另一方面,能为广大消费者争取更多的优惠。

这样的模式使得餐厅和消费者两方面都渐渐依赖网上订餐平台,从而获得可观的收益。

网上订餐系统实验报告

网上订餐系统实验报告
网上订餐系统 实验报告
目录
摘要 本文分析了小型餐饮店管理与发展的现状和面临的问题,发现传 统的服务模式已经不能适应市场发展的需求。随着网络技术的发展和 普及,方便、快捷、个性化的网上订餐服务正在进入人们的生活。针对 这类问题,结合当代科技发展的最新成果,本文构思规划了一套最贴切 的服务模式,为餐饮店铺提供区域网络门户,适应不同的客户群。 本设计是一个基于互联网的 B/S 模式的网上订餐系统,能为客户 提供网络选择浏览菜品介绍、点菜订餐、送餐等服务。并为管理员提供 一个智能的服务平台实现顾客信息与顾客订单的管理,从而提高了服 务的质量。本文从系统需求、系统设计、代码实现几方面介绍了整个软 件开发过程,其开发平台为 Microsoftvisualstudio2005,主要开发语言 有 C#, JavaScript。 关键词:订餐系统 订单管理 C# B/S 模式
管理员的 E-R 图如图 3-5: 13
图 3-5 管理员模块 E-R 图
3.2.2 数据结构 数据结构是计算机存储、组织数据的方式。数据结构是相互之间存
在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数 据库可以带来更高的运行或者存储效率。
表 3-1 Admin 表
字段
描述
类型

是否允
50


ar
varch
50


ar
varch
50


ar
varch
50


ar
varch
50


ar
字段 名 ClassI D
表 3-4 Class 表
描述


是否允

订餐系统的java实训报告

订餐系统的java实训报告

测试及调试
• 测试计划 • 向数据库输入多组用户、商品信息,测试页面查询显示;
测试用户注册、登录功能。
• 缺陷分析 • 1、权限设置需要判断用户信息,进行相应的设置,由于
时间的原因和知识的缺乏未能实现该功能。 • 2、模块的分累和全选功能,由于时间的原因未能实现该
功能。 • 3、没有进行输入验证,由于时间的原因未能实现该功能。 • 4、其他缺陷均是由于知识和时间不足未能实现。
OrderID
CustomerID
OrderDate
<pk>
PayMethod
Postage
TotalMoney
FK_ORDERS_下订单_CUSTOMEDRe l i ve ryDa te De l i ve ryM e th o d
Co n si g n e e Ad d re ss
Co n si g n e e Po sta l Co d e
ProductID
CHAR(10)
<pk>
OrderDetailID CHAR(10)
<fk2>
CategoryID CHAR(10)
<fk1>
ProductName VARCHAR2(50)
MarketPrice NUMBER(9)
Pi ctu re
BLOB
...
Ca te g o ri e s
CategoryID
Customers
CustomerID UserName Re a l Na m e Sex Qu e sti o n Email Address Po sta l Co d e Phone Fax Re g i ste rDa te ...

订餐系统实习报告

订餐系统实习报告

订餐系统实习报告在实习公司名称的实习期间,我参与了订餐系统的相关工作,这段经历让我对软件开发和系统运营有了更深入的理解和认识。

一、实习背景随着互联网技术的飞速发展,线上订餐已经成为人们日常生活中不可或缺的一部分。

实习公司名称为了满足市场需求,提升用户体验,决定开发一款高效、便捷的订餐系统。

我有幸在这个项目中贡献自己的一份力量,并在实践中不断学习和成长。

二、实习目的通过参与订餐系统的开发和维护,我希望能够提升自己的编程技能,了解软件开发的全流程,掌握系统设计和优化的方法,同时培养团队合作精神和解决问题的能力。

三、实习内容1、需求分析在项目启动初期,我与团队成员一起与业务部门进行沟通,了解用户需求和业务流程。

我们通过问卷调查、用户访谈等方式收集了大量的数据,并对这些数据进行了整理和分析。

在这个过程中,我学会了如何从用户的角度出发,挖掘他们的真实需求,并将其转化为系统的功能需求和非功能需求。

2、系统设计根据需求分析的结果,我们开始进行系统设计。

我参与了数据库设计、架构设计和界面设计等工作。

在数据库设计中,我需要考虑数据的存储结构、关系和索引等,以确保数据的完整性和查询效率。

在架构设计中,我们选择了合适的技术框架和开发工具,并对系统的模块进行了划分和职责定义。

在界面设计中,我们注重用户体验,力求设计出简洁、美观、易用的界面。

3、编码实现在系统设计完成后,我开始进行编码实现。

我主要负责用户注册登录模块、菜品管理模块和订单管理模块的开发。

在开发过程中,我严格按照编码规范进行编写,并进行了充分的测试,以确保代码的质量和稳定性。

同时,我还积极与团队成员进行代码审查和交流,学习他人的优秀编码经验和技巧。

4、系统测试在完成编码实现后,我们进行了系统测试。

测试包括单元测试、集成测试和系统测试等。

我参与了部分测试用例的编写和执行,并对测试中发现的问题进行了及时的修复和优化。

通过系统测试,我们确保了系统的功能完整性和性能稳定性,为系统的上线运行提供了有力的保障。

Java网上订餐系统与分析大型实验报告范文

Java网上订餐系统与分析大型实验报告范文

Java网上订餐系统与分析大型实验报告范文设计题目:基于JavaEE的网上订餐系统班级:姓名:学号:指导老师:软件801某某某某某某某某某2022年12月Java的网上订餐系统1、需求分析网上订餐系统需要提供客户快捷、方便的订餐服务,开发本系统的具体要求如下:(1)在系统首页需要提供推荐菜单、热门菜单已经菜单搜索功能,方便用户快速选购自己喜欢的菜单。

(2)系统要求用户进行注册和登录。

(3)在用户订餐完毕后,需要能够自动计算菜单价格。

同时在用户提交订单时,需要用户确定订单无误,同时还将自动生成订单号,并保存到系统的剪贴板中,方便用户保存订单号。

(4)系统还需要提供会员服务功能,会员每消费一块钱将增加一积分。

同时在系统首页将显示积分榜,鼓励会员消费。

(5)系统需要提供菜单分类查看功能,从而方便用户选购。

2、功能分析模块:订餐模块:点击菜单的订餐按钮,进入购物车,提供订餐功能。

会员中心模块:用来显示会员身份信息,并提供会员信息更新功能。

订单查询模块:负责订单的查询功能,提供订单时间、订单号查询功能。

功能说明用例图:图1用户用例图Java的网上订餐系统图2管理员用例图3、系统设计系统流程图:图3前台系统流程图图4后台系统流程图Java的网上订餐系统数据库实体表:图5店铺信息表图6订单信息表图7用户信息表图8菜单信息列表图9菜单种类表ER图:Java的网上订餐系统图10店铺实体E-R图图11菜单种类实体E-R图图12菜单信息实体E-R图图13用户信息实体E-RJava的网上订餐系统图14订单信息实体E-R图4、模块设计表现层代码如下:Stringpath=requet.getConte某tPath();StringbaePathrequet.getScheme()+"://"+requet.getServerName()+":"+requet.g etServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Tranitional//EN"><html><head>=Java的网上订餐系统functionaddShopBu(name,price,num,id){vartr=name+"价格"+price+"数量"+num+"已加入购物车";varallPrice=document.getElementById("allPrice");varallPrice=do cument.getElementById("allPrice");vartrId=document.getElementByI d("trId");vartable=document.getElementById("hopBuTable");vartr=t able.inertRow(2);//在第二行插入一行,并赋值vartd1=tr.inertCell();td1.innerHTML=name;vartd=tr.inertCell();va rtd2=tr.inertCell();td2.innerHTML=price;vartd3=tr.inertCell();td 3.innerHTML=num;allPrice=allPrice+price;if(allId==""){allId=allI d+id;}ele{allId=allId+","+id;}trId.value=allId;allPrice.innerHTM L=allPrice;allPrice.value=allPrice;}functioncheck(){vartrId=document.getElementById("trId").valu e;if(trId!=""){alert("订单生成成功!");returntrue;}ele{alert("您还未点菜!");returnfale;}}functiongotothat(flag){if(flag=="login"){howModalDialog("log in.jp",window,"dialogHeight:20;dialogWidth:29;");}if(flag=="reg" ){howModalDialog("reg.jp",Java的网上订餐系统window,"dialogHeight:20;dialogWidth:29;");}}functionmore(Inf oId,TypeId){howModalDialog("more.jpInfoId="+InfoId+"&TypeId="+Ty peId,window,"dialogHeight:30;dialogWidth:29;");}</cript></head>< body><%ShopInfohopInfo=(ShopInfo)eion.getAttribute("hopInfo");Membe rInfomemberInfo=null;if(eion.getAttribute("memberInfo")!=null){memberInfo=(MemberInfo)eion.getAttribute("memberInfo");}Lit<MenuType>menuType=(Lit<MenuType>)eion.getAttribute("menu Type");Lit<OrderInfo>orderInfo=(Lit<OrderInfo>)eion.getAttribute ("orderInfo");MenuTypemenuType=newMenuType();MenuInfomenuInfo=ne wMenuInfo();%><%if(memberInfo==null){%><divid="member"><inputtype="button"value="登录"onclick="javacript:gotothat('login')"><inputtype="button"value= "注册"onclick="javacript:gotothat('reg')"></div><%}ele{%> <divid="member">欢迎<%=memberInfo.getName()%>在食为天订餐!<br/>您目前的积分为<%=memberInfo.getSource()%><ahref="login_out">注销</a></div><%}%><divid="hopInfo"><tablewidth="250"><tr><td>店名:</td><td><%=hopInfo.getName()%></td></tr><divid="hopBu"><formaction="addOrderInfo"method="pot"onubmit="returncheck() "><tableid="hopBuTable"><tr><tdcolpan="3"align="center">购物车</td></tr><tr><tdwidth="160">菜名<td><tdwidth="40">价格</td><tdwidth="40">数量</td></tr><tr><tdwidth="160">总价:<fontcolor="red"id="allPrice">0</font><td><tdwidth="40"><inputid ="trId"type="hidden"name="orderInfo.menuAll"value=""></td><tdwid th="40"><inputid="allPrice"type="hidden"name="orderInfo.allPrice "></td></tr><tr><tdcolpan="3"align="center"><inputtype="ubmit"va lue="生成订单"/></td></tr></table></form></div><divid="orderLit"><h3>我的订单</h3><table><tr>if(orderInfo.ize()<1){%><tr><tdcolpan="4">您目前还没有订单!</td></tr><%}ele{for(Iteratorit3=orderInfo.iterator();it3.haNe 某t();){OrderInfoorderInfo=(OrderInfo)it3.ne某t();%><tr><td><%=orderInfo.getId()%></td><td><%=orderInfo.getMen uAll()%></td><td><%=orderInfo.getAllPrice()%></td><td><%=orderIn fo.getTime()%></td></tr><%}}%></table></div><%for(Iteratorit=menuType.iterator();it.haNe某t();){menuType=(MenuType)it.ne某t();%><divid="menuType"><h3><%=menuType.getName()%></h3><p><%=menuType.getDecription()%></p><table><tr><%inti=0;//标记for(Iteratorit2=((MenuType)menuType).getMenuInfo().iterator( );it2.haNe某t();){menuInfo=(MenuInfo)it2.ne某t();if(menuInfo!=null){%><td><tablecla="menuInfo"><tr><td>菜名:</td><td><%=menuInfo.getName()%></td></tr><tr><td>图样:</td><td> <imgalt="<%=menuInfo.getName()%>"rc="menuPhoto/<%=menuInfo.g etPhoto()%>"onload="javacript:etImg(thi,120,80)"></td></tr> <tr><td>单价:</td><td><%=menuInfo.getPrice()%>¥</td></tr><tr><td>描述:</td><td><%=menuInfo.getDecription()%></td></tr>onclick="javacript:more('<%=menuInfo.getId()%>',<%=menuType. getId()%>)"/></td></tr><tr><td></td><td><inputtype="button"value="购买"onclick="javacript:addShopBu('<%=menuInfo.getName()%>',<%=me nuInfo.getPrice()%>,1,<%=menuInfo.getId()%>)"/></td></tr></table ></td><%i++;if(i%4==0){i=1;%></tr><tr><%}}}%></tr></table></div><%}%></body></html>控制层代码如下:<某mlverion="1.0"encoding="UTF-8"><!DOCTYPEtrutPUBLIC"-//ApacheSoftwareFoundation//DTDStrutConfiguration2.1//EN""/dtd/t rut-2.1.dtd"><trut>Java的网上订餐系统<packagename="default"e某tend="trut-default"><actionname="inde某"cla="org.hop.action.inde某Login"><reultname="ucce">/hopMain.jp</reult></action><actionname ="addOrderInfo"cla="org.hop.action.orderInfo"><reultname="ucce"> /inde某.jp</reult></action><actionname="login_member"cla="org.hop.act ion.loginAction"><reultname="ucce">/login_ucce.jp</reult><reultn ame="error">/login.jp</reult></action><actionname="login_uper"cl a="org.hop.action.loginAction"method="uperOn"><reultname="ucce"> /uper/uper.jp</reult><reultname="error">/uper/login.jp</reult></ action><actionname="reg"cla="org.hop.action.loginAction"method=" reg"><reultname="ucce">/ucce.jp</reult><reultname="error">/reg.j p</reult></action><actionname="login_out"cla="org.hop.action.log inAction"method="out"><reultname="ucce">/inde某.jp</reult></action><actionname="addMeage"cla="org.hop.action. meageAction"><reultname="ucce">/more.jp</reult></action></packag e></trut>业务逻辑层代码如下:<某mlverion="1.0"encoding="UTF-8"><bean某mln="/chema/bean"某mln:某i="/2001/某MLSchema-intance"某mln:p="/chema/p"某i:chemaLocation="/chema/bean/chema/bean/pring-bean-2.5.某d"><beanid="eionFactory"cla="org.pringframework.orm.hibernate3.L ocalSeionFactoryBean"><propertyname="configLocation"value="clapa th:hibernate.cfg.某ml"></property></bean><beanid="hopInfoDao"cla="org.hop.dao.imp.S hopInfoDaoImp">Java的网上订餐系统<propertyname="eionFactory"ref="eionFactory"></property></be an><beanid="hopInfoService"cla="org.hop.ervice.imp.ShopInfoServi ceImp"><propertyname="hopInfoDao"ref="hopInfoDao"></property></b ean><beanid="menuTypeDao"cla="org.hop.dao.imp.MenuTypeDaoImp"><p ropertyname="eionFactory"ref="eionFactory"></property></bean><be anid="menuTypeService"cla="org.hop.ervice.imp.MenuTypeServiceImp "><propertyname="menuTypeDao"ref="menuTypeDao"></property></bean ><beanid="orderInfoDao"cla="org.hop.dao.imp.OrderInfoDaoImp"><pr opertyname="eionFactory"ref="eionFactory"></property></bean><bea nid="orderInfoService"cla="org.hop.ervice.imp.OrderInfoServiceIm p"><propertyname="orderInfoDao"ref="orderInfoDao"></property></b ean><beanid="memberInfoDao"cla="org.hop.dao.imp.MemberInfoDaoImp "><propertyname="eionFactory"ref="eionFactory"></property></bean><beanid="memberInfoService"cla="org.hop.ervice.imp.MemberInfoSe rviceImp"><propertyname="memberInfoDao"ref="memberInfoDao"></pro perty></bean><beanid="meageInfoDao"cla="org.hop.dao.imp.MeageInf oDaoImp"><propertyname="eionFactory"ref="eionFactory"></property ></bean><beanid="meageInfoService"cla="org.hop.ervice.imp.MeageI nfoServiceImp"><propertyname="meageInfoDao"ref="meageInfoDao"></ property></bean></bean>持久层代码如下:<某mlverion='1.0'encoding='UTF-8'><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""/hibernate-configuration-3.0.dtd"><!--GeneratedbyMyEclipeHibernateTool.--><hibernate-configuration><eion-factory><propertyname="dialect">org.hibernate.dialect.MySQLDiale ct</property><propertyname="connection.url">jdbc:myql://127.0.0. 1:3306/reervationJava的网上订餐系统5、总结通过这次实验,加深了对JAEE的框架的理解与应用,也把一学期所学的知识都综合应用到一起,并解决了学习中存在的很多疑惑与难点,对实验中的Strut2,Hibernate和Spring的应用更熟练更透彻。

网上订餐系统实习报告

网上订餐系统实习报告

实习报告一、实习背景与目的随着互联网技术的飞速发展,电子商务逐渐渗透到各个行业,网上订餐系统作为餐饮行业的新兴营销方式,正日益受到广大消费者和餐馆的青睐。

本次实习,我选择了网上订餐系统作为实践项目,旨在了解并掌握电子商务在餐饮行业的应用,提高自己的实际操作能力和团队协作能力。

二、实习内容与过程实习期间,我参与了网上订餐系统的整个开发过程,包括需求分析、系统设计、编码实现、测试与部署等环节。

以下是我实习的主要内容:1. 需求分析:通过与餐馆老板和消费者的沟通,了解他们的需求,明确网上订餐系统的功能,如菜品展示、在线点餐、订单管理、支付结算等。

2. 系统设计:根据需求分析,设计系统的整体架构,包括前端展示、后端逻辑处理、数据库设计等。

同时,制定技术选型,如前端使用HTML、CSS、JavaScript,后端使用Java、MySQL等。

3. 编码实现:根据系统设计,编写前后端代码,实现系统的各项功能。

在编码过程中,遵循软件工程规范,确保代码的可读性、可维护性和稳定性。

4. 测试与部署:对系统进行功能测试、性能测试、安全测试等,确保系统满足需求且无重大缺陷。

随后,将系统部署到服务器上,供用户使用。

三、实习收获与反思通过本次实习,我收获颇丰,以下是我对实习的一些总结和反思:1. 了解了电子商务在餐饮行业的应用,认识到网上订餐系统对提高餐馆经营效率、扩大市场份额的重要性。

2. 掌握了网上订餐系统的基本开发流程,提高了自己的实际操作能力。

3. 学会了团队协作,与团队成员共同解决问题,提高了自己的沟通能力和协作精神。

4. 认识到自己在软件开发方面的不足,如代码规范性、测试能力等,需要在今后的学习中加强锻炼。

四、实习总结网上订餐系统实习让我对电子商务在餐饮行业的应用有了更深入的了解,同时提高了自己的实际操作能力和团队协作能力。

在今后的学习和工作中,我将继续努力,充分发挥所学知识,为餐饮行业的发展贡献自己的力量。

网络订餐系统实验报告(3篇)

网络订餐系统实验报告(3篇)

第1篇一、实验目的本次实验旨在通过设计与实现一个网络订餐系统,让学生掌握网络编程、数据库管理、前端设计等方面的知识,提高学生的综合实践能力。

实验内容主要包括系统需求分析、系统设计、系统实现和系统测试。

二、实验环境1. 操作系统:Windows 102. 开发工具:Java开发工具包(JDK)、MySQL数据库、Eclipse IDE3. 前端技术:HTML、CSS、JavaScript4. 后端技术:Java、Spring Boot、MyBatis5. 数据库:MySQL三、系统需求分析1. 用户需求:(1)用户可以浏览菜品信息,查看菜品详情;(2)用户可以添加菜品到购物车,进行在线支付;(3)用户可以查看订单状态,评价菜品;(4)用户可以修改个人信息,查看订单历史。

2. 商家需求:(1)商家可以管理菜品信息,包括添加、修改、删除菜品;(2)商家可以查看订单信息,进行订单处理;(3)商家可以查看用户评价,对菜品进行改进。

3. 管理员需求:(1)管理员可以管理用户信息,包括添加、修改、删除用户;(2)管理员可以管理菜品信息,包括添加、修改、删除菜品;(3)管理员可以查看订单信息,进行订单处理;(4)管理员可以查看用户评价,对菜品进行改进。

四、系统设计1. 系统架构:采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统,与服务器进行交互。

2. 系统模块:(1)用户模块:负责用户注册、登录、个人信息管理、订单管理、评价等功能;(2)商家模块:负责菜品管理、订单处理、用户评价等功能;(3)管理员模块:负责用户管理、菜品管理、订单管理、用户评价等功能;(4)菜品模块:负责菜品信息展示、菜品详情展示、菜品搜索等功能;(5)订单模块:负责订单生成、订单处理、订单查询等功能。

3. 数据库设计:(1)用户表:存储用户信息,包括用户名、密码、联系方式等;(2)商家表:存储商家信息,包括商家名称、联系方式等;(3)菜品表:存储菜品信息,包括菜品名称、价格、描述等;(4)订单表:存储订单信息,包括订单编号、用户ID、商家ID、订单金额等;(5)评价表:存储用户评价信息,包括评价内容、评分等。

实训报告网上订餐系统

实训报告网上订餐系统

XXX理工学院实训报告网上定餐系统系别:计算机系班级:姓名:学号:网上订餐系统一.系统概述本系统在开发设计中,采用B/S(Browser/Server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。

数据库方面,推荐业界具有领导地位的关系数据库管理系统Microsoft SQL sever2000,使系统安全性能更高。

同时采用当前正在流行的JSP(Java Server Pages)编程,用户界面更友好。

在开发中选择了JSP+JavaBean+SQL2000的模式,实现了应用程序逻辑和页面显示分离,界面设计更简单。

JavaBean可重用的软件组件满足小型应用,同时使编程人员投入量精力便可重用组件,在简单的应用中可以充分考虑二.需求分析网上订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。

在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。

进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。

该系统在性能功能上应达到如下需求:◆操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;◆即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;◆系统运行应该快速、稳定、高效和可靠;◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。

2.2随着经济的快速发展,B2C电子商务越来越受到人们的关注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java系统与分析大型实验报告设计题目:基于JavaEE的网上订餐系统班级:软件801姓名:***学号:***指导老师:***2011年12月1、需求分析网上订餐系统需要提供客户快捷、方便的订餐服务,开发本系统的具体要求如下:(1)在系统首页需要提供推荐菜单、热门菜单已经菜单搜索功能,方便用户快速选购自己喜欢的菜单。

(2)系统要求用户进行注册和登录。

(3)在用户订餐完毕后,需要能够自动计算菜单价格。

同时在用户提交订单时,需要用户确定订单无误,同时还将自动生成订单号,并保存到系统的剪贴板中,方便用户保存订单号。

(4)系统还需要提供会员服务功能,会员每消费一块钱将增加一积分。

同时在系统首页将显示积分榜,鼓励会员消费。

(5)系统需要提供菜单分类查看功能,从而方便用户选购。

2、功能分析模块:餐店简介模块:用来介绍餐店信息,例如餐店名称、联系人、地址、电话等。

美食分类模块:用来分类显示美食信息,可以通过单击菜单来查看菜单详细信息,可以发表评论信息。

订餐模块:点击菜单的订餐按钮,进入购物车,提供订餐功能。

会员中心模块:用来显示会员身份信息,并提供会员信息更新功能。

订单查询模块:负责订单的查询功能,提供订单时间、订单号查询功能。

功能说明用例图:图1 用户用例图图2 管理员用例图3、系统设计系统流程图:图3 前台系统流程图图4 后台系统流程图数据库实体表:图5 店铺信息表图6 订单信息表图7 用户信息表图8 菜单信息列表图9 菜单种类表ER图:图10 店铺实体E-R图图11 菜单种类实体E-R图图12 菜单信息实体E-R图图13 用户信息实体E-R图14 订单信息实体E-R图4、模块设计表现层代码如下:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@page import="org.shop.model.*" %><%@ taglib uri="/struts-tags" prefix="s" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><BASE target=_self><title>食为天</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><link rel="stylesheet" type="text/css" href="styles.css"><script type="text/javascript">function setImg(img, width, height){var scale_w = img.width / width; //按宽度得到的缩放比例var scale_h = img.height / height;//按高度得到的缩放比例var scale = scale_w > scale_h ? scale_w : scale_h;//得到缩放比例(取最大值)img.width = img.width / scale;//缩放宽度return false;}var allId="";var allPrice=0;function addShopBus(name,price,num,id){var str=name+" 价格"+price+" 数量"+num+" 已加入购物车";var allPrices=document.getElementById("allPrices");var allPricess=document.getElementById("allPricess");var strId=document.getElementById("strId");var table=document.getElementById("shopBusTable");var tr = table.insertRow(2);//在第二行插入一行,并赋值var td1 = tr.insertCell();td1.innerHTML=name;var td = tr.insertCell();var td2 = tr.insertCell();td2.innerHTML=price;var td3 = tr.insertCell();td3.innerHTML=num;allPrice=allPrice+price;if(allId==""){allId=allId+id;}else{allId=allId+","+id;}strId.value=allId;allPrices.innerHTML=allPrice;allPricess.value=allPrice;}function check(){var strId=document.getElementById("strId").value;if(strId!=""){alert("订单生成成功!");return true;}else{alert("您还未点菜!");return false;}}function gotothat(flag){if(flag=="login"){showModalDialog("login.jsp",window, "dialogHeight:20;dialogWidth:29;");}if(flag=="reg"){showModalDialog("reg.jsp",window, "dialogHeight:20;dialogWidth:29;");}}function more(InfoId,TypeId){showModalDialog("more.jsp?InfoId="+InfoId+"&TypeId="+TypeId,window, "dialogHeight:30;dialogWidth:29;");}</script></head><body><%ShopInfo shopInfo=(ShopInfo)session.getAttribute("shopInfo");MemberInfo memberInfo=null;if(session.getAttribute("memberInfo")!=null){memberInfo =(MemberInfo)session.getAttribute("memberInfo");}List<MenuType> menuTypes=(List<MenuType>)session.getAttribute("menuType"); List<OrderInfo>orderInfos =(List<OrderInfo>)session.getAttribute("orderInfo"); MenuType menuType=new MenuType();MenuInfo menuInfo=new MenuInfo();%><%if(memberInfo==null){%><div id="member"><input type="button" value="登录" onclick="javascript:gotothat('login')"><input type="button" value="注册" onclick="javascript:gotothat('reg')"></div><%}else{%><div id="member">欢迎<%=memberInfo.getName()%>在食为天订餐!<br/>您目前的积分为<%=memberInfo.getSource() %><a href="login_out">注销</a> </div><%} %><div id="shopInfo"><table width="250"><tr><td> 店名:</td><td><%=shopInfo.getName() %></td></tr><tr><td>联系人:</td><td><%=shopInfo.getPersonName() %></td></tr><tr><td>联系电话:</td><td><%=shopInfo.getPhone() %></td></tr><tr><td>地址:</td><td><%=shopInfo.getAdress() %></td></tr></table></div><div id="shopBus"><form action="addOrderInfo" method="post" onsubmit="return check()"><table id="shopBusTable"><tr><td colspan="3" align="center">购物车</td></tr><tr><td width="160">菜名<td><td width="40">价格</td><td width="40">数量</td></tr> <tr><td width="160">总价:<font color="red" id="allPrices">0</font><td><td width="40"><input id="strId" type="hidden" name="orderInfo.menuAll" value=""></td><td width="40"><input id="allPricess" type="hidden" name="orderInfo.allPrice"></td></tr> <tr><td colspan="3" align="center"><input type="submit" value="生成订单"/></td></tr> </table></form></div><div id="orderList"><h3>我的订单</h3><table><tr><td>编号</td><td>菜编号</td><td>总价</td><td>时间</td></tr><%if(orderInfos.size()<1){%><tr><td colspan="4">您目前还没有订单!</td></tr><%}else{for(Iterator it3=orderInfos.iterator();it3.hasNext();){OrderInfo orderInfo=(OrderInfo)it3.next();%><tr><td><%=orderInfo.getId() %></td><td><%=orderInfo.getMenuAll() %></td><td><%=orderInfo.getAllPrice() %></td><td><%=orderInfo.getTime() %></td></tr><%} }%></table></div><%for(Iterator it=menuTypes.iterator();it.hasNext();){menuType=(MenuType)it.next();%><div id="menuType"><h3><%=menuType.getName()%></h3><p><%=menuType.getDescription() %></p><table><tr><%int i=0;//标记for(Iterator it2=((MenuType) menuType).getMenuInfo().iterator();it2.hasNext();){menuInfo=(MenuInfo)it2.next();if(menuInfo!=null){%><td><table class="menuInfo"><tr><td> 菜名:</td><td><%=menuInfo.getName() %></td></tr><tr><td> 图样:</td><td><img alt="<%=menuInfo.getName()%>" src="menuPhoto/<%=menuInfo.getPhoto()%>"onload="javascript:setImg(this,120,80)" ></td></tr><tr><td> 单价:</td><td><%=menuInfo.getPrice() %> ¥</td></tr><tr><td> 描述:</td><td><%=menuInfo.getDescription() %></td></tr><tr><td>编号<%=menuInfo.getId() %><td><input type="button" value="详情"onclick="javascript:more('<%=menuInfo.getId()%>',<%=menuType.getId()%>)"/></td></tr> <tr><td></td><td><input type="button" value="购买"onclick="javascript:addShopBus('<%=menuInfo.getName()%>',<%=menuInfo.getPrice()%>,1,< %=menuInfo.getId()%>)"/></td></tr></table></td><%i++;if(i%4==0){i=1; %></tr><tr><%}}}%></tr></table></div><%} %></body></html>控制层代码如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "/dtds/struts-2.1.dtd"><struts><package name="default" extends="struts-default"><action name="index" class="org.shop.action.indexLogin"><result name="success">/shopMain.jsp</result></action><action name="addOrderInfo" class="org.shop.action.orderInfo"><result name="success">/index.jsp</result></action><action name="login_member" class="org.shop.action.loginAction"><result name="success">/login_success.jsp</result><result name="error">/login.jsp</result></action><action name="login_super" class="org.shop.action.loginAction" method="superOn"> <result name="success">/super/super.jsp</result><result name="error">/super/login.jsp</result></action><action name="reg" class="org.shop.action.loginAction" method="reg"><result name="success">/success.jsp</result><result name="error">/reg.jsp</result></action><action name="login_out" class="org.shop.action.loginAction"method="out"><result name="success">/index.jsp</result></action><action name="addMessage" class="org.shop.action.messageAction"><result name="success">/more.jsp</result></action></package></struts>业务逻辑层代码如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd"><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation" value="classpath:hibernate.cfg.xml"></property></bean><bean id="shopInfoDao" class="org.shop.dao.imp.ShopInfoDaoImp"><property name="sessionFactory" ref="sessionFactory"></property> </bean><bean id="shopInfoService" class="org.shop.service.imp.ShopInfoServiceImp"> <property name="shopInfoDao" ref="shopInfoDao"></property> </bean><bean id="menuTypeDao" class="org.shop.dao.imp.MenuTypeDaoImp"><property name="sessionFactory" ref="sessionFactory"></property> </bean><bean id="menuTypeService" class="org.shop.service.imp.MenuTypeServiceImp"> <property name="menuTypeDao" ref="menuTypeDao"></property> </bean><bean id="orderInfoDao" class="org.shop.dao.imp.OrderInfoDaoImp"><property name="sessionFactory" ref="sessionFactory"></property> </bean><bean id="orderInfoService" class="org.shop.service.imp.OrderInfoServiceImp"> <property name="orderInfoDao" ref="orderInfoDao"></property> </bean><bean id="memberInfoDao" class="org.shop.dao.imp.MemberInfoDaoImp"> <property name="sessionFactory" ref="sessionFactory"></property> </bean><bean id="memberInfoService" class="org.shop.service.imp.MemberInfoServiceImp"> <property name="memberInfoDao" ref="memberInfoDao"></property> </bean><bean id="messageInfoDao" class="org.shop.dao.imp.MessageInfoDaoImp"> <property name="sessionFactory" ref="sessionFactory"></property> </bean><bean id="messageInfoService" class="org.shop.service.imp.MessageInfoServiceImp"> <property name="messageInfoDao" ref="messageInfoDao"></property> </bean></beans>持久层代码如下:<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://127.0.0.1:3306/reservation</property><property name="ername">root</property><property name="connection.password">sa</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="myeclipse.connection.profile">mysql</property><mapping resource="org/shop/model/ShopInfo.hbm.xml" /><mapping resource="org/shop/model/MenuInfo.hbm.xml" /><mapping resource="org/shop/model/MenuType.hbm.xml" /><mapping resource="org/shop/model/OrderInfo.hbm.xml" /><mapping resource="org/shop/model/MemberInfo.hbm.xml" /><mapping resource="org/shop/model/MessageInfo.hbm.xml" /></session-factory></hibernate-configuration>5、总结通过这次实验,加深了对JAEE的框架的理解与应用,也把一学期所学的知识都综合应用到一起,并解决了学习中存在的很多疑惑与难点,对实验中的Struts2,Hibernate和Spring的应用更熟练更透彻。

相关文档
最新文档