网上订餐系统数据库设计.docx
- 文档编号:12684349
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:46
- 大小:980.20KB
网上订餐系统数据库设计.docx
《网上订餐系统数据库设计.docx》由会员分享,可在线阅读,更多相关《网上订餐系统数据库设计.docx(46页珍藏版)》请在冰豆网上搜索。
网上订餐系统数据库设计
网上订餐系统数据库设计
班级:
信计C082姓名:
赵鑫学号:
******
摘要
当前,餐饮业还面临着越来越激烈的市场竞争、要想在竞争中取胜,必须采用先进的管理方法和手段。
实现先进的计算机网络化管理,能更方便快捷的满足顾客的就餐需要,使管理更合理、更先进;减少人力、物力资源的浪费,降低成本;提高工作效率,提高管理效率;提高经济效益,从而提高餐厅的整体竞争力。
系统为顾客提供了各种美食的详细信息,可以方便顾客对美食进行选购,顾客还可对自己的个人信息进行修改,可以查看过往订过的美食的信息;为餐厅提供了一个虚拟的店面,方便餐厅管理人员了解顾客的需求,进而改变下一阶段的销售策略,还可以进行美食管理,订单管理,会员信息管理,其中,超级管理员还可以对管理员的信息进行管理。
本系统开发使用B/S结构,严格的按照软件工程的思想贯穿系统设计,利用Java语言,以Oracle作为系统数据库,实现网上订餐系统的开发。
这些先进的开发思想和技术手段有力地保证了此系统可以安全地、高效地为餐厅的运营和顾客的就餐进行服务。
本文介绍了经过用户需求分析后,对订餐系统的基本设计、系统设计、详细设计的开发研制过程。
本文所设计的功能满足餐厅的实际需求,使餐厅在订餐方面更加科学化,减少了人物力资源的不合理消耗,最后实现了提高工作效率的目的。
关键词:
网上订餐;订餐系统;订餐管理
Abstract
Atpresent,thehospitalisalsofacingtheincreasinglyintensecompetitioninthemarket.Towininthiscompetition,thehospitalsmustadopttheadvancedmethodandmeansofmanagement.Therealizationoftheadvancedcomputernetworkmanagementcanprovidereliabledigitalbasisforthemanagementandstrategyofleadershiptimely.Itcanalsomakethemanagementmorereasonableandadvanced,reducethewastethehumanandmaterialresources,reducecosts,andimprovetheefficiencyofwork,managementandeconomy.Soitcanpromotethewholecompetitivenessofthehospitals.
Thissystemcancompletethemainprocessmanagementandmedicaleconomicmanagementfromtheadmissiontodischarge.Atthesametime,itcangivethemedicalcostdata,soastomakeuseofthemedicalinformationeffectivelyandscientifically,andimprovethelevelofmanagementandservice.TheHospitalManagementSystemprovidesdetailinformationaboutthepatients.Itincludestheregisterofpatients,thesettlementofaccounts,thetransferofthepatients,thestatisticsoftheadmittedtohospitalanddischargedfromhospital,theinquiriesofthepatientsandtheirprescriptionsandetc.
ThedevelopmentofthesystemtouseC/Sstructure,inaccordancewiththestrictideaofsoftwareengineeringtodesign.WiththeuseofPowerBuildertechnologyandOracledatabaseastheadvancedtechnology,torealizeHospitalInpatientDepartmentManagementSystem.TheseadvancedideasandtechnicalmeansensurethatthenewmanagementsystemcanworksafelyandefficientlytomanagetheactualHospitalInpatientDepartment
Thispaperintroducesthedevelopmentprocessofthesystemanalysis,thegeneraldesignandthedetailsoftheHospitalInpatientDepartmentManagementSystemaftertheuserdemandanalysisofthemanagementsystem.Thisarticledesignsthefunctionsatisfiesthehospitalmedicalsupplystoremanagementthephysicaldemand,enablesthehospitalthemedicalsupplystoremanagementtobeunderthescientificmanagement,reducedthecharactertransportchargessourceunreasonableconsumption,finallyhasrealizedtheenhancementworkingefficiencygoal.
Keywords:
OnlineFoodOrdering;FoodOrderingSystem;FoodOrderManagement
第1章引言
1.1课题的研究目的和意义
随着Internet的普及,越来越多的企业建立了自己的网站,企业通过网站可以展示产品,发布最新动态信息,与顾客进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。
其中网上订餐系统是电子商务网站的一种,随着人们生活水平的提高,人们对自己的饮食也渐渐的注重起来,很多人在进行紧张工作之余会选择享受美食进行放松。
本系统是为了满足顾客的需求,进而开发的一款可供广大顾客在网上进行订餐的系统。
主要是针对时下年轻人网络消费意识,能力强,由于工作忙或者做饭动手能力差等原因,进而就餐质量差,为使其能享受到高质量,快捷的餐饮服务,从而提高餐厅利益进而开发。
现在普遍使用的订餐方式是进行电话预定,这种预订方式方便,错误率也比较低,但是由此引发的一些不良现象也比较多,主要是订餐后出现饭店并没有将信息记录在案,而且电话里不能看到菜品的图片,对菜量和菜品样式没有直观的概念。
另外这种订餐方式只是进行电话的预约,很可能会出现订餐但是不履行订单也不进行订餐取消的现象,订餐人员对订购的餐桌信息不太了解会进行相关信息的询问,这样就在一定程度上造成了时间的浪费,饭店人员会在同一天反复重复相同的信息,造成了人力资源的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就成为了解决上述问题的主要途径。
研究并开发这样的一款网上订餐系统就具有了重要的意义。
1.2国内外发展状况
1.2.1国内方面
从国内研究现状来看,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。
因此,网上订餐系统应充分依托校园网和公司集中区域,实现订餐信息的集中管理、分散操作、信息共享,使传统的订餐朝数字化、智能化、综合化的方向发展,并为进一步实现完善的网上订餐打下良好的基础,从技术角度,也会不断更新,优化出适合网上订餐系统的框架,以便后续开发。
1.2.2国外方面
对比于我国现在使用的订餐方式还停留在电话订餐的层面上,不容置疑,电话订餐方便,随时打一个电话就可以预定餐品。
但是这种方式也存在着一些问题,这些问题或多或少的影响着饭店的运营,因此,进行网上订餐更是新型订餐方法,而在国外人们通过上网,对餐品进行预订的现象比比皆是,这样不仅节约了时间,也为饭店的订餐管理工作提供了方便。
在国外,网上订餐往往是通过网络开设一家“网上餐饮超市”,再引入专业物流配送公司,为传统供应商提供广泛的配送服务,消费者只要点中网上美食店提供的任一菜点,由配送公司专门配送,但这种模式不仅需要配送公司有强大的实力,同时也要有广泛的客户群支持,进而网上订餐系统得到广泛应用,并且得到了普遍认可。
第2章系统分析
2.1项目概述
该系统为餐厅网上订餐系统,该系统主要面向两个对象:
顾客,餐厅管理员。
设计的各个方面,完全满足客户的需求,大大减少人力、物力资源的浪费,降低成本;提高工作效率,提高管理效率;提高经济效益,从而提高餐厅的整体竞争力。
在系统中,顾客可以对个人信息进行管理,包括维护个人信息和查看过往订单;顾客还可以选购美食,包括查询美食信息和直接通过购物车进行选购。
管理员可以进行菜品管理,包括添加菜品、菜品下架(逻辑删除)、查询菜品信息、修改菜品信息;会员信息管理,包括查询顾客信息、添加顾客信息、修改顾客信息;订单管理,包括查看订单信息(按状态)、修改订单状态、打印订单、取消订单;超级管理员还可以对管理员信息进行管理。
系统界面简洁,操作方便、简易,最大限度地方便顾客与餐厅管理员的需要。
餐厅管理员可以进行会员信息管理、菜品管理、购物车订单管理;顾客可以进行个人信息管理、菜品查询、订餐、等功能,进而大量节省双方的时间和工作量,提高效率。
本系统适用现代化餐厅,有助于管理员方便、高效率的管理顾客的信息和需求,同时,又使得顾客可以方便的享用优质美食。
协助上方建立完备交互体系的综合管理系统。
2.2研究内容及目标
该系统通过两个实例:
餐厅管理员,顾客进行延展和设计。
其中餐厅管理员可以进行会员信息管理、菜品管理、购物车订单管理;顾客可以进行个人信息管理、菜品查询、订餐、等功能。
(1)管理员模块功能:
现场帮助顾客办理会员,顾客的修改请求办理(身份证号不可修改),查询顾客信息,按用户身份证查询,添加菜品,添加菜品图品,价格,是否是推荐菜品等,用于菜品原料缺少或菜品过季等情况,进行逻辑删除,可以按菜品的名称、价格、销售量、是否是推荐菜品进行查询,默认是推荐菜品查询,修改维护菜品信息,主要针对菜品原料的价格变更菜品的价格及菜品是打折时的价格变更,设置菜品类别(推荐,新品,热卖,打折等),在价格旁边用醒目的红字显示,起到促销作用,可按订单号、用户姓名进行查询管理员可以查看到当前餐厅的订单,并可以进行打印订单以确认发货,管理员对不在自己店范围内的订单可进行手动或者可以在订单状态为等待中时为顾客修改菜品的数量及品种,若订单状态为以下单则不能为顾客修改,若打印订单表示以确认发货,并自动修改订单状态为已发送,若顾客不方便上网打电话要取消订餐的话,管理员查看订单状态若为已下单则不能为顾客取消订单,若订单状态在等待中,则可以为顾客取消订单,增加一个管理员,管理员的用户名,密码等,可按管理员编号、姓名查询,对管理员的个人信息或者密码进行修改,对管理员进行逻辑删除。
(2)顾客模块功能:
顾客登录时可以以非会员或者会员的两种方式进行订餐操作,如果是会员登陆,先前需要录入用户名、密码、验证码,以便系统确认登陆成功。
会员可以修改个人资料(如:
电话,地址等),也可以查看订餐信息,了解当前订餐的动态。
无论是会员还是非会员在挑选美食的过程中,可以直接将称心的美食选进购物车中也可通过一系列查询,进一步了解后,再选择美食。
顾客还可以对个人信息进行修改或者细化,在已发出订单后,自己根据刚发的订单,提交还想要点的菜的订单和取消或修改当前订单,会员还可以对刚刚下过的订单进行修改和删除,但是,由于餐饮的特殊性,一旦订单的状态变成“已下单”,就不可以进行取消或者修改了,此外,如若顾客还要继续订餐则可以继续订餐,返回菜品信息主页,继续选择。
作为会员登陆系统时可以对过去一个月的订单进行一下查看,可以对您所享用过的美食进行评价选购美食,也可以直接选购自己所喜爱的,选购之后,就将美食加入购物车,随即会列出一张购物车列表,可以删除和修改所选的美食,确认后,提交订单。
对提交的订单进行管理,对于已选择的订单,如果不满意也可以进行修改或者退订订单。
2.3关键技术简介
根据整个系统的开发计划,采用的开发语言是Java,结合Oracle最基本的数据库技术,来实现系统的所有功能。
Java作为一种重要的开发工具,它具有七个主要特性:
安全性、核心API、开放式标准、分布式和动态结构、面向对象、多线程、内存管理。
Oracle数据库作为一个通用的数据库系统,其具有完整的数据库功能,这些功能包括存储大量数据、定义和操作并发控制、安全性控制、完整性控制、故障恢复与高级语言接口等。
Oracle使用PL/SQL语言提供各种操作具有可开放性、可以执行、可伸缩性等功能。
特别是Oracle9i以上版本中,支持面向对象的功能,如支持类、方法、属性等,使得Oracle产品称为了一种对象/关系数据库系统。
2.3.1Struts、Spring、iBatis三个框架配合搭建
MVC对于我们来说,已经不陌生了。
然而近年来,随着Java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在Java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork,Struts2,JSF等框架,专注于业务逻辑方面的Spring框架、专注于持久层的Hibernate、iBatis、Castor、JORM等框架。
而本系统为了满足客户需求就是采用Struts、Spring、Ibatis三个开源框架进行搭建。
Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
Spring功能非常的强大,比如它的控制反转/依赖注入机制,省去了我们自己书写工厂模式的工作,实现了对我们将要用到控制类、业务逻辑类、数据访问类、以及JNDI或者JDBC数据源的托管;Spring对AOP支持使我们在用户权限控制、事务处理方面节省了很多工作量;
iBatis则是一种轻量级的ORMapping框架,与Hibernate相比,iBatis提供了半自动化对象关系映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间,为sql语句优化提供了便利。
在控制层,利用Strtus标签功能,在Action中直接与jsp页面上的数据进行交互。
在调用业务逻辑层应用时,Struts提供了对Sping的支持。
开发人员需要完成对struts.xml的配置工作和对各个Action类的编写。
在业务逻辑层,利用Spring框架的依赖注入实现对业务逻辑类和DAO类的实例托管;在事务处理方面,利用Spring提供的面向切面的事务处理功能,使对数据的事务控制脱离于数据访问接口实现;在对象关系映射方面,利用Spring对数据库连接池的托管和对iBatis框架的支持。
开发人员需要完成对数据源的配置、对不同模块所对应的application*.xml文件的配置,以及对业务逻辑接口的定义和业务逻辑实现的编写。
在持久层,利用iBatis提供的半自动化对象关系映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间。
另外,开发人员需要完成对SqlMapConfig.xml和*SqlMap.xml的配置,以及对DAO接口的定义和DAO接口的实现。
在各层之间进行交换的过程中,利用数据传输类进行数据的传递和交互。
其中,数据传输类与数据库表一一对应。
SSI框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了未来同类系统的开发速度。
2.3.2DWR框架实现Ajax技术
DWR(DirectWebRemoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.
DWR不认为浏览器WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到.DWR允许WEB开发人员传递一个回调函数,来异步处理Java函数调用过程.
2.4需求分析
网上订餐系统需要满足来自两方面的需求,这两个方面分别是订餐的顾客和餐厅的管理人员。
(1)顾客模块用例图:
図1顾客用例图
顾客模块的功能包括个人信息管理,美食选购,美食评价三大功能。
其中,在个人信息管理中可以对个人信息进行修改、还可以查阅以往订过的美食信息;在选购美食中可以通过购物车直接购买的形式、也可已选择货到付款的形式完成交易;美食评价中顾客可以这对这次服务质量,留下自己相对餐厅说的话,完成用户与餐厅之间的交互。
(2)管理员模块用例图:
1管理员和超级管理员用例图
管理员模块的功能包括菜品管理,订单管理,会员信息管理三大功能。
其中,在个菜品管理中可以对菜品信息进行添加、修改和查询操作;在订单管理中可以通过未确认、已确认、已下单三种形式进行管理、也可查看所有订单信息;会员信息管理中,可以添加会员信息和修改会员信息,进而方便顾客网上订购美食,并享有优惠,这一做法人性化的完成网站的推广,避免了顾客的抵触情绪。
第3章总体设计
3.1功能设计
(1)顾客模块功能图:
図1顾客模块总体功能图
顾客登录时可以以非会员或者会员的两种方式进行订餐操作,如果是会员登陆,先前需要录入用户名、密码、验证码,以便系统确认登陆成功。
会员可以修改个人资料(如:
电话,地址等),也可以查看订餐信息,了解当前订餐的动态。
无论是会员还是非会员在挑选美食的过程中,可以直接将称心的美食选进购物车中也可通过一系列查询,进一步了解后,再选择美食。
顾客还可以对个人信息进行修改或者细化,在已发出订单后,自己根据刚发的订单,提交还想要点的菜的订单和取消或修改当前订单,会员还可以对刚刚下过的订单进行修改和删除,但是,由于餐饮的特殊性,一旦订单的状态变成“已下单”,就不可以进行取消或者修改了,此外,如若顾客还要继续订餐则可以继续订餐,返回菜品信息主页,继续选择。
作为会员登陆系统时可以对过去一个月的订单进行一下查看,可以对您所享用过的美食进行评价选购美食,也可以直接选购自己所喜爱的,选购之后,就将美食加入购物车,随即会列出一张购物车列表,可以删除和修改所选的美食,确认后,提交订单。
对提交的订单进行管理,对于已选择的订单,如果不满意也可以进行修改或者退订订单。
(2)管理员模块功能图:
図2管理员模块总体功能图
(3)超级管理员模块功能表:
注:
超级管理员有管理员所有的功能权限。
3超级管理员模块总体功能图
现场帮助顾客办理会员,顾客的修改请求办理(身份证号不可修改),查询顾客信息,按用户身份证查询,添加菜品,添加菜品图品,价格,是否是推荐菜品等,用于菜品原料缺少或菜品过季等情况,进行逻辑删除,可以按菜品的名称、价格、销售量、是否是推荐菜品进行查询,默认是推荐菜品查询,修改维护菜品信息,主要针对菜品原料的价格变更菜品的价格及菜品是打折时的价格变更,设置菜品类别(推荐,新品,热卖,打折等),在价格旁边用醒目的红字显示,起到促销作用,可按订单号、用户姓名进行查询管理员可以查看到当前餐厅的订单,并可以进行打印订单以确认发货,管理员对不在自己店范围内的订单可进行手动或者可以在订单状态为等待中时为顾客修改菜品的数量及品种,若订单状态为以下单则不能为顾客修改,若打印订单表示以确认发货,并自动修改订单状态为已发送,若顾客不方便上网打电话要取消订餐的话,管理员查看订单状态若为已下单则不能为顾客取消订单,若订单状态在等待中,则可以为顾客取消订单,增加一个管理员,管理员的用户名,密码等,可按管理员编号、姓名查询,对管理员的个人信息或者密码进行修改,对管理员进行逻辑删除。
3.2数据库设计
3.2.1数据库信息一览
根据上面功能的定义,设计了10个表(即:
属性表、美食评价表、美食价格表、美食表、管理员登录表、管理员信息表、会员登录表、会员信息表、订单明细表、订单表)2个序列(即食品编号序列、属性编号序列)。
另附数据库表整体ER图如下:
3.2.2数据库连接
先在Oracle数据库中打开OracleOraDb10g_home1TNSListener(监听服务)、OracleServiceMLDN(oracle主服务)两个服务,然后在Spring框架中的applicationContext.xml中设置用户名、密码、驱动名称、端口路径四项内容,即:
--数据库配置信息-->
class="org.springframework.jdbc.datasource.DriverManagerDataSource"> oracle: thin: @localhost: 1521: MLDN --数据库配置信息--> 3.2.3主要数据库表简绍 订单表是非常重要的表,因为它是顾客订餐后的一些记录信息,因此,要求该表能完全体现顾客的订餐信息,要具有唯一性,其中,订单编号是订单的唯一标识,订餐区号、支付方式号、订单状态号均是以外键的形式与属性表相互关联,避免数据项的冗余。 其中订单状态号会随着管理员对订单状态的改变而改变;支付方式号标示着网上付款和货到付款两种资费方式;订餐区号标示着沈阳市内五区其结构如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统 数据库 设计