网络订餐系统论文 - 图文

更新时间:2023-03-08 16:55:59 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

网络订餐系统设计

摘 要

在二十一世纪,随着Internet的飞速发展,使得网络的应用日益广泛。如电子商务,网上医疗,网络游戏等。本文从饭店和消费者的需求出发,旨在为中小餐厅实现自己的食品在线销售提供技术手段。

本文设计了基于JSP的网上订餐系统,文中采用了Jsp+javaBean+SQL三层架构的MVC模型。SQL Server为数据库开发平台,Tomcat作为信息服务器,Jsp作为前台页面显示,实现了应用程序逻辑和页面分离使界面设计更简单。网上订餐系统功能实现了用户在线浏览食品信息、开通网上购物车、在线提交订单等功能。管理员通过本系统可以添加食品及食品分类、管理用户、管理订单等。与订餐行为相比,网上订餐系统为用户和商家都提供了更高的效率和更便捷的手段。

关键词:网上订餐;JSP;MVC

Online Meal Ordering System Design

I

Abstract

In the 21 st century, with the rapid development of Internet, the network are applied widely. Such as electronic business, online medical treatment, network game, etc. This paper, from the hotel and the requirements of the consumers ,in order to provide technical means for small and medium-sized restaurant to realize their food online sales.

This paper designes online meal ordering system based on JSP, this paper uses the JSP + javaBean + SQL three layer structure of the MVC model. SQL Server for database development platform, Tomcat as information Server, Jsp page shows as a receptionist, it realizes the logic of application program and page separation ,which makes interface design more simple. Online order system realizes the fuction that user can browse food information online, open the online shopping cart, submitting orders online and so on. System administrator can add food and food classification, management users, management order, etc. Compared with the behavior of ordering food, online order system provides the users and business higher efficiency and more convenient means. Key words: Online meal ordering ;JSP; MVC

目 录

II

第一章 绪论……………………………………………………………………………1

1.1 研究的意义和目的..……………………………………………………………1 1.2 国内外研究现状..………………………………………………………………1 1.3 本文主要工作……………………..……………………………………………2 第二章 系统实现的主要技术…………………………………………………………3

2.1 技术方案的选取…………….…………………………………………….….3 2.1.1 开发模式选择…..…………………………………………………….….4 2.2 相关语言及开发工具介绍..………….……………………………………….4 2.2.1 Jsp技术简介…………………………………………………...…………..4 2.2.2 MyEclipse简介…………………………………….….…………..……6 2.2.3 JSP应用服务器Tomcat…………………………………………………….6 2.2.4 JDBC介绍………………………………………….…………….….……6 第三章 需求和可行性分析……….….…………………………………………….10 3.1 系统功能分析…………………………………………………………………10 3.2 需求分析……..………………………………………………………………10 3.3 可行性研究…………………………………………………………………..11 3.4 流程分析……………………………………………………………………..11 第四章 网上订餐系统总体设计…………………………………………….………13 4.1 系统功能设计目标…………………………………………………………..13 4.2 网络订餐系统功能模块划分………………………………………………..13 4.3 MVC框架…………….…………………….………………………………….14 第五章 数据库设计………………………………………………………………….17

5.1 数据库系统概述………………………………………………………………17 5.2 数据库表设计…………………………………………………………….….17 5.3 数据库连接…………………………………………………………………..20 第六章 程序设计…………………………………………………………………….21

6.1 界面模块的划分..……………...……………………………………………...21 6.2 后台程序的设计..……………….……………………………………….….25 6.2.1 注册…………………………………….………………………………...25 6.2.2 登陆………………………………………………………………………26 6.2.3 显示所有菜品……………………………………………………………27 第七章 结束语………………………………………………………………………..28 参考文献………………………………………………………………………………..29

III

网络订餐系统设计 绪论

第一章 绪论

1.1 研究的意义与目的

贸易的全球化合internet网络的全球化特征使两者自然的走到了一起,形成了如今风靡全球的电子商务。电子商务是指应用电子信息技术和现代Internet网络技术在客户,厂商及其他交易主体之间进行的以信息为依托的商务活动,而购物网站正是这种活动的具体表现形式。随着时代的进步,上网的人数越来越多,网上订餐是人们的一大生活方式之一,网上订餐系统的完善合便捷将是现代社会必然的需求。

本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品。

1.2 国内外研究现状

在我国,网上订餐最早出现在20世纪90年代末期,98年广州等大城市己出现网上订餐业务。2000年7月,北京丽华快餐公司为了探索餐饮业网络经营的道路,寻求新的经济增长点,也推出了网上订餐,成为探索网上订餐的先驱。

目前网上订餐已逐渐普及,特别是在快餐业发达的东部地区。但目前网上订餐在我国并未成气候,很多大的餐饮公司网上订餐业务经营惨淡,很多网站每天只有几十份,经营较好的也只有几百份。如果单纯依靠网上订餐,公司根本无法生存。相反,一些小的个体饮食店老板巧妙地利用QQ、MSN等即时通信软件作为网上订餐工具,却取得了相当不错的效益。他们随着网上订餐业务的扩大,建立了自己的订餐网站,但最初单纯的网上订餐却发展成了网上送花,网上送票等的网上送货网站或者综合类的饮食网站,已经偏离了网上订餐的初衷。

在美国,食品网是目前美国网上订餐行业中的先驱。设在三藩市的食品网在99年已服务于全美一万三千间餐馆,有七十万的网上消费者。任何消费者只要轻松上网,输入邮区号码,就可以了解到在周围有哪些餐馆提供网上送餐服务,并可以浏览到这些餐馆的菜单,做出预订。仅在二分钟内,预订者就可以通过电子邮件得到确定。再过一会,就可以收到所订的美食了。食品网发言人说:在参加该公司网上联网销售的餐馆中,网上订餐的数量实际上比普通的电话订餐高出22%。此外,网上订餐中多功能性的服务还可以让消费者从容地上网浏览餐馆的菜单,或进行价格上的比较,来选择所需要的美食佳肴。目前,通过上网提供外卖和送餐服务的餐厅多于独立餐馆经营者,外卖与送餐服务占餐饮生意额的一半以上。全美餐饮消费者越来

1

网络订餐系统设计 绪论

越趋向于使用网上订餐的形式来购买外卖,特别是年轻一族的消费者。显而易见,网上订餐将成为餐馆业扩大生意的金矿源,有眼光的餐馆业主应该尽早考虑如何利用英特网上网销售。

总的说来,单独的网上订餐还不足以支撑网站的经营。目前的状况是规模大的不盈利,小的有盈利。原因是规模大的范围广,运营成本高,规模小的由于运营成本低,客户群相对稳定,故有一定的利润空间。

1.3 本文主要工作

本系统用JSP语言来编写网络订餐系统,数据库用 MYSQL来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP +JavaBeans + SQL 三层模式完成整个设计工作。本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。因此在这样的背景下,针对当前Internet网络发展趋势设计的网络订餐系统就成为了当今应用软件的首选体系结构。通过虚拟的店面通过图片和文字来描述其所提供的商品,进行促销活动。商店销售的绝大多数是有形商品,提供可直接下单的“购物车”系统,所销售的商品大都便于运送。当顾客实现了在线购买后,商店将以邮寄或专门运送的方式将商品送达顾客手中,货到付款。第三章介绍了网上订餐系统的系统功能分析,第四章介绍了网上订餐系统的总体设计,第五章是数据库设计,第六章是程序设计,程序运行结果成功,说明设计正确。

2

网络订餐系统设计 系统实现的主要技术

第二章 系统实现的主要技术

2.1 技术方案的选取

开发语言随着互联网技术的不断发展,基于浏览器/服务器(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的交互式应用程序的过程。

Java Server Pages (JSP)满足这些要求,它整合了存在的Java编程环境提供支持 的技术和工具,产生了一种新的,开发基于Web应用程序的方法,这个方法给予使用基于组件应用的逻辑页面的设计者提供了强大的功能。

3

[3]

[1]

[2]

网络订餐系统设计 系统实现的主要技术

2.1.1 开发模式选择

JSP有两中开发模式JSP+JavaBeans和JSP+Servlet+JavaBeans,在模式一中,JSP 页面独自响应请求并将处理结果返回客户。所有的数据通过Bean来处理JSP实现页面的表现。模式一技术实现了页面的表现和页面的商业逻辑相分离。大量使用模式一形式,常常会导致页面被嵌入大量的脚本语言或JAVA代码。当需要处理的商业逻辑很复杂时,这种情况会变得非常糟糕。大量的代码会使整个页面变得常复杂。对于前端界面设计人员来说,这简直不可想象。这种情况在大项目中最为常见,这也造成了代码的开发和维护出现困难,造成了不必要的资源浪费,在任何项目中,这样的模式总会导致多多少少的定义不清的响应和项目管理的困难。

综上所诉,模式一不能满足大型项目的需要, 但是可以较好的满足小型应用, 在简单的应用中可以考虑模式一。

模式二JSP+Servlet+JavaBeans中,Servlets技术是一种采用JAVA技术来实现CGI功能的一种技术。Servlets技术是运行在WEB服务器上,用来生成WEB页面。Servlets技术非常实用于服务器端的处理和编程,并且Servlet会长期驻留在他们所处的位置。 但是在实际的项目开发过程中,页面设计者可以方便地使用普通HTML工具来开发JSP页面,Servlet却更适合于后端开发者使用,开发Servlet需要的是JAVA集成开发环境,也就是说Servlet技术更需要编程人员。

模式二技术结合了JSP和Servlet技术充分体现了两者的技术优点。在此模式中通过JSP来表现页面,通过Servlet来完成大量的事务处理。Servlet充当一个控制者的角色,并负责向客户发送请求Servlet创建JSP所需要的Bean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户。从开发的观点,模式二具有更清晰的页面表现,清楚的开发者角色划分,可以充分利用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充分发挥每个开发者各自的特长,界面设计人员可以充分发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充分发挥自己的商务处理思维,来实现项目中的业务处理。在大型项目中,模式二更被采用。

[4]

2.2 相关语言及开发工具介绍

2.2.1 JSP技术简介

开发JSP规范的过程中,Sun公司与许许多多主要的Web服务器,应用服务器和开发工具供应商,还有各种各样富有经验的开发团体进行合作。最后找到了一种平衡了应用和页面开发的具有可移植性和易用性的开发方法,JSP技术特征在多个方面加速了动态Web页面的开发。

(1)将内容的生成和显示进行分离

4

[6]

[5]

网络订餐系统设计 系统实现的主要技术

使用JSP技术,Web页面开发人员可以使用HTML或XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容,这些内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格。生成内容的逻辑部分被封装在JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在Beans中,那么其他人如Web管理人员和页面设计者,在编辑和使用JSP页面的时候,将不会影响到内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成客户端请求的内容,例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者其他文件,并且将结果以HTML(或者XML)页面的形式发送回浏览器。这将有助于作者保护自己的代码,并且保证任何基于HTML的Web浏览器的完全可用性。

(2)强调可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理问题。开发人员能够共享和交换执行普通操作的组件,或者发布这些组件使更多的使用者或者客户团体能够使用。

(3)采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。装了许多功能,这些功能是容易使用的,同时与JSP相关的XML标识中进行动态内容的生成时需要的。通过开发定制化标识库,JSP技术是可扩展的。今后,第三方开发人员和其他人员可以将常用的功能创建到自己的标识库。这使得Web页面开发人员能够象使用熟悉的工具一样来使用标识来执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以便使用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用开发。由于JSP页面的内置脚本语言是基于Java编程语言并且所有的JSP页面都能被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言\一次编写,各处运行\的特点。随着越来越多的厂家将对JSP的支持添加到他们的产品中,我们可以选择不同的服务器和工具,因为更改工具或服务器并不影响当前的应用。当与Java2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP 页面提了供企业级的扩展性能,这对于在虚拟企业中部署基于Web的应用是必需的。

5

网络订餐系统设计 系统实现的主要技术

2.2.2 MyEclipse 简介

Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。2001年11月,IBM宣布将其捐给开放源码组织Eclipse。目前Eclipse的市场占有率已经超过了Borland公司的JBuilder,成为Java开发平台中的主流。

Eclipse的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。

Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace, WT/JFace大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。

MyEclipse企业级工作平台( MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发,发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码,调试,测试和发布功能,完整支持HTML,Struts,CSS,Javascript,SQL,Hibernate。

2.2.3 JSP 应用服务器 Tomcat

大多数人(大概29%)都喜欢将Apache Tomcat[8]当作JSP应用服务器使用。有人可能会说,它之所以受欢迎是因为这个服务器是免费和开放源代码的,但是真正的原因远不止这些。Apache Tomcat能够受欢迎,不仅是工作性能非常好,还有没有初始的开发成本开销等有力的竞争因素,但这不是决定因素。Tomcat结构非常合理,更由于Tomcat是Apache组织的产品,这个组织有着雄厚的技术更新力量,并且Tomcat6.0很好的支持了JSP2.0规范,因此有着很好的发展前景。

Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache Sun和其它一些公司以及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范在Tomcat中得到体现。Tomcat被Java World杂志的编辑选为2010年度最具创新的java产品,可见其在业界内的地位。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:也处理Html页面,但是与Apache相比,它的处理静态Html的能力就不如Apache。

JDK是SUN公司的JAVA应用程序和组件的开发环境,是编译,测试工具,也是提供JAVA程序的JAVA虚拟机平台,是调试和运行JSP 所不可缺少的工具。 2.2.4 JDBC介绍

JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数

6

[9]

[7]

网络订餐系统设计 系统实现的主要技术

据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的MYSQL。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC能完成下列三件事: (1)同一个数据库建立连接。 (2)向数据库建立连接。 (3)处理数据库返回的结果。

JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。

很多可视化的Java开发工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的

图2.1 使用中间件的数据库访问三层结构

SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。

数据库访问的三层结构如图2.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。

用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式,如图2.2所示。

7

网络订餐系统设计 系统实现的主要技术

图2.2 JDBC的三层模型

在三层模型中,命令将被发送到服务的中间层,而中间层将SQL语句发送到数据库。数据库处理SQL语句并将结果返回中间层,然后中间层将它们返回用户,其模型如图2.2所示。

因为中间层可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由中间层进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sql.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也

8

网络订餐系统设计 系统实现的主要技术

需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。

JDBC 扩展了Java的功能。例如:用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java 和JDBC 可为外部客户提供获取信息更新的更好方法。

简单地说,JDBC可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。

9

网络订餐系统设计 需求和可行性分析

第三章 需求和可行性分析

为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。模块是数据说明、可执行语句等程序设计对象的集合,它是单独命名的而且可通过名字来访问。模块化就是把程序化分成若干个模块,每个模块完成一个子功能,把这些模块集起来组成一个整体,可以完成指定的满足问题的要求。

3.1 系统功能分析

首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的订餐网站注册成会员来了解其具备的功能。

1.从用户角度来看:

用户通过在线注册成为网站的用户,可以获得以下功能:菜品浏览,购买菜品,找回密码,修改密码,修改个人信息,菜品简介、订餐车、留言板等。 2.从网站的角度看:

(1)网站应该包含菜品搜索功能:按菜品名(模糊)查询。 (2)订单处理功能,确认订单方式。

(3)管理员管理:查看用户信息,并根据用户信息和用户订单对菜品进行发派。 (4)菜品浏览。

3.2 需求分析

需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。在这里我们需要了解用户有什么样的具体要求和对系统性能的要求。

(1)用户的需求分析:

(a)用户注册(b)用户登录(c)菜品浏览 (d)菜品订购(e)菜品查询(f)订单修改 (g)修改密码(h)修改个人信息(i)管理员 (2)系统性能分析:

对数据的安全性、完整性要求:用户信息保密,只有管理员能任意修改,确

10

网络订餐系统设计 需求和可行性分析

保网上支付安全。菜品信息、用户信息必须保证其完整性,防止恶意删改。以下是系统性能需求:

(a)准确性和可靠性高。

(b)页面友好,功能齐全,且可以使用。 (c)系统便于维护和升级。 (d)数据库访问效率高。

3.3 可行性研究

可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行。

(1)技术可行性分析

网络订餐系统的开发是一项复杂的系统工程。为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本。工程化的系统开发方法确实在开发实践中取得了一定的效果。此次开发使用JSP作为开发语言,采用Servlet技术,Tomcat5作为Web服务器。 (2)运行可行性分析:

随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。

(3)经济可行性分析:

网络订餐系统给人们带来了方便,成为一种全新的商务模式。因此,不用出门就可以在家购物的新时尚已经到来,构建一个网络订餐系统在经济上是可行的。 就本系统而言,随着电脑的普及,为学生在网络上进行购物提供有利的条件。而一个网络订餐系统可以为学生提供软件条件,这样学生便可以足不出户的买菜品了。商家可以从中获得利润,两全其美。

通过以上的分析,开发网络订餐系统是完全可行的。

3.4 流程分析

(1)浏览与选择餐饮信息:顾客进入网站即刻自动提供购物车,不需身份确认就可以在网站上随意浏览,登录系统后则可挑选餐饮(可增加、删除、修改购物车上

11

网络订餐系统设计 需求和可行性分析

餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考。

(2)判断:顾客确定所购餐饮信息后,系统将判断该顾客是否注册,如果是,则可直接填写订单;否则,提示顾客登记注册。

(3)提交订单:已选购的餐饮信息需填写订单细节。 (4)注册:顾客可在公司的网站上注册后提交申请。

(5)确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。

(6)送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单:向顾客送货,货到付款,完成网上交易。流程图如图3.1所示。

顾客 交易 浏览菜品资讯 登录系统 获得购物车 Y 浏览餐饮信息xi息 管理员 Y 审核 N 结束 选择餐饮信息

图3.1 流程分析图

12

网络订餐系统设计 网上订餐系统总体设计

第四章 网上订餐系统总体设计

4.1 系统功能设计目标

理论系统功能设计目标如下:

(1)实用性强:我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求。

(2)先进的程序结构:使用当代前卫的软件编程,能延长其生命周期,易于维护与管理。

(3)安全可靠性高:后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠。

(4)使用模块化设计的方法:使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护。

(5)操作简单,维护方便:每个子系统都具有相对独立的系统维护功能,能对可变化的项目可自行维护。

(6)查询功能强大:可以对菜品的基本情况、用户基本情况,菜品评信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和菜品等的基本情况。

4.2 网络订餐系统功能模块划分

根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:

(1)主页:在这里我们可以看见本系统的主要功能和信息。 (2)用户注册:在这里我们可以注册我们的基本信息。

(3)用户登陆:为了方便用户的付款,邮购和管理,我们需要变成会员后才可以进行消费。

(4)菜品浏览:成功登陆后的用户可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到用户登录页面。

(5)订购菜品:成功登陆的用户可以在该页面定购所需要的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到用户登陆页面。

13

网络订餐系统设计 网上订餐系统总体设计

(6)查看订单:成功登陆的用户可以在该页修改已经订购的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到用户登陆页面。

(7)修改订单:成功登陆的用户可以在该页修改或删除已经订购的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到户登陆页面。

(8)菜品查询:成功登陆的用户可以在该页查找自己需要的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到用户登陆页面。

(9)修改密码:成功登陆的用户可以在该页修改自己的密码。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到用户登陆页面。

(10)修改个人信息:成功登陆的用户可以在该页修改自己当初注册时的信息。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到户登陆页面。

(11)管理员:查看用户订单,查看用户信息,并根据用户信息和用户订单对菜进行派发。

4.3 MVC框架

MVC架构

[10]

是“Model-View-Controller”的缩写,中文翻译为\模型-视图-控

制器\。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC架构是一个复杂的架构,其实现也显得非常复杂。但是,我们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC架构的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。Model通常是一个调停者,可采用Mediator Pattern来实现。现在让我们来了解一下MVC三个部分在J2EE架构中处于什么位置,这样有助于我们理解MVC架构的实现。MVC与J2EE架构的对应关系是:View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的javaBean或者EJB实现。

(1)视图

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和MVC模式Applet。随着应用的复杂性和规模性,界面的处理也

14

网络订餐系统设计 网上订餐系统总体设计

变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

(2)模型

模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

(3)控制

控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图4.1所示。

15

网络订餐系统设计 网上订餐系统总体设计

图4.1 MVC模式组件类型间的关系及功能

16

网络订餐系统设计 数据库设计

第五章 数据库设计

5.1 数据库系统概述

SQL Server

[11]

是由Microsoft开发和推广的关系数据库管理系统,它最初是由

Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。SQL Server 特点:

(1)真正的客户机/服务器体系结构。

(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。 (3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 (4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

(5)具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

(6)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

5.2 数据库表设计

本系统的数据库其中包括九个表,分别为餐馆表 restaurant,食物表food,菜单表menu,用户表userinfo,管理员表adm,订单表orderform,订单详情表orderitem详情请见下面的数据库表:

(1)餐馆表restaurant

餐馆表存放的是餐馆的名字,编号,所在地,如表5.1所示。

表5.1 餐馆表

列名 restno restname loc

数据类型 number varchar varchar 长度 4 50 120 17

允许空 not null not null

本文来源:https://www.bwwdw.com/article/pi86.html

Top