版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外卖点餐网站系统的设计与实现目录1绪论 11.1课题背景 11.2研究现状 11.3课题的研究方法、技术路线 21.4本文研究内容 22相关技术简介 42.1PHP技术介绍 42.2PHP技术特点 42.3Apache简介 52.4PHPandmin简介 62.5B/S简介 62.6MySQL数据库 83系统分析 103.1系统可行性分析 103.2系统功能需求概述 103.3系统设计规则 113.4运行环境 114系统设计 134.1架构设计 134.2功能模块设计 134.3数据库结构设计 144.3.1数据库设计规范 144.3.2数据库概念模型 154.3.3数据表字段设计 174.4系统架构类图 184.5系统交互图 195详细设计 215.1系统配置 215.2功能模块实现 215.2.1前台 215.2.2后台 236系统调试与测试 276.1程序调试 276.2程序的测试 276.2.1测试的目的 276.2.2测试的步骤 276.2.3测试的主要内容 287总结与展望 307.1系统总结及不足之处 307.2设计心得 31参考文献 321绪论1.1课题背景随着人们生活水平的改善,越来越多的人开始重视自己的饮食改善,已经不是简单的吃饱、喝足就可以满足的了,对于饮食的质量要求越来越高。当今社会属于是信息化时代,人们的体力劳动逐渐转移到了脑力劳动,因此,通过计算机来获取想要的信息已经成为时代发展的必然结果,也是社会进步的重要指标。美食网站系统是建立在互联网基础上的一种美食平台,面向所有网民提供服务。无论是个人用户还是公众用户,都可以通过该平台进行网上查询、发布美食信息。任何网友都可以自由地查看、搜索该美食网站平台的信息。用户可以免费查看网站上的美食网站信息,挑选自己喜欢的美食,进行添加购物车、收藏;用户还可以免费查看网站上的公告信息,挑选特价的美食;用户还可以选择美食的类别,进行批量的订购。当前比较流行的Web开发技术有:ASP、PHP、JSP、NET等。通过比较我选择了用PHP来制作外卖点餐网站,PHP(HypertextPreprocessor)是一种服务器端的程序语言。它是一种通用的开源脚本语言,吸收了C语言、java和Perl的语法特点,易于学习,是广大的编程爱好者开发动态网站的首选。与ASP、JSP相比,PHP在安全性、开发成本、开发速度、稳定性以及跨平台等方面优势更为显著,PHP的运行环境可以在各种操作系统上搭建,它是一种跨平台的语言,由于Linux操作系统不仅免费,而且不死机及没有计算机病毒,因此,PHP运行在Linux系统上具有成本低、稳定性好的优势。由于PHP的开发速度极快,开发周期短,可以大大降低PHP的开发成本。因此,PHP是制作网站的首要选择。1.2研究现状PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。PHP在市场描述就比较简单了,因为我们只要看一个领域,那就是web领域。WEB领域PHP的市场超过80%,其余的则是如java-JSP,asp,C#,.NET,python,ruby等。网站500强中有395家使用PHP。全球最大的两个网站facebook和新浪微博全在使用PHP。PHP的大中型系统开发,方便、快速、是java跟没法比拟的,还有PHP有很多如yaf,yii,ci等强大的框架,中小型一般系统的开发,一个thinkPHP就足于通杀java的ssh三大框架了。PHP由于其简单,快速开发等特点,也导致了开发复杂应用稍显吃力,所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,导致其开发快速,学习简单;但也导致了学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,facebook和正在大量使用扩展功能去应对一个又一个的难题。新浪微博架构师兼首席PHP技术顾问惠新宸一直在专注与PHP底层原理的研究和分享。扩展是被他认为PHP最伟大的地方。中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%,网站的可发展空间可谓巨大;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可谓互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP,PHP的优势更加明显。1.3课题的研究方法、技术路线(1)研究方法:根据该系统的基本框图,所述功能模块,应用程序设计,MySQL被用作数据库服务器开发这一系统。系统分为前台和后台管理模块,前台功能模块主要包括会员注册、登录、美食中心等功能,后台主要模块包括美食管理,订单管理,新闻管理等功能模块。(2)技术路线:本系统采用B/S(Browser/server,浏览器/服务器)三层体系结构,这种模式采用多种标准的协议和技术,适合于任何硬件平台和软件环境。本系统采用当今社会比较先进的PHP技术开发一个性能优越、可扩展性强和安全可靠稳定的外卖点餐网站系统。1.4本文研究内容本文主要分为七个章节,第一部分为前言,主要介绍了课题背景、研究意义、课题的研究方法、技术路线以及本文研究的主要内容等。第二部分为相关技术简介,主要介绍了PHP技术、B/S框架以及MySQL数据库等。第三部分为系统分析,主要介绍了项目规划、可行性分析、网站设计的特点、系统设计的总体规划、运行环境等。第四部分为系统设计,主要进行了系统的架构设计、功能模块设计等第五部分为系统详细设计,主要介绍了系统详细设计过程。第六部分为系统调试与测试,对系统进行了测试。第七部分为总结与展望,主要对本文工作进行了总结以及对进一步工作进行了展望。
2相关技术简介2.1PHP技术介绍PHP(PersonalHomePage)是一个跨平台的服务器端脚本技术。起步于1995年,于1998年发行,成为一个成熟的软件产品。它功能强大,和HTML脚本集成在一起,并建立对数据库的访问的能力。它可以作为网络Apache服务器的一个模块,它也使得它比普通的CGI程序更高效。PHP是编程语言和应用程序服务器,PHP和其他编程语言的组合,使用变量存储临时数值,使用操作符处理变量。PHP的真正价值在于,它是一个应用程序服务器,应用服务器是一个程序,需要几个不同的技术来对程序的完整套件,包括一个强大的编程语言,存储在一个访问数据库中的数据,以及互联网协议,特别是电子邮件和HTTP。PHP借了很多C,Java和Perl语言的语法,并补充多种PHP自己的特色,使Web开发人员可以编写一个快速的动态页面。PHP是一种跨平台的服务器端嵌入式脚本技术。PHP页面是一种文本文件,是在普通HTML页面文件中嵌入PHP脚本语句,由服务器解释和翻译成普通的HTML文件,然后传送给客户端浏览器,这一点和ASP一样。PHP脚本语句段以“<?”为开始,以“?>”为结束。“<?”和“?>”之间的脚本语句由服务器软件调用PHP脚本解释引擎解释后替换为普通的HTML脚本。PHP的变量范围是类似于C,即,在默认情况下,在主函数中的变量是全局变量,而该函数的变量是局部变量。在回应中,PHP和printf函数用来输出HTML内容的HTML页面,在这里回声输出没有格式字符串,而printf的输出格式字符串。如echo("welcomeyoutocomehere")和printf("%s,%d",str1,int1)。2.2PHP技术特点现在,服务器侧脚本技术通常使用是CGI。第三方供应商提出了一个更好的解决方案:如ActiveServerPage的微软。它具有快速运行,强大的数据库操作的特性,并且许多开发人员的欢迎,但它们只能运行于各个平台(NT)上,在更高的响应率的网站(多数大,中型网站是建立在Unix的或Linux平台,阿帕奇系列Web服务器)还是不能使用(注:目前有两种技术在UNIX系列操作系统平台的应用程序,但不是所有的优秀功能的来源,或者只适用于个别的Unix平台)。1997年,PHP开发团队在原有的PHP/FI2.0的基础上,新的PHP3的开发,免费为所有的人使用和(或)更改源代码。与传统的CGI语言相比,PHP具有以下突出特点:(1)简单易用:PHP的语法结构借用了C,Java,Perl的语法框架,在实际使用中更多的编程经验。(2)运行速度:PHP采用HTML内置标记技术,程序本身被解释为在Web服务器上运行的模块,它的运行时间很完善的分析速度。(3)多个平台:所述当前Unix可以在Windows,Linux和PHP服务器,配套的IIS,Apache和其他一般的Web服务器正常操作时,用户更换平台不需要改变PHP代码便可以采取。(4)效率高:和其它的解释性语言相比,PHP系统消耗较少的系统资源。当PHP作为ApacheWeb服务器的一部分时,运行代码不需要调用外部二进制程序,服务器解释脚本不需要承担任何额外负担。(5)开放源码:所有的PHP源码都可以得到。(6)没有运行费用:PHP是免费的。(7)在服务器端:因为PHP是在Web服务器上运行,PHP程序可以是非常大的,非常复杂的,而且不会降低客户端的运行速度。(8)嵌入HTML:因为PHP语言可以被嵌入到HTML内部,很容易学习PHP。(9)简单的语言:C++和Java不同,PHP语言是基于基本的语言,但它的功能强大到足以支持任何类型的网站。(10)极其强大的数据库支持:PHP最强大也最有代表性的特点在于它的数据库层,它内置了对很多数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。目前所支持的数据库有Oracle、Sybase、FilePro、mSQL、Velocis、MySQL、In-formix、Solid、dBase、ODBC、Unix、dbm、PostgreSQL、MSSQLSERVER等。(11)文件存取:PHP有许多支持文件存取的函数。2.3Apache简介Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一Apacheweb服务器软件拥有以下特性:满足HTTP通信协议文件的配置过程简单而有效支持通用网关接口支持基于IP和基于域名的虚拟主机支持多种方式的HTTP认证集成Perl处理模块集成代理服务器模块支持实时监视服务器状态和定制服务器日志支持服务器端包含指令(SSI)支持安全Socket层(SSL)提供用户会话过程的跟踪支持FastCGI通过第三方模块可以支持JavaServlets如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。2.4PHPandmin简介PHPMyAdmin是一个数据库管理工具,基于Web的基础,在虚拟主机的MySQL的PHP架构,使管理人员可以使用Web界面管理MySQL数据库。通过这个网络界面可以成为一个简单的方法来输入繁杂SQL语法的较佳途径,特别是处理大量的数据导入和导出更加方便。一个更大的优点在于,PHPMyaAdmin是一样的Web服务器上其他PHP方案,但可以在生成HTML页面,这是远程管理MySQL数据库,容易建立任何地方使用这些程序,修改删除数据的基础上和数据表。PHPMyAdmin的也可以使用由PHP来建立一个共同的语法,以促进网页所需的SQL语法正确性。2.5B/S简介在三层体系结构的B/S(Browser/Server,浏览器/服务器结构)系统中,用户可以通过浏览器向分布在网络上的众多服务器发出请求。B/S系统极大地简化了客户机的工作量,客户机上只需要安装、配置少量的客户端运行软件即可,服务器将担负大量的工作,对数据库的访问以及应用程序的执行都将由服务器来完成。B/S架构的不断成熟,主要使用WWW浏览器技术,结合多种浏览器脚本语言,用通用浏览器需要实现原本复杂的专有软件来实现的强大功能,并节约了开发成本,是一种新的软件架构。基于B/S架构软件的安装,修改,维修的需要在服务器端解决。使用该系统时,只需要一个浏览器用户可以运行所有的模块,从而实现了“零客户端”功能,很容易在运行时自动升级。B/S架构也提供了一个均质机,网上异构网络,异构应用服务的联机,统一的开放服务最现实的基础。B/S系统包括:表示逻辑层,控制逻辑层,数据展现层,三层是相对独立又相互关联,在这里我们在三个层面上做一个介绍:1.表示逻辑层,其主要任务是提出一个服务请求到网络上的Web服务器,服务器验证身份,使用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。2.控制逻辑层,其主要任务是接受用户的数据请求,首先需要执行相应的程序和数据库连接,并进行数据处理请求的数据库服务器,然后数据库服务器等待数据处理的结果并提交Web服务器,然后由Web服务器返回给客户端。3.数据表示层,其主要任务是接受Web服务器请求的数据库操作,来实现对数据库的查询,修改,更新和删除的功能,操作结果返回给Web服务器。与传统视为C/S结构相比,B/S结构具有以下优点。首先,C/S结构的每一个客户端都必须安装和配置软件,B/S比C/S的维护工作量大大减少了。假如一个企业共有50个客户站点使用一套C/S结构的软件,则当这套软件进行了哪怕很微小的改动后(比如增加某个功能),系统维护员都必须进行这样的维护;将服务器更新到最新版本;将客户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是客户端的维护工作必须不折不扣的进行50次。假如部分客户端是在另外一个地方,那么系统维护员还必须跑到该地方再进行卸载、安装、设置的工作。若没有对某个客户端进行这样的维护,则该客户端将会因为碰到版本不一致的问题而无法工作[12]。在这方面,B/S结构的客户端不必安装及维护。如果我们将前面企业的C/S结构的软件换成B/S结构的,我们看看软件升级后,系统维护员如何维护:系统维护员只要将服务器的软件升级到最新版本就行了。其他客户端,只要重新登录系统,使用的就已经是最新版本的软件了。其次,B/S应用成本较低,C/S软件一般是采用两层结构的。两层结构中,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务将数据提交给客户端,客户端将数据进行诸如,运算、汇总、统计等等的计算,并将结果呈现给用户。然而在三层结构中,客户端接受用户的请求,客户端请求到应用服务,应用服务访问数据,从数据库服务应用程序将计算数据,并将结果提交给客户端,客户端的礼物将结果显示给用户。两种结构最大的不同在于参与运算的客户端,而客户端的三层结构的两层结构不参与,而只是接收用户的请求,显示了最终的结果。由于客户端的三层结构并不需要参与计算,所以客户端电脑配置的要求相对较低。此外,由于从通过仅在最终结果的客户端应用程序的服务,一个相对小的数据量,也可以使用电话线作为传输线路。使用C/S的两层结构,利用电话线作为传输线可能无法接受,因为速度太慢。该软件来配置服务器配置的三层结构可以改善,减少了客户端的配置。这样的增幅是只有一台服务器(应用服务和数据库服务可以放在同一台计算机上的价格,但它减少了几十个客户机的价格。在降低总体拥有成本发挥了作用。2.6MySQL数据库数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。数据库通过SQL(StructuredQueryLanguage)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。ADO(数据对象的ActiveX)是数据库访问技术开发数据库应用程序在Microsoft。它的设计与新的数据库访问层DB提供程序OLE合作,以提供通用数据访问(数据MySQL的通用型)。DBOLE是一个低级别的数据库访问接口,它可以访问各种数据源,包括传统的关系数据库。使用大量COM接口的,所以它是一个高层次的接入技术的ADO包DBOLE程序。的数据库管理系统和界面的原理如图2-1所示。MySQL是一个小型关系型数据库管理系统,快速,多线程和多用户。它支持常规的SQL查询语言,并采用了多种数据类型,可以进行各种详细的查询等。MySQL提供了全套数据库创建和访问机制,通过一个非常直观的方式来创建,访问和修改数据库表和,和各种它们之间的数据关系可以被创建。MySQL的系列从90年代的发展,经过多年的发展,它已成为一个非常成熟的技术。MySQL数据库的特征在于,小而简单的数据库文件时,不需要运行或启动数据库服务进程都可以使用。一般MySQL数据库文件可以方便地放置在web站点的目录。也正是由于这些特点,MySQL数据库通常用作的数据库支持技术一个网站开发。数据库管理系统和接口的原理如下图所示。图2-1数据库管理系统和接口的原理
3系统分析3.1系统可行性分析技术可行性分析本系统采用PHP+MYSQL+Apache相结合的形式开发,系统前台使用HTML嵌入PHP开发管理用户界面,信息完善,界面友好,具有亲和力;后台使用MySQL数据库开发管理数据库,一些关键应用的业务处理机制,具有很强的错误处理能力。该系统的开发环境,现在是开放源码的Apache服务器特别受欢迎,使用方便,运行稳定,安全可靠。该技术在web开发中得到了广泛应用。综上所述,该系统在技术上是可行的。操作可行性分析本系统采用B/S结构,实现信息化管理,操作简单,容易理解,对于用户来说并不需要高深的计算机专业知识,只要管理员可以了解网络的使用,就可以使用和维护网站。经济可行性分析由于本系统是一个模拟外卖点餐网站系统,整个网站是不是太大,所以开发成本不会太高。整个开发过程由自己完成,但只有一台PC机和各种软件,可以实现所有的开发任务。因为电脑是我的原创,而无需升级硬件,以及各种软件,而且还可以在网上免费下载,所以整个开发成本可以说非常低,这也为我们进一步提高该网站提供了一个非常大的方便。在使用成本,用户只需要具有连接到国际互联网的计算机上,通过注册就可以在世界的任何一个角落使用本网站的所有功能和服务。而对于电脑硬件的要求不是很高,该软件有没有特殊需求,方便地访问和使用。因此,从经济可行性分析的角度,系统地反映了经济利益和强大的功能。3.2系统功能需求概述前台功能:1、会员登录:方便用户登录了解相关信息。2、注册:支持读者用户、作者用户注册账户登录系统查看相关信息。3、全部美食:方便用户查看美食分类,挑选自己需要的美食进行购买,添加购物车等操作。4、在线留言:用户可以在线留言。后台管理功能:1、用户管理:对网站会员用户信息进行增加,删除,修改。2、美食管理:管理员对美食信息、美食分类进行管理,包括增加、删除、修改等功能。3、订单管理:管理员对订单信息进行管理,包括查询、受理、删除等操作。4、系统管理:实现管理员用户修改密码的功能。3.3系统设计规则无论哪个网站都要有它自己的设计规则。该系统也一样,它的主要设计规则有:简单性:在实现系统的各项功能的同时,操作简单易懂对于系统来说是非常重要的。实用性:该系统前台单元接受来自互联网用户的请求,用户可以方便的浏览前端首页、订购美食。后台系统接受来自系统管理员的请求,管理员可以对商品、订单、会员等信息进行增、删、改、查等操作,具有良好的实用性。3.4运行环境本系统是一个web版的应用程序,需要在服务器上部署中间件Apache、MySQL数据库,其他的客户端通过网络进行访问该服务器即可。(1)开发硬件平台:CPU:酷睿双核3.2GHZ内存:4G以上硬盘:320GB(2)服务器端硬件平台:Web服务器参考配置:IntelXeonQuadCoreE553080W2.40GHz/5.8GT/8MBCache,2x2GBDDR3-1066MHz,2.5inHS146GBSAS,HS675WPSU,ServeRAIDMR10i(RAID5),2*GigaEthernet,LightPath,CD-RW/DVDCombo,1U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22数据库服务器参考配置:IntelXeonQuadCoreE550480W2.00GHz/4.8GT/4MBCache,2x2GBDDR3-800MHz,2.5inHS146GBSAS,670WPSU,ServeRAIDBR10i(RAID0,1),2*GigaEthernet,DVDROM,5U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22(3)开发软件平台:操作系统:Windows7数据库:MySQL
4系统设计4.1架构设计系统采用基于B/S结构的三层应用模型来开发系统。目前,在Internet应用体系结构中,事物处理被划分为3层,即WebBrowser—InternetServer—DatabaseServer。在这种体系结构中,业务的表达通过简单的WebBrowser来实现,用户通过WebBrowser提交表单,把信息传递给InternetServer,InternetServer根据用户的请求,分析出要求数据库服务器进行的查询,交给数据库服务器去执行,DatabaseServer把查询的结果反馈给InternetServer,在由InternetServer用标准的HTML语言反馈给WebBrowser。在B/S架构,用户通过发送一些浏览器的分布式网络的请求给服务器,并且服务器返回浏览器的请求。B/S结构简化了客户端的工作,仅需要少量的客户端软件。服务器将在数据库访问完成更多的工作和应用将在服务器上完成。浏览器发送一个请求向数据请求,处理结果和动态页面,其余的是由服务器的Web完成。这种三层体系结构如图4-1所示。Browse浏览器Browse浏览器Web服务器数据库图4-1B/S三层架构示意图4.2功能模块设计系统分为前台、后台两个模块。前台单元接受来自用户的请求,前台主要实现了用户登录、注册、所有美食、站内新闻、在线留言等功能。后台系统接受来自系统管理员的请求,管理员主要实现了系统管理、站内新闻管理、美食类别管理、美食信息管理、订单管理等功能模块。系统功能结构图如图4-2所示:图4-2系统功能结构图4.3数据库结构设计4.3.1数据库设计规范在概念设计中,通常用四种方法:自顶向下:首先定义全局概念结构的框架,然后逐步细化;自下而上:首先,我们定义每个本地应用程序的概念结构,那么它们集成在一起,得到全局概念结构;逐步扩大:首先定义的核心概念结构,然后展开,直到结构的整体概念;混合策略:自上而下和自下而上的结合,设计出具有自上而下的战略全局观念。结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构在物理结构设计阶段首先分两步走:确定数据库的物理结构,在关系数据库中主要是指存取方法和存储结构。对物理结构的评价是时间和空间效率.选取正确的关系模式存取方法,常用的有:存取索引方法、聚簇存取、HASH存取方法等。4.3.2数据库概念模型关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。目前可以采用数据库建模工具来实现,像PowerDesigner、Rose等。数据库的概念设计整体属性E-R图如下图4-3所示:图4-3整体属性E-R图图表说明:矩形模版代表的是实体。后续部分实体之间的关系表现用菱形来代表,无向线是“菱形”与“相关实体”连接的工具,在边上根据需要标明联系的类型。实体的属性根据模版可用椭圆表示,后来根据情况在图中被省略。管理员:ID、用户名、密码、操作。美食:标题、分类、性质、日期、描述、内容、操作。然后根据具体的功能需求,对本系统的E-R图进行细化从而得到几种实体—关系模型,以下为部分实体—关系模型。图4-4管理员实体属性E-R分图图4-5美食信息实体属性E-R分图图4-6订单信息实体属性E-R分图图4-7新闻信息实体属性E-R分图4.3.3数据表字段设计由于论文篇幅有限这里只列举部分表的设计。表4-1allusers表序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号10
2usernameVarChar50是255
3pwdVarChar50是255
4cxVarChar50是255
5addtimeDateTime8是23
表4-2
goumaijilu表序号字段名称字段类型大小允许为空最大长度备注1idInt410
2bianhao150255
3mingcheng255255
4leibie150255
5jiage150255
6kucun150255
7goumaishuliang150255
8beizhu255255
9goumairen150255
10addtimeDateTime819
11issh255255
12ddh255255
13hdfk255255
14zffs255255
15kddz255255
表4-3liuyanban表序号字段名称字段类型大小允许为空最大长度备注1idInt410
2zhanghao150255
3zhaopian150255
4xingming150255
5liuyan150255
6addtimeDateTime819
7huifu150255
表4-4
pinglun表序号字段名称字段类型大小允许为空最大长度备注1IDInt410
2wenzhangID255255
3pinglunneirong255255
4pinglunren255255
5addtimeDateTime819
6biao150255
4.4系统架构类图类图是系统架构的静态结构图,表达了各个类之间的静态联系。外卖点餐网站系统设计与实现类图如下图4-8所示。图4-8网站设计与实现类图4.5系统交互图系统架构类的工作流程:1.用户接口对象正在接收用户的输入请求后发送到业务代理。2.在接收到请求后,业务代理被发送到权限来验证请求。3.权威的机构来验证结果返回给代理商。4.根据验证结果进行以下处理的业务代理对象:用于非一致性请求返回的提示信息;对于右侧的请求,该请求将被转发到的业务对象。5、业务对象进行业务处理。对于业务处理中的数据持久化操作,通过访问数据库访问对象进行操作,期间的任何异常都交给异常处理对象处理。最后返回处理结果信息给业务代理对象。6、业务代理对象将处理结果信息返回给用户界面。系统架构类的交互图如图4-9所示:图4-9系统架构类的交互图
5详细设计5.1系统配置连接数据库的配置:<?ini_set("error_reporting","E_ALL&~E_NOTICE");$conn=MySQL_connect("localhost","root","root");//是MySQLIP,root是帐号,如果有密码请填写在""中MySQL_select_db("bcgg");//guestbook是数据库名//$conn=MySQL_connect("","root","123456");//是MySQLIP,root是帐号,如果有密码请填写在""中//MySQL_select_db("db_peek");//guestbook是数据库名MySQL_query("setnamesgb2312");functiontxtClean($valueString){$txt=array("\n","\r");$html=array("","");returnstr_replace($txt,$html,$valueString);}?>5.2功能模块实现5.2.1前台下图5-1所示的界面是外卖点餐网站系统的前台首页。图5-1外卖点餐网站系统前台首页前台包括:前台主要实现了用户登录、注册、所有美食、站内新闻、在线留言等功能。用户以会员的身份登录之后方可在网站上进行外卖点餐。如果用户已经是该网站的会员,则只需在“用户名”和“密码”文本框中输入相应的用户名和密码,最后单击【提交】即可进入会员用户界面。会员登录界面如下:图5-1用户登录界面没有账户的游客可以点击【注册】链接进入相应的注册交流界面,进行注册功能。图5-2会员注册界面登录注册流程图如下图5-3所示。图5-3登录注册流程图用户登录之后,选择美食信息,点击美食图片可以进入下单操作界面,运行界面如下。图5-4点餐功能运行界面5.2.2后台通过网页浏览器进入如图5-5所示的后台登录界面。图5-5网站后台管理在“账号”和“密码”的文本框中输入用户名:hsg 密码:123,最后单击【确定】,即可进入如图5-6所示的后台管理页面。后台功能模块主要实现了系统管理、站内新闻管理、美食类别管理、美食信息管理、订单管理等功能模块。图5-6后台管理页面(1)注册用户管理单击【注册用户管理】链接,进入注册用户管理界面。管理员可以对注册用户信息进行查找、修改、删除等操作。注册用户管理界面如下图5-7所示。图5-7注册用户管理页面(2)美食管理单击【美食管理】链接,进入美食管理界面。在该模块界面中,管理员可以对美食信息进行添加、删除、修改等操作。美食管理界面如下图5-7所示。图5-7美食管理页面(3)订单管理单击【订单管理】链接,进入订单管理界面。在该模块界面中,管理员可以查找、删除、修改订单信息,还可以导出Excel报表。订单管理操作界面如下图5-8所示。图5-8订单管理页面实现代码如下:<?session_start();include("../inc/conn.PHP");$bj=$_POST["bj"];$name=$_POST["name"];$content=$_POST["content"];$pic=$_POST["pic"];$first_date=$_POST["first_date"];date_default_timezone_set("PRC");$time=date("Y-m-d");$act=$_GET["act"];//查找操作if($act=="add"){$sql="insertintoworks(name,bj,content,pic,first_date)values('$name','$bj','$content','$pic','$time')";MySQL_query($sql);window.location.href='add_works.PHP';</script>";}//编辑操作if($act=="edit"){$id=$_POST["id"];$url=$_POST["url"];$sql="updateworkssetname='$name',content='$content',pic='$pic'whereworks_id='$id'";MySQL_query($sql);echo"<script>alert('已经修改成功!');window.location.href='workslist.PHP';</script>";}//删除操作if($act=="del"){$id=$_GET["id"];$url=$_SERVER["HTTP_REFERER"];$sql="deletefromworkswhereworks_id='$id'";MySQL_query($sql);echo"<script>alert('已经删除成功!');window.location.href='".$url."';</script>";}?>
6系统调试与测试6.1程序调试在设计系统的过程中,存在一些错误是必然的。对于语法错误的语句,程序提示时自动运行,并要求立即改正,因此,这种错误更容易发现和纠正。但其它误差是由于程序和式计算某些数据的逻辑错误的不正确的操作错误的结果。这种类型的错误隐蔽性强,有时会出现,有时不出现,因此,这种调查的动态误差既费时又费力,需要改善。6.2程序的测试6.2.1测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。①软件测试是为了发现错误而执行程序的过程;②测试是为了证明程序有错,而不是证明程序无错误;③一个好的测试用例是在于它能发现至今未发现的错误;④一个成功的测试是发现了至今未发现的错误的测试。该观点可以是一个提醒的测试,以发现错误为中心,不表现出对软件的正确性。但它可能会误导了解,这种观点可能会产生误导。结果发现,该软件测试的唯一的目标就是要找出错误。这是没有价值,找出错误的测试。首先,测试并不只是要找出错误的。通过的错误的原因和误差的分布的分析,它可以帮助项目经理来找出当前软件过程的缺陷,从而提高软件的过程。与此同时,这种分析还可以帮助我们设计出针对性的检测方法,提高测试的有效性。其次,没有发现该测试是有价值的,并且完整的测试是评价试验的质量的方法。6.2.2测试的步骤类似于开发过程中,测试程序必须进行一步一步,每步是逻辑上的继续前一步骤的。大型软件系统由几个子系统,其中每一个是由几个模块。因此,大型软件系统的测试基本上是由以下步骤组成:(1)在此测试步骤中,测试模块常常发现是编码和详细的错误。(2)在本测试过程中,测试系统通常在软件设计中的错误发现,它可能找到错误的要求。(3)在此测试步骤中的验收测试经常发现在系统需求规范的错误。6.2.3测试的主要内容为了保证测试的质量,将测试过程分成代码审查、单元测试、集成测试、确认测试和系统测试等不同阶段。(1)单元测试单元测试集中的检查软件设计的最小单位上,并且模块的实际功能是通过测试模块的实际功能和模块的功能描述来实现。(2)综合测试集成测试是组装在模块中的同时,设计要求和主要目标是找到界面的问题。比如一个模块,其他模块都可能有不良影响造成的,由于疏忽,处理功能组合可能不会产生预期的功能;个体似乎是可接受的误差可能积累到不可接受的水平;整个数据结构可能是错误的等。(3)证实测试验证测试的目的是要表明,该系统可以按照预期的未来。测试的整合后,已被设计为所有模块集成到一个完整的软件系统,接口错误已基本消除,然后应进一步验证该软件,这是为了确认测试任务的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。(4)系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。测试案例的内容:周期:测试时间域。层次:测试的层面。类型:测试的分类。系统:测试何系统。分系统:测试何分系统。模块:测试何模块。平台:测试的环境。描述:对测试问题说明与叙述。目的:测试的目标与期望。此外,还包括测试文档号、测试设置、输入条件、测试结果和期望结果。本系统测试案例如下:方法:功能模块测试方法方法:功能模块测试方法目的:测试录入功能的正确性预期结果:有出错警告过程:在用户管理中,没有选择任何选项,直接提交输入:无输入测试结果:无法保存,有出错警告比较:与预期结果相当结论:正确方法:功能模块测试方法方法:功能模块测试方法目的:测试录入功能的正确性预期结果:有出错警告过程:在提交信息中,不输入任何数据,直接提交输入:无输入测试结果:无法保存,有出错警告比较:与预期结果相当结论:正确只有系统的测试工作在用户的协助下,不断的修改,才能达到完善的预期目标。本外卖点餐网站经过初步测试,基本上达到目标。
7总结与展望本文主要阐述了如何利用PHP框架开发一个性能优化、可扩展性强和安全可靠的外卖点餐网站系统。系统分为前台、后台两个模块。前台主要实现了用户登录、注册、所有美食、站内新闻、在线留言等功能。后台主要实现了系统管理、站内新闻管理、美食类别管理、美食信息管理、订单管理等功能模块。然后根据这些功能进行分析设计,对所有用到的技术PHP、MySQL进行了简要的介绍。接着进行需求分析的描述。接着是概要设计和详细设计。描述这个系统的部分功能的实现方案及过程。本设计所实现的是一个外卖点餐网站系统,主要介绍了PHP与Apache技术。系统按照总体设计、数据库设计、各个模块设计和代码分析,外卖点餐网站系统的基本功能已得到实现。由于时间及本人所学有限,该系统还有许多地方需要改进,并且还有许多自己未起到的功能,本人会在以后的学习过程中进一步加强和完善。7.1系统总结及不足之处本系统具有以下优点:1、该系统可以运行在多个操作系统平台(Windows7和Windows8)数据库管理系统采用MySQL和PHP开发环境,可移植性好。2、系统的用户权限进行划分,分为会员用户,管理员用户,不同用户具有不同的功能权限,保障了系统的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南专升本介绍
- 中国基本法治制度
- 二月的英语介绍
- 2025至2030中国电磁干扰(EMI)屏蔽行业市场现状供需分析及投资评估规划分析研究报告(篇82)
- 2025至2030中国人工智能芯片市场运行分析及发展前景与投资研究报告
- 2026年石家庄市公安局关于公开招聘公安机关警务辅助人员的备考题库及参考答案详解
- 凉州区高坝镇人民政府2025年公开招聘专业化管理大学生村文书(补充)备考题库及完整答案详解1套
- 中国煤炭地质总局2026年度应届生招聘468人备考题库及答案详解一套
- 2026年营口市鲅鱼圈区海星社区卫生服务中心招聘部分专业技术人员的备考题库有答案详解
- 南京鼓楼医院2026年公开招聘卫技人员备考题库及答案详解参考
- 中国痤疮治疗指南
- 继电保护装置调试作业指导书
- 初中语文仿写训练
- 老同学聚会群主的讲话发言稿
- 天然气输气管线阴极保护施工方案
- 高血压问卷调查表
- QC成果提高花岗岩砖铺装质量
- YS/T 416-2016氢气净化用钯合金管材
- GB/T 25156-2010橡胶塑料注射成型机通用技术条件
- GB/T 20878-2007不锈钢和耐热钢牌号及化学成分
- 第六章 亚洲 第一节 概述
评论
0/150
提交评论