同城学校二手交易平台设计与实现
摘 要
利用SpringBoot框架和相关Uni-app技术,设计和实现一个高效、可靠的同城学校二手交易平台。该系统将提供闲置、发布、求购等主要功能,旨在促进二手交易平台的便捷和透明化。本研究首先介绍了同城学校二手交易平台的研究背景和现状,包括同城学校二手交易平台需求的增加和传统方式存在的问题。接着,探讨了研究目的和预期成果,强调了提高同城学校二手交易平台效率、提供用户友好体验的重要性。同城学校二手交易平台是基于微信小程序与服务器架构平台,采用跨平台的Java语言开发,利用SpringBoot和Vue框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布,系统可在多个环境下运行。
本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对同城学校二手交易平台小程序的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现同城学校二手交易平台小程序和部署运行使用它。
关键词:二手交易平台;SpringBoot框架;MySQL数据库;微信小程序
Design and Implementation of a Pet Adoption Platform Based on WeChat Mini Program
Abstract
Design and implement an efficient and reliable second-hand trading platform for local schools using the SpringBoot framework and related Uni app technologies. The system will provide main functions such as idle, publishing, and purchasing, aiming to promote the convenience and transparency of second-hand trading platforms. This study first introduces the research background and current situation of second-hand trading platforms in local schools, including the increasing demand for second-hand trading platforms in local schools and the problems existing in traditional methods. Furthermore, the research objectives and expected outcomes were discussed, emphasizing the importance of improving the efficiency of second-hand trading platforms for local schools and providing a user-friendly experience. The second-hand trading platform of the same city school is based on WeChat mini program and server architecture platform, developed using cross platform Java language, using SpringBoot and Vue framework for logical control, MySQL database for data storage, and finally published by Tomcat server. The system can run in multiple environments.
This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. An analysis was conducted on the various requirements and technical issues of the local school second-hand trading platform mini program, demonstrating the necessity and technical feasibility of the system. Then, a basic introduction was made to the technical software and design ideas required for designing the system. Finally, the implementation and deployment of the local school second-hand trading platform mini program were carried out.
Key words:Second hand trading platform; SpringBoot framework; MySQL database; WeChat Mini Program
目 录
第1章 绪论
随着互联网的普及和电子商务的发展,二手交易平台逐渐成为人们处理闲置物品、节约资源的重要途径。然而,目前市场上的二手交易平台存在一些问题, 信息不透明,部分卖家发布的商品信息与实际情况不符,导致买家在购买过程中产生疑虑和不满。
为了解决上述问题,设计了一个同城学校二手交易平台。对卖家发布的商品信息进行严格审核,确保信息的真实性和准确性,提高双方的信任度。优化平台的界面设计、操作流程等,提高用户的使用体验。
二手平台的优势在于提供了一种环保节约的方式,使人们能够重新利用不再需要的物品,延长物品的使用寿命,减少浪费和环境污染,据艾媒咨询的调查数据显示,70.4%的中国网民在二手电商平台购物是因为商品价格便宜。二手平台可以满足人们不同的需求和兴趣。二手交易平台使得人们可以在家里就能购买或出售物品,省去了很多时间和精力。
二手平台将会为社会促进资源合理利用和减少浪费,鼓励人们将闲置物品出售或交换,使得资源得到更充分的利用,减少了浪费现象。同时也通过二手交易平台,人们可以更加关注绿色消费理念,从而在日常生活中更加注重环保。另一方面也间接增加就业机会,在平台上为创业者提供了一个全新的市场空间,帮助他们实现创业梦想。
1.1研究主要研究内容
基于微信小程序的同城学校二手交易平台的开发及实现,所研究的主要内容如下:
(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。
(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,基于微信小程序的同城学校二手交易平台的开发使用前后端分离的架构设计,SpringBoot和Vue的技术选型,采用微信开发者工具,MySQL数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。
(3)确定好系统使用的技术,进行确认系统所划分的用户触,并且根据用户触划分确定所要设计的功能模块,对基于微信小程序的同城学校二手交易平台的设计主要划分别为前台用户和管理员,并且所使用的功能模块也相应不同,但系统的数据库实现的内容是交互的,普通用户可以随时根据自己的需求进行闲置发布或者求购,对于管理员可以根据自己的权限进行在线信息的处理及操作。
(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,组通过测试来判断程序是否完善,对于系统测试,要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。
1.1.1论文结构
本文共分为七章,章节内容安排如下:
第一章:引言。主要介绍了课题研究的背景,国内目前相关研究现状以及本文的研究内容与主要工作。
第二章:相关技术介绍。主要对本系统使用的相关技术和开发工具进行介绍。
第三章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。
第四章:系统概要设计。主要对系统框架、系统功能模块、数据库进行功能设计。
第五章:系统实现。主要介绍了系统框架搭建、系统界面的实现。
第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。
第七章:总结与展望。
1.1.2研究方法及手段
1、调查研究法:通过问卷调查、访谈等方式,收集用户对同城学校二手交易平台的需求和期望。调查研究可以帮助了解用户的行为习惯、需求特点和偏好,从而指导系统功能设计和界面优化。
2、文献研究法:通过查阅相关领域的文献和研究成果,了解二手交易平台领域的最新研究动态和技术应用。这有助于掌握国内外关于同城学校二手交易平台的研究现状和发展趋势,为系统的设计提供参考和借鉴。
3、功能分析法:通过对同城学校二手交易平台小程序所需功能的分析,明确系统的核心功能和辅助功能。根据用户需求和市场调研结果,确定系统需要具备的功能模块。
4、经验总结法:在设计和实现过程中,结合开发者的经验和实践,总结出一些有效的方法和技巧。通过借鉴过往的开发经验,可以提高系统的开发效率和质量,并避免一些常见的错误和问题。
5、归纳总结法:在系统实现的过程中,不断进行归纳总结,总结出系统设计和开发中的关键问题、解决方案和经验教训。这有助于完善系统的设计和改进开发流程,提高系统的可维护性和扩展性。
1.2国内外现状
随着互联网的快速发展,校园闲置交易平台在大学校园内逐渐兴起。这种平台为大学生提供了一个便捷、安全的交易平台,让他们可以在校园内相互之间买卖闲置商品。本课题将综述国内外关于校园闲置二手交易平台的研究现状及发展趋势,以期为相关研究提供参考。
1.2.1国外研究现状
虽然全球各地区电子商务市场发展并不平衡,但总体呈现出美国、欧盟、亚洲“三足鼎立”的局面。电子商务起源于美国,同时美国也是目前电子商务发展最为成熟的国家一直引领世界电子商务的发展的风向标。虽然欧盟电子商务的发展起步比美国晚,但由于其发展速度较快,也成为了目前世界电子商务较为领先的地区。亚洲作为电子商务的后起之秀,同时也由于人口基数大,市场存在着很大的潜力但是目前的发展速度和在全球所占份额并不理想,因此是目前世界电子商务的持续发展地区。
在英法等这些欧洲国家,将近1/4的商务总额源于电子商务,在美国,比例高达1/3,甚至更多,早在19世纪的欧美国家就有人自发组织二手交易的集市,国外闲置物品交易发展较为成熟,典型的二手交易平台有,如: Amazon Student APP、Offer Up、Mercar等,并且善于将单一的闲置物品变成一种富有趣味性的交互过程,吸引用户持续使用,提高软件利用率。美国著名消费行为学家所罗门认为,改变消费者行为的许多生活方式都是由年轻消费者所推动的,学生网上购物和日常消费的能力不容小觑。
1.2.2国内研究现状
20世纪90年代,伴随着互联网的急剧扩张,从以前的旧货交易市场到现在的互联网二手交易平台,国内的电子商务初露头角,各类网上商店、商城、网上专卖店等迅速诞生,开始逐步发展到大中小城市,甚至乡村,从此迎来了网上购物新时代。21世纪初越来越多的电商平台发展,如:淘宝、京东、阿里巴巴等,极大的丰富了人们的购物方式,随后各类闲置物品交易平台也相继推出,如: 咸鱼、转转、58同城等,其中也包括校园类的移动应用。
我国的二手市场的发展已经有很多年,李绍伟,李红育,徐刚在《关于校园电子商务平台的设计与构建》期刊中阐述了校园电子商务的优势与不足,与如何开展校园电子商务。淘宝手机平台的用户调研报告现实,超过98%的人都有闲置物品,其中学生占据了绝大部分。校园电子商务的优势在于优良的网络环境,大学生是上网人群比重最高的群体,也是网民素质相对较高的群体。稳定的消费群体,大学生的消费水平高,也容易接受新生事物。闲置二手交易有巨大的市场,校园闲置交易同样也有巨大的市场,同时二手交易不仅推动了闲置物品的循环利用避免资源浪费,也避免了过多的二手商品造成环境污染。
但目前校园闲置物品交流信息不及时,对闲置物品的管理并不完善,只有少数学生进行交易,多数学生未能及时整理出闲置物品而错过交易时间,只能将闲置的物品继续闲置或丢弃,而有需求的学生却因找不到渠道而多花费购买全新的物品,导致存在严重的资源浪费,也为校园环境带来了负担。
对于校园闲置物品交易平台的设计与研究,是近年来互联网技术的迅速发展、电子商务的普及和促进文化生态资源再利用的历史条件下不容忽视的一个问题。在国内,校园闲置交易平台的研究主要集中在以下几个方面:平台的设计与功能、用户行为研究、平台的安全与信任问题、平台的发展与创新等。首先,一些研究者从技术角度研究了校园闲置交易平台的设计与功能,如何提高平台的易用性、效率和用户体验等。同时,也有研究者提出了基于用户需求的个性化推荐算法,将二手商品与用户的兴趣进行匹配,提高交易效率。其次,研究者还关注用户在平台上的行为,包括用户参与度、购买行为、信任行为等。例如,有研究发现,用户的信任行为对于平台的长期发展具有重要作用。还有一些研究者发现,通过闲置交易平台推广二手商品的使用,可以减少资源浪费和环境污染。
总体来说,目前国内外针对校园闲置交易平台的研究主要集中在平台的设计与功能、用户行为、安全与信任等方面。未来,还可以从用户心理学、社会学、经济学等多个角度深入研究校园二手交易平台,并结合新的技术手段,提出更多创新方法和解决方案,推动平台的进一步发展。未来的发展趋势是积极向着功能强化、可持续发展和融合新兴科技的方向发展。
第2章 相关技术介绍
2.1微信开发者工具
微信小程序开发者工具是一款用于开发、调试和发布微信小程序的开发工具,可支持 Windows、Mac Os、Linux 等多种操作系统。使用微信小程序开发者工具,开发者可以快速创建、编辑和发布小程序,并通过工具实时预览、调试和测试小程序代码,此外,开发者工具还提供了一系列调试工具和代码示例,帮助开发者快速理解和解决代码问题。
微信小程序开发者工具的主要功能:
1、小程序代码编辑器:提供高效的代码编写、代码高亮和代码补全功能,使开发者可以快速创建、编辑小程序代码。
2、调试工具:支持实时预览小程序,在调试过程中可以使用调试工具定位代码问题,并提供了一系列调试面板和工具帮助开发者解决问题。
3.代码示例库:提供了一系列小程序代码示例,帮助开发者快速理解和解决代码问题。
4.项目管理工具:支持项目管理、版本管理和代码重构,帮助开发者快速管理和迭代小程序。
微信小程序开发者工具的优势:
1、高效:微信小程序开发者工具提供了高效的开发环境和工具,帮助开发者快速创建、编辑和发布小程序。
2、稳定:微信小程序开发者工具基于微信小程序开发平台,具有高度的稳定性和兼容性,保证开发者可以无障碍地开发和发布小程序。
3、易用:微信小程序开发者工具提供了丰富的代码示例和调试工具,使开发者可以轻松理解和解决代码问题;4.免费:微信小程序开发者工具是完全免费的,不会产生任何费用。
2.2小程序框架以及目录结构介绍
这款微信小程序的设计旨在帮助用户快速、便捷地创建出一款拥有完全独特用户界面的应用。它由一套完善的框架结构组成,包括逻辑层、视觉层、操作界面、用户界面三大功能。其中,操作界面的功能主要集成于用户界面,操作界面的功能则集成到用户界面,用户界面的功能则集成到用户界面。框架的核心功能是一个快速的数据绑定机制,它能够轻松地将用户的行为和设计进行一致。它支持对用户行为进行实时的调整,并且能够根据用户的需求进行实时的变化[2]。此外,它还拥有一套完整的功能模块,包括具有微信风格的外观和独立的功能模块 ,使得用户能够轻松地构建一个功能强大的小程序。
2.3Java语言与JDK开发环境
Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[3]。
JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[4]。
2.4Vue主要功能
Vue(读音/vjuː/,相似于view)是一种具有高度灵活性的JavaScript架构,能够从基础到顶级,从低到高地实现多种功能,从而创造出一个完整的、高效的用户体验。Vue的核心库专注于视觉表示,它的操作简单,并且可以轻松地将其与其他第三方库和已存在的项目进行集成。此外,Vue可以通过搭配先进的工具和多样的支撑性库,来实现对复杂的网站(SPA)的高效管理。
Vue作为一种逐步改善的用户体验的框架,具备了独特的优势:首先,它的基础结构更加简单,而且可以轻松地被更多的人使用,而Vue的核心库则更加专注于视觉层,可以轻松地被更多的人使用,也可以被更多的库和现成的项目所使用。Vue 具备强大的功能,可以利用其内置的多个文档组件以及其强大的生态系统,来实现更加精简、高效的单页应用。
Vue.js 旨在通过最少的 API ,实现对数据的有效绑定,并将其转换为多种形式的视图组件。
Vue.js 虽然不是一个完美的框架,但它可以帮助我们更好地理解和实现复杂的页面应用。它的视图层特性使得它更容易学习,并且可以与其他库或已有项目进行整合,从而提高效率[5]。
2.5SpringBoot三大框架
Spring框架是一个由SpringBoot公司发布的开放式框架,旨在通过其可扩展的特性来支持多种不同的编码方式。尽管Spring框架不会影响任何特定的编码方式,但其出色的性价比和可扩展性,已经成为EJB(EnterpriseSpringBootBeans)框架的重要组成部分,并且一直得到越来越多的人的青睐。Spring框架不仅可以有效地支撑开发,而且还可以充分利用其独有的控制反转功能,以及支撑多种持久性技术,从而将托管对象的生命周期变得更加容易,并且可以支撑声明性的事务处理,还可以支撑多种Web框架,从而有效地推动开发。
Spring框架拥有强大的IOC功能,可以轻松地实现SpringBoot对象的调度与操作,从而更好地支持项目的运行。此外,Spring还支持将SpringBoot对象的生命周期进行可视化,以实现更加灵活的调度与操作。Spring框架提供了一种新的、高效的容器设计工具,它能够根据XML文件和AOP注解的指引,从多个源中提取和组织相应的参数,从而实现多种功能。此外,它还提供了一种面向服务的框架,它能够根据用户的需求,自动调整参数,从而提高系统的效率和性能。Spring框架的AOP框架具有强大的功能,可以满足各种复杂的需求[10]。尽管AspectJ框架的性能不及其他框架,但是Spring AOP的出色表现使其在各种应用场景中都具有出色的表现,例如:在事务处理、远程控制、网络安全、数据共享、文件共享、网络安全协议、网络安全协议。
SpringBoot的事务处理框架提供了一种灵活的方式,可以将不同的内容、不同的时间段、不同的类型的数据进行处理,并且可以将这些处理结果存储到一起。此外,Spring还提供了一系列的事务模型。Spring的事务框架提供了一种灵活的方式,它允许用户根据需要调整事务的类型,例如XML、SpringBoot等,同时还支持快速的消息传输、缓冲等特性,从而有效地帮助开发者处理日益增长的数据需求。这款应用程序拥有强大的功能,能够兼容各种常见的数据处理框架,包括SpringBoot、iBATS/MyBATIs、Hibernate、SpringBoot)数据对象(JDO)、Apache OJB、Apache Cayne等,并能够将其与Spring的事务处理功能相结合,从而实现更加高效的数据处理。SpringMVC最初的目的是要替代StrutsWeb框架,因此,开发者决定将其与传统的web页面框架进行改造,使其能更好地支持用户的访问。这样,SpringMVC就能更好地支持用户的需求,从而提高web页面的性能。
2.6MySQL数据库
MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[7][8]。
数据库管理系统的总体结构图如下图所示。
图2-1 数据库组成结构
第3章 系统分析
3.1可行性分析
在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。
3.1.1技术可行性分析
同城学校二手交易平台采用的是Java编程语言并于Spring Boot + Vue3 + Uniapp的模式,数据库部分采用的是当前流行的MySQL数据库,同城学校二手交易平台中的所有数据资源都存储在MySQL数据库中,本系统多处采用了Ajax的异步操作,Ajax技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。本系统的环境配置也较为简单,因此不需要我们在重新配置。
3.1.2经济可行性分析
同城学校二手交易平台是在Java和MySQL的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。同城学校二手交易平台其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。
3.1.3操作可行性分析
本系统是基于浏览器和服务器的同城学校二手交易平台,系统开发完成之后用户只需要在电脑上即可进行访问。本系统的页面简单明了,在没有操作指导的情况下也可以进行操作,无论是广告管理员还是用户在页面中所有的操作都是可以在浏览器完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。
3.2功能需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
3.2.1系统前端用户用例分析
同城学校二手交易平台的前台是普通用户进行操作的,主要实现用户对闲置物品信息的查看,注册登录以后实现出售个人的闲置物品信息和对想要的闲置物品进行求购。
前端普通用户模块用例图如图3-1所示。
图3-1前端普通用户模块用例图
3.2.2系统后端用例分析
后台分为两个角色:管理员和超级管理员,用户不能进入后台。超级管理员进入以后可以对管理员管理、用户管理、菜单管理、商品分类、商品管理、订单管理、广告管理、投诉管理等模块进行管理。
后台管理员用例图如图3-2所示。
图3-2后台管理员用例图
3.3非功能需求分析
基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。
表3-1 系统非功能需求表
安全性 | 只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。 |
可靠性 | 系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。 |
性能 | 响应时间尽量控制在1s之内 |
可扩展性 | 后台采用自顶向下的开发,利于开发与维护。 |
易用性 | 在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。 |
可维护性 | 前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。 |
3.4安全性需求分析
3.4.1系统的安全性
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于同城学校二手交易平台小程序来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
3.4.2数据的安全性
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
3.5数据开发流程分析
二手交易平台系统开发对管理模块和系统使用的数据库进行分析,编写代开发,规划和操作是构建信息管理应用程序的必要三步曲,它决定了系统是否能够真正实现预设功能以及是否可以在成功设计后实施。在开发过程中,每个阶段必须严格按照线性顺序进行开发,并且在相应阶段生成的每个工作都可以通过技术进行验证和检查。确保一个阶段完成后是正确的,不会造成下一阶段拖拽现象,使系统完成设计功能后得到保证。
从二手交易平台系统成功开发经验来看,上述方法效果最为明显,最大程度地降低了系统开发的复杂性。如图3-3所示。
图3-4 系统开发流程图
3.6性能需求分析
1、系统响应时间要求在正常范围内,尽量保证用户操作的流畅性。
2、系统要支持多用户同时操作,能够处理大量的并发请求。
3、系统的数据安全性要求高,能够保证数据的完整性和可靠性。
4、系统要具备较高的扩展性,方便根据实际需求进行功能的扩展和升级。
5、系统的界面设计要简洁美观,便于用户操作。
3.7系统开发环境
本研究将使用Spring Boot + Vue3 + Uniapp开发同城学校二手交易平台。开发环境为Java开发语言、MySQL关系数据库、Apache、Tomcat服务器等。系统开发环境如表3-5所示。
表3-5 系统开发环境
硬件环境 | 软件环境 |
CPU: 2.0G 以上 | 操作系统:Windows 7及 以上版本 |
内存:8GB 以上 | 开发语言:Java 使用框架:SpringBoot + Vue3 + Uniapp 开发工具:IDEA(2020版) |
硬盘:100MB以上 | 数据库管理工具:Navicat JDK版本:Java 1.8 |
显卡:图像级显卡以上 | 数据库:MySQL 5.6以上 |
第4章 系统设计
4.1 设计指导思想和原则
4.1.1指导思想
(1)简洁易用:该小程序的设计目标是方便用户发布商品、购买商品和管理订单。因此,界面设计和操作流程应尽可能简洁明了,让用户能快速完成目标操作。
(2)安全可靠:用户的个人信息、交易信息等需要得到保护。在数据库设计和实现中,要考虑数据安全性,使用合适的加密算法对关键信息进行加密存储,防止数据泄露。
(3)效率和性能:数据库表的设计要尽量合理,减少繁琐的关联查询。考虑到交易频繁,对于订单、购物车等表的查询和更新应该进行优化,以提高系统的响应速度和吞吐量。
(4)扩展性:该小程序具有一定的发展潜力,未来可能增加更多功能和模块。因此,在数据库表设计时,应考虑到系统的扩展性,确保新功能的快速添加和集成。。
4.1.2 软件设计原则
(1)单一职责原则:每个类、方法只负责一个单一的功能,保持代码的高内聚性,低耦合性。
(2)开放封闭原则:对于扩展是开放的,对于修改是封闭的。尽量使用抽象类、接口等机制,降低代码的修改性。
(3)替代原则:子类对象可以替换掉程序中父类对象的原则。
(4)依赖倒置原则:高层模块不依赖低层模块,而是通过抽象或接口进行通信的原则。
4.2系统架构设计
本同城学校二手交易平台的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如图4-1所示。
图4-1 系统架构图
4.3系统功能结构
同城学校二手交易平台总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
4.4数据库设计
4.4.1数据库概念设计
E-R图一般是由实体、实体的属性与联系三个要素组成的。在规划系统中所使用的数据库实体对象及实体E-R图,则需要通过对系统的需求分析、业务流程设计和系统功能结构来确定的。
总体E-R图如下图所示。
图4-3 系统ER图
4.4.2数据库表设计
用户表(User):包含用户的基本信息,如用户名、密码、手机号码等。
商品分类表(Category):包含商品的分类信息,如电子产品、服饰鞋包等。
商品表(Product):包含商品的详细信息,如名称、描述、价格、发布者等。
订单表(Order):包含订单的详细信息,如订单号、下单时间、购买者、商品等。
广告表(Advertisement):包含广告的详细信息,如广告图、显示时间等。
收货地址表(Address):包含用户的收货地址信息,如姓名、手机号码、详细地址等。
4.5系统控制流程
(1)用户注册登录流程: a. 用户打开小程序,点击注册按钮,进入注册页面。 b. 用户填写注册信息,包括用户名、密码、手机号、邮箱等。 c. 系统校验用户信息,如用户名是否重复、手机号是否已被注册等。 d. 注册成功后,用户自动登录系统,进入个人主页。
(2)商品发布流程: a. 用户登录成功后,进入个人主页。 b. 用户点击发布商品按钮,进入发布商品页面。 c. 用户填写商品信息,包括商品名称、商品描述、价格等。 d. 用户点击发布按钮,系统将商品信息保存到数据库商品表中。
(3)商品购买流程: a. 用户浏览商品列表,选择心仪的商品。 b. 用户点击商品,进入商品详情页面。 c. 用户填写购买数量、选择收货地址等信息。 d. 用户点击购买按钮,系统生成订单,并将订单信息保存到订单表中。 e. 用户完成支付后,系统更新订单状态,并给用户发送订单确认消息。
(4)订单管理流程: a. 用户登录成功后,进入个人主页。 b. 用户点击订单管理按钮,进入订单列表页面。 c. 用户可以查看、取消、评价订单等操作。
(5)交流流程:买卖双方可以通过平台的聊天功能进行交流和协商。
第5章 系统实现
5.1前端用户模块的实现
5.1.1用户首页模块
首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。前端首页如下图所示。
图5-1 首页界面
5.1.2用户注册模块
当用户点击右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。
用户注册流程图如下所示。
图5-2 用户注册流程
用户注册界面展示图如下所示。
图5-3 用户注册界面
注册关键代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
5.1.3用户登录模块
在登录界面中输入用户名+密码,然后选择相应的角色,点击“登录”按钮,系统会在用户数据库表中匹配相应用户的帐户,如果用户名+密码正确,则会登录到系统中每个用户的主管理界面,否则会提示相应的信息,如果是忘记了密码,请返回登录界面。
用户登录流程图如下所示。
图5-4登录流程图
系统登录界面如下所示。
图5-5系统登录界面
登录的逻辑代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
5.1.4个人资料模块
当您完成/注册操作,您就能够更新您的个人资料。您需要确保您的inputname值能够和您所属的实体类型的参数完全对应。当您更新您的个人资料时,您的账号密码应当保持完整,不能出现任何错误。您需要确保您的账号密码是唯一的,才能继续使用。
密码修改流程图如下所示。
图5-6密码修改流程图
个人资料修改界面如下所示。
图5-7个人资料修改界面图
5.1.5发布需求模块
前台用户点击小程序下方导航栏的“发布”按钮,进入到闲置或者求购需求发布页面,根据系统提示页面填写发布内容。发布需求界面如下图所示。
图5-8发布需求列表界面
5.1.6闲置模块
当用户点击二手交易平台系统中下方导航栏的“闲置”按钮后将会进入到闲置物品信息列表的界面,可以通过输入关键字或者选择商品分类,然后选择想要看的闲置信息,点击进入到详细界面,用户在详细界面可以电话咨询或者立即交易,也可以收藏或举报投诉该闲置信息。闲置列表界面如下图所示。
图5-9闲置列表界面
闲置物品详情界面如下图所示。
图5-10闲置物品详情界面
5.1.7求购模块
当用户点击二手交易平台系统中下方导航栏的“求购”按钮后将会进入到求购物品信息列表的界面,可以通过输入关键字或者选择商品分类,然后选择想要看的求购信息,点击进入到详细界面,用户在详细界面可以电话咨询,也可以收藏或举报投诉该求购信息。求购列表界面如下图所示。
图5-11求购列表界面
求购物品详情界面如下图所示。
图5-12求购物品详情界面
举报界面如下图所示。
图5-13举报界面
5.1.8我的模块
当用户点击同城学校二手交易平台导航栏“我的”后将会进入到该用户的个人最新管理界面,主要对我的闲置、我的求购、我的收藏、购买订单、出售订单、修改密码等信息模块的管理。我的界面如下图所示。
图5-14我的界面
5.2管理员子系统模块的实现
5.2.1用户管理模块
同城学校二手交易平台中的管理人员在“用户管理”这一菜单是中可以对注册的用户进行管控。用户管理界面如下图5-15所示。
图5-15用户管理界面图
添加用户关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
5.2.2菜单管理模块
管理员在“菜单管理”模块是可以对系统的后操作台菜单栏进行管理的。设置系统菜单管理界面如下所示。
图5-16 设置系统菜单栏管理界面
5.2.3商品管理模块
后台管理人员对同城学校二手交易平台内的不同商品分类下的商品信息进行维护和管理的。商品管理界面如下图所示。
图5-17 商品管理界面
5.2.4广告管理模块
管理员点击“广告管理”菜单可以对系统的轮播图进行管理,查看到系统中的所有轮播图信息,对已经存在的轮播图,管理员可以修改,也可以发布新的信息。广告管理界面如下所示。
图5-18 广告管理界面
第6章 系统测试
6.1测试目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
同城学校二手交易平台的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在同城学校二手交易平台正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2测试功能方案
在对同城学校二手交易平台进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让同城学校二手交易平台开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个同城学校二手交易平台开发所牵扯的该问题都必须一一解决,提高同城学校二手交易平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
登录模块 | 用户名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
登录模块 | 用户名:123 密码:admin | 弹出错误提示,提示用户名错误 | 弹出错误提示,提示用户名错误 | 通过 |
登录模块 | 用户名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
删除分类测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
删除分类模块 | 分类名:最新通知 | 删除成功、页面自动跳转 | 删除成功、页面自动跳转 | 通过 |
修改密码测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
6.4系统测试结果
经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。
第7章 总结与展望
在这个设计中,我花了大量的时间去理解系统开发中使用的知识,经过这段时间的努力工作最终完成了系统设计。通过这一阶段的学习,我发现了自己的不足,充分掌握了必要的应用技能,进一步的学习使我充实了自己的知识基础,完成了这个艰巨的任务。当遇到问题时,我很及时的寻求老师的帮助,通过专业的网站和论坛来解决,他们的帮助让我一步一步的成功克服了困难的问题。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。系统开发的一些功能还不完善,需要继续改善后,通过用户体验来修改设计完美的系统,让用户得到更好的体验,我觉得很高兴,因为这是我第一次通过自己的努力实现这个系统,但绝不是我的最后一个,在未来我将努力实现更多的优秀的系统。
在一些编程语言的系统实现中,对词汇表不太熟悉,导致了开发的困难,但是我通过了合适的字典软件来解决这个大问题。由此,我学会了自己的英语缺陷。在那之后,我不断地提高自己的英语知识,这样我就不会有任何未来的工作和生活。毕业设计过程我感觉很深刻,从一开始就不熟悉开发技术,一步一步的使用,接触到文献和信息,不难理解,系统是一次又一次的实现,系统本身对于在线学习是有用的。我从这个设计中获益良多,论文的编写需要有自己的意愿去实现一点,学习生活中所有的问题的勇气,学习的过程就是学习的过程。毕业设计,我学会了将理论知识应用于实践。让我知道该怎么做,我们必须认真对待。勇于克服困难,相信未来,我会做得更好。
参考文献
[1]余久久,张继山,吴宁等.基于Openstack云平台的校园二手物品交易系统的敏捷设计[J].通化师范学院学报,2024,45(02):76-81.DOI:10.13877/j.cnki.cn22-1284.2024.02.012.
[2]唐瑛.服务设计思维下校园二手书籍交易平台设计研究[J].大众文艺,2023,(23):13-15.DOI:10.20112/j.cnki.ISSN1007-5828.2023.23.005.
[3]范敬義,范俊杰,蔡月亮等.校园综合服务平台设计与实现[J].现代计算机,2023,29(23):101-105.
[4]殷梅雨,肖月,周慧珍.基于“互联网+”的校园二手交易平台发展对策研究[J].现代商贸工业,2023,44(23):23-25.DOI:10.19311/j.cnki.1672-3198.2023.23.008.
[5]Truckah, the Leading Used Truck Trading Platform in the Middle East, to Launch in 90 Days[J].M2 Presswire,2023,
[6]崔臣,宋甲旭.基于SpringBoot的校园二手交易系统研究[J].无线互联科技,2023,20(18):31-34.
[7]Wei G ,Jing L ,Xiaoru Y , et al.Dynamic decisions between sellers and consumers in online second-hand trading platforms: Evidence from C2C transactions[J].Transportation Research Part E,2023,177
[8]孙浩天,朱乔裕,乔雨.基于微信小程序的校园互助平台设计[J].电子制作,2023,31(11):72-74.DOI:10.16589/j.cnki.cn11-3571/tn.2023.11.009.
[9]李顺,康雄杰.当前经济背景下校园二手交易平台的构建——以邵阳学院为例[J].财富时代,2023,(05):88-90.
[10]Zhou X ,Miyauchi R ,Inoue Y .Sustainable Fashion Product Innovation: Continuous Value of Apparel Products on Second-Hand Product Trading Platforms[J].Sustainability,2023,15(10):
[11]林梦瑶,武光华,田爽等.基于二手书交易平台校园纸质垃圾回收利用研究[J].再生资源与循环经济,2023,16(02):25-27.
[12]于凯,李苏,杨婷婷等.电子商务环境下大学生二手物品交易平台发展研究[J].老字号品牌营销,2023,(03):89-91.
[13]曹振兴,刘亚娇,邹敏等.绿色校园背景下的校园二手交易平台[J].数字通信世界,2023,(01):75-77.
[14]高耀,许诺,李博等.基于Web的新型校园二手交易平台实践研究——以“校易集市”为例[J].中国商论,2023,(01):130-132.DOI:10.19699/j.cnki.issn2096-0298.2023.01.130.
[15]李馨雅,吴茂琳,许婕益等.互联网下大学生二手交易平台的物流网络优化研究[J].中国储运,2023,(01):197-198.DOI:10.16301/j.cnki.cn12-1204/f.2023.01.115.
[16]张柱,宋存进,蒋乐等.基于微信小程序校园二手交易平台设计与开发[J].电脑编程技巧与维护,2022,(12):59-61+142.DOI:10.16184/j.cnki.comprg.2022.12.035.
[17]张翼飞,郭宇斌,高斌梁.关于大学生App的开发与现实意义——以校园二手交易平台“拾物”App为例[J].老字号品牌营销,2022,(22):88-90.
[18]陈怡婧,郑晓溪,李芳.基于微信云开发的校园二手交易平台小程序的设计与实现[J].电脑知识与技术,2022,18(32):51-54.DOI:10.14004/j.cnki.ckt.2022.1964.
[19]陈冰.基于SpringBoot的校园二手商品交易系统的设计与实现[D].华中师范大学,2021.DOI:10.27159/d.cnki.ghzsu.2021.003139.
[20]Zeng X ,Zhou Y ,Chen X .Study on the System Design of Campus Resource Sharing Platform[J].E3S Web of Conferences,2021,23502038-.
致谢
眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!
我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。
感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见。
标签:毕设,界面,模块,C#,系统,平台,二手交易,用户,毕业设计 From: https://blog.csdn.net/vx_BS81330/article/details/143907357免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-