🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。
- 代码可以私聊博主获取。🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《python网站项目》600套
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目演示(需要演示视频可以私信我)
摘要
当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。传统的鲜花商城信息管理模式,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于Java Web的鲜花商城系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本系统主要使用B/S开发模式,在idea集成开发环境下,采用Java语言编码设计系统功能,MySQL数据库管理相关的系统数据信息,JSP技术设计和开发系统动态界面,最后通过使用Tomcat服务器,在浏览器中发布设计的系统,并且完成系统与数据库的交互工作。本文对系统的需求分析、可行性分析、技术支持、功能设计、数据库设计、功能测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。通过设计基于Java Web的鲜花商城系统,可以极大地提高鲜花商城的工作效率,提升用户的使用体验。
关键词:鲜花商城管理,Java语言,B/S结构,MySQL数据库
1绪论
1.1研究背景与意义
1.1.1研究背景
近年来,第三产业发展非常迅速,诸如计算机服务、旅游、娱乐、体育等服务行业,对整个社会的经济建设起到了极大地促进作用,这一点是毋庸置疑的。现下,国家也出台了一些列的政策来支持和鼓励第三服务产业的发展与完善,用以带动社会经济的发展[1]。所以,整体来说,国家是比较提倡发展第三方服务行业的。纵观计算机领域的发展历程,从计算机的诞生到现在,已经有几百年的历史了,计算机应用技术目前也处于成熟阶段,并且许多相关的研究人员也在提出较新的技术,不断地发展和完善计算机领域。再到如今,计算机已经发展成为一个比较热门的行业了。在高校中,计算机、人工智能等专业热度非常高,许多学生在选择专业的时候,大都优先考虑计算机专业。在社会上,计算机类行业也成为了比较受欢迎的行业,从在浏览器中访问的网址,到手机上的各种应用程序,到大型的软件服务设备,基本上都离不开计算机技术支持,以及硬件的支撑。
如今,互联网几乎遍布于世界的各个角落,人工智能、大数据占据的越来越重要的社会地位,比如疫情期间,通过大数据技术进行筛查,确定哪些人员无接触史,哪些人员需要重点观察,由此可以在极短的时间内,以最快的速度对疫情进行防控。在这个大背景环境的推动下,本人通过学习Java语言、MySQL数据库、JSP技术等相关的计算机技术,打好坚实的技术基础,方便后期对系统进行研发。而后再通过对系统进行需求分析、可行性分析、总体功能设计等工作准备,确定系统的总体功能需求,方便接下来详细地系统功能模块进行设计和实现,最后成功的研发了一款基于Java Web的鲜花商城系统。本系统改善了传统的管理模式,将原先的手工记录和管理信息,改进为使用计算机存储和管理信息记录,极大地方便了工作人员对相关数据进行处理,为鲜花商城节约了不少的员工费用和管理开销,并且能够在较短的时间内响应用户的需求,这种便捷的操作,对于用户来说可以节省了不少时间和精力,也省去了不少的麻烦,极大了方便了用户。
1.1.2研究意义
传统的鲜花商城信息管理模式,主要是以人力为主进行管理和控制,由工作人员负责登记用户信息,再通过对照之前的信息记录,确定是否给用户提供相关的使用需求,以及如何提供能让用户满意的使用需求。这种管理模式已经适应不了时代的变化了,正在不断地走下坡路,并且逐步被信息化管理模式所取代。所谓的信息化管理模式,是现在主流的一种管理模式,其通过与计算机技术相结合的方式,对行业的整个工作模式和服务流程进行改进和完善。其主要通过使用计算机等设备,将工作服务流程电子化,并且进行存储记录,用以提高行业整体的服务水平。结合使用计算机技术,本人研发出一款基于Java Web的鲜花商城系统,采用电子化的方式对数据信息进行存储,便于工作人员对相关信息进行记录和管理,有利于提高鲜花商城的工作运营效率以及工作人员的管理速度,以此更好的满足用户的相关需求,最终达到提升用户的使用感受的目的,由此可见设计和实现本系统具有重要的意义和价值。
1.2国内外研究现状
1.2.1国外研究现状
美国是最先发展计算机技术的众多国家之一,早在上个世纪,美国就快速的将计算机技术发展起来,并且将其运用在军事、医院、学校、社会服务等场所。日本、德国等国家紧随其后,不断地发展和完善计算机技术,侧重将医疗、社会服务等领域与计算机技术相结合[2]。而后随着社会的发展与进步,计算机技术逐渐趋于成熟。许多发达国家在探索将计算机技术应用于各行各业中时,从另一个角度来看,也在不断地推进鲜花商城管理行业的信息化管理进程,使得鲜花商城管理也变得更加网络化、信息化了。有许多专家表示,可以结合使用图像处理软件、人工智能技术等相关工具,深度地分析鲜花商城系统,主要从简化运行操作,加设功能模块,美化系统界面,保障数据安全等方面,更深层次地提升和优化系统,并且尽可能地在理想状态下做到实时的信息共享[3]。
1.2.2国内研究现状
国内的计算机技术的发展虽然晚于国外,尤其是美国、英国、德国等发达国家。但是我国的计算机技术发展势头非常迅猛,近些年,也逐渐走向成熟和完善的阶段。现在人们大多选择网上购物,也越来越离不开天猫、支付宝、微信等应用软件的使用[4]。许多企业结合使用了云计算、人工智能等先进的计算机技术,自主研发了鲜花商城系统,使得系统越来越成熟,功能越来越完备。结合计算机技术,采用主流的B/S开发结构模式开发一款基于Java Web的鲜花商城系统。由此,工作人员不再被时空所限制,直接通过使用浏览器的方式对系统进行注册登录操作,支持随时随地对相关的鲜花商城信息进行管理,便于及时为用户提供相关的鲜花商城管理服务。并且所设计的系统基本上能够符合用户的客观使用需求,有利于充分协调鲜花商城的人力、财力、物力等资源,不断提高鲜花商城的服务水平和管理质量。
1.3研究内容与方法
1.3.1研究内容
本文首先介绍了鲜花商城系统的研究背景与意义,其次介绍了功能模块的总体设计,接着介绍了各个功能模块的详细设计,最后介绍了系统的功能模块展示结果和测试结果。系统主要分为管理员角色和用户角色,具体的功能设计包括注册登录管理、个人中心管理、用户信息管理、鲜花信息管理、鲜花订单管理等模块。注册登录管理功能是之前没有使用过本系统的新用户,在使用系统前,需要通过注册步骤,登记详细的信息资料,而后再通过输入正确的账号和密码,成功登录系统后,即可通过一系列的操作来满足自己的相关需求。个人中心管理功能是管理相关的个人信息资料,个人根据现实情况的需要,有选择的对个人账户的相关信息进行一定的操作,比如选择更新或者删除操作。用户信息管理是管理相关的用户信息记录,对用户相关的信息进行管理,可以及时的更新相应的用户的基本资料。鲜花信息管理是管理相关的鲜花信息记录,查看详情情况,方便及时响应用户的服务请求。鲜花订单管理是管理相关的鲜花订单信息记录,方便相关人员及时查看并管理鲜花订单信息,如果遇到异常的鲜花订单信息,可以及时对其进行处理,在较短的时间内解决问题,提高用户的使用体验。
1.3.2研究方法
本系统采用B/S结构,在idea平台上,通过使用Java语言设计系统相关的功能模块,MySQL数据库管理系统相关的数据信息,JSP技术设计系统动态界面,并且对其进行必要的管理和控制。系统设计的最关键的环节,则是需要通过Tomcat服务器将系统发布到浏览器上,以便相关用户的操作和使用。本系统的设计和实现是整个鲜花商城信息化管理的一大进步,促进了鲜花商城管理信息行业的信息化建设,有利于简化相关人员工作流程,提高工作效率,提升工作幸福感。
1.4论文的组织结构
基于Java Web的鲜花商城系统的设计与实现的论文组织安排,大致可以被分为七个章节,具体的内容如下:
第一章为绪论,本章主要介绍了系统的背景现状、技术依据等内容,了解当前相关的系统软件产品的实际研究情况,为系统提供可靠的理论依据和技术支持。
第二章为相关技术介绍,本章主要介绍了开发所使用的相关技术。本系统主要使用的开发技术包括Java语言、SSM框架、MySQL数据库等,并且所使用的开发模式为B/S架构。
第三章为系统分析,系统分析阶段主要是对系统进行需求和可行性分析,规划系统的功能设计,判断系统实现的可能性。
第四章为系统设计,本章主要介绍了系统的总体功能设计、数据库设计等内容,规划设计出系统实际需要设计的功能模块,设计出数据库能够存放和管控的数据表。
第五章为系统实现,系统实现阶段主要介绍了注册用户管理、鲜花信息管理、鲜花订单管理等功能模块,对系统基本的功能模块进行设计与实现。
第六章为系统测试,本章主要是对测试相关的内容进行叙述,检查测验系统主要功能,测试所设计的系统功能模块能否正常打开并使用,说明系统是否达到预期要求、设计目的。
第七章为总结与展望,总结全文所阐述的相关内容,并对系统的未来的改进和发展工作提出展望,未来将对系统的相关功能进一步优化,并加强系统的性能设计,简化系统的操作难度。
2相关技术介绍
2.1 B/S结构
目前使用较多的开发结构模式大致可以包括C/S模式和B/S模式[5]。其中,基于C/S模式下开发的系统,用户必须下载相应的客户端,即应用程序,才能操作和使用软件系统的相关功能模块,由此可见C/S模式具有很大的局限性。随着时代地发展以及社会地进步,C/S模式也越来越满足不了开发者的设计需要,以及使用者的使用需求[6]。在B/S模式下开发的系统,不再需要用户下载和安装相应的应用程序,直接通过使用浏览器,输入正确的网站地址,以访问网站的形式实现系统的相关功能操作,这一特点对C/S模式下的开发设计做出了极大地改进,当然需要用户输入正确的账号和密码,才能成功的进入并使用系统。
2.2 Java语言
Java语言是一种将数据和操作方法封装成对象整体的程序设计语言,它拥有着优秀的技术体系结构[7]。Java语言所提供的垃圾回收机制,主要被用于解决系统的内存管理问题。此外,Java语言还将C语言中较难掌握的指针改进成容易被学习和掌握的引用,由此极大地简化了开发编程的难易程度,所以受到了很多开发人员的喜爱,大多数研发人员基本上首选使用Java语言开发系统。因为使用Java开发的系统兼容性较强,代码通用性较高,为了后期方便对系统进行完善和维护,所以本系统选择了使用Java语言进行设计和实现。
2.3 JSP技术
JSP技术的基本原理是技术人员通过理解和掌握与JSP相关的语法,对系统的动态页面进行设计[8]。而后,JSP技术内部的应用服务器会将由JSP设计的页面自动解释成HTML页面,并对相关的HTML页面进行显示[9]。因为JSP技术运行环境非常强大,语法比较简单,而且在实际的运行过程中,它是嵌入HTML文本中被执行的,所以能够支持在HTML工具以及不同类型的浏览器上运行。开发人员可以通过使用JSP技术动态地进行编程,由此可以开发出自己想要的网站类型。
2.4 MySQL数据库
MySQL数据库是目前使用较多的关系型数据库。因为其具有开源免费、占用内存少、安装简单、操作便捷、使用灵活等特点,所以经常被运用于中小型的系统开发中[10]。MySQL数据库可以支持多线程,在同一个时间内,能够同时响应多个用户的使用需求。MySQL数据库还自带了优化器,方便设计人员在 使用过程中,快速的查询相关的数据信息。MySQL数据库的内部代码中也很多的应用程序接口,便于其他编程语言与数据库进行连接和交互,由此编写的代码具有极高的通用性和维护性,并且MySQL数据库能够迅速的处理上千条数据记录,在系统故发生障时,能通过日志文件快速恢复。
3系统分析
3.1系统的需求分析
在软件设计开发的整个过程中,需求分析占用的时间是比较长的,也是比较耗费人力的阶段。需求分析是设计系统功能模块的总方向,系统开发工作基本上都是围绕着需求分析而进行开展的。通过需求分析阶段,可以确定系统的基本功能设计,以及在最后的系统验收阶段,通过对照需求分析报告,验证系统的功能设计是否合理,能否满足用户的基本需要,最终判断评定系统设计是否成功完成。本文主要通过问卷调查的方式,对基于Java Web的鲜花商城系统进行了需求分析[11]。根据调查结果显示,系统用户主要有两种类型,一种是以使用为主要目的的用户角色类型,另一种是以管理为主要目的的管理员角色类型。用户角色的主要功能需求包括鲜花信息查询、鲜花订单管理等模块。管理员角色的主要功能需求包括注册用户管理、鲜花信息管理、鲜花订单管理等模块。其中,密码信息、鲜花信息、鲜花订单信息等都是非常重要的数据记录,在系统设计的过程中,需要进行一定的加密处理,确保数据安全性,切实的保护好用户的重要信息。
3.2系统的可行性分析
3.2.1经济可行性
对系统进行经济可行性分析,也可以被称为对系统进行经济可行性研究,它是从社会的经济发展出发,通过研究整个的系统可行性,对成本收益情况进行全面地、具体地分析,并且根据所分析的可行性报告,为相关的投资者提供最科学的决策理论和最优的投资方案。本系统的开发促进了鲜花商城的信息化管理,管理人员可以直接通过在浏览器上发布鲜花商城系统的网站地址,即可用户根据一定的需要,有选择的对系统相关功能进行操作。这种方式打破了时间和空间的限制,可以使得鲜花商城工作人员在较短的时间内最大化地为相关用户提供相关服务。并且本系统所使用的开发技术和相关工具,大部分是开源的、免费的,所以可以节约很大一笔开发成本。综合上述内容分析可知,本系统的实现在经济层面上是具备可行性的。
3.2.2技术可行性
本系统是基于Java语言而进行开发的,因为Java语言容易学习、使用简单、可移植性高、稳定性强等特点,所以许多研发人员首选Java语言设计系统功能,市场上很多应用程序是由Java语言进行开发实现的。并且Java语言还具有跨平台的优点,这意味着所设计的系统是与平台无关的,也就说明由Java语言开发的系统可以支持在不同的浏览器上运行和使用。本系统使用的是开源免费的MySQL数据库,相比于其他的数据库,MySQL数据库语法简单,数据库设计人员可以尽可能快的对其学习和掌握,所以一直是中小型系统最优的数据库选择。MySQL数据库还具有占用系统内存少、功能齐全、响应速度快等特点,能够在极短时间内处理上千条信息记录,所以能够保证系统可以高效地运行和工作。综合上述内容分析可知,系统的实现在技术层面上是具备可行性的。
3.2.3操作可行性
如今,人们的日常生活已经离不开互联网的使用,在一定程度上,行业的信息化建设促进着社会的发展。人们通过使用手机上的应用程序,比如,通过使用电子商务系统,可以实现网上购物、在线支付等功能;通过使用国家官方网站,可以查看最新消息,申报个人业务;通过使用医院管理系统,可以进行网上预约挂号,在线查看体检报告等操作。在这些应用的背景下,本系统使用的是B/S开发结构模式,网站界面以人性化的设计为主,具有美观友好、交互性好等优点,用户不需要掌握一定的编程技术,直接通过对系统进行简单的功能操作,即可满足自己的使用需求。本系统还设计了一些提示信息,便于用户更好的理解系统相关功能,较快的以正确的操作方式来使用系统。综合上述内容分析可知,系统的实现在操作层面上是具备可行性的。
3.3业务分析
开放式实验室系统发的主要开发流程,首先是先对系统进行需求分析,确定系统所需要设计的主要功能模块,再通过功能模块编码和数据库设计等过程,对系统进行设计和实现,本系统的主要业务分析如图所示3-1所示。
图3-1系统的业务设计图
3.4功能分析
3.4.1登录流程
用户需要通过登录物流管理系统,输入正确的账号、密码,才能成功使用本系统,实现自己所需的功能操作,登录流程图如图3-2所示。
图3-2登录流程图
3.4.2注册流程
首次使用本系统的新用户,需要通过注册操作,再通过登录操作,才能成功使用系统功能模块,注册流程图如图3-3所示。
图3-3注册流程图
3.4.3添加信息流程
当添加系统所需要的数据信息时,需要输入正确、合法的字符格式,才能成功添加数据信息,添加信息流程图如图3-4所示。
图3-4添加信息流程图
3.4.4修改信息流程
当修改系统所需要的数据信息时,需要输入正确、合法的字符格式,才能成功修改数据信息,修改信息流程图如图3-5所示。
图3-5修改信息流程图
3.4.5删除信息流程
当删除系统所需要的数据信息时,选择需要删除的数据信息记录进行删除操作,添删除信息流程图如图3-6所示。
图3-6信息删除流程图
4系统设计
4.1系统的总体功能设计
通过结合系统分析阶段的相关内容,对系统的整体功能设计进行规划。由此可知,本系统的使用者主要可以被分为管理员角色和用户角色两类。其中,管理员角色主要的功能需求有用户信息管理、鲜花信息管理、鲜花订单管理等模块,用户角色主要的功能需求有系统登录、查询鲜花信息、查询鲜花订单信息等模块。本系统的总体功能设计如图4-1所示。
图4-1系统的总体功能设计
4.2数据库设计
4.2.1概念设计
在数据库设计阶段,本系统通过使用开源的、小型的MySQL数据库对系统相关的数据信息进行管理和维护[12]。数据库设计大致可以被分为概念设计和逻辑设计两个阶段。概念设计阶段是逻辑设计阶段的重要依据,同样的,逻辑设计阶段也是概念设计阶段的实现目标。概念设计阶段主要通过使用实体-联系图(E-R图)的方式,将现实世界中用户对系统的实际需求,转换成设计人员能够理解的抽象的数据库概念模型。本人通过设计E-R图,详细的对系统中的实体以及实体之间的联系进行了表达。各实体信息的E-R图如图4-2、图4-3、图4-4、图4-5、图4-6、图4-7、图4-8、图4-9、图4-10、图4-11所示,系统总体E-R图如图4-12所示。
4.2.2逻辑设计
逻辑设计阶段主要的工作是将概念设计中的E-R图,转换成方便系统进行存储和管理的二维表格形式[14]。这一阶段也可以被称为数据库的详细设计,其直接关系到系统功能模块的正常运行、数据信息的正常更新等。在设计过程中,需要充分考虑数据库的规范性和合理性,使得能够满足系统的功能和性能需求。本系统相关的数据表格设计内容如下所示。
表4-1管理员信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
表4-2用户信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | username | String | 账户 | 是 |
3 | password | String | 密码 | 是 |
4 | yonghu_name | String | 用户姓名 | 是 |
5 | yonghu_phone | String | 用户手机号 | 是 |
6 | yonghu_id_number | String | 用户身份证号 | 是 |
7 | yonghu_photo | String | 用户头像 | 是 |
8 | sex_types | Integer | 性别 | 是 |
9 | yonghu_email | String | 电子邮箱 | 是 |
10 | new_money | BigDecimal | 余额 | 是 |
11 | yonghu_sum_jifen | BigDecimal | 总积分 | 是 |
12 | yonghu_new_jifen | BigDecimal | 现积分 | 是 |
13 | huiyuandengji_types | Integer | 会员等级 | 是 |
14 | create_time | Date | 创建时间 | 是 |
表4-3鲜花信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | xianhua_name | String | 鲜花名称 | 是 |
3 | xianhua_photo | String | 鲜花照片 | 是 |
4 | xianhua_types | Integer | 鲜花类型 | 是 |
5 | xianhua_kucun_ number | Integer | 鲜花库存 | 是 |
6 | xianhua_price | Integer | 购买获得积分 | 是 |
7 | xianhua_old_money | BigDecimal | 鲜花原价 | 是 |
8 | xianhua_new_money | BigDecimal | 现价/积分 | 是 |
9 | xianhua_clicknum | Integer | 点击次数 | 是 |
10 | shangxia_types | Integer | 是否上架 | 是 |
11 | xianhua_delete | Integer | 逻辑删除 | 是 |
12 | xianhua_content | String | 鲜花简介 | 是 |
13 | create_time | Date | 创建时间 | 是 |
表4-4鲜花订单信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | xianhua_order_uuid_number | String | 订单号 | 是 |
3 | address_id | Integer | 收货地址 | 是 |
4 | xianhua_id | Integer | 鲜花 | 是 |
5 | yonghu_id | Integer | 用户 | 是 |
6 | buy_number | Integer | 购买数量 | 是 |
7 | xianhua_order_true_price | BigDecimal | 实付价格 | 是 |
8 | xianhua_order_types | Integer | 订单类型 | 是 |
9 | xianhua_order_payment_types | Integer | 支付类型 | 是 |
10 | xianhua_order_kuaididanhao | String | 快递单号 | 是 |
11 | insert_time | Date | 订单创建时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4-5鲜花收藏信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | xianhua_id | Integer | 鲜花 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | xianhua_collection_ types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4-6鲜花留言信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | xianhua_id | Integer | 鲜花 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | xianhua_liuyan_text | String | 留言内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 留言时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
表4-7鲜花评价信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | xianhua_id | Integer | 鲜花 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | xianhua_commentback_text | String | 评价内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 评价时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | yonghu_id | Integer | 所属用户 | 是 |
3 | xianhua_id | Integer | 鲜花 | 是 |
4 | buy_number | Integer | 购买数量 | 是 |
5 | create_time | Date | 添加时间 | 是 |
6 | update_time | Date | 更新时间 | 是 |
7 | insert_time | Date | 创建时间 | 是 |
表4-9论坛信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | forum_name | String | 帖子标题 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | laoshi_id | Integer | 老师 | 是 |
5 | users_id | Integer | 管理员 | 是 |
6 | forum_content | String | 发布内容 | 是 |
7 | super_ids | Integer | 父编号 | 是 |
8 | forum_types | Integer | 帖子类型 | 是 |
9 | forum_state_types | Integer | 帖子状态 | 是 |
10 | insert_time | Date | 发帖时间 | 是 |
11 | update_time | Date | 修改时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
表4-10公告信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | 编号 | 否 |
2 | gonggao_name | String | 公告名称 | 是 |
3 | gonggao_photo | String | 公告图片 | 是 |
4 | gonggao_types | Integer | 公告类型 | 是 |
5 | insert_time | Date | 公告发布时间 | 是 |
6 | gonggao_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
5系统实现
5.1个人中心
通过设计的个人中心管理功能模块,管理用户可以对相关的个人信息进行管理,比如管理用户可以更新个人账号的密码信息,修改个人账号的用户名信息等,修改密码界面设计如图5-1所示,个人信息界面设计如图5-2所示。
图5-1修改密码界面
图5-2个人信息界面
5.2用户管理
通过设计的用户管理功能模块,管理用户可以对相关的用户信息进行管理,比如管理用户可以查看用户头像信息,更新用户手机号码,删除已经注销的用户信息记录等,用户管理界面设计如图5-3所示。
图5-3用户管理界面
5.3基础数据管理
通过设计的基础数据管理功能模块,管理用户可以对相关的公告类型、会员等级类型、鲜花类型信息进行管理,比如管理用户可以添加新公告类型、会员等级类型、鲜花类型信息记录,更新告类型、会员等级类型、鲜花类型名称,删除失效的公告类型、会员等级类型、鲜花类型信息记录等,公告类型管理界面设计如图5-4所示,会员等级管理界面设计如图5-5所示,鲜花类型管理界面设计如图5-6所示。
图5-4公告类型管理界面
图5-5会员等级类型管理界面
图5-6鲜花类型管理界面
5.4论坛管理
通过设计的论坛管理功能模块,管理用户可以对相关的论坛信息进行管理,比如管理用户可以添加新论坛信息记录,更新帖子内容,删除失效的论坛信息记录等,论坛管理界面设计如图5-7所示。
图5-7论坛管理界面
5.5轮播图管理
通过设计的轮播图管理功能模块,管理用户可以对相关的轮播图信息进行管理,比如管理用户可以查看轮播图信息,删除失效的轮播图信息记录等,轮播图管理界面设计如图5-8所示。
图5-8轮播图管理界面
5.6公告信息管理
通过设计的公告信息管理功能模块,管理用户可以对相关的公告信息进行管理,比如管理用户可以查看详细的公告发布时间信息,删除失效的公告信息记录等,公告信息管理界面设计如图5-9所示。
图5-9公告信息管理界面
5.7鲜花管理
通过设计的鲜花管理功能模块,管理用户可以对相关的鲜花信息进行管理,比如管理用户可以查看鲜花库存信息,删除失效的鲜花信息记录等,鲜花管理界面设计如图5-10所示。
图5-10鲜花管理界面
5.8鲜花订单管理
通过设计的鲜花订单管理功能模块,管理用户可以对相关的鲜花订单信息进行管理,比如管理用户可以添加新鲜花订单信息记录,更新鲜花名称,删除失效的鲜花订单信息记录等,鲜花订单管理界面设计如图5-11所示。
图5-11鲜花订单管理界面
5.9鲜花收藏管理
通过设计的鲜花收藏管理功能模块,管理用户可以对相关的鲜花收藏信息进行管理,比如管理用户可以添加新鲜花收藏信息记录,更新鲜花类型,删除失效的鲜花收藏信息记录等,鲜花收藏管理界面设计如图5-12所示。
图5-12鲜花收藏管理界面
5.10鲜花留言管理
通过设计的鲜花留言管理功能模块,管理用户可以对相关的鲜花留言信息进行管理,比如管理用户可以添加新鲜花留言信息记录,更新留言内容,删除失效的鲜花留言信息记录等,鲜花留言管理界面设计如图5-13所示
图5-13鲜花留言管理界面
5.11鲜花评价管理
通过设计的鲜花评价管理功能模块,管理用户可以对相关的鲜花评价信息进行管理,比如管理用户可以添加新鲜花评价信息记录,更新评价内容,删除失效的鲜花评价信息记录等,鲜花评价管理界面设计如图5-14所示。
图5-14鲜花评价管理界面
6系统测试
6.1测试概述
系统测试主要是将系统的软件、硬件看成一个整体,对设计好的整个系统进行功能、性能等各方面的测试。系统测试阶段主要的任务是对照系统功能需求规划书,检验系统的设计是否符合要求。在测试的过程中,能够以极短的时间,测试出系统设计存在的漏洞,并尽快对其进行解决和处理,达到改进和完善系统的目的[14]。白盒测试和黑盒测试是常用的系统测试方法。白盒测试又被称为结构测试,其主要通过对系统的内部代码、结构进行测试,检测系统的代码结构、逻辑关系、数据结构等内容是否是合理的、有效的,对于某些设计不合理的代码,测试人员将形成相关的程序清单,并将其反馈给开发技术人员,再由相关人员对这部分功能代码进行一定的修改[15]。黑盒测试又被称为功能测试,其主要通过对系统的功能模块进行测试,检测系统的功能设计是否合理,功能操作能否正常实现。测试人员会记录某些设计不合理的,或者不能正常操作的功能模块,并将其撰写成相关的测试报告,反馈给开发技术人员,开发技术人员根据测试报告,对系统进行更新和完善[16]。除此之外,还有性能测试、单元测试、环境测试、安全测试等,本人主要使用功能测试对本系统进行检验,测试流程图如图6-1所示。
图6-1测试流程图
6.2管理员登录模块测试
管理员登录模块测试如表6-1,表6-2所示。
表6-1管理员登录模块测试表1
测试项目编号 | 001 | 测试项目名称 | 管理员登录模块 |
测试用例编号:001 | |||
(1) 输入:账号:admin 密码:222 | |||
(2) 输出:系统提示:“账户或密码不正确”。 | |||
(3) 步骤及操作:在浏览器中输入网站,点击管理员登录按钮,填写相关的登录内容 |
表6-1管理员登录模块测试表2
测试项目编号 | 002 | 测试项目名称 | 管理员登录模块 |
测试用例编号:002 | |||
(1) 输入:账号:admin 密码:admin | |||
(2) 输出:操作成功,页面自动跳转到主页 | |||
(3) 步骤及操作:在浏览器中输入网站,点击管理员登录按钮,填写相关的登录内容 |
6.3用户登录模块测试
用户登录模块测试如表6-3所示。
表6-3用户登录模块测试表
测试项目编号 | 003 | 测试项目名称 | 用户登录模块 |
测试用例编号:003 | |||
(1) 输入:账号:a1 密码:123456 | |||
(2) 输出:操作成功,页面自动跳转到主页 | |||
(3) 步骤及操作:在浏览器中输入网站,点击用户登录按钮,填写相关的登录内容 |
6.4鲜花管理模块测试
鲜花管理模块测试如表6-4所示。
表6-4鲜花管理模块测试表
测试项目编号 | 004 | 测试项目名称 | 鲜花管理模块 |
测试用例编号:004 | |||
(1) 输入:鲜花名称:鲜花名称1 | |||
(2) 输出:操作成功,页面自动跳转到鲜花管理相应的鲜花信息成功查询界面 | |||
(3) 步骤及操作:在浏览器中输入网站,点击鲜花管理按钮,输入鲜花名称信息,对相关鲜花信息进行查询 |
6.5测试结果
在不同的测试环境中,比如操作系统、浏览器等,从某种程度上来说,也影响者系统的测试结果。为了加强系统的适用性和稳定性,本人通过在windows10操作系统的计算机上,使用多种的浏览器,对系统进行了详细的功能测试。
本系统主要使用功能测试的方法进行测试,系统测试的结果表明,本人开发的基于Java Web的鲜花商城系统,虽然还存在着一些不足,比如页面不够美观,数据安全有待加强等,但是整体来说,能够满足鲜花商城的相关功能需求,并且有利于改进整个行业的服务模式,提高服务质量,提升管理水平。因此,本系统的设计与实现基本上是比较成功。
7总结与展望
本文首先通过介绍课题的研究背景、现状、方法等内容,解释系统的研发所具备实用价值和理论依据,并且便于初步地了解和认识系统。其次通过介绍系统的关键开发技术,在技术层面上,提高系统能够被成功实现的可能性,接着通过系统分析过程,分析系统的研发在现实生活中的需求情况以及运用可行性,再通过设计系统的功能模块、数据库表格等,详细的对系统功能进行设计,有利于更快更好的实现系统,最后通过对系统进行功能测试,测试所设计的系统能否满足用户的相关需求,并对相关的测试结果进行总结。
整体来说,本系统的设计是比较理想的,但是由于本人经验不够丰富,时间不够充裕,所设计的系统功能可能不够完备,页面可能不够美观,数据安全可能有待加强。本人将提高自己的专业技术水平,学习更加先进的计算机技术,并将其运用到系统的设计中,不断地对系统进行优化和完善,在未来设计出一款功能更强大、页面更美观、数据安全更高的系统软件,提高系统的实用价值,使其能够被到运用更多的应用场景中。
参考文献
[1]王金朔,孙延辉. 基于 SSM 和 Java 的网上订餐系统设计[J]. 信息通信,2018,000(010):99-100.
[2]欧楠.计算机软件开发中 Java 语言的应用分析[J]. 信息与电脑(理论版) , 2019 (04): 110-111.
[3]周劼翀.计算机软件开发中 Java 编程语言的应用研究[J]. 信息与电脑(理论
版), 2019(05): 131-132.
[4]马梓昂,贾克斌. 基于 Web 的高性能智能快递柜管理系统[J]. 计算机应用与软件,2020,37(4):1-5,47.
[5]吴晓珊,曹旭东等.基于 B/S 架构的管理系统软件开发[J].计算机测量与控
制,2019,27(02):123-128.
[6]张海宾.基于 C/S 架构客户端嵌入 B/S 架构系统的设计与实现[J].电子世 界,2017,4(17):125-126.
[7]王茹葳.Java编程语言在大数据开发中的应用[J].电子技术, 2022, 51(01):
160-161.
[8]乔岚. 基于MyBatis和Spring的JavaEE数据持久层的研究与应用[J]. 信息与电脑(理论版),2017,378(08):79-82
[9]孙辉中.JAVA编程语言在计算机软件开发中的应用[J].网络安全技术与应用,2022(01):49-50.
[10]郭冰. 基于MySQL数据库的索引优化研究[J].信息与电脑(理论 版),2019(12):154-156+163.
[11]田建勇.基于MVC架构的电子商务网站设计与实现[J].电脑知识与技术,2020,16(21):235-236.
[12]梁琰.MySQL 数据库在 PHP 网页中的动态应用研究[J]. 电脑知识与技 术,2019,15(09):7-8.
[13]陈年飞,王麒森,王志勃. MySQL 数据库中关于索引的研究[J]. 信息与电脑(理 论版),2019(05):175-176.
[14]张新华, 何永前. 软件测试方法概述[J]. 科技视界, 2012(4):125-125.
[15]王力文. 软件测试管理系统的研究与设计[D].上海交通大学,2017.
[16]施莹超. 计算机软件测试技术与开发应用探讨[J]. 信息与电脑 (理论版),2019,31(21):88-89+92.
致谢
时间过得非常的快,本人大学生活即将结束了。在整个的系统设计和论文撰写过程中,非常感谢我的导师,一直都在帮助我完成毕业任务。在导师的指导下,让我学习到了许多课本上学不到的知识,使得我成功地设计出了基于Java Web的鲜花商城系统,也顺利地撰写完了毕业论文。感谢我的同学和朋友们,当我实现系统功能模块时,我遇到了很多难以克服的问题,是我的同学和朋友们帮助我分析问题,寻找问题的最佳解决方案,而后得以成功地解决问题。感谢我的家人,一直不断地支持和鼓励我,为我提供了一个温暖的避风港,让我可以无忧无虑的在学校学习。感谢我的学校,为我们提供了一个师资力量雄厚、图书种类繁多的学习环境,让我们可以在一个良好的学习氛围中,学习到许多有价值的知识,可以使我扩充知识面,扩宽视野,积累专业知识,提高专业水平和能力。由此打下扎实的技术基础,在未来,有利于寻找更多的就业机会,更好的适应社会生活。
核心代码展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告通知成功").put("data", newsView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}