网上订餐系统的设计与实现资料.doc_第1页
网上订餐系统的设计与实现资料.doc_第2页
网上订餐系统的设计与实现资料.doc_第3页
网上订餐系统的设计与实现资料.doc_第4页
网上订餐系统的设计与实现资料.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学单位 计算机学院 学生学号 201196014041 编 号 本科毕业设计 题目 茹乐餐饮管理系统 学生姓名 吴巧娟 专业名称 计算机科学与技术 指导教师 张晓孪 2015年5月25日茹乐餐饮管理系统摘要:现阶段,大多数的餐馆以及酒店的餐饮管理系统都是采用比较传统的方式,虽然现在计算机技术迅速发展,但是还有好多的餐馆以及酒店在智能化方面还都跟不上时代的步伐,造成人力、物力及财力的浪费,这样的管理模式已经无法适应时代的要求,需要设计新的餐饮管理系统来解决现在存在的问题。本系统采用JAVA/JSP技术设计,包括JavaBean技术,使用tomcat应用服务器,数据库使用SQL Server 2005开发基于MVC模式的网上订餐管理系统,主要有系统管理、会员管理、菜品类别、菜品管理、菜品录入、公告管理、订单管理和留言管理等功能,可以实现用户在线订餐,餐饮公司配送以及对订单、菜品的管理等。 本系统在测试和运行的过程中,设计测试方案的目标是选用少量的高效测试数据,尽可能多地发现软件中的问题,提高软件系统的可靠性、实用性,从而使系统能够正常运行。关键词:订餐系统;JSP;SQL Server 2005;菜品;用户 RuLe catering management systemAbstract: At present, the majority of restaurant and hotel catering management system is the more traditional way, although now computer technology is developing rapidly, they couldnt keep up with the pace of The Times in the aspect of intelligent for a lot of restaurants and hotels, a waste of manpower, material and financial resources, this management mode has been unable to adapt to the requirements of The Times, need to design a new catering management system to solve the problems existing now.This system uses JAVA/JSP technology design, including the javabeans technology, using tomcat application Server, database using SQL Server 2005 to develop the online and order management system based on MVC pattern, system management, member management, food categories and food management, food entry, public announcement management, order management and message management, and other functions, can realize the user online reservation, catering company distribution as well as to the order, and the management of the food.This system in the process of test and operation, basic goal is to design test scheme uses the least amount of efficient test data, as much as possible to find the problems in the software, improve the reliability and practicability of the software system, the system can run normally.Key words: reservation system;JSP;SQL Server 2005;the menu; the user目 录一、设计正文11 引言11.1 系统背景11.2 网上订餐管理系统的现状11.3 系统开发的目的21.4 系统开发的意义22 开发平台及语言介绍42.1系统开发工具与设计模式的选择42.1.1系统开发工具42.1.2 系统设计模式42.2 JAVA语言简介42.3 JSP简单介绍52.4 JavaBean技术62.5 SQL Server 2005数据库62.6 MyEclipse概述72.6.1 MyEclipse介绍72.6.2 MyEclipse的安装和配置73 可行性研究93.1可行性研究的任务93.2可行性分析93.2.1技术可行分析93.2.2经济可行分析93.2.3操作可行分析93.3系统分析103.3.1订单业务流程分析103.3.2数据流图103.3.3数据字典114 需求分析114.1 编写目的124.2 功能需求分析124.3 性能需求分析124.4 灵活性需求分析134.5 数据库需求135 总体设计145.1系统功能设计155.2系统数据库设计155.2.1概念结构设计165.2.2逻辑结构设计185.2.3数据库表设计196 详细设计与实现216.1系统首页226.2 用户登录236.3 用户注册246.4后台管理256.5系统管理256.6留言板266.7管理员修改密码286.8菜品管理296.9用户管理306.10菜品录入316.11订单管理326.12公告管理337 系统测试337.1系统测试目的与意义347.2测试方法347.3测试环境与测试条件358 小结与体会36参考文献37谢 辞38二、附录39宝鸡文理学院本科毕业设计开题报告40宝鸡文理学院本科毕业设计结题报告40宝鸡文理学院本科毕业设计答辩报告41宝鸡文理学院本科毕业设计答辩过程记录42一、设计正文1 引言1.1 系统背景通过近几个月的市场调研与分析,现阶段,大多数的餐馆以及酒店的餐饮管理系统都是采用比较传统的方式,虽然现在网络的发展已经很快了,但是还有好多的餐馆以及酒店在信息化方面都跟不上时代的步伐,造成了好多人力、物力以及财力的浪费。经过调研,每次就餐至少要经过传统的五个步骤:用户点菜,传菜员把订单送到厨房,厨房根据订单做菜,上餐员把菜送到用户那,用户买单。这种传统的管理模式在一定程度上增加了服务员的工作量。随着餐馆的增多、类型的变化以及要求的不断提高,按时完成工作的压力也会增大,工作量也会不断的增加。人往往在各种压力之下容易出现各种错误,而且这样的工作也是十分繁琐的,可以说这样的管理模式已经无法适应时代的要求,因此提出这个基于JAVA/JSP 的餐饮管理系统来解决现在存在的问题。1.2 网上订餐管理系统的现状随着计算机技术的发展,网络应用的已经很普遍,现在好多团队都开发了基于JSP的网上订餐系统平台、基于ASP的网上订餐系统、基于.net的网上订餐系统等等,都是为了适应时代的发展和要求。调查得知,餐饮对于人们来说是一个大的问题,能够在紧张的工作和学习之余吃上清爽可口的饭菜,真的是一件幸福的事。在传统的餐饮公司,人们一到了吃饭的时间,排队难,买餐难,既耽误时间又影响吃饭的心情,然而,在Internet迅速发展的同时,网上订餐就走入了人们的生活,这不仅仅解决了排队难,买餐难,最重要的是节约了时间。有时候商家为了薄利多销,也会有相应的促销活动,主要有系统管理、会员管理、菜品类别、菜品管理、菜品录入、公告管理、订单管理和留言管理等功能,能够实现简单的网上订餐,货到付款,以及一些小功能的修饰等等。系统可以采用Browser/Server模式进行设计开发,这种交互式的应用更有利于人们去学习和掌握,使用这些技术来进行网上订餐系统,不用再进行点菜出菜等繁琐的程序,不仅减少了人力,减轻了工作量,而且还提高了工作效率。网上订餐系统采用比较先进的技术,增强了应用性,提高了容错能力,进而也能够提高服务质量,给用户营造一个舒适环境。本系统采用JSP技术设计,数据库使用SQL Server 2005开发基于MVC模式的网上订餐管理系统。老板或其他用户通过Internet就能访问餐馆的管理系统,增进老板和用户的交流,共同对餐饮公司进行管理。1.3 系统开发的目的(1) 运用已所学的知识进行餐饮管理系统的设计,在设计的过程中,会遇到一些问题,在了解和熟知问题在哪的时候,作进一步的修改,提高纠错和编程能力,从而提高实际操作水平。(2) 数据库设计的恰当,能够减小数据库数据的冗余度,这样不仅会少占用存储空间,而且能提高计算机的运行速度。(3)本系统主要任务是完成网上订餐管理信息化,餐馆传统业务要和餐馆的信息化平台同时存在,主要以增进老板和用户沟通为目的。最终完成的网上订餐管理系统应具有以下功能: 为所有网页浏览者开放并提供餐馆信息展示、用户注册、登录、查看订单信息等。 为登录用户提供的修改个人信息、发表留言、点单与退订等。 为餐馆管理者提供的会员管理、菜品类别、菜品管理、公告管理、订单管理、留言管理等。 页面设计简洁大方,突出了餐馆人性化的需求,界面友好,用户操作简单。1.4 系统开发的意义解决了茹乐餐饮管理系统因为资金的问题,难以扩大规模的现象和要求被提高的效率提供了解决的办法。同时,提高了店员和用户之间沟通的效率,上菜乱和不及时现象有所缓解。B/S模式的管理系统应用面广、网页设计美观整洁大方、易于操作、内容易更新、成本低,而且可以与用户通过留言板进行交流,能够更好的进行餐饮公司的管理。本系统随时给用户提供最新、最实惠的菜单,真正起到及时有效解决吃饭难、吃饭贵的情况。同时,利用系统交互平台可以充分了解用户的想法,与用户进行深层次的交流,对用户不满意的地方,做好改正,赢得广大用户的欢迎。与用户建立良好的关系,不仅有利于帮助树立良好形象,而且有利于提高用户的满意度,从而赢得社会形象和利益的双赢。2 开发平台及语言介绍2.1系统开发工具与设计模式的选择2.1.1系统开发工具本系统主要使用JSP、JAVA语言对系统进行设计。JSP以JAVA技术为基础,具有动态页面与静态页面分离、设计的语言“一次编写,到处执行”、“安全性、保密性高”等优点。在SQL Server 2005数据库中,准许管理员使用一些提示信息和工具把数据库的数据发布到网上,并且可以根据需要来修改已经发布的数据信息,所以采用此数据库来完成系统的设计。2.1.2 系统设计模式在大多数B/S结构的Web应用中,浏览器能够直接通过HTML或JSP的形式与客户进行交流。在中间层上采用基于MVC模型设计。Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速。2.2 JAVA语言简介JAVA语言语法简单、面向对象、稳定、与平台无关、多线程、动态等特点,是目前软件设计中优秀的编程语言,JAVA可以用来开发大型的应用程序,特别适合Internet应用的开发,编写的软件能在执行码上兼容。JAVA确实具备了“一旦写成,处处可用”的特点,JAVA也提供了许多以网络应用为核心的技术,使得JAVA特别适合于网络应用软件的设计与开发。JAVA是面向对象编程,并涉及网络、多线程等重要的基础知识,是一门很好的面向对象语言。JAVA语言的出现源于对独立于平台的语言的需要,希望这种语言能编写出如各种家用电器等设备的芯片上且易于维护的程序。JAVA语言可以在计算机的操作系统之上再提供一个JAVA运行环境,该环境有JAVA虚拟机、类库以及一些核心文件组成。2.3 JSP简单介绍JSP是于1999年6月推出的一种动态网页技术标准。JSP技术是一种开发动态网页的技术,它结合了JAVA进行开发,可以进行数据的交互,使网页不再只是属于静态网页,网页中还能通过tags和scriptlets来访问存在于服务端的不同资源的应用逻辑。JSP着重于基于组件的设计模式,对xml技术也有一定的整合,使程序更具有健壮性和可维护性。JSP着重将网页逻辑与网页设计和显示进行合理的分离,支持可以重用的基于组件的设计模式,使基于Web层的应用程序的开发越来越得心应手和方便快捷。当Web服务器在接受到访问JSP网页的respect时,首先要执行respect中相应的程序段,然后再执行结果然后连同JSP文件中的HTML代码一起response响应给客户。插入的JAVA程序段可以操作mysql数据库的数据、重定向网页等,用来实现创建动态网页所需要的服务功能。JSP在服务器端执行的,然后返回给客户端就是一个文本,然后客户端在浏览器进行解码编译等过程。然后把相应的数据返回给浏览器,就可以进行数据的交互了。Servlet是JSP的基础技术,而且大型的Web网站应用程序的开发要把JAVAServlet和JSP配合实用才能完成。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。JSP和JAVA具有很强的跨平台性,可以在不同的浏览器上进行运行。 (3)强大的可伸缩性。它可以进行不同的服务器之间的事务处理的机制分配,可以是一台服务器,也可以是很多台或者是无数台服务器进行数据的部署功能(4)多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多都是开源的,并且在其中有很多都是已经可以顺利的跨平台运行的。(5)支持服务器端组件。Web应用需要强大的服务器端组件来支持其良好的运行,开发人员需要利用其他的辅助工具来实现实现复杂功能的组件以供Web页面的调用,来增强系统强大的性能。request是属于客户端的请求,方式有get和post两种;response网页传回客户端的响应;pageContext 网页的属性是在这里管理;session与请求有关的会话;application servlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;page JSP网页本身;exception针对错误的网页,未捕捉的例外。2.4 JavaBean技术JavaBean是一种JAVA类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。JavaBean是一个可重复使用的软件组建,由于JavaBean是基于JAVA语言的,因此JavaBean不依赖于平台,具有以下特点:1.可以实现代码的重复利用。2.易编写、易维护、易使用。3.可以在任何安装了JAVA运行环境的平台上使用,而不需要重新编译。一个基本的JSP页面就是普通的HTML标记和JAVA程序片组成,如果程序片和HTML大量交互在一起就显得页面混杂,不易维护。JSP页面应当将数据的处理过程指派给一个或几个bean来完成,只需在JSP页面中调用bean,可有效地分离静态工作部分和动态工作部分。JavaBean是一种可重复使用的且跨平台的软件组件。可分为两种:一种是有用户界面的JavaBean,另一种是没有用户界面,主要负责表示业务数据或者处理事务的JavaBean。JavaBean是一个公共的类,一个不带参数的构造方法,可以通过set方法设置属性,通过get方法获得属性。JSP通常访问的是后一种JavaBean。2.5 SQL Server 2005数据库SQL Server 2005是一个大型的关系型数据库管理系统,作为Windows数据库中的成员,SQL Server 2005可以满足各种类型的客户和独立软件供应商构建商业应用程序的需要。SQL Server可以适应很小的个人数据库,也可以数据多点的数据库。SQL Server 2005是一种C/S模式的数据库管理系统,这种体系结构把所有的工作分解在服务器和在客户机上,有效地分配资源,减轻了服务器的工作强度。SQL Server 2005可以提供大系统所需要的数据库服务。在大型客户/服务器系统中,大批用户可能同时连接到一个SQL Server 2005上,SQL Server 2005能够有效地来处理这种情况。SQL Server 2005也可以为多个用户分配可用的资源。多个应用程序可以在单台计算机上运行。例如,为许多其他程序提供数据库服务的程序能够为每个用户运行一个单独的SQL Server 2005,所有程序都在一台计算机上。这样使得每个用户的数据互不干扰,而服务器只管理一个服务器计算机,这样就能够减少复杂性。2.6 MyEclipse概述2.6.1 MyEclipse介绍 MyEclipse是一个主要用于开发JAVA,J2EE的软件工具,这个工具集合了Eclipse插件,使得用起来比较方便,所以使MyEclipse的内部功能变得非常之强大,并且可以根据特定的功能安装特定的插件,满足开发者的需求,在开发时得心应手,MyEclipse是MyEclipseEnterpriseWorkbench的简称是对Eclipse的进一步扩展,利用它的一些增值功能可以进行数据库的开发和JAVAEE的开发,以及对醒目的发布和服务器的维护开发有着很方便的应用。各种丰富的JAVAEE集成开发环境使开发更具有快捷性,提高开发的进度,包括开发,测试,维护等特定的工作需求,它包含了完善的编码、测试、调试以及发布功能,能够完整的支持好多语言,比如说:HTML、JSP 、JAVAServlet、Struts、Sping、Hibernate、CSS+DIV、HIBERNAT、EJB3、JAVASCRIPT、SQL、JSF、SPING、STRUTS。MyEclipse是一种非常优秀的程序开发编程环境,它可以用于JAVA、j2ee的eclipse插件集合。在结构上,MyEclipse的特征可以被分为7类:1. JAVAEE模型2. Web开发工具3. EJB开发工具4. 应用程序服务器的连接器5. JAVAEE系统部署服务6. 数据库服务7 MyEclipse整合帮以上每一种功能,在Eclipse中都有与之对应的功能部件和一系列插件来实现它们。MyEclipse的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。2.6.2 MyEclipse的安装和配置1.安装这里以MyEclipse8.5为例介绍安装。首先在官网上下载MyEclipse文件和Common文件,分别安装到c:MyEclipseMyEclipse8.5和c:MyEclipseCommon,然后新建一个c:MyEclipsemyPlugin用来专放以后加入的插件,再建立一个工作区:d:MyEclipseWorkPlace2.输入Subscriber注册信息在configuration center 中的subscription 下输入注册信息。3.汉化MyEclipse8.5将language文件拷贝到c:MyEclipsemyPlugin;打开MyEclipse ,然后导入工程Chinese;先修改main函数,然后再指向“c:MyEclipsemyPluginlanguageplugins”;运行,复制控制台产生的一大串字符;用文本编辑器打开“c:MyEclipse 8.5configurationorg.eclipse.equinox.simple configurator ”目录下的文件,将在运行那一步生成一大串的英文复制到该文件的后面;找到c:MyEclipseMyEclipse8.5目录下找到MyEclipse.ini文件,打开最后一行加多一条语句-Duser.language=zh;删除c:MyEclipseMyEclipse8.5configurationorg.eclipse.update文件夹;保存,启动MyEclipse。3 可行性研究3.1可行性研究的任务可行性研究的目的,就是用最小的代价在尽可能短的时间内解决问题是否能够解决,并且必须分析几种主要可能解法的利弊,从而判断原定系统规模和目标是否实现,系统完成后所带来的效益是否值得去开发这个系统。3.2可行性分析可行性研究就是要求设计人员用最小的代价在尽可能短的时间内确定问题是否能够解决。目前,网络应用软件运行的模式主要有两类:Client/Server模式,Browser/Web模式。前者主要缺点是维护、升级较麻烦;后者是近几年伴随Internet迅速发展起来的一种技术,它与客户端/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server。很多部门的业务系统、管理信息系统(MIS)都采用这种模式,它的主要优点是方便于扩充应用、升级维护简便。通过对该餐饮公司的各个方面进行了具体的了解之后,现对该餐饮管理系统的可行性进行分析。通过前期调查分析,对设计开发的餐饮管理管理系统进行了可行性分析,分析如下:3.2.1技术可行分析在硬件需求方面,系统需要一台装有MyEclipse、SQL Server 2005的计算机就可以了。在软件技术方面,JAVA和JSP以及其他的语言都可以作为本系统地开发语言,只要认真学习并灵活运用任意几种或一种语言,就能设计出具有动态美观且易于修改餐饮管理系统。因此在技术上是可行的。3.2.2经济可行分析系统采用的应用服务器Tomcat 7.0、数据库组件SQL 2005都属于开源产品。本系统是为餐饮公司设计使用的,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为餐馆节约大量的人力、物力、财力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。3.2.3操作可行分析界面设计时能够考虑到管理员和客户的日常行为习惯,使得操作非常简单;录入数据时快速、规范、可信度高;订单信息准确;灵活利用网络带来的便捷;界面修改方便;并且容易维护和扩充。综上所述,餐饮管理系统在技术上、经济上、操作上均可行。因此,开发本系统是可行的。3.3系统分析3.3.1订单业务流程分析在进行订单信息分析时,要求按照原有的订单预订的过程,逐个地检查所有的订单用户名字,时间,送货地址,手机号等内容,弄清各个环节需要的信息、信息来源、流经去向、处理方法和信息状态等。浏览菜品信息注册预订查看订单开始登录用户注册结束否是订单业务流程能够帮助设计者分析该业务的完成过程,发现和解决分析系统工作中的错误和疏漏,顺利的完成订单模块的工作,业务流程分析是通过业务流程图来进行,就是用一些规定的符号及连线来表示某个具体业务处理过程。大体的业务流程如图2所示。 图2 业务流程图3.3.2数据流图数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流程与数据流程分析是以后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程。数据流程图中包括四种主要元素,分别是数据流、数据源(终点)、对数据的加工(处理)、数据存储。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。对数据的加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理并产生输出。数据存储表示信息的静态存储,可以代表文件,文件的一部分、数据库的元素等。在业务流程分析的基础上,对数据流进行了分析,从数据流动过程掌握了实际业务的数据处理模式。3.3.3数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义集合。数据字典是对数据流、数据元素、数据存储、处理这4类元素的定义组成,数据字典中的定义是对数据自顶向下的分解,分解到不需要进一步定义,这个分解过程就完成了。数据元素组成数据的方式有下面4种类型:(1) 顺序 以确定次序连接两个或多个分量。(2) 选择 从两个或多个可能的元素中选取一个。(3) 重复 把指定的分量重复零次或多次。(4) 可选 一个分量是可有可无的。数据字典作为分析阶段的工具,建立的严密一致的定义很有助于改进管理员和客户之间的通信,能够避免一些麻烦问题。4 需求分析4.1 编写目的需求分析的目的是分析出本系统所应该实现的功能,需要什么样的输入,经过什么样的过程,能够达到什么样的结果,这样就勾勒出所实现功能所应具有的流程,便于程序员与客户之间的交流、协作,为下一步的详细设计打好基础,提高本系统的实用性、安全性、可靠性,在设计的过程中能够考虑到将来可能发生的故障以及要怎么去解决它,这样才能使系统更加稳定。4.2 功能需求分析本系统在实现对餐饮公司管理的同时,包括对会员、菜品类别、菜品管理、从拼录入、公告管理、订单管理、留言等的管理,力求成为老板和用户之间的沟通桥梁。系统为餐饮公司提供技术支持,帮助餐饮公司建立网络交流平台,发布餐饮服务信息,帮助餐饮公司及时了解用户对餐饮的评价和建议。除此之外该平台还扮演监督者和管理者角色,用户通过系统很快找到想要的餐饮信息,管理个人基本信息,订餐等基本要求。用户还可以通过系统对餐饮公司发表留言、咨询等。管理员表在数据库中主要存储管理员的姓名、密码,主要用来登陆后台管理系统,进行后台的各种管理操作,主要有菜品添加、删除、公告管理、留言管理等。公告信息表主要用来存储管理员发布的公告信息,能实现用户可以快捷的了解网站信息,以此来选择所需要的信息。订单信息表主要用来存储用户已经预定的菜品,用户可以查看自己的订单信息,管理员可以查看所有的订单信息。并可以进行订单的删除操作。菜品种类信息表可以用来存储已有的菜品类,从而可以分类管理所有的菜品,提高用户查找的效率。用户信息表主要用来存储注册用户的基本信息,用户就可以方便的下订单了,在订单信息表中的用户必须是已注册的用户,管理员可以管理已有的用户。留言信息表用来存储用户给管理员反馈的信息,管理员能够查看所有的留言信息并进行留言管理,用户也能查看留言信息,菜品信息表用来存储菜品的基本信息,能够向用户提供详尽的菜品信息,供用户参考选择合适的菜品进行预订。4.3 性能需求分析1. 该系统可以识别输入的用户名和密码,并进行校验,有相关的一些信息提示。每个功能模块能相互转换,安全性良好。2. 界面友好、直观,用户操作起来灵活也易于掌握,方便用户订餐。3. 系统可扩展性好,也易于维护,模块功能明确,模块化程度高,方便软件维护。该系统至少需要一台主机作为服务器,并且该主机要以独立的IP接入互联网。如果需要的话,可以为此IP申请域名绑定。具体系统需求如下: Windows 7操作系统 SQL Server 2005数据库服务器 JRE 1.5.2_03 或更高版本的Java运行时环境 Tomcat 7.0 或更高版本的应用服务器4.4 灵活性需求分析本系统的灵活性需求就是当某些需求发生变化时,本身适应这些变化的能力,例如:运行环境的变化,系统能否移植后正常运行;同其他软件的接口发生变化后能否解决这个问题;在时间上能否延缓或提前;在操作方式上能否用至少一种方式来操作本系统。4.5 数据库需求针对茹乐餐饮管理系统的数据库需求,需要设计的数据项和数据结构有以下:管理员信息,包括的数据项有:管理员编号,姓名,密码;公告信息,包括的数据项有:公告编号,标题,内容,时间;订单信息,包括的数据项有:订单号,数量,送货地址,付款方式,菜编号,用户编号,状态,删除;菜品种类信息,包括的数据项有:菜品编号,名称,介绍,删除;用户信息,包括的数据项有:用户编号,姓名,密码,确认密码,性别,年龄,地址,手机号,email,qq,删除;留言信息,包括的数据项有:留言编号,标题,留言内容,留言时间,用户编号;菜品信息,包括的数据项有:菜品编号,菜编号,名称,介绍,价格,附件,附件原始编号,时间,删除;4.6 需求的意义 在对系统进行目的分析、功能分析、性能分析、灵活性分析、数据库需求分析后,能够正确理性的看待系统,究竟要设计成什么样,已经大致有了一个框架,需求分析能够系统带来经济上和时间上的收益,5 总体设计5.1系统功能设计系统设计是一个把软件需求转换成用软件系统表示的过程。系统设计通常有两种方法:一种是归纳法,另一种是演绎法。归纳法是从前一步得到的一系列供选择的方案中选取若干个合理的方案,再判断那些方案合理时应考虑在问题的定义和可行性研究阶段确定的工程规模和目标,应该综合分析对比各种合理方案的利弊,选出最佳方案。演绎法是一种公理化方法,即从一般的规则和原理来看,结合设计人员的知识,从能够实现功能的方法中选取一些,将它们组合起来,完成这个功能的设计,从而创造出具有所需功能的新系统。在系统设计的实践中,这两种方法往往是并用的。在对茹乐餐饮管理系统全面分析的情况下,制定出茹乐餐饮管理系统的总体设计。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图。茹乐餐饮管理系统前台功能模块图如图4所示。茹乐餐饮管理系统首页免费注册我的信息我的预订留言板后台管理图4 前台功能模块5.2系统数据库设计数据库是本系统的基础和核心。它设计的是否合理将直接影响着整个系统的质量。数据库是一切系统设计的基础,数据库如果设计的不合理,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩展时,存在较多的问题,严重时甚至要重新设计,重做大量已完成工作。数据库关系图如图5:图5 数据库关系图5.2.1概念结构设计从数据需求分析中得出系统的实体属性图。留言实体属性图如图 6所示。留言留言编号标题内容留言时间用户编号图6 留言实体属性图管理员实体属性图如图 7所示。管理员管理员编号姓名密码图7 管理员实体属性图删除附件价格菜品介绍名称菜编号菜品编号附件原始编号时间菜品实体属性图如图8所示。图8 菜品实体属性图菜品种类实体属性图如图9所示。菜品种类删除介绍菜品名字菜品编号图9 菜品种类实体属性图用户实体属性图如图10所示。用户用户编号姓名密码确认密码性别年龄地址手机号QQ删除Email图10 用户实体属性图公告实体属性图如图11所示。公告时间内容标题公告编号图11 公告实体属性图订单实体属性图如图12所示。删除用户号菜号订单付款方式送货地址数量订单号状态联系方式图12 订单实体属性图nnn包含用户用户编号姓名密码确认密码性别年龄地址手机号QQ删除Email时间删除附件价格菜品介绍名称菜编号菜品编号附件原始编号删除用户编号菜编号付款方式送货地址数量订单号状态订单联系方式1删除介绍菜品编号菜品种类菜品名称 从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图 13所示。图13 E-R图5.2.2逻辑结构设计对数据库中实现具体表的详细设计。即各数据库表的字段名、类型、长度等信息进行了详细的描述:根据系统E-R图,系统数据逻辑结构设计如下:(1) 管理员(管理员编号,姓名,密码)(2) 公告(公告编号,标题,内容,时间)(3) 订单(订单号,数量,送货地址,联系方式,付款方式,菜编号,用户编号,状态,删除)(4) 菜品种类(菜品编号,名称,介绍,删除)(5) 用户(用户编号,姓名,密码,确认密码,性别,年龄,地址,手机号,email,qq,删除)(6) 留言(留言编号,标题,留言内容,留言时间,用户编号)(7) 菜品(菜品编号,菜编号,名称,介绍,价格,附件,附件原始编号,时间,删除)5.2.3数据库表设计表5.1 管理员信息表(admin)字段名类型长度说明userIdint4管理员编号(主键)userNamevarchar50姓名userPwvarchar50密码注:该表用于存放管理员的信息。表5.2 订单信息表(order)字段名类型长度说明idint4订单号(主键)shuliangint4数量songhuodizhivarchar50送货地址lianxifangshivarchar50联系方式fukuangfangshivarchar50付款方式goods_idint50菜号(外键)user_idvarchar50用户号(外键)zhuangtaivarchar50状态delvarchar50删除注:用来存放订单基本信息。表5.3 菜品种类信息表(catelog)字段名数据类型长度功能描述idint4菜品编号(主键)namevarchar50名字jieshaovarchar5000介绍delvarchar50删除注:该表用于存放菜品种类信息。表5.4 留言信息表(liuyan)字段名数据类型长度功能描述idvarchar50留言编号(主键)varcharvarchar50标题contentvarchar50留言内容shijianvarchar50留言时间user_idvarchar50用户编号(外键)注:该表用来存放用户留言基本信息。表5.5 菜品信息表(goods)字段名数据类型长度功能描述idint4菜品编号(主键)catelog_idint4菜编号namevarchar50名称jieshaovarchar5000介绍jiageint4价格fujianvarchar50附件fujianYuanshimingvarchar50附件原始编号shijianvarchar50时间delvarchar50删除注:该表用来存放菜品信息。表5.6 用户信息表(user)字段名数据类型长度功能描述idvarchar50用户编号(主键)loginnamevarchar50姓名loginpwvarchar50密码namevarchar50确认密码sexvarchar50性别agevarchar50年龄addressvarchar50地址telvarchar50手机号emailvarchar50emailqqvarchar50qqdelvarchar50删除注:该表用来存放用户相关信息。表5.7 公告信息表(gonggao)字段名类型长度说明idvarchar50公告编号(主键)titlevarchar50标题contentvarchar5000内容shijianvarchar50时间注:该表用于存放公告基本信息。6 详细设计与实现6.1系统首页首页能够实现新用户注册、已注册用户登录、查看网站公告、我的订单、留言等在页面如图14所示。图14 系统首页运行界面图public class index_servlet extends HttpServletpublic void service(HttpServletRequest req,HttpServletResponse res)List gonggaoList=new ArrayList();String sql=select * from t_gonggao order by id desc;Object params=;DB mydb=new DB();mydb.closed();if(gonggaoList.size()5)gonggaoList=gonggaoList.subList(0, 5);req.getSession().setAttribute(gonggaoList, gonggaoList);List catelogList=new ArrayList();String sql0000=select * from t_catelog order by id desc;Object params0000=;DB mydb0000=new DB();mydb0000.doPstm(sql0000, params0000);ResultSet rs0000=mydb0000.getRs();while(rs0000.next()Tcatelog catelog=new Tcatelog();catelog.setId(rs0000.getInt(id);catelog.setName(rs0000.getString(name);catelog.setGoodsList(liuService.getGoods(rs0000.getInt(id);catelogList.add(catelog); rs0000.close();mydb.closed();if(catelogList.size()5)catelogList=catelogList.subList(0, 5);req.setAttribute(catelogList, catelogList);req.getRequestDispatcher(qiantai/index.JSP).forward(req, res);6.2 用户登录用户登录采用对数据的查询、修改操作,用户需登录系统,方可进行订餐功能;页面效果如图15所示。图15 用户登录运行界面图public void adminAdd(HttpServletRequest req,HttpServletResponse res)String userName=req.getParameter(userName);String userPw=req.getParameter(userPw);String sql=insert into t_admin values(?,?);Object params=userName,userPw;DB mydb=new DB();mydb.doPstm(sql, para

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论