《基于JSP的网上订餐管理系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于JSP的网上订餐管理系统毕业论文.doc(56页珍藏版)》请在三一办公上搜索。
1、基于JSP的网上订餐管理系统摘要随着互联网的发展和普及,网上订餐也越来越普遍,设计开发一种更高效更方便的网上订餐系统已经显得十分必要了,将来网上订餐服务有望发展成一种非常受欢迎的订餐方式,将成为餐饮业销售的新模式和新的增长点。本课题的任务是开发一套基于web的订餐系统,旨在通过网站的形式实现顾客的订餐过程。本系统使用Java语言开发,采用SH框架,利用JSP技术结合MySQL数据库来实现的B/S结构。系统是根据顾客和管理员两种不同用户的使用范围进行功能划分和设计,实现了订餐系统的基本功能。顾客通过访问订餐系统的前台页面,注册成为会员,浏览餐饮,搜索餐饮,发表留言,订购餐饮等。餐馆经营者以管理员
2、的身份登录系统后台,管理会员,订单,餐饮,公告等。本设计与现有的其他案例比较,具有界面直观,操作简便等优点,方便订餐者和餐饮管理着进行使用。关键词 网上订餐;JSP;MVC;B/SOnline meal orderingmanagement system based on JSPAbstractWith the development and popularization of Internet, online meal ordering is more and more popular, the development of a more efficient and more conveni
3、ent online meal ordering system has become very necessary, the future online meal ordering service is expected to develop into a very popular meal mode, will become a new mode of catering sales and new point of growth.The task of this project is to develop a set of ordering system based on Web, to a
4、chieve customer ordering process through the website form. This system is developed by Java language, using SH framework, B/S structure with MySQL database using JSP technology. The system is according to the customer and manager of two different user scope of functions and design, to achieve the ba
5、sic functions of the ordering system. The customer through the access reservation system front page, registered as a member, browse search catering, catering, published message, ordering food etc. Restaurant operators to log in to the system administrator backstage, member management, order, caterin
6、g, announcements.本设计与现有的其他案例比较,具有界面直观,操作简便等优点,方便订餐者和餐饮管理着进行使用。Compared with other current cases of this design, has the advantages of simple operation, intuitive interface, easy ordering, and catering management for use.Key words Online Ordering; JSP; MVC; B/S 目录摘要iAbstractii1 绪论11.1 订餐系统的研究背景11.2 订
7、餐系统的研究目的及意义11.3 相关技术简介21.3.1 JSP技术21.3.2 MVC开发模式31.3.3 SH框架技术41.3.4 Hibernate框架51.4 MySQL数据库52 订餐系统分析72.1 系统可行性分析72.2 需求分析82.2.1 系统功能需求82.2.2 系统性能需求82.2.3 系统重要用例分析92.2.4 业务流程分析102.2.5 数据流分析113 订餐系统总体设计133.1 系统设计原则133.2 系统结构设计133.3 功能模块设计133.3.1 前台显示的功能模块设计143.3.2 后台管理的功能模块设计153.4 数据库设计153.4.1 数据库表设计
8、163.4.2 数据库概念模型设计(E-R图)163.4.3 数据库逻辑结构设计174 订餐系统编码与实现224.1 系统的分层设计与实现224.1.1 表现层(UI)224.1.2 业务逻辑层(BLL)234.1.3 数据库访问层(DAL)244.2 前台显示模块的实现254.2.1 会员注册模块的实现254.2.2 搜索餐饮模块的实现264.2.3 订餐功能模块的实现264.2.4 留言评价模块的实现294.3 后台管理模块的实现304.3.1 公告管理模块的实现304.3.2 餐饮管理模块的实现314.3.3 管理员管理模块的实现324.3.4 订单管理模块的实现344.3.5 会员管理
9、模块的实现355 订餐系统测试与运行375.1 测试的定义375.2 测试的原则375.3 测试的目的375.4 系统运行环境要求385.5 系统测试基本要求385.5.1 界面测试385.5.2 功能测试385.5.3 性能测试385.6 系统测试用例385.7 系统测试结果39结论40参考文献41致谢42外文原文43中文翻译491 绪论1.1 订餐系统的研究背景餐饮业是一个古老的行业,随着我国经济的快速发展,人民生活水平的不断提高,我国的餐饮业必将有巨大的发展。但是,目前我国的餐饮业信息化程度很低,还基本处于手工操作层面上,网上订餐已经成为餐饮行业一种新型的营销方式。因此,开发网上订餐系统
10、是很有必要的。随着网络的普及和人们生活水平的提高,人们对自己的饮食也渐渐的注重起来,很多人在进行紧张工作之余会选择享受美食进行放松。但很多时候会出现这样的情况:人们到餐厅就餐,会出现排队或者没有位置的现象;还有就是有的人不愿出去或者没时间出去买餐,想在自己的家里就能享受到美味的食物。基于客户的这些需求,就产生了网上订餐的这一构想。其次在于我们的生活中出现网上订车票、机票的系统,对于网上餐饮的定制在日常生活中还是比较少见的,这样的系统发展潜力大,发展范围广泛。现在在一些大型的餐馆或者酒店也有网上订餐的系统,但是使用还不广泛,有的只在餐馆里使用,网上订购这一功能没有得到充分利用。这些现实问题为开发
11、简便、实用的网上订餐管理系统提供了必要条件。在日常生活中,最普遍的订餐方式是电话预定,这种预定方式简洁、方便,错误率也比较低,但是在订餐时,往往由于客户对餐饮企业提供的信息比了解或者不够了解,就会进行相关的咨询,这造成了一定程度上的时间浪费。当多个客户拨打同一个电话时,有可能出现线路忙的情况,这会给顾客留下不好的印象,这些将都会带来不便,餐厅人员会在同一天反复重复相同的信息,造成了人力资源的浪费。对于餐饮企业经营者,利润是目的,而效率是盈利的必要条件,使用方便快捷的网上订餐系统不仅可以减少人力消耗,还能很大程度上节约时间,提高工作效率。综上,我认为开发网上订餐管理系统对于客户和经营者都是很必要
12、的。1.2 订餐系统的研究目的及意义网络的普及使人们对网站的设计和外观的要求越来越挑剔了,因此,网页作为一个企业的脸面需要精心设计。餐饮经营者可以在自己的网站上,发放餐馆的信息和菜品信息,每一样菜都有精美的图片,实行餐馆企业的自我推介,从而吸引上网人员的关注。设计个性化的界面吸引顾客,使消费者方便快捷的登录,并很方便的预订需要的菜品。在企业经营管理方面,实行信息化的网上订餐的作用更为显著:网上订餐可以餐饮企业提高效率,节约成本。通过计算机进行订餐所需程序:传单、订单、计算、汇总等,计算准确并且高效,这不仅加快了企业的卖餐速度,而且以快速,便捷的送货上门方式给顾客提供最好的最需要的餐饮及服务,为
13、客户省去了很多不必要的时间。网上订餐系统不仅能够比传统的订餐方式高效,还有自己的优点。网上订餐系统,提供了图文并茂,及时更新的丰富信息,让客户有更多的选择机会,并且如同自己面对现成的食物一样,这样可以使顾客身心感觉都很好。用餐时间,生意好的餐厅电话一般很难打通,为此客户可能做出其他选择,而网上订餐不会存在这样的问题。网上订餐很适合白领等上班族的生活工作方式:很多办公室人喜欢上网,网上订餐省时又省力,可以轻轻一点,足不出户就可以吃到想要的饭菜。网上订餐带来的方便会在客户总形成良好的口碑,网络的应用也会提高餐馆的形象,从而吸引更多的顾客,为餐馆带来更多的盈利。网上订餐系统其功能不言而喻,不仅能够满
14、足顾客需求,而且餐饮企业也可以高效经营管理。其能够占领市场的另一个优点是:该系统运行平台很简单,只需要一台计算机,能够上网即可。如果要选择网上支付,则经营者需要有网上银行。这个系统属于小型的应用系统,经营者使用起来不必担心经济负担。1.3 相关技术简介1.3.1 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。 JSP全名为Java Server Pages
15、,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务器端的资源的应用
16、逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端
17、请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP2.0中的一个主要功能是JSP fragment,它的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被
18、改变的。JSP需要将这样的属性定义为 javax.servlet.jsp.tagext.JspFragment类型。当JSP标记设置成这种形式时,这种标记属性实际上的处理方法类似于标记体。在实现标记的程序中,标记属性可以被反复评估多次。这种用法称为JSP fragment。JSP fragment还可以定义在一个SimpleTag处理程序中使用的自制标记动作。像前面例子说明的,getJspBody返回一个 JspFragment对象并可以在doTag方法中多次使用。需要注意的是,使用JSP fragment的JSP只能有一般的文本和JSP action,不能有scriptlet和scriptl
19、et表达式。JSP的优势:一次编写,到处运行。除了系统之外,代码不用做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。 强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平
20、台之下。 支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。1.3.2 MVC开发模式MVC是Model-View-Controller的简称,是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。MVC框架结构支持三层结构的类:表现应用程序状态层、屏幕表现层和控制流层,因此这三层被称为模式(Model)、视图(View)和控制器(Controller)。MVC是可以满足那些需要为同样的数
21、据提供多个视图的应用程序的开发需要,在开发与用户界面相关,特别是对用户界面要求较复杂的相关的应用程序时,可以很好地以不同的方式来显示同一数据,也就是在不改变软件功能的前提下,可以实现用户对用户界面的个性化要求,而MVC模式的最大特点就是将业务层与表示层分离,而且提供了很多使显示界面更加个性化的标签库,所以它能更好地实现用户界面的各种个性化需求。MVC模式在MIS系统、决策支持系统和ERP等分布式应用系统的设计与分析中广泛使用,但它本身并不局限于某一个特定的领域。该模式的三个核心部件分别为:模式(Model)、视图(View)和控制器(Controller),下面分别做简要的分析:模型(Mode
22、l):也就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。 视图(View):代表用户交互界面,对于Web应用来说,
23、可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于处理视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 控制器(Controller):是系统的控制层,起到控制整个业务流程的作用。控制器可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。控制层并不做任何的数据处理。例如用户点
24、击一个链接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,然后选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。MVC模式的优点是非常明显的。首先是显示逻辑和业务逻辑的分离很好地提高系统的可维护性和可扩展性。其次,一个模型可以对应多个视图。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模
25、型发生改变,也易于维护。系统采用MVC模式是明智的选择。WEB-MVC架构的结构图如图1-1所示。图1-1 MVC结构图1.3.3 SH框架技术SH(Struts + Hibernate):struts进行流程控制,Hibernate进行数据库操作的封装,这种新的开发模式让开发者更加方便、快捷、思路清晰。Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,其官方网站是http:/jakarta.apache.org/struts。由于Struts能充分满足应用开发的需
26、求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。Struts的核心组件包括ActionServlet、Action
27、、ActionForm、ActionForward、ActionMapping。Struts技术的MVC实现模型如图1-2所示。图1-2 Struts技术的MVC实现模型1.3.4 Hibernate框架Hibernate是一种很好的ORM(Object/Relational Mapping)映射工具,是一个开放源代码的对象关系映射框架和一个独立的对象持久层框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面
28、的访问数据库的代码。 Hibernate核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。图1-3显示了Hibernate的整体框架。图1-3 Hibernate整体框架图1.4 MySQL数据库所有的企业都与数据息息相关,人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理。本系统是采用MySQL数据库。 MySQL是一个开放源码的小型关联式数据库管理系统,开发
29、者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数
30、据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。MySQL是一个高性能、多线程、多用户、建立在客户-服务器结构上的RDBMS,专门为了速度和稳定性而设计的。在过去的几年里,它已经成为线上和线下适合于数据库驱动的应用程序最受欢迎的RDBMS之一。现今,有超过400万的网站建立、使用并配置了基于MySQL的应用程序,并且网站的数量每天都在增加。MySQL数据库的特征
31、:MySQL始终围绕三个基本原则而设计,它们是:性能、可靠性和容易使用。严格按照这些准则产生了一个价格便宜而富有特色、适应标准而容易扩展、速度快而效率高的RDBMS,使MySQL成为开发者和管理者建立、维护和配置复杂应用程序的完美工具。MySQL具有性能优越,可靠性强,多用户支持,容易使用,可扩展,可移植,国际化,广泛的应用程序支持,开放源代码的特点。2 订餐系统分析通过对网上订餐系统背景与意义的研究,可以从多方面对网上订餐系统进行分析。在此主要从可行性、需求、数据流、技术等方面对本系统进行具体分析。2.1 系统可行性分析商业软件是根据客户的根本目的和需要而设计和开发的,可行性是开发的系统具有
32、使用价值和生命力的保证。从软件开发的角度来看,当启动一个软件开发任务时,就进入了软件生命周期的第一个阶段,即可行性研究与计划阶段。众所周知,世界上所有的问题不是都有简单明显的解决办法的,许多问题不能在预定的系统规模之内解决。如果问题没有可行的解,那么花费在这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性分析是研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。为了达到这个目的,必须认真了解用户的要求及现实环境,探索若干种可供选择的主要解法,并对每种解法的可行性进行仔细论证。本文将从技术、经济、操
33、作、运行和时间几个方面进行论证。(1)技术可行性分析从技术角度分析,本系统的基本设计思想是把整个系统按照功能模块进行分解,采用Struts+Hibernate作为基础架构,使用MySQL数据库来存储和管理系统的数据。使用SH框架,采用MVC设计模式来开发基于WEB的信息系统,是经过无数人的实践验证过的,也符合本次开发的实际情况,是完全可行而且十分有效的。MySQL数据库具有使用方便,可伸缩性好,与相关软件集成程度高等优点,服务器使用Tomcat6.0,是一个开源软件。在熟练掌握这些语言和工具之后,开发本系统在技术方面是可行的。(2)经济及操作可行性分析本系统的硬件所需费用很少,系统开发与维护所
34、需经费也不高。从长远来说,餐饮经营者使用网上订餐系统,可以降低销售成本,打破时间和地域的限制,经济性是相当可观的,可以带来长期的间接效益,为企业的未来发展打下良好的基础。从目前的技术发展分析,采用Struts+Hibernate框架和MVC模式开发网上订餐系统是较为理想的方式,且有不少关于网上订餐系统成功的案例,开发的成本较低,因此在实际开发中具有很高的经济可行性。本系统的开发模式,在客户端只需安装Web浏览器(如Windows的IE浏览器,随操作系统安装),通过Web页面为客户提供了统一的界面,对客户来说只要具有基本的计算机操作能力就可以使用。(3)运行及时间可行性分析JAVA的一大特点是跨
35、平台,可移植。所以在运行方面是毋庸置疑的,无论系统被移植到那个平台上,均能正常运行。当前网络比较普及,对于普通的餐馆也拥有网络设备,我们学校计算机和网络技术已经相当普及,学生们对这方面的认知和操作已经是相当熟练,所以在运行上是可行性的。时间可行性包括两方面:一是开发时机是否成熟,另一方面是指系统开发所需要的时间能否满足需要。综上所述,本次设计在技术、经济、操作、运行和时间上都是完全可行的。2.2 需求分析2.2.1 系统功能需求网上订餐系统根据用户的不同需求可分为两大功能,其中一个为针对用户开放的前台显示功能,另外一个为针对餐饮管理人员开放的后台管理功能。不同的功能是针对不同的用户角色的,因此
36、不同的功能也拥有不同的需求,以下是对两大功能进行的分析。(1)前台显示功能分析用户主要是在前台进行操作,因此该功能是开发一种面向消费者的网上订餐信息系统。类似于网上购物,在这个系统上,客户可以使用网络,查询各种各样的餐饮,比如菜品信息,价格信息,评价信息,还可以在留言区进行留言等。用户通过各种餐饮信息的对比,足不出户就可以选择物美价廉有可口的饭菜。其功能分析如下。注册功能:用户可以注册成为会员,根据消费情况可以变更会员级别,以会员身份登录可以享受会员价消费。登录功能:用户登录系统首页,查看餐饮信息,订购餐饮,浏览网站公告信息等。修改信息功能:注册用户可以对自己的账号及相关信息进行修改,查看等管
37、理。餐饮搜索功能:为用户提供餐饮搜索的功能,输入搜索关键字,即可查出相对应的餐饮信息。订餐功能:用户选择餐饮放入订餐车,可以更改订餐车中物品数量,或者取消选择。订单管理功能:用户确定订餐,提交之后系统生成订单,用户可以查看订单信息。留言评价功能:用户可以在留言区进行餐饮的留言评价,还可以查看留言。公告浏览功能:用户在前台显示页面可以对系统发布的公告进行浏览。(2)后台管理功能分析根据餐饮业经营的实际情况来开发本系统的后台管理,通过对经营者具体经营方式调查分析,可以看出管理员主系统要涉及到一些数据库的逻辑操作和程序应用逻辑操作。具体的功能归纳如下:管理员登录:管理员在本地登录,创建新的管理员。餐
38、饮分类管理:管理员对餐饮类别进行添加,更新,删除等管理。餐饮管理:管理员对服务器上的餐饮信息进行添加,查询,修改和删除。比如更新餐饮的图片,价格,分类,描述等。订单管理:管理员对订单进行管理。对网上收到的订单,对其信息进行确认,对其所需餐饮种类、数量进行核对,并及时将不能够提供的服务反馈给用户,并对发布信息进行修改存档。对订单进行查询,修改,删除操作。留言管理:管理员对用户对相关食物做的评价信息进行查看、回复、删除等操作。会员管理:以数据库的方式存储用户的基本信息、订餐信息、会员信息等,以备下次更好的服务,提高服务整体的人性化。公告管理:管理员对餐饮企业的优惠活动等信息及时发布、更新。将以上的
39、功能制作成网页以后,在其中分别互相建立连接,基本上可以完成网上订餐系统用户和管理者的要求。2.2.2 系统性能需求本系统在订餐时间业务会比较繁忙,因此系统的反应速度应较快,输入数据时立即响应。更新、查询数据时若有延迟,应提示用户等待,并且对用户操作的成功与否给予提示。餐饮色美才能吸引用户的注意,因此系统界面应美观大方、风格统一,突出特色,功能设计应体现人性化思想,方便用户操作。用户登录系统时需输入口令,对不同类型的操作员授予不同等级的权限去使用相应的功能。对于会员,如果是普通会员,则其只能以市场价消费,而不能享受特别会员价;如果该顾客是特别会员,那么其在消费的时候就可以享受低于市场价的会员价。
40、对于管理员,在其对系统相关信息进行查询时,查询效率要求高,能够及时响应查询请求。另外,系统还应当满足以下需求:(1)信息的完整性:要求采用值约束、缺省等方法确保信息的完整性,一旦用户录入数据不符合系统要求时,系统必须明确给出警告信息。(2)系统的可扩展性:用户有新的需求时可以增删一些功能模块,以便及时解决实际工作的需要。2.2.3 系统重要用例分析(1)用例图分析用例图是系统、子系统或类和外部的参与者(actor)交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。在UML中,用例用一个椭圆表示,用例名往往用动宾结构或主
41、谓结构命名。参与者是指用户在系统中的扮演的角色,其图形化表示是一个小人。网上订餐系统中包括三类用户:普通用户,会员用户,管理员。每个用户角色的功能使用情况如图2-1所示。图2-1系统整体用例图(2)系统核心功能分析和序列图用户订餐是整个系统的核心功能,用户通过此功能完成订餐,并获得订单信息。用户按照以下流程进行订餐:每位用户有一个购餐车,可以添加餐饮,删除餐饮等工作。 用户首先需要选择自己想要的餐饮和份数,并且添加进购餐车,最后通过购餐车生成订单。 当选择完成之后,用户通过购餐车功能进行订单确认,填写好送达地址,接收时间,收货人,联系电话等信息。系统会再次确认送达信息,用户点击确认之后递交数据
42、库。 提示操作完成,并打印出这张订单的所有信息。用户订餐完成之后返回主页面。用户订餐时序图是用户订餐时的时序响应。网上订餐功能的时序图如图2-2所示。图2-2 网上订餐流程时序图2.2.4 业务流程分析系统业务流程的调整和优化对系统的设计和开发是十分必要的。在系统设计开始之前,对系统的业务处理流程进行详细调研分析,根据网上订餐系统的特点和功能分析的结果确定目标业务流程,规划详细的解决方案。根据上述分析的内容,绘制系统的总体流程图。该网上订餐系统的总流程图如图2-3所示。图2-3 系统总体流程图在图3-3系统总体流程图中,我们能够看出,登录的用户和未登录的用户都可以使用餐饮搜索、餐饮浏览、公告浏
43、览三个功能。登录的用户才可以进行个人信息管理、留言评价和订购餐饮功能。管理员登录成功后,可以对后台餐饮信息,会员信息,留言信息,公告信息,订单信息进行新增,删除,修改,查询等操作。2.2.5 数据流分析在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好基础。这里主要利用数据流图来说明数据流程。数据流图是一个图示工具,容易理解,容易在开发和用户方之间进行交流,以及在开发组织内部交流。因此数据流图作为一种模型工具已经广泛使用在软件工程的实践中。根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如餐饮信息等。而用户提交的订单则作为网站的订单数
44、据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为操作信息。系统数据流的总体图如图2-4所示。图2-4系统数据流的总体图进一步分析系统的数据流程,得到系统数据流程的零级图,如图2-5所示。图2-5 系统数据流的零级图上面得到的零级图并不是网上订餐系统完整的详细流程图,它只是将系统的数据流进行了分类。例如将系统的操作信息分为餐饮信息、用户信息和处理信息。在零级图的基础上还可以将每一个处理进行细节描述,从而画出详细流程图。3 订餐系统总体设计经过对网上订餐系统的分析,得出本系统的基本功能需求。以下将从结构、功能和数据库三方面对系统进行详细设计。3.1 系统设计原则
45、系统的设计主要遵守以下原则:(1)整体性保障原则:系统的开发采取“总体规划、分步实施”的开发策略。在开发之初,先进行整体的规划,然后在总体规划的指导下开发。(2)实用性原则:实用性是衡量软件体系中最重要的指标,是否与业务结合的紧密、是否具有严格的业务针对性是系统成败的关键因素。(3)先进性原则:要立足于先进技术,使系统具备技术领先的地位。同时要使用成熟技术,保证系统可靠地运行。要充分考虑用户的需求,从实际出发,保证系统的可使用性、可维护性。(4)安全性原则:网上订餐系统涉及到网上交易,属于电子商务性质的系统,系统地的安全性不容忽视,在进行系统设计时,必须充分考虑潜在的来自网络内部和外部的安全风
46、险,提供有效的安全措施,以保证系统的安全运行。(5)模块化设计原则:电子商务性质的系统是根据业务的需要动态变化的,系统应采用模块化的设计模式,使功能结构具有可伸缩性和可扩展性以实现企业以后发展的需要。3.2 系统结构设计根据业务流程,需要将网上订餐系统划分为前台、后台和数据库。前台中,顾客在登录系统首页后即可链接查看到餐饮等信息,还可以做订购餐饮等活动。为了方便顾客搜索感兴趣的餐饮信息,将餐饮搜索嵌入到主页面中。数据库将要作为系统后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较
47、优化的结构形式能组织好系统首页的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。系统的后台要对整个系统首页的信息和数据进行维护。系统前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。在设计好系统前台与后台的结构以后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示到前台。3.3 功能模块设计层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理