外卖网上订餐系统的设计与实现项目可行性研究报告摘要随着麦当劳,肯德基等洋味十足的快餐店越来越密集的出现在城市的大街小巷,越来越多的消费者光顾它们。
然而一旦走进这些店铺,大多数人看到的都是铺天盖地排长龙的等待购买的人群、领餐后茫然寻找座位的人群以及因为人太多等不及购买而进去又徘徊出来的人。
当然国内其他大型餐饮或者其他行业也都会出现类似的现象。
面对以上这种现象,国民迫切的需要一种实际的解决方法,一个功能完备但是操作简单的订餐点餐系统。
针对目前网络订餐网站的这种局限性,我们提出并设计实现了这个网络订餐系统。
在开发设计中,采用B/S(Browser/Server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,而且由于通过服务器端统一管理数据,易于保证数据的一致性。
数据库方面,推荐业界具有领导地位的关系数据库管理系统Microsoft SQL sever2000,使系统安全性能更高。
同时采用当前正在流行的JSP(Java Server Pages)编程,用户界面更友好。
在开发中选择了JSP+JavaBean+SQL2000的模式,实现了应用程序逻辑和页面显示分离,界面设计更简单。
JavaBean可重用的软件组件满足小型应用,同时使编程人员投入量精力便可重用组件,在简单的应用中可以充分考虑。
目录摘要 (1)1 引言 (6)1.1背景和意义 (6)1.2开发设计思想 (7)2开发技术简介 (8)2.1JSP (8)2.2T OMCAT (10)2.3J AVA B EAN (11)2.4SQL S ERVER (12)3 系统需求分析 (13)3.1性能需求分析 (13)3.2软件质量需求分析 (14)3.3系统可行性分析 (15)3.5体系结构分析 (16)4系统设计 (17)4.1总体设计原则 (17)4.2运行环境 (17)4.3开发模式 (18)4.4系统流程分析 (19)4.4.1业务流程分析 (19)4.4.2数据流程分析 (20)4.5系统数据库设计 (22)4.5.1系统数据库E-R图 (22)4.5.2 系统数据库表设计 (24)4.6系统功能结构设计 (27)5 系统实现 (28)5.1系统主要功能模块实现 (28)5.1.1用户注册登录模块 (28)5.1.2用户登陆模块 (30)5.1.3客户订餐模块 (32)5.1.4菜单管理模块 (35)5.1.5订单管理模块 (37)5.2连接数据库 (39)5.3系统运行环境配置 (41)5.3.1JDK配置 (41)5.3.2T OMCAT配置 (41)5.4 java汉字处理问题及解决 (42)6 结束语 (45)1 引言1.1背景和意义随着麦当劳,肯德基等洋味十足的快餐店越来越密集的出现在城市的大街小巷,越来越多的消费者光顾它们。
然而一旦走进这些店铺,大多数人看到的都是铺天盖地排长龙的等待购买的人群、领餐后茫然寻找座位的人群以及因为人太多等不及购买而进去又徘徊出来的人。
当然国内其他大型餐饮或者其他行业也都会出现类似的现象。
面对以上这种现象,国民迫切的需要一种实际的解决方法,一个功能完备但是操作简单的订餐点餐系统。
业内专家普遍认为,电子商务是一种个性化服务的生产方式,餐饮业长期以来就是个性化、多样化的生产服务。
因此,有眼光的餐饮业经营者不应该总是停留在盲目的价格战、地域战阶段,而应在信息化和电子商务领域抢得先机。
随着网络的普及,网上订餐业务在中国开始盛行,人们也通过网络订餐的方式获得自己需要的食物。
这样既节省了时间,也可以为广大用户提供更多的口味。
1.2开发设计思想该系统分为前台和后台两个部分,前台部分主要是用户进行资讯的浏览,以及订餐,订座管理等,主要是面向用户的。
而后台主要是管理人员对前台数据的维护和设置,主要是面向管理人员的。
网上订餐系统无论是在应用的深度还是广度都是一个逐步发展的过程。
在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。
该系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。
对于本系统的不同使用者,其功能与业务逻辑是不尽相同的。
对于普通用户而言,系统主要像用户展示一个美观的界面,用户在可以浏览各类资讯,查询餐饮信息,订餐,订座等。
而管理员则需要在后台维护这些数据。
本系统的主要功能应是用户的订餐了,用户可以查询菜品信息,当发现自己满意的以后,可以将这些菜品添加到自己的购物车,此时用户虽然选择了要预定的商品,但是还不具备法律效用,当用户通过一定方式(此方式不属编程范围)得到预定许可后,管理员在后台可以审核是否批准该用户的订餐请求,当管理员同意了该用户的订餐请求,即可将该用户所预定的发送给客户,此时客户在客户端可以看到自己购物车的状态,如果管理员没有批准或没有处理等,该客户都可以在前台看见相关信息。
该系统使用JSP(Java语言)和SQL Server2000数据库开发, 实现了网上订餐系统的动态管理,使得网上订餐的管理更加及时、高效,提高了工作效率。
该管理系统具有一般网上订餐系统的功能,从大的方面来讲主要包括资讯管理,餐饮管理,预定管理,用户管理等几个大的功能模块。
该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于MyEclipse平台架构开发设计,主要实现对网上订餐的使用、需求、以及用户订餐的动态管理等。
随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。
为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。
2开发技术简介2.1JSP随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server 简称B/S)体系结构的应用程序得到了空前广泛的应用。
但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。
因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。
JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。
在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些技术很难。
例如,Java Servlets这样的技术就可以使得用Java语言编写交互式的应用程序的服务器端的代码变得更加简单。
Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。
开发人员编写出Servlet程序,用来接收来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档到浏览器。
但是使用这种方法,整个网页必须都在Java Servlet中制作。
如果开发人员或者Web管理人员想要调整页面的显示,就不得不从新编辑并编译Java Servlet程序。
采用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。
很显然,一个简单的创建动态页面的解决方案要能解决以下的问题:1. 能够在任何Web或应用程序服务器上运行2. 将应用程序逻辑和页面显示分离3. 能够快速地开发和测试4. 简化开发基于Web的交互式应用程序的过程JavaServer Pages (JSP)满足这些要求,它整合了存在的Java编程环境提供支持的技术和工具,产生了一种新的、开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。
2.2Tomcat大多数人(大概29%)都喜欢将Apache Tomcat当作JSP应用服务器使用。
有人可能会说,它之所以受欢迎是因为这个服务器是免费和开放源代码的,但是真正的原因远不止这些。
Apache Tomcat能够受欢迎,不仅是工作性能非常好,还有没有初始的开发成本开销等有力的竞争因素,但这不是决定因素。
Tomcat 结构非常合理,更由于Tomcat 是Apache 组织的产品,这个组织有着雄厚的技术更新力量,并且Tomcat5.0 很好的支持了JSP2.0 规范,因此有着很好的发展前景。
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司以及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界内的地位。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:也处理Html页面,但是与Apache相比,它的处理静态Html的能力就不如Apache。
2.3JavaBeanJavaBeans被称为是Java组件技术的核心。
JavaBeans的结构必须满足一定的命名约定。
JavaBeans类似于Windows下的ActiveX控件:它们都能提供常用功能并且可以重复使用。
JavaBeans可以在JSP程序中应用给我们带来了很大的方便,这使得开发人员可以把某些关键功能和核心算法提取出来,封装成为一个组件对象,增加了代码的重用率、系统的安全性。
比如我们可以将访问数据库的功能、数据处理功能编写封装为JavaBeans组件,然后在某个JSP程序中加以调用。
JavaBeans的与平台无关性,使得JavaBeans组件不但可以运行于Unix平台,还可以运行在Windows平台下面,而且JavaBeans 从一个平台移植到另外的平台上代码不需要修改,甚至不需要重新编译。
起码JavaBeans组件在使用以前不需要注册,本节将介绍在JSP程序中如何使用,JavaBeans组件要想在JSP程序中使用JavaBeans,组件必须应用<jsp:useBean><jsp:setProperty><jsp:getProperty>等JSP的操作指令。
(1) <jsp:useBean>操作指令<jsp:useBean>操作指令用于在JSP页面中实例化一个JavaBean组件,这个实例化的JavaBean组件对象将可以在这个JSP程序的其它地方被调用。