金博体育本文主要讨论如何使用JAVA语言开发一个美食网站的设计和实现。本设计采用B/S设计结构和面向对象编程方案开发项目。在引言中,作者将讨论美食网站的设计和实现的当前背景以及系统开发的目的金博体育,因此后续章节将严格按照代码开发方法在每个阶段对系统进行分析和设计。
美食网站的设计主要为两部分内容,一是用户功能模块设计,另一是管理者功能模块设计。管理员功能模块主要有:主页、个人中心、美食分类管理等。用户功能模块主要有:主页、个人中心、订单分析管理、美食分享管理等。
采用这一方法进行设计将有效地提升网站管理的信息化程度,方便管理者更加有效地管理信息,使信息产生更大的价值。
关键词:美食网站设计与实现 JAVA语言;MYSQL数据库;SSM 框架
在新型网络技术的支持下,美食网站的策划和实施已经有了质的飞跃。但真正有利于网站的是设计思想。具体来说,首先,我们应该始终从用户的特定需求出发,开发和发布有针对性的功能,例如在线商店、用户交流、食品信息等。设计者应当学会采用创造性地设计方法,利用现有网络技术给用户带来的方便和快捷。本系统的设计目的就是为了尽可能地方便了用户的使用[1]。到目前为止,互联网已经解决了许多疑难问题,给我们的工作带来了很多便利,提高了我们的工作效率。目前,各行各业都在开发网络数据管理程序,而完全不同的用户都接触到数据管理,尤其是在各大电子商务行业。通过对目前网络环境发展的分析和概述,美食网站的设计和实现将发生根本上的改变,彻底摆脱人工统计的方式。由于用户种类越来越多,标准的离线手动模式现在将无法满足用户的需求,很多很多商家的网站在设计和实现上都与新型美食网站有差距。因此,创新美食网站设计和实现将解决相关公司的信息化问题,提高相关企业管理美食信息的能力,实现数据共享,提升工作效率。同时,所设计的网站应当确保相关信息的完整性和安全性,相关知识的准确性,以确保系统的安全和运行[2]。
尽管我国信息技术发展起步较晚,但发展十分迅速。以电子商务为例,电子商务市场的增长与国内智能手机和互联网服务的增长密切相关。2005年,中国电子商务市场占全球市场的比例不到1%,相比之下,美国市场占34.9%。到2016年,中国电子商务市场占全球销售额的42%,而美国占24.1%。2019年中国的移动支付普及率为81%,而美国为29%。中国电子商务的持续增长可能会推动全国智能手机销售和5G投资的大幅增长 [4]。由此可见,我国电子商务的未来具有十分广阔的前进。由于我们的生活将变得越来越忙碌,电子商务将成为我们生活中最为重要的组成部分。美食网站,作为电子商务的一种,其设计与实现将给用户带来更多的便利。与此同时,由于信息数量的增加,信息处理难度也会呈几何级的增加。因而需要高效的设计以优化相关的信息管理,以保证网站运行的稳定 [5]。此次开发主要采用了java语言与MYSQL数据库相结合的方案。本设计思路能够有效地弥补当前在线美食网站设计普遍存在的数据库问题,通过优化数据管理,以提升网站的运行效率和稳定性。同时,本设计从全局出发,关注用户的实际需求,简化网站的操作难度,增强网站的易学性,从根本上解决了网站收集信息、管理信息等方面的问题。该系统的实现,不仅具有理论价值,同时具有技术价值和经济价值。
本网站的设计和实现主要基于两个方面:一是基于用户实际情况;二是基于用户对系统的需求。在设计的过程中,先是进行单一模块的功能设计,然后对系统的总体设计进行科学管理,最后通过黑盒测试检验系统功能的有效性。在写论文之前,作者亲自去图书馆借阅与SSM框架、MYSQL等相关的编程书籍。同时,参考了一些经典的美食网站,分析其优点和缺点,在优化的基础上设计了本系统,逐一列出了所有对系统有用的线索,然后分析了必要性,最后编写了所有的功能模块代码,最后完成了系统的测试,并完成了系统的人工操作[6]。
第一部分绪论:论述了本文的课题背景,以及相关研究的现状,阐述了此次开发的必要性。
第四部分系统设计:系统性地展示本系统中的各个功能模块。以表格和图片的方式展示了功能模块的设计和数据库的设计。
第五部分系统实现:详细介绍了系统模块的主要功能。以图片的方式直观展示系统设计的成果。
“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写。Spring是一个开源框架,Spring是2003年Java中出现的一个轻量级框架。它是为解决企业应用程序开发的复杂性而创建的。Spring使用基本的JavaBean s来完成以前只有EJB才有可能完成的事情。从简单性到可行性测试从性和松耦合的角度来看,任何Java应用程序都可以受益于Spring。简而言之,Spring是一个轻量级控制反转(IoC)和面向方面(AOP)的容器框架。Spring MVC是Spring框架的后续产品,已经集成到Spring Web Flow中。Spring MVC是分离的控制器模型对象,调度程序和处理程序对象角色的分离使得它们更容易定制。MyBatis是一个基于Java的持久层框架。iBATIS持久层该框架包括SQL映射和数据访问对象(DAO) MyBatis,它消除了几乎所有JDBC代码和参数的手动设置以及结果集的检索。
Java可以被描述为一种高级的、面向对象的编程语言,具有强大的类型系统。一个重要的特征是虚拟机通过将Java程序翻译成称为字节码的中间语言来抽象具体的底层硬件,该中间语言在Java虚拟机(JVM)上执行。由此,实现了“一次编写,随处运行”(WORA)的概念,使得能够进行独立于平台的应用程序设计。这意味着Java应用程序(当然,考虑到不同的Java版本)可以在每一个可以运行JVM的平台上执行。连同面向对象的典型概念,Java为代码的可重用性提供了许多可能性。Java还提供了应用程序的高稳定性。这是通过在编译、加载和运行时进行大量检查(例如,关于类型或数组边界)来实现的。由于容易出错的概念,如直接指针操作,超出了该语言的范围,并且内存分配(和取消分配)是通过自动内存管理实现的,所以所谓的垃圾收集(GC),即使用Java进行软件开发的效率非常高。虽然很难用数字来说明这一点,但是一些资料表明与C/C++ 9相比至少有20%的改进。与IEC 61131规定的最常用的PLC(可编程逻辑控制器)编程语言相比,效率提高了50%以上。Java广泛且易于使用的联网能力有助于降低分布式系统编程的难度。 [8]。
MySQL是一个关系数据库管理系统(“RDBMS”)。大多数现代网站和基于web的服务都使用它作为大量数据的方便、快速的存储和检索解决方案。可能存储在MySQL数据库中的项目的一个简单例子是站点注册的用户名和相关的密码(为了安全而加密)、用户注册日期和访问次数等。MySQL也可以使用许多工具来访问。它可以很容易地通过PHP (PHP超文本预处理器)进行通信,PHP是一种脚本语言,其主要目的是在将网页传送到客户机之前,在服务器上处理网页的HTML。用户可以通过PHP向数据库提交查询,允许在数据库中插入、检索和操作信息[9]。
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。B/S架构全称为浏览器/服务器,即浏览器/服务器结构。Browser指的是Web浏览器,极少数的事务逻辑在前端实现,但是主要的事务逻辑是在服务器端实现的,浏览器客户端、WebApp服务器端和DB端构成了所谓的三层架构。B/S架构的系统无需特殊安装,只需一个网页浏览器即可。 B/S架构,显示逻辑到Web浏览器,事务处理逻辑放在WebApp上,这样就避免了一个大胖客户端,减轻了客户端的压力[10]。B/S结构的客户端不需要安装,有网页浏览器。B/S结构可以直接放在广域网上,通过一定的权限控制达到多客户接入、强交互的目的。B/S架构升级服务器,无需升级多个客户端。
针对系统的可行性分析,是为了确保系统不仅在技术上是可行的,同时在经济上也是合理的。在某些情况下,一个系统可能是不可行的,例如实现这一系统需要需要太多的资源。对系统开发进行可行性分析,就是为了实现以最小的成本解决最大的问题。一般来说,对系统的可行性分析分为以下几个方面:
技术可行性是评估生产一种产品或服务在技术上是否可行的正式过程。在推出一个新产品或承接一个客户项目之前,为操作的每一步做好计划和准备是至关重要的。技术可行性有助于通过分析流程(包括工具、技术金博体育、材料、劳动力和物流)来确定拟议计划的功效。技术可行性研究有助于组织确定他们是否有技术资源将想法转化为功能齐全且有利可图的工作系统。它有助于在开始工作之前排除项目故障。这项研究确定了潜在的挑战,并揭示了克服这些挑战的方法。它也有助于长期规划,因为它可以作为产品和服务在进入市场之前如何发展的流程图金博体育。本美食网站设计与实现采用SSM框架、JAVA编程语言和MYSQL数据库进行开发设计。在校期间,设计者对相关技术进行了较为系统的研究,较好掌握了相关技术的操作。因此,本项目在技术上具有可行性。
一般来说,系统设计应当考虑成本。但真正意义上的节约,是在现有的经济基础上实现系统效率的最大化。具体到本系统的设计,设计过程中所使用的所有工具和技术都是免费的,主要成本是人力成本。另外,网站所使用的素材都是免费的公共资源,因而不涉及版权费用。
一方面,限于程序开发的经验,本系统的界面设计不复杂,但注重操作的便捷性,减轻了用户的操作难度。在使用系统时,用户会得到智能化的提示,快速找到对应的功能操作模块。
综上分析,本美食网站的系统开发具有高度的可行性,且有望产生一定的市场价值。
(1)系统响应效率:页面响应应当是快速的,最好能够在三秒以内,同时要能够支持多人在线。一般来说,一个合格的美食网站至少要能够支持一万人同时在线)界面简洁清晰:系统界面应当尽可能地简洁,采用人性化设计,简化操作,增强用户体验。
(3)储存性高:美食网站应当具备相比于其他网站更好的存储性能。美食网站必然会涉及到大量高清图片,图片的调取和加载速度是影响网站体验的重要因素。因此网站不仅要有大容量的存储量,而且需要一个功能强大,性能稳定的数据库才能支持其运作。
(4)易学性:网站导航应当尽可能便于用户的使用。在设计的时候,应当考虑到当前主流操作系统的设计特点,增强系统的易学性。
(5)稳定性需求:网站的稳定性直接关系到网站的发展。网站设计时应当重点考虑其稳定性的问题。
(1)管理员模块:管理员是系统核心用户,是系统的管理者。管理员功能主要有:首页、个人中心,美食管理、商城管理、订单评价管理、用户交流、系统管理等。管理员用例图如图3-1所示。
(2)用户模块:用户是网站信息的使用者。用户所享有的功能主要是信息功能。具体如图3-2所示。
(3)前台首页:前台首页是网站信息中心,起引导用户获取信息的功能。前台首页主要由热门美食、在线商城、美食分享、用户交流等功能构成,具体如图3-3所示。
注册是用户获取使用权限的重要步骤。注册模块的设计应当简洁,同时要保障系统的安全性。用户注册流程图如图3-5所示。
网站的主要功能是提供信息。因此需要一个高效的信息添加流程。用户所添加的信息会获得一个自动生成的信息编号。同时,系统会对用户所添加的信息进行验证,通过验证的信息会被及时添加至数据库。添加不成功的信息会及时反馈给用户。添加信息流程如图3-6所示。
删除不良信息有利于网站净化。但应注意在删除信息时要避免误操作以及可恢复以免造成不可挽回的损失。删除信息流程图如图3-7所示金博体育。
B/S结构(Browser/Server,浏览器/服务器结构)和Web服务是本美食网站设计和实现的主要基础。由于B/S结构和Web服务能够提供高度的可操作性,便于用户在任何时间、任何地点使用系统。因此采用此两者。本系统工作原理图如图4-1所示:
本系统是多功能多模块系统。因此设计时,先要将所有的功能模块一一列举,然后逐一设计。系统中的每一模块都有相应的功能设计。此外,应当注意系统功能的整体性。在完成单一模块的功能设计后,应当整体优化各模块之间的功能协调性。基于上述原则,本系统的结构设计如图4-2所示。
登录模块不仅要满足管理员的需求,也要满足用户的需求,更要满足系统安全性的需求。登录模块顺序图如图4-3所示。
信息添加是系统服务与系统发展的重要方式。信息添加一是要有效率,二是要有安全。既要满足管理员的管理需求,也要满足用户使用的便捷。添加信息模块顺序图如图4-4所示。
设计合理的数据库直接关系到程序开发的成败优劣。设计合理的数据库能够为用户能够最新、最准确的信息。数据库设计应当根据一定的科学原则。其第一个原则是,重复信息(也称为冗余数据)是不好的,因为它浪费空间,增加了错误和不一致的可能性。第二个原则是信息的正确性和完整性很重要。如果数据库包含不正确的信息,任何从数据库提取信息的报告也将包含不正确的信息[12]。
MYSQL数据库具有数据存储快的特点。利用这一数据库作为本美食网站的数据管理基础有利于分类的清晰,不会造成信息管理的混乱。在设计时应当注意各个实体间的关系表达。本系统的E-R图如下图所示:
在MYSQL中,数据关系是由数据表组成的。因此,需要进行数据库表设计。本系统的数据表设计如下:
登录、用户注册模块:登录、用户注册是首页模块的重要组成部分,是用户使用系统的第一步。通过用户注册页面,用户可以完成网站的注册,从而获得使用网站的权限。登录模块的具体内容如图5-2所示。
管理员功能模式是系统管理模块的重要组成部分。管理员登录与用户登录方式基本相同。具体如图5-5所示。
美食分类管理:登录系统后,管理员可以查看整个系统模块所包含的信息,可以根据需要进行管理。管理员信息管理可分为两大类,一是网站信息管理,二是用户信息管理。网站信息管理又以美食信息管理为主。管理员应当尽可能地优化美食信息的分类。如图5-6所示。管理员还需要对商品分类进行优化。如图5-7所示。
管理员管理:管理员管理主要针对的管理员的权限进行管理。具体操作如图5-12所示。
轮播图管理:通过新建操作,管理员可在轮播图中加入新的图片,或修改,或删除。具体操作如图5-13所示。
用户登录:通过用户登录模块,用户获得使用网站的权限,可以查看网站首页,个人中心等。
个人信息:在个人信息页面中,用户可以根据需求填写与个人相关的信息,也可以修改、删除与个人相关的信息。具体操作如图5-14所示。
订单评价管理:这一页面为用户提供与商品订单相关的信息管理服务。在这一页面上,用户可以查阅已经购买的订单信息,例如订单编号,标题、评分等,且根据自身的需要对相关信息进行整理、删除等。具体操作如图5-17所示。
系统测试(ST)是一种黑盒测试技术,用于评估整个系统是否符合规定的要求。在系统测试中,从端到端的角度测试系统的功能。系统测试通常由一个独立于开发团队的团队来执行,以便公正地衡量系统的质量。它包括功能测试和非功能测试 [12]。
系统测试关注系统作为一个整体的行为。测试源自需求规格说明;代码被视为一个黑盒。该系统可以在没有脚手架支持的情况下执行(部分例外是嵌入式代码,其中可能需要一些嵌入环境的模拟)。系统测试和验收测试都关注于整个系统,但是它们以不同的方式和不同的目标执行。系统测试由开发人员执行,他们对系统的结构有很大的了解(和知识),但不是系统本身的最终用户;验收测试是由最终用户执行的,他们对系统的结构及其细节知之甚少,但完全了解操作环境的实际要求。
一般来说,系统测试大多基于需求规格,即开发人员的观点,旨在验证系统,即检查系统是否已正确构建(根据需求规格)。验收测试主要基于最终用户的感觉,目的是通过满足最终用户的期望来验证系统,即检查系统是否正确。系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会发现一个从来没有被发现的错误信息。
针对本网站的系统测试是为了发现和找出系统中存在的问题,确保系统可以正常运行。因此在测试的过程中一定要采用科学的程序,不能放过任何一个可能存在的漏洞。同时,详细记录测试步骤与测试结果。一般来说,采用自动化的测试是最佳的选择。自动化测试既能够有效地降低人力成本,同时能够有效地避免人为失误。在测试的过程中应当保持高度的注意力,一旦发现异常应当及时进行详细的检查和修改。测试后产生的文档应当妥善的保管,以便于以后的使用。针对系统测试的方式有很多,此次测试采用的是经典的黑盒测试法。
本测试采用的是经典的黑盒测试。黑盒测试包括测试一个事先不知道其内部工作的系统。测试人员提供输入,并观察被测系统产生的输出。这使得识别系统如何响应预期和意外的用户动作、其响应时间、可用性问题和可靠性问题成为可能。黑盒测试是一种强大的测试技术,因为它对系统进行端到端的测试。就像最终用户“不关心”系统是如何编码或构建的,并期望收到对他们请求的适当响应一样,测试人员可以模拟用户活动,并查看系统是否实现了它的承诺 [14]。基于黑盒测试的测试方案具体如下:
单元测试即模块测试。模块测试的目的是为了检验每一个模块是否具有功能,以及发现代码在运行过程中是否存在偏差。如果没有,说明设计是有效的以及代码是正确的。
集成测试是根据架构设计期间定义的计划来定义和执行的。识别并纠正通信和接口错误。集成测试的优点:所需的软件耗费较少。能够有效地发现端口错误。能够有效地定位错误的位置。集成测试的主要策略有:大爆炸策略,即所有单元放在一起测试。这种策略不需要驱动程序和存根,但是使得软件工程师的工作非常困难,因为故障很难与模块子集相关。自上而下策略,即从更一般的到更详细的开始合并单元。这种策略需要复杂的存根,但不需要驱动程序。自下而上策略,即从更详细的到更一般的开始合并单元。这种策略需要复杂的驱动程序。线程策略,即根据预期的执行线程合并单元。关键模块策略,即单元根据它们的关键程度进行合并。
从测试结果来看,本网站的设计与实现基本上实现了设计目标,基本上能够稳定运行,基本上能够满足用户的需求。同时,也发现了不足之处,例如系统的代码和数据库中出现了大量的冗余,严重影响了系统的运行效率。总结原因,是由于设计者在编程技术的应用方面存在一定的问题。总的来说,本美食网站的设计和实现是具有可行性的,具有操作简单的特点。
通过本研究,基本上可以确定利用java语言和MYSQL数据库能够有效开发美食网站,提升网站的信息管理能力,提升网站的运行稳定性。具体来说:结合Java和MYSQL所设计的美食网站具有较高的实用性。通过这一设计,作者不仅掌握了一种全新的技术,而且掌握了一种全新的设计思路。对于系统设计来说,最为重要的是观察现有的经验,了解实际需求,以及想象技术应用的可能性。优质的设计不是凭空产生的,需要大量的实践。在系统开发的过程中,作者深刻认识到专业知识的重要性。专业知识不足不仅会严重影响开发进度,而且会不断地犯低级错误。同时,系统开发必须以用户为导向。为了吸引用户,系统界面的设计应当尽可能的友好和创新。在设计的过程中,作者发现了自己许多不足。例如,对于java知识的缺乏。由于java语言是此次网站开发的关键,因此在设计之初作者遇到了许多困难。但是通过我不断查阅相关资料和导师与同学的推荐,最终所有出现的问题都解决了。通过这种方法,我学到了大量的知识,了解了自己的缺点。同时认识到如何从大量的知识中筛选出所需的和有用的知识。在不断的探索中,我深刻地发现,尽管书中的大多数数据是有效和恰当的,但实际上,每个人的编程思想和处理策略实际上完全不同,这需要设计者通过观察来寻求问题的解决方案。通过这个美食网站的设计和实现,作者学到了很多知识,尤其在设计技能方面有了较大的提升。通过这种方法,未来作者将学到更多的知识,发现自身更多的不足。相信在将来学习和开发中,这一方法将发挥更大的作用。这种方法不仅提高了作者的编程水平,而且作者以后的系统开发打下了坚实的基础。
[7] 王雨竹. MySQL入门经典. 北京:机械工业出版社 2017[8] 邓子云.Java网络编程从基础到实践[M].北京:电子工业出版社,2019.
这次毕业设计已经圆满完成。通过这次毕业设计,我甚至学到了大量的知识,提高了我的代码开发能力。尽管在系统开发和设计的方法中出现了几个问题,但是在讲师和同学的帮助下,所有问题最终都得到了有效的解决。因此,我更想感谢在这个过程中帮助过我的所有老师和所有同学,感谢导师为我选择的课题,感谢导师给我的深度且合理的建议,感谢导师为我提供计划所需的各种工具。如果没有他的指导,我不会取得今天的成就。
首先,我非常想感谢我的老师,是他在百忙之中帮助我纠正我在设计中出现的问题,是他在教学任务繁忙时耐心地修改我的论文,是他定期检查和指导我的工作金博体育,是他造就了我们高质量的毕业设计。在我的分析和设计的整个过程中,是他在程序设计方面、框架规划方面、代码编写方面,以及论文框架设计方面提供了许许多多有价值的意见,提供和建议了许多有用的材料和文档。他的指导和建议让我受益匪浅,在他的指导和指引下,我的论文才有可能顺利完成。