外卖网上订餐系统的设计与实现项目可行性研究报告.docx
- 文档编号:27023613
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:34
- 大小:525.32KB
外卖网上订餐系统的设计与实现项目可行性研究报告.docx
《外卖网上订餐系统的设计与实现项目可行性研究报告.docx》由会员分享,可在线阅读,更多相关《外卖网上订餐系统的设计与实现项目可行性研究报告.docx(34页珍藏版)》请在冰豆网上搜索。
外卖网上订餐系统的设计与实现项目可行性研究报告
外卖网上订餐系统的设计与实现项目可行性研究报告
摘 要
随着麦当劳,肯德基等洋味十足的快餐店越来越密集的出现在城市的大街小巷,越来越多的消费者光顾它们。
然而一旦走进这些店铺,大多数人看到的都是铺天盖地排长龙的等待购买的人群、领餐后茫然寻找座位的人群以及因为人太多等不及购买而进去又徘徊出来的人。
当然国内其他大型餐饮或者其他行业也都会出现类似的现象。
面对以上这种现象,国民迫切的需要一种实际的解决方法,一个功能完备但是操作简单的订餐点餐系统。
针对目前网络订餐网站的这种局限性,我们提出并设计实现了这个网络订餐系统。
在开发设计中,采用B/S(Browser/Server)结构,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,而且由于通过服务器端统一管理数据,易于保证数据的一致性。
数据库方面,推荐业界具有领导地位的关系数据库管理系统MicrosoftSQLsever2000,使系统安全性能更高。
同时采用当前正在流行的JSP(JavaServerPages)编程,用户界面更友好。
在开发中选择了JSP+JavaBean+SQL2000的模式,实现了应用程序逻辑和页面显示分离,界面设计更简单。
JavaBean可重用的软件组件满足小型应用,同时使编程人员投入量精力便可重用组件,在简单的应用中可以充分考虑。
1引言
1.1背景和意义
随着麦当劳,肯德基等洋味十足的快餐店越来越密集的出现在城市的大街小巷,越来越多的消费者光顾它们。
然而一旦走进这些店铺,大多数人看到的都是铺天盖地排长龙的等待购买的人群、领餐后茫然寻找座位的人群以及因为人太多等不及购买而进去又徘徊出来的人。
当然国内其他大型餐饮或者其他行业也都会出现类似的现象。
面对以上这种现象,国民迫切的需要一种实际的解决方法,一个功能完备但是操作简单的订餐点餐系统。
业内专家普遍认为,电子商务是一种个性化服务的生产方式,餐饮业长期以来就是个性化、多样化的生产服务。
因此,有眼光的餐饮业经营者不应该总是停留在盲目的价格战、地域战阶段,而应在信息化和电子商务领域抢得先机。
随着网络的普及,网上订餐业务在中国开始盛行,人们也通过网络订餐的方式获得自己需要的食物。
这样既节省了时间,也可以为广大用户提供更多的口味。
1.2开发设计思想
该系统分为前台和后台两个部分,前台部分主要是用户进行资讯的浏览,以及订餐,订座管理等,主要是面向用户的。
而后台主要是管理人员对前台数据的维护和设置,主要是面向管理人员的。
网上订餐系统无论是在应用的深度还是广度都是一个逐步发展的过程。
在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。
该系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。
对于本系统的不同使用者,其功能与业务逻辑是不尽相同的。
对于普通用户而言,系统主要像用户展示一个美观的界面,用户在可以浏览各类资讯,查询餐饮信息,订餐,订座等。
而管理员则需要在后台维护这些数据。
本系统的主要功能应是用户的订餐了,用户可以查询菜品信息,当发现自己满意的以后,可以将这些菜品添加到自己的购物车,此时用户虽然选择了要预定的商品,但是还不具备法律效用,当用户通过一定方式(此方式不属编程范围)得到预定许可后,管理员在后台可以审核是否批准该用户的订餐请求,当管理员同意了该用户的订餐请求,即可将该用户所预定的发送给客户,此时客户在客户端可以看到自己购物车的状态,如果管理员没有批准或没有处理等,该客户都可以在前台看见相关信息。
该系统使用JSP(Java语言)和SQLServer2000数据库开发,实现了网上订餐系统的动态管理,使得网上订餐的管理更加及时、高效,提高了工作效率。
该管理系统具有一般网上订餐系统的功能,从大的方面来讲主要包括资讯管理,餐饮管理,预定管理,用户管理等几个大的功能模块。
该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于MyEclipse平台架构开发设计,主要实现对网上订餐的使用、需求、以及用户订餐的动态管理等。
随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(ManagementInformationSystem,管理信息系统)系统,正成为技术发展的趋势。
为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。
2开发技术简介
2.1JSP
随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server简称B/S)体系结构的应用程序得到了空前广泛的应用。
但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。
因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。
JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。
在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些技术很难。
例如,JavaServlets这样的技术就可以使得用Java语言编写交互式的应用程序的服务器端的代码变得更加简单。
JavaServlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。
开发人员编写出Servlet程序,用来接收来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档到浏览器。
但是使用这种方法,整个网页必须都在JavaServlet中制作。
如果开发人员或者Web管理人员想要调整页面的显示,就不得不从新编辑并编译JavaServlet程序。
采用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。
很显然,一个简单的创建动态页面的解决方案要能解决以下的问题:
1.能够在任何Web或应用程序服务器上运行
2.将应用程序逻辑和页面显示分离
3.能够快速地开发和测试
4.简化开发基于Web的交互式应用程序的过程
JavaServerPages(JSP)满足这些要求,它整合了存在的Java编程环境提供支持的技术和工具,产生了一种新的、开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。
2.2Tomcat
大多数人(大概29%)都喜欢将ApacheTomcat当作JSP应用服务器使用。
有人可能会说,它之所以受欢迎是因为这个服务器是免费和开放源代码的,但是真正的原因远不止这些。
ApacheTomcat能够受欢迎,不仅是工作性能非常好,还有没有初始的开发成本开销等有力的竞争因素,但这不是决定因素。
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.3JavaBean
JavaBeans被称为是Java组件技术的核心。
JavaBeans的结构必须满足一定的命名约定。
JavaBeans类似于Windows下的ActiveX控件:
它们都能提供常用功能并且可以重复使用。
JavaBeans可以在JSP程序中应用给我们带来了很大的方便,这使得开发人员可以把某些关键功能和核心算法提取出来,封装成为一个组件对象,增加了代码的重用率、系统的安全性。
比如我们可以将访问数据库的功能、数据处理功能编写封装为JavaBeans组件,然后在某个JSP程序中加以调用。
JavaBeans的与平台无关性,使得JavaBeans组件不但可以运行于Unix平台,还可以运行在Windows平台下面,而且JavaBeans从一个平台移植到另外的平台上代码不需要修改,甚至不需要重新编译。
起码JavaBeans组件在使用以前不需要注册,本节将介绍在JSP程序中如何使用,JavaBeans组件要想在JSP程序中使用JavaBeans,组件必须应用 useBean> setProperty> getProperty>等JSP的操作指令。 (1) useBean>操作指令 useBean>操作指令用于在JSP页面中实例化一个JavaBean组件,这个实例化的JavaBean组件对象将可以在这个JSP程序的其它地方被调用。 useBean>操作指令的基本语法形式如下所示: useBeanid="name"scope="page|request|session|application"/> 或者 useBeanid="name"scope="page|request|session|application"/> body useBean> (2)JavaBeans的Scope属性: ApplicationScope SessionScope RequestScope PageScope 2.4SQLServer SQLServer2000是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。 MircrosoftSQLServer2000是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。 SQLServer2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。 另外,用户数据都是非常重要的和保密的,这些数据存储在MircrosoftSQLServer2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。 XX的用户既不能执行相应的操作,也不能访问数据库中的相应数据。 SQLServer2000系统具有强大的网上功能,可以在Internet上发布数据库中的数据。 在MicrosoftSQLServer2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。 3系统需求分析 网上订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。 在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。 进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。 3.1性能需求分析 该系统在性能功能上应达到如下需求: ◆操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。 对常见的类似网站的管理的各个方面: 基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式; ◆即时可见: 对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能; ◆系统运行应该快速、稳定、高效和可靠; ◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。 3.2软件质量需求分析 具体要求如表3-1: 表3-1软件质量需求分析 主要质量属性 详细要求 正确性 按照需求正确执行任务,完成各个模块的相应要求。 健壮性 具有较高的容错能力和恢复能力。 可靠性 故障发生率每运行1000小时低于3次 性能,效率 软件的输出结果更新周期应该与系统的信息更新周期相同。 在网络情况良好的情况下,3秒内可响应用户请求。 易用性 易理解性: 软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。 安全性 防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性其数据应能集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也不应进行什么数据同步. 可扩展性 能方便的进行二次开发,满足对功能的扩充或提高并能提高相应的安全控制。 兼容性 不易与其他软件起冲突。 可移植性 可方便移植到其他系统环境中正常运行。 3.3系统可行性分析 随着经济的快速发展,B2C电子商务越来越受到人们的关注。 网上订餐类网站,已经如雨后春笋般的出现在了个大城市。 特别在公司,企业内部,团体订餐已经成为了趋势。 同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。 而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。 因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。 综合以上两点分析,此次毕业设计决定利用JSP和SQL技术设计网上订餐管理系统。 JSP可以创建和运用动态、交互的WEB服务器应用程序。 同时,JSP具有向跨平台跨服务器的优点。 SQLServer2000是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。 3.5体系结构分析 工作平台设计原则 能适应不同的操作平台,不同的网络。 客户/服务器(CLIENT/SERVER)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。 这种结构的核心是客户应用程序向服务器发送服务请求,服务器完成后端处理。 服务器是一台管理数据资源并执行数据库引擎功能(加数据存储、操作和保护)的计算机,处理结构由服务器发回客户应用程序,由客户应用程序对处理结构进行显示。 这种结构的优点是只有处理后的数据在网络中传递,大大减轻了网络的负担,而且由于通过服务器端统一管理数据,易于保证数据的一致性。 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。 在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。 B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。 这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,JAVA技术已经是很成熟的应用了。 4系统设计 4.1总体设计原则 1、开放性、可扩充性、可靠性原则 开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。 开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。 从而适应广大用户需求的多变性和产品的更新换代。 2、良好的用户操作界面 用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。 3、实用性原则 任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。 4.2运行环境 服务器端: tomcat 操作系统: WindowsXP操作系统 数据库: MicrosoftSQLServer2000 网络通信协议: TCP/IP 开发工具: MyEclipse 4.3开发模式 JSP有两中开发模式JSP+JavaBeans和JSP+Servlet+JavaBeans,在模式一中,JSP页面独自响应请求并将处理结果返回客户。 所有的数据通过Bean来处理JSP实现页面的表现。 模式一技术实现了页面的表现--和页面的商业逻辑相分离。 大量使用模式一形式,常常会导致页面被嵌入大量的脚本语言或JAVA代码。 当需要处理的商业逻辑很复杂时,这种情况会变得非常糟糕。 大量的代码会使整个页面变得常复杂。 对于前端界面设计人员来说,这简直不可想象。 这种情况在大项目中最为常见,这也造成了代码的开发和维护出现困难,造成了不必要的资源浪费,在任何项目中,这样的模式总会导致多多少少的定义不清的响应和项目管理的困难。 综上所诉,模式一不能满足大型项目的需要,但是可以较好的满足小型应用,在简单的应用中可以考虑模式一。 模式二技术结合了JSP和Servlet技术充分体现了两者的技术优点。 在此模式中通过JSP来表现页面。 通过Servlet来完成大量的事务处理。 Servlet充当一个控制者的角色,并负责向客户发送请求。 Servlet创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。 从开发的观点,模式二具有更清晰的页面表现,清楚的开发者角色划分,可以充分利用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充分发挥每个开发者各自的特长,界面设计人员可以充分发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充分发挥自己的商务处理思维,来实现项目中的业务处理。 在大型项目中,模式二更被采用。 但是,本系统开发只是一个小型的JSP应用,同时由于Servlet难于掌握,所以在本课题中采用了模式一开发,既JSP+JavaBean。 4.4系统流程分析 4.4.1业务流程分析 1、浏览与选择餐饮信息: 顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览,登录系统后则可挑选餐饮(可增加、删除、修改购物车上餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考; 2、判断: 顾客确定所购餐饮信息后,系统将判断该顾客是否注册,如果是,则可直接填写订单;否则,提示顾客登记注册; 3、提交订单: 已选购的餐饮信息需填写订单细节。 4、注册: 顾客可在公司的网站上注册后提交申请; 5、确认: 后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。 6、送货与付款: 网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单: 向顾客送货,货到付款,完成网上交易。 图3-1系统业务流程分析图 4.4.2数据流程分析 该系统数据流程比较简单,管理员可以添加餐厅信息(包括餐桌,包房等),餐饮信息(包括菜品名等信息),资讯信息等,然而这些信息顾客是可以浏览的,但是顾客没有权限对这些信息进行修改,这些信息对于顾客而言是单向的。 对于预定信息,管理员可以查看及审核预定信息,顾客可以增删改预定信息,并将预定信息提交给管理员等待审核,因此预定信息对于顾客和管理员而言都是双向的。 数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。 它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 系统的数据流图如下所示: 顾客 管理员 餐厅信息 餐饮信息 资讯信息 数据库 餐饮预订 图3-2系统DFD图 4.5系统数据库设计 4.5.1系统数据库E-R图 图E-R图 4.5.2系统数据库表设计 系统数据库表如下: 1.用户表(users): 用户登录是需要用户名和密码,所以用户数据表中必须包含用户名(uname)、密码(upass)两个信息,还有些其他的用户信息,比如power指的是用户权限(管理员还是非管理员)。 从功能上数据库表设计如表3-1: 表3-1用户表 列名 数据类型 长度 uid Int 4 uname varchar 50 upass varchar 50 power Int 4 2.菜品信息表(food): 菜品信息表主要描述菜品信息,如: 菜品ID号(foodid),此ID号为系统自动生成;菜品名称(fname);菜品价格(price);所属分类ID(categoryId);图片信息(images)。 商品信息表详细描述如表3-2: 表3-2菜品信息表 列名 数据类型 长度 foodId int 4 price money 8 categoryId int 4 images varchar 50 3.订座菜单表(st): 客户订餐的一些相关信息,如stId指的订餐ID号,此ID和是系统自动生成的;菜品名称(fname);订购数量(num);价格(price);座位编号(seatId)等,具体描述表3-3: 表3-3供应商表 列名 数据类型 长度 stId int 4 fname varchar 50 num int 4 price money 8 seatId int 4 fId int 4 4.订单表(orders): 订单表有一下描述信息。 订单ID(ordersId),订购人姓名(name),地址(address),联系电话(tel),价格(price),备注信息(context)等,具体描述如表3-4所示: 表3-4订单表 列名 数据类型 长度 ordersId Int 4 name varchar 50 address varchar 50 tel varchar 50 price numeric 9 uid Int 4 context text 16 5.订单菜单表(Shop)具体描述如表3-5所示: 表3-5订单菜单表 列名 数据类型 长度 fId Int 4 fname Varchar 50 num Int 4 price Money 8 uid Int 4 sid Int 4 6.订座表(Seat)具体描述如表3-6所示: 表3-6订座表 列名 数据类型 长度 seatId Int 4 uid Int 50 tel Varchar 50 riqi Varchar 50 num Int 4 name varchar 4 xiaoshi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外卖 网上 系统 设计 实现 项目 可行性研究 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)