还剩34页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
网络订餐系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作者签名 日 期 指导教师签名 日 期 使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名 日 期 摘要二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会中国的网民充分领略到“畅游天地间,网络无极限”所带来的畅快随着Internet的飞速发展,使得网络的应用日益的广泛如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等本次毕业设计的题目就是网络订餐系统本论文就毕业设计的内容,系统地阐述了整个网络订餐系统的功能及实现实现了从菜品管理,菜品分类和查询,到订餐车实现,用户订单处理,再到系统管理基本上实现了网上购物的功能流程,能够实现用户与商家在网上进行订餐交易本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络经过分析我们使用SUN公司的JSP开发工具利用其提供的各种面向对象的开发工具尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象首先在短时间内建立系统应用原型然后对初始原型系统进行需求迭代不断修正和改进直到形成满意的可行系统目录第一章开发背景----------------------------------------------------------------------------------------
11.1目的和意义---------------------------------------------------------------------------------------------
11.2开发设计思想------------------------------------------------------------------------------------------
11.3开发目标------------------------------------------------------------------------------------------------1第二章开发工具和环境简介-------------------------------------------------------------------=------
22.1JavaServerPage简介---------------------------------------------------------------------------------
22.2SQL简介---------------------------------------------------------------------------------------------
22.3JDBC驱动程序简介----------------------------------------------------------------------------------
42.4JavaBeans简介---------------------------------------------------------------------------------------
52.5JAVA简介---------------------------------------------------------------------------------------------52.6电子商务简介---------------------------------------------------------------------------------------8第三章网络便民服务管理系统功能分析------------------------------------------------------------93.1系统功能分析---------------------------------------------------------------------------------------93.2可行性研究------------------------------------------------------------------------------------------103.3需求分析-------------------------------------------------------------------------------------------123.4系统总体结构图----------------------------------------------------------------------------------133.5数据字典---------------------------------------------------------------------------------------------173.6需求分析复审---------------------------------------------------------------------------------------18第四章网络便民服务管理系统总体设计------------------------------------------------------------184.
1.系统功能设计目标-----------------------------------------------------------------------------------184.
2.网络订餐系统功能模块划分-----------------------------------------------------------------------194.3网上购物的体系结构-------------------------------------------------------------------------------20第五章数据库设计----------------------------------------------------------------------------------------215.1数据库系统概述------------------------------------------------------------------------------------215.2数据库表设计---------------------------------------------------------------------------------------21第六章程序设计------------------------------------------------------------------------------------------246.1程序说明---------------------------------------------------------------------------------------------246.2具体模块划分---------------------------------------------------------------------------------------25第七章软件安装与调试------------------------------------------------------------------------------297.1软件的安装与配置---------------------------------------------------------------------------------297.2软件调试---------------------------------------------------------------------------------------------307.3软件测试---------------------------------------------------------------------------------------------30第八章结束语------------------------------------------------------------------------------------------31第九章附录---------------------------------------------------------------------------------------------329.1致谢---------------------------------------------------------------------------------------------------329.2参考文献---------------------------------------------------------------------------------------------32第一章开发背景
1.1目的和意义本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品本论文主要涉及软件,数据库与网络技术等涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础
1.2开发设计思想本系统用JSP语言来编写网络订餐系统,数据库用MYSQL来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP+JavaBeans+MYSQL三层模式完成整个设计工作本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性因此在这样的背景下,针对当前Internet网络发展趋势来计网络订餐系统就成为了当今应用软件的首选体系结构
1.3开发目标网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等整个菜品市场一片繁荣在中国,网上购物有发展的必要,也有发展的基础,发展网上购物的各方面条件也日趋成熟,但是还存在一些问题,只有把问题解决好了,才能保证网上购物的蓬勃发展第二章开发工具和环境简介
2.1JSP技术简介JSPJavaServerPage服务器网页是从1998年开始出现的新技术由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术在传统的网页HTML文件*.htm*.html中加入脚本片段和JSP标记Tag,构成JSP网页*.jspJSP技术为创建显示动态生成内容的web页面提供了简便的方法JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站
2.2JSP工作原理JSP是面向服务器的,因此支持任何浏览器当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果
2.3JSP体系结构JSP网站开发标准给出了两种使用JSP的技术可以归纳为模式
一、模式二模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情所以模式一可用于小型应用,不能够满足大型应用的需要模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构Model/view/controller,其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能
2.4JSP的特点
1.简化的页面生成技术JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作
2.与Java平台有机集成JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言在JSP页面中可以使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序
3.硬件平台和服务器无关性JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用WriteOnce,RumAnywhere”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点
4.功能可扩展性如同的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJBEnterpriseJavaBean以及自定义的标记来扩展功能JSP可以通过JDBC,与诸如Oracle、MYSQL这样的大型关系数据库进行连接JSP提供了一些隐含对象这些隐含对象在JSP页面中可以直接引用,而不必首先声明利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息
2.5MYSQL数据库SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS)它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer
6.5版本;1998年,SQLServer
7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本SQLServer特点1.真正的客户机/服务器体系结构2.图形化用户界面,使系统管理和数据库管理更加直观、简单3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等SQLServer也可以很好地与MicrosoftBackOffice产品集成5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有
2.6系统数据库连接JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口ApplicationProgrammingInterface它由一组用Java语言编写的类和接口组成通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的MYSQL不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序简单地说,JDBC能完成下列三件事
1.同一个数据库建立连接;
2.向数据库建立连接;
3.处理数据库返回的结果JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程数据库访问的三层结构如图
5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作图
5.1使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全本系统采用的正是这样的三层结构的数据库访问模式在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户其模型如图
5.2所示图
5.2JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型JDBC是JAVA应用程序与数据库的沟通桥梁它提供了三项服务功能
一、与数据库建立连接
二、将SQL语句传递给数据库
三、从数据库取得SQL语句的执行结果当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName即是在执行此项工作建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JavaVirtualLMachine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令Statement主要实现两个功能执行SQL语句以及取得执行结果在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出每个Statement对象只能产生一个ResultSet对象数据库连接如图
5.3所示:#0;#0;����JDBC--ODBC��#0;��������������#0;������������#0;��������#0;��#0;��#0;����SQL����#0;SQL��������#0;������������#0;������������#0;#0;��#0;��#0;图
5.3数据库的连接处理数据库的连接处理具体实现如下//建立JDBC——ODBC桥sun.jdbc.odbc.JdbcOdbcDriver;//桥建立不成功时的错误处理catchClassNotFoundExceptionevent{}//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBC——ODBC桥Sql=SQL查询语句执行查询Rs=返回结果//SQL出错处理catchSQLExceptione1{}有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口 Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言所需要的只是Java应用程序与各种不同数据库之间进行对话的方法而JDBC正是作为此种用途的机制JDBC扩展了Java的功能例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上新程序的开发期很短安装和版本控制将大为简化程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法简单地说,JDBC可做三件事与数据库建立连接、发送SQL语句并处理结果下列代码段给出了以上三步的基本示例Connectioncon=DriverManager.getConnection(jdbc odbcwombat,login,password);Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(SELECTa,b,cFROMTable1);while(rs.next()){intx=rs.getInt(a);Strings=rs.getString(b);floatf=rs.getFloat(c);}上述代码对基于JDBC的数据库访问做了经典的总结第三章网络便民服务管理系统功能分析为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)模块是数据说明、可执行语句等程序设计对象的集合,它是单独命名的而且可通过名字来访问模块化就是把程序化分成若干个模块,每个模块完成一个子功能,把这些模块集起来组成一个整体,可以完成指定的满足问题的要求3.1系统功能分析首先对现有系统进行分析,现有系统是信息的重要来源分析已有系统的功能和实现,从而确定新系统的设计目标和模型由于条件有限,调研主要是在网上进行即通过在网上已有的订餐网站注册成会员来了解其具备的功能1.从用户角度来看用户通过在线注册成为网站的用户,可以获得以下功能菜品浏览,购买菜品,找回密码,修改密码,修改个人信息,菜品简介、订餐车、留言板等
2.从网站的角度看
(1)网站应该包含菜品搜索功能按菜品名(模糊)查询
(2)订单处理功能,确认订单方式
(3)管理员管理查看用户信息,并根据用户信息和用户订单对菜品进行发派
(4)菜品浏览3.2可行性研究可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价在尽量短的时间内确定系统是否可行
①技术可行性分析网络订餐系统的开发是一项复杂的系统工程为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本工程化的系统开发方法确实在开发实践中取得了一定的效果此次开发使用JSP作为开发语言,采用Servlet技术Tomcat
5.0作为Web服务器
②运行可行性分析随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情
③经济可行性分析网络订餐系统给人们带来了方便,成为一种全新的商务模式因此,不用出门就可以在家购物的新时尚已经到来,构建一个网络订餐系统在经济上是完全可行的就本系统而言,随着电脑的普及,为学生在网络上进行购物提供有利的条件而一个网络订餐系统可以为学生提供软件条件,这样学生便可以足不出户的买菜品了商家可以从中获得利润,两全其美通过以上的分析,开发网络订餐系统是完全可行的
④运行环境本系统采用联网多机多用户操作方式,系统的运行环境包括硬件、操作系统、关系数据库等软件硬件中央处理器(CPU)奔4以上的处理器;硬盘80GB以上硬盘;内存512MB;显示器17寸显示器;操作系统WindowsXP关系数据库MYSQL;3.3需求分析需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能新系统必须充分考虑今后可能的扩充和改变1.在这里我们需要了解用户有什么样的具体要求和对系统性能的要求1用户的需求分析a用户注册b用户登录c菜品浏览d菜品订购e菜品查询f订单修改g修改密码h修改个人信息i管理员2系统性能分析对数据的安全性、完整性要求用户信息保密,只有管理员能任意修改确保网上支付安全菜品信息、用户信息必须保证其完整性防止恶意删改以下是系统性能需求a准确性和可靠性高b页面友好,功能齐全,且可以使用c系统便于维护和升级d数据库访问效率高3.4系统总体结构图系统ER图���用户�用户名�密码�地址�电话�买卖�书�MN菜名�菜号�属于�书类别�1M订单用户名�菜名�数量�价钱�类别编号�菜品类别�订单详细�属于�1M订单号书号�单价�总价�购餐车菜品号�用户名�数量�菜品名称�总价�数据流图 数据流图是一种描述软件系统逻辑模型的图形符号这种图形表示即可以从本质上描述计算机软件系统的工作情况,又适合非计算机专业人员学习和掌握,在需求分析中是一种很好的交流和表达工具 带箭头的线表示数据流,其中箭头表示了数据的流动方向 圆框表示对数据的加工 方框表示数据的起点和终点画分层数据流图分层数据流图:(a)网络便民服务管理系统E-R图(b)检查网络便民服务管理系统E-R图c用户基本信息处理E-R图d用户订单处理E-R图f菜品查询处理E-R图h管理员E—R图3.5数据字典字典的作用是给词汇以定义和解释在结构化分析中,数据字典的作用是给数据流图上每个成分以定义和说明换句话说,数据流图上所有成分的定义和解释的文字集合就是数据字典数据字典对数据流图和各种成分起注解说明作用,给这些成分赋以实际的内容除此之外,数据字典还要对系统分析中其他需要说明的问题进行定义和说明数据字典描述的主要内容有数据流、数据元素、数据存储、加工、外部项其中数据元素是组成数据流的基本成分,在系统分析中,数据字典起着重要的作用第四章网络便民服务管理系统总体设计4.
1.系统功能设计目标理论系统功能设计目标如下1实用性强我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;2先进的程序结构使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;3安全可靠性高后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;4使用模块化设计的方法使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;5操作简单,维护方便每个子系统都具有相对独立的系统维护功能对可变化的项目可自行维护;6查询功能强大可以对菜品的基本情况、用户基本情况,菜品评信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和菜品等的基本情况4.
2.网络订餐系统功能模块划分根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块1.主页在这里我们可以看见本系统的主要功能和信息2.用户注册在这里我们可以注册我们的基本信息,其中电话和Email是比较重要的,因为我们需要对这些信息进行处理,以方便用户的付款和邮购3.用户登陆为了方便用户的付款,邮购和管理,我们需要变成会员后才可以进行消费4.菜品浏览成功登陆后的用户可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”5.订购菜品成功登陆的用户可以在该页面定购所需要的菜品如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”6.查看订单成功登陆的用户可以在该页修改已经订购的菜品如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”7.修改订单成功登陆的用户可以在该页修改或删除已经订购的菜品如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”8.菜品查询成功登陆的用户可以在该页查找自己需要的菜品如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”9.修改密码成功登陆的用户可以在该页修改自己的密码如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”10.修改个人信息成功登陆的用户可以在该页修改自己当初注册时的信息如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”
11.商城公告发布各种菜品信息或者新闻11.管理员查看用户订单,查看用户信息,并根据用户信息和用户订单对菜品进行发派4.3网络便民服务的体系结构三层结构即JSP技术+JavaBeans+MYSQL数据库第五章数据库设计5.1数据库系统概述数据库系统是在文件系统的基础上发展而来的,经历了层次数据库、网状数据库、关系数据库三个阶段由于关系数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流本系统的前端开发是使用JSP技术,通过JavaBeans进行逻辑控制和数据库连接,而后台数据库采用的是MYSQLMYSQL数据库管理系统是一项全面完整的数据库与分析产品MYSQL非常容易学习、使用,介绍、学习资料比较多,MYSQL全面支持Web功能的数据库解决方案,与此同时,MYSQL还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在无论以应用程序开发速度还是以事务处理运行速度来衡量,MYSQL都堪称最为快捷的数据库系统对比MYSQL和其他的大型数据库管理系统,MYSQL具有可靠的安全性,较快的存储速度,高度的兼容性,简单易用,应用MYSQL作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础,因此,我们采用了MYSQL作为后台数据库5.2数据库表设计本系统的数据库其中包括九个表,分别为菜品菜品表book用户注册表member管理员表admin菜品类型表booktype评论表commont订餐车表gouwuche新闻表news,定单表num定单详细信息表orderbook详情请见下面的数据库表
1、菜品菜品表booK
2、管理员表admin
3、菜品类型表booktype
4、用户注册表member
5、定单详细信息表orderbook第六章程序设计6.1程序说明根据前边的需求分析和系统总体设计内容进行程序设计本系统是以Java语言为基础进行开发的我个人负责的模块主要是采用JSP技术+JavaBeans+MYSQL模式进行模块开发与实现的全部都以面向对象的方法进行设计和实现一.在程序设计时,我用到了下面的一些定义,解释如下1.Page用来定义整个JSP页面的一些属性和这些属性的的值2.Pageimport该属性的作用是为JSP页面引入JAVA核心包中的类,这样就可以在JSP页面的程序片部分,变量及函数声明部分,表达式部分使用的类可以为该属性指定多个值,该属性的值可以是JAVA某个包中的所有类或一个具体的类3.includefile表示的是静态的插入一个文件6.2具体模块划分
1.主页面模块2.用户注册模块用户注册是为第一次登录网站的用户所设计的在用户成为本站用户之前一定要注册才可以访问我网站的其它网页
①用户注册包括登录名称,真实姓名,设置密码,电子邮件等
②注册成功后,才可以访问本站的其他页面3.用户登录模块
①用户登录包括登录名称,输入密码
②当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购4.菜品浏览模块菜品浏览成功登陆后的用户可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面
5.订餐车模块6.修改密码及信息模块此模块是我负责的修改密码成功登陆的用户可以在该页修改自己的密码及信息第7章软件安装与调试7.1软件的安装与配置
(1)软件安装操作系统WindowsXPMYSQLJDK安装JDK安装特别简单,和安装其他的软件没什么区别JDK的配置设置JAVA_HOME环境变量JDK安装目录例C\j2sdk
1.4;设置CLASSPATH环境变量JDK安装目录\lib\tools.jar例C\j2sdk
1.4\lib\tools.jar;.设置PATH环境变量JDK安装目录\bin;例C\j2sdk
1.4\bin;服务器的安装Tomcat
5.0设置TOMCAT_HOME环境变量Tomcat安装目录例C\Tomcat
5.0;2安装Tomcat
5.0安装时注意在选择Java虚拟机路径是一定要选择安装的JSDK的目录,然后再开始安装3安装完毕后,启动TOMCAT,然后再浏览器中输入http://localhost:8080时可以看见TOMCAT的欢迎页面,这时表示配置成功了7.2软件调试系统调试的目的是发现程序和系统中的错误并及时予以纠正在网络订餐系统中用的调试方法也包括这些1程序调试包括语法调试和逻辑检查,测试数据除采用正常数据外,还应用一些异常资料,用来考验程序的正确性
①用正常资料调试
②用异常资料调试
③用错误资料调试7.3软件测试软件的测试是系统开发周期中一个十分重要的环节,其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程的最终审查,如果错误不能在测试阶段被发现并纠正,就可能会造成不堪设想的后果在网上购物电子商务平台中,我们以黑盒测试为主,白盒测试为辅对关键模块采用白盒测试测试结果★中文乱码问题,从数据库中取出的中文数据出现乱码★参数传递出错,无法传递数据★当大量用户同时对数据库进行访问时,效率低,有的用户访问失败主要的解决方法☆我使用如下方法来解决乱码问题request.getParameterchoose.getBytes8859_1GB2312%@pagecontentType=text/html;charset=GB2312%☆对于各个模块接参数的格式进行了统一☆本程序以中小型为基础,采用JDBC数据源进行连接数据库这就决定了本系统的先天缺陷纯正的电子商务网站均采用连接池,出于技术难度大和资料缺乏放弃此最佳方案第八章结束语经过十个月的不懈努力,和指导老师的谆谆教导,以及同组同学的团结协作,充分利用大学四年所学的专业知识,通过大量阅读与设计相关的专业参考文献,我终于完成了本次毕业设计,已经基本上实现了网络订餐系统的各项功能在这次毕业设计过程中,我独立设计和实现了用户注册,用户登录,修改密码,留言板,菜品浏览等五个模块的全部功能,以及这几个模块的数据库设计通过这次毕业设计,我掌握了MYSQL这种大型数据库的编程方法,掌握了JAVA语言和JSP技术了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、菜品本上学到的知识和理论同时,通过编写毕业设计论文,我还基本掌握了软件文档的菜品写方法和菜品写格式本系统的缺陷也是明显的,如安全性,效率问题等等由于时间,能力,国内JAVA,JSP技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术以及软件开发的基本流程在学习过程中,我们遇到问题经常上网求助,去菜品店查询资料,扩大了自己的知识面总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助第9章附录9.1致谢在本次毕业设计过程中,得到了指导老师的指导与支持在此特别感谢我的知道老师老师指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用我还要感谢我的母校——XXX大学,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章9.2参考文献
[1]孙卫琴李洪成.《Tomcat与JavaWeb开发技术详解》.电子工业出版社2003年6月:1-205
[2]BruceEckel.《Java编程思想》.机械工业出版社2003年10月:1-378
[3]FLANAGAN.《Java技术手册》.中国电力出版社2002年6月:1-465
[4]孙一林彭波.《Java数据库编程实例》.清华大学出版社2002年8月:30-210
[5]LeeAnnePhillips.《巧学活用HTML4》.电子工业出版社2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社2003年9月:32-300
[7]耿祥义张跃平.《JSP实用教程》.清华大学出版社2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》.电子工业出版社2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》.机械工业出版社2004年5月:1-410
[12]朱红司光亚.《JSPWeb编程指南》.电子工业出版社2001年9月:34-307
[13]赛奎春.《JSP工程应用与项目实践》.机械工业出版社2002年8月:23-294网络订餐系统管理员公告留言板修改个人信息找回密码修改个人密码菜品查询用户注册用户登录菜品浏览用户注册信息用户登陆信息网络订餐系统菜品浏览信息系统用户信息修改信息用户订单修改信息订单处理用户信息处理检查合法性查询处理不合法处理留言处理录入处理用户基本信息文件用户信息处理修改信息修改密码订单信息文件添加处理订单处理修改处理删除处理商品总览查询处理具体商品查询管理员信息文件删除定购商品信息添加商品管理员登陆删除商品删除用户数据库逻辑处理视图。