摘要
随着信息技术的发展,传统水果交易行业出现了交易效率低下、管理混乱、“有好果卖不出”等问题。断桥镇的水果交易还是依靠线下市场,时常有农户卖不出去果烂地里的现象,很难做到有效的供应链管理以及透明的价格体系。伴随着互联网、大数据等技术的使用,数字化平台的创建给传统行业转型赋予了新的生命,使传统行业迎来了新的转机。
本文给出并达成了一种依靠 Django 框架的水果交易网站体系,目标在于改善断桥镇水果交易的效率及透明程度。这个系统借助前端Vue.js技术以及后端开发框架Django,再加上MySQL数据库体系,很好的满足了用户、商家和管理员这三个角色各自的功能需求。用户可以投诉反馈,浏览商城资讯,查找商品信息并管理个人商城。商家能对商品和商城信息加以管控。而管理员则承担起用户管理、商家管理、投诉反馈等工作。此系统有效的解决了传统水果交易当中存在的信息延迟、经营混乱等问题,进而也优化了交易效率和市场透明度。通过该平台,断桥镇水果交易完成了从传统模式向数字化形式的转变,从而加强了市场竞争能力和用户感受。
关键词:水果交易;数字化平台; Django;Vue.js;MySQL
With the development of information technology, traditional fruit trading industries have faced issues such as low transaction efficiency, chaotic management, and the problem of "good fruits being unsellable". The fruit trading in Duanqiao Town still relies on offline markets, often leading to situations where farmers cannot sell their fruits and the fruits rot in the fields. It is difficult to achieve effective supply chain management and a transparent pricing system. With the application of technologies such as the Internet and big data, the creation of digital platforms has injected new life into the transformation of traditional industries, bringing new opportunities to traditional industries.
This paper presents and implements a fruit trading website system based on the Django framework, aiming to improve the efficiency and transparency of fruit trading in Duanqiao Town. The system leverages the front-end Vue.js technology, back-end Django framework, and MySQL database system to well meet the functional requirements of three roles: users, merchants, and administrators. Users can file complaints and feedback, browse mall information, search for product details, and manage their personal mall accounts. Merchants can control product and mall information. Administrators are responsible for user management, merchant management, complaint handling, and other tasks. This system effectively solves problems such as information delay and operational chaos in traditional fruit trading, thereby optimizing transaction efficiency and market transparency. Through this platform, the fruit trading in Duanqiao Town has completed the transformation from traditional models to digital forms, enhancing market competitiveness and user experience.
Key words:Fruit trading;Digital platform;Django;Vue.js;MySQ
目 录
1 绪 论
1.1 研究背景及研究意义
1.1.1 研究背景
断桥镇处于贵州省中部,其海拔较低,温度适宜,降水量高,气候宜人,有“水果之乡”之称。得益于得天独厚的地理优势和丰富的农业资源,成为当地水果生产的重点基地。随着人民生活水平的提升以及健康饮食观念的推广,水果成为人们日常生活中不可或缺的农产品。断桥镇的水果有良好的口感和天然的生产方式,逐渐受到周边城市以及外地消费者的好评。但是,断桥镇的水果交易依旧沿用传统的市场交易形式,大多依靠线下摊贩和顾客的面对面交易,造成交易效率低、信息不对称、价格波动大等情况。随着大数据、互联网的不断发展,线上交易平台成为消费者的主要购物方式,而断桥镇的水果销售并没有充分利用线上交易平台,导致水果不能及时卖出烂在地里,农户收入不理想。如何利用线上交易平台提高水果交易的效率,解决传统交易模式中的各种弊端是目前需要解决的问题。因此,设计一个适合断桥镇水果产业的交易平台,对提高断桥镇水果销售的效率、拓宽销售渠道、提高市场竞争力具有重要的意义。
1.1.2 研究意义
该系统的研究与应用,会很大程度上改善断桥镇传统水果交易存在的问题,提高交易效率,推进断桥镇水果产业走向现代化。运用数字化管理,平台可以降低如面对面交易时的操作错误概率,提升水果交易的准确性和效率。消费者可以通过平台迅速查看断桥镇的各种水果信息,享受方便快捷的在线支付和物流配送服务,免除传统市场中排队等候、价格不稳定、多量难以带走的麻烦。商家借助系统可得到销售数据和市场走向分析,精确调节产品供应,优化库存管理,削减经营费用等。更为关键之处在于,该平台会拓宽断桥镇水果的销路,突破地域方面的局限,从而令更多消费者品尝到断桥镇高品质的水果,而且也给断桥镇的农产品开拓出更为宽广的市场空间。借助这个系统,可以改善断桥镇水果交易的效率,优化消费者的购物感受,促使地方水果产业得到发展,带动农村经济走向繁荣。
1.2国内外研究现状
1.2.1 国内研究现状
近些年来,互联网+模式被推动之后,国内不少传统水果销售路径开始加快线上转型步伐。永辉超市依靠自身传统的零售业务根基,创造性地推出“永辉生活”应用程序,通过线上渠道来拓宽市场覆盖面。在配送环节,永辉整合了冷链物流技术。这个平台凭借先进的技术改进了消费者的购买体验,并且借助大数据分析改善了库存管理。
2024年,孙久猛与李雷[1] 在《校园水果销售微信小程序的设计与开发》一文中,提出了一种面向在校大学生的水果销售微信小程序,旨在解决南疆水果销售渠道少和学生购买力低的问题。借助微信开发者工具并结合云数据存储机制,他们成功构建了一款集在线购买和果树认领于一体的创新小程序。研究指出,该应用程序展现出优秀的兼容性,既适配于 iOS 也适用于 Android 操作系统,有效地为学生群体提供了一个便利的平台来采购新鲜水果。此研究对校园水果销售系统的创新设计具有重要意义,不仅改善了南疆水果的流通,也为校内学生群体提供了便捷的购物平台。2023年,禾本[2] 在《智利:在线平台助力水果销售》一文中,探讨了智利公司如何通过在线平台推动水果销售。该公司开发出两个在线平台,用以衔接新鲜农产品生产商和采购商,并解决运输难题。此研究具有重要意义,展示了通过数字化平台创新推动农业产业链的完善,并为国际水果销售提供了新的商业模式与合作机会。2022年,施宸昊[3] 在《基于 Django 的水果销售系统设计与实现》一文中,基于 Python 语言和 Django 框架,设计并实现了一个水果销售系统。研究表明,该系统具有简单易用的特点,能够有效支持水果销售的管理和服务。这项研究对于小型水果销售平台的开发具有重要的指导意义,尤其在提升管理效率和客户服务体验方面提供了宝贵的技术参考。
虽然国内水果电商平台发展得不错,但还是遇到不少麻烦。水果的时效性、保鲜问题还是阻碍行业发展的难题。消费者的需要变得多种多样,怎样在保证质量的情况下做到个性化服务,这也是很多平台要面对的难题。
1.2.2 国外研究现状
在国外,水果电商行业也经历着飞速的成长。全球范围内,亚马逊、沃尔玛、Instacart这些大型电商平台都将水果和生鲜产品纳入了在线销售业务当中。随着消费者对健康和方便购物需求的持续上升,水果电商渐渐成了全球零售业不可或缺的一部分。美国的Instacart就是一个典型的水果电商平台。它的运作方式主要是同本地超市和大型零售商展开合作,把它们的商品放到网上售卖。Instacart之所以取得成功,关键在于它拥有高效的配送体系和个性化的推荐算法。Instacart采用的依靠AI的需求预估模型可以精准地预估顾客会买哪些水果,做到个性化的推荐,进而优化顾客的购物频率,提升平台的销售额。
2023年,George Stalidis等人[4] 在《Recommendation Systems for e-Shopping: Review of Techniques for Retail and Sustainable Marketing》中深入分析了推荐系统(RS)在电商中的应用,特别是其在可持续营销方面的作用。研究发现,RS 不仅可以增加销售,还能推动环保产品的推广,并强化商家营销政策。该研究总结了目前 RS 技术的先进方法,并分析了如何通过个性化推荐提升用户体验和满足营销目标,促进用户的持续参与。研究意义在于,它为电商平台如何通过智能推荐系统提升客户满意度和推动可持续发展提供了重要的理论支持与实践指导。2022年,Ahmadi Javid Amir和Fathi Mohammadreza[5] 在《Design of multi-service systems with facilities functioning as open Jackson queueing networks: application to online shopping stores》中提出了一种多服务系统设计方法,应用于在线购物网站的排队网络模型。该研究运用 MINLP 与 MISOCP 模型,解决了购物网站服务设计中遇到的拥堵问题,并提供了切割平面法等多种精确求解方法。研究的意义在于通过数学建模和优化方法,提升了电商网站的运营效率,为网站管理者提供了系统性设计思路,特别是在多任务服务环境下如何合理配置资源。2020年,Xin Tong Li等人[6] 在《Examining customers' perception of electronic shopping mall's e-service quality》中研究了消费者对电子购物中心电子服务质量的感知。这项研究依靠结构方程模型(SEM)来剖析电商平台的服务质量,表明效率、信任、可靠度和隐私都是左右客户满意程度的重要因素。研究的意义在于通过定量分析,为电商平台的管理者提供了改善用户体验和提升客户忠诚度的实证依据。在日益竞争激烈的在线购物市场中,服务质量的提升对平台的长远发展具有重要影响。
虽然国外水果电商体系在技术更新、市场规模等方面收获颇丰,但也遭遇了一些难题。在欧洲市场,因为水果大多依靠进口,所以怎样保障水果的品质以及运送的时效性成了各个平台要解决的事情。怎样协调平台的供应链花费和消费者对价格的期待,这同样是国外水果电商平台碰上的难点。
2 相关技术介绍
2.1 B/S架构
B/S 架构属于现代网络架构模型,被广泛应用在 Web 应用程序的设计与开发上[7] 。在这种架构下,客户端一般是浏览器,用户通过浏览器和服务器展开互动。这种架构的好处是不必在每一个客户端上安装并维护软件,只要用浏览器就能访问应用程序[8] 。服务器端负责数据存储、业务逻辑的处理机制研究以及应用程序的更新维护,减小了维护成本。
2.2 Vue框架
Vue.js 是一个轻量级、渐进式的 JavaScript 框架,用于构建用户界面和单页应用程序[9] 。它的主要特点是响应式数据绑定和组件化开发,帮助开发者更好地管理应用的状态和视图。Vue是灵活的,开发者可以逐步地将 Vue 引入到项目中,适合小型项目或者逐步地将旧项目改造为Vue项目[10] 。,广泛应用于前端开发。
2.3 Django框架
Django 是开源的 Python Web 框架,它使用 MTV 架构,目的是让 Web 应用开发变得简单[11] 。它提供自动管理后台、强大的 ORM、内置用户认证、表单等功能,让开发者可以快速构建安全、可扩展的 Web 应用[12] 。Django 以简洁、快速的开发和丰富的文档成为开发者常用框架之一。
2.4 MySQL
MySQL 是一款流行的开源关系型数据库管理系统,被大量 Web 应用程序用来储存和管理数据[13] 。MySQL 属于高性能数据库之一,有着较强的数据管理能力。这个数据库包含许多特性,事务运作、外部关联、数据完整性和多用户并发访问等均在其列。MySQL 具备很强的可扩展性,能应对从小型项目到大型企业级应用的数据需求[14] 。MySQL 在安全性和可靠性方面表现出色,可以做到数据备份和恢复,保证数据的持久性。
3 需求分析
3.1 可行性分析
3.1.1 经济可行性
这个系统所采用的技术都是开源的,这削减了软件许可费用,比较合适预算较少的项目。其快速开发能力加上组件化设计,可以缩减开发时长,进而削减人力成本。所选用的关系型数据库有着较强的数据存储能力,可以应对大量数据,还能进一步缩减运作成本。凭借高效架构以及灵活可扩充性,系统可以顺应日后业务量的增长情况,保障投资获得长久收益。所以从经济角度看,此系统具备较好的可行性。
3.1.2 技术可行性
Django 属于成熟的 Python 后端框架,性能高且安全,适合处理复杂的业务逻辑。Vue 是轻量级的前端框架,可快速开发并高效渲染。MySQL 能给数据管理提供可靠的支撑,可以应对复杂的查询和大量的数据存储。整个架构简单,方便扩充和维护,体现出技术比较成熟。所以这个方案从技术角度来讲是可行的。
3.1.3 操作可行性
从操作上来说,该系统的用户界面友好,而且反应迅速,非技术人员也能轻易上手。这个系统的设计采取分层结构,这样利于实现模块化管理,减少维护难度。后台管理界面提供直观的操作功能,用户只需要轻轻一点就能完成日常任务。系统的日志管理与权限控制功能可以维持数据的安全性与完整性,给操作人员营造稳定的工作环境。所以从操作角度来说,该系统是可行的。
3.2 业务需求分析
所有的业务流程(用户、商家、管理员)都必须在进入登录系统以后,输入账号密码,系统后端收到信息之后开始验证,验证通过则登录成功,可进行相关的业务查询;若验证失败,就需要再次输入账号密码,直到登录成功方可查询相关业务。
3.2.1 通知公告业务流程
用户登录成功以后,可浏览通知公告页面,系统前端显示公告列表,并且向数据库查询公告信息,用户选取感兴趣的公告,进而查看公告的详细信息,用户查看完公告的详细信息以后,便可自行选择是否执行操作,倘若用户想要执行操作,系统前端就会把用户的请求发送给系统后端,系统后端再对这些请求信息加以处理,如果用户没有要执行的操作,系统前端就会返回公告列表,用户就可以继续浏览其他公告信息,直至结束整个查阅公告信息的过程。用户查看公告活动图如图3-1所示。

图3-1 用户查看公告活动图
3.2.2 商城资讯业务流程
用户登录成功后,就可以浏览商城资讯,此时系统前端会显示商城资讯,同时也会对数据库进行查询,获取相关的资讯信息,用户可以选择查看商城资讯、搜寻商城资讯、点赞、收藏资讯,如果用户选择查看商城资讯,系统前端就会从数据库中获取相应的资讯信息并进行展示;如果用户选择搜寻商城资讯,系统前端就会根据用户所写的关键词进行搜索,并将搜索到的结果进行展示;如果用户选择点赞或收藏资讯,系统前端就会将用户的点赞或收藏操作提交给系统后端,系统后端将这些信息存入数据库,这样用户就可以结束浏览商城资讯的过程。用户浏览商城资讯活动图如图3-2所示。

图3-2 用户浏览商城资讯活动图
3.2.3 商品信息业务流程
用户登录成功之后,能浏览商品信息页面,系统前端显示商品信息,而且从数据库当中查询商品信息,用户可以查看商品信息,搜索商品或者购买商品,若用户选取查看商品信息,系统前端就会表现商品的详细信息,若用户搜索商品,系统前端依照用户所键入的关键词执行搜索,然后表现搜索结果,若用户选取购买商品,系统前端会引领用户步入购买流程。用户在完成查看、 搜索或者购买商品之后,可以选择浏览其他的商品信息,也可以选择退出该系统,用户完成了一次完整的浏览商品信息的活动。用户浏览商品活动图如图3-3所示。

图3-3 用户浏览商品活动图
3.2.4 订单管理业务流程
用户登录成功之后,就可以进入到订单管理页面,这时系统前端就会显示出订单列表,从数据库中查询出订单信息,用户可以点击自己感兴趣的订单,就可以查看订单信息详情,当用户查看完订单信息详情之后,就可以进行以下操作:查看订单信息、取消/支付订单、删除订单。 如果用户选择查阅订单信息,那么系统前端就会显示订单的所有信息;如果用户选择取消/支付订单,系统前端就会把用户的支付或取消命令发给系统后端,后端执行这个请求,还要更新数据库;如果用户想删掉订单,系统前端就会把用户的删除命令发给系统后端,后端就会把订单信息从数据库中删除。用户管理订单活动图如图3-4所示。

图3-4 用户管理订单活动图
3.2.5 投诉反馈业务流程
用户成功登录后,就能进入投诉反馈页面,这时系统前端会显示投诉反馈页面,并提供诸如提交、搜索、查看投诉反馈信息等选项,当用户处在投诉反馈页面时,可以选择提交新的投诉反馈信息,这样系统前端就会把用户所投的信息传给系统后端,而后端会把这些信息存入数据库。 用户也可以选择搜索投诉反馈信息,系统前端会把用户的搜索请求发送给系统后端,后端会在数据库中搜索相关信息,然后回传给前端显示给用户看,用户也可以选择查看投诉反馈的详细情况,系统前端会把用户的查阅请求传递给系统后端,后端从数据库获取详细投诉信息后再传回前端显示。用户投诉反馈活动图如图3-5所示。

图3-5 用户投诉反馈活动图
3.2.6 商城管理业务流程
商家登录成功之后,可以浏览商城管理页面,可以查阅订单信息,系统前端显示了订单列表,还会从数据库里查询订单信息,商家选取想要处理的订单,就可以查阅订单详情,商家查阅订单信息之后,可以决定要不要执行订单配送,如果商家决定配送,那么系统前端就会把配送信息发送给系统后端,后端再把这些信息存入数据库;如果商家没有选配送,系统前端就会返回到订单列表界面。商家管理商城订单活动图如图3-6所示。

图3-6 商家管理商城订单活动图
3.2.7 商品管理业务流程
商家登录成功,便能对商品信息执行管理,此时系统前端就会显示出商品管理页面,而且从数据库中查询商品信息,商家可以自行选择是否增添新的商品信息,也可浏览并修改已有的商品信息,还可以删除不必要的商品信息。 商家对商品信息实施管理以后,可以选择保留修改,如果商家选择保留修改,系统前端就会把修改提交给系统后端,系统后端会把更新过的信息存进数据库,如果商家不选择保留修改,系统前端就会回到商品管理页面,商家可以继续管理其他商品信息。商家管理商品信息的活动图如图3-7所示。

图3-7 商家管理商品信息活动图
3.2.8 普通用户管理业务流程
管理员登录成功之后,就能够执行用户信息管理,系统前端表现用户管理页面,并且从数据库中查询用户信息,管理员可以选择增添新的用户信息,查阅或者更改已有的用户信息,也可以删掉用户信息。 管理员对用户信息实施管理,若管理员决定保存修改,那么系统前端就会把修改发送到系统后端,而后端会把更新过的信息存进数据库当中,倘若管理员未选保存修改,系统前端便回到用户管理页面,管理员就能接着去管理其他用户的资料。管理员管理用户信息的活动图如图3-8所示。

图3-8 管理员管理用户信息活动图
3.2.9 商家用户管理业务流程
管理员登录成功以后,就能够管理商家信息,这时系统前端会显示商家管理页面,并且从数据库中调取商家信息,管理员可以选取增加新的商家信息,查看或者更改已有的商家信息,也可以删除商家信息。管理员对商家信息实施管理之后,可以选择是否保存所做出的修改,倘若管理员选择保存修改,那么系统前端就会把所做的修改传递给系统后端,后端会把修改过的商家信息存入数据库,如果管理员没选保存修改,系统前端就会再次显示商家管理页面,管理员就能接着去管理其他商家的信息。管理员管理商家信息的活动图如图3-9所示。

图3-9 管理员管理商家信息的活动图
3.2.10 投诉反馈管理业务流程
管理员登录成功后,可以对投诉反馈信息进行管理,系统前端显示出投诉反馈管理页面,系统从数据库中查询投诉反馈信息,管理员可以选取查阅投诉反馈信息、回应投诉反馈信息及删除投诉反馈信息。 管理员对投诉反馈信息进行处理,管理员处理完投诉反馈信息之后可以保存更改,如果管理员保存了更改,系统前端就会把更改发送给系统后端,后端会把更新过的投诉反馈信息保存到数据库里,如果管理员没有保存更改,系统前端就会返回到投诉反馈管理页面,这样管理员就可以去处理其他的投诉反馈信息。管理员处理投诉反馈信息的活动图如图3-10所示。

图3-10 管理员管理投诉反馈活动图
3.2.11 通知公告管理业务流程
管理员登录成功以后,就能对通知公告信息展开管理,系统前端显示通知公告管理页面,并且从数据库查询通知公告信息,管理员可以选取增添新的公告信息,查阅或者更改现有的公告信息,也可以删掉公告信息。管理员对公告信息实施管理以后,可以决定保存所作的改变,如果管理员选定了保存改变,那么系统前端就会把改变递交到系统后端,后端就会把改变过的消息存入数据库之中,倘若管理员未选定保存改变,系统前端就会返回到通知公告管理页面,管理员就能够接着去管理别的公告信息。管理员管理通知公告信息的活动图如图3-11所示。

图3-11 管理员管理通知公告活动图
3.2.12 资讯管理业务流程
管理员成功登录系统之后,就可以对资讯信息实施管理,这时系统前端就会显示出资讯管理页面,而且还要从数据库中去查找资讯信息,管理员可以自己挑选增添新的资讯信息,也可以浏览或者修改已有的资讯信息,还可以删除资讯信息。 管理员对资讯信息执行管理操作之后,可选择是否保留修改,倘若管理员决定保留修改,那么系统前端就把修改交予系统后端,而后端就会把更新过的资讯信息存储到数据库当中,倘若管理员不保留修改,系统前端就会返回到资讯管理页面,此时管理员可继续去管理其他资讯信息。管理员管理资讯信息的活动图如图3-12所示。

图3-12 管理员管理资讯信息活动图
3.3 功能需求分析
3.3.1 用户功能
系统提供投诉反馈、通知公告、商城资讯、商品信息以及商城管理功能。用户可以通过投诉反馈功能对商品或者服务中出现的问题或者建议进行投诉。通知公告功能可以让用户看到商城发布的通知和公告。商城资讯功能可以显示商城最新的商品信息以及最新的行业动态。商品信息功能可以让用户看到商品的详细信息。商城管理功能可以让用户查看自己的购物车以及订单信息。用户功能用例图如图3-13所示。

图3-13 用户功能用例图
3.3.2 商家功能
商家利用商城管理功能去经营自己的店铺和商品。其商品管理功能能帮商家增添、删减和更改商品信息,而且可以对商品的价格、库存以及其他属性实施调整。商家还能通过商城管理功能来查看和处理用户的订单。商家功能用例图如图3-14所示。

图3-14 商家功能用例图
3.3.3 管理员功能
管理员通过登录功能步入到后台管理系统当中,普通用户管理功能可让管理员查看,更改以及删除普通用户的账户信息,商家用户管理功能可以让管理员能够对商家账户执行管理操作,从而保证商家信息的准确性,投诉反馈管理功能准许管理员查看用户所提交的投诉信息并予以处理,通知公告管理功能支持管理员发表,更改以及删除平台的通知与公告,资讯管理功能许可管理员管理商城的资讯内容。管理员功能用例图如图3-15所示。

图3-15 管理员功能用例图
4 系统设计
4.1 总体设计
根据系统分析,断桥镇水果交易网站后台管理端设计为登录、商品管理、投诉反馈管理、通知公告管理、资讯管理等,其中管理员可以对系统的所有模块进行管理。商家端设计的功能模块有商城管理、商品管理等。用户端设计的功能模块有投诉反馈、通知公告、商城资讯、商品信息等。整个系统的功能模块设计如图4-1所示。

图4-1 系统功能模块图
4.2 详细设计
由前面的系统分析可知,断桥镇水果交易网站中有七个主要的类对象:“用户”类,“商品分类”类,“地址”类,“购物车”类,“商品”类,“订单”类以及“商家用户”类,其中用户类同地址类,购物车类,商品类,订单类之间存在关联关系,商家用户类和商品类,订单类存在关联关系,购物车类与商品类存在关联关系,订单类又与地址类存在关联关系。创建好的完整类图如图4-2所示。

图4-2 系统类图
4.2.1 购买商品顺序图
顺序图是一种展现对象间交互动态的图表,按照时间顺序详细描述了对象间的通讯过程。鉴于篇幅,本文将重点阐述用户购买商品、投诉反馈和管理员管理订单三个用例的顺序图。
用户购买商品用例的工作流程如下:
(1)用户通过浏览器Browser登录系统。
(2)用户选择商品并下单,浏览器发送请求到购物车界面CartInterface。
(3)购物车界面CartInterface提交订单请求到控制器Controller。
(4)控制器Controller调用订单服务Service创建订单。
(5)订单服务Service调用数据库DataBase保存订单信息。
(6)数据库DataBase确认订单信息保存成功。
(7)订单服务Service返回订单详情给控制器Controller。
(8)控制器Controller请求支付服务Service进行支付处理。
(9)支付服务Service返回支付结果给控制器Controller。
(10)控制器Controller将支付结果返回给购物车界面CartInterface。
(11)购物车界面CartInterface显示订单和支付状态给用户。
根据基本流程,用户购买商品的顺序图如图4-3所示。

图4-3 用户购买商品顺序图
4.2.2 投诉反馈顺序图
用户投诉反馈的工作流程如下:
(1)用户在浏览器Browser中选择投诉反馈模块。
(2)用户在浏览器中输入反馈内容。
(3)浏览器提交反馈请求到消息界面MessageInterface。
(4)消息界面MessageInterface向控制器Controller提交反馈请求。
(5)控制器Controller调用消息服务MessageService新增反馈记录。
(6)消息服务MessageService将反馈信息保存到数据库DataBase中。
(7)数据库DataBase确认反馈保存成功,返回反馈保存结果给消息服务MessageService。
(8)消息服务MessageService返回反馈提交结果给控制器Controller。
(9)控制器Controller显示反馈信息给消息界面MessageInterface。
(10)如果反馈保存成功,消息界面MessageInterface显示新增反馈信息给用户。
(11)反馈保存失败时,MessageInterface显示当前反馈信息。
根据基本流程,用户投诉反馈的顺序图如图4-4所示。

图4-4 用户投诉反馈顺序图
4.2.3 管理订单顺序图
商家管理订单的工作流程如下:
(1)商家通过浏览器Browser登录系统。
(2)商家在订单管理界面OrderManagementInterface选择并更新订单状态。
(3)订单管理界面OrderManagementInterface提交订单更新请求到控制器Controller。
(4)控制器Controller请求订单服务OrderService更新订单状态。
(5)订单服务OrderService更新订单信息到数据库DataBase。
(6)数据库DataBase确认更新。
(7)订单服务OrderService返回更新结果给控制器Controller。
(8)控制器Controller根据更新结果返回成功信息到订单管理界面OrderManagementInterface。
(9)订单管理界面OrderManagementInterface显示订单更新成功结果给商家。
(10)如果更新失败,订单管理界面OrderManagementInterface显示更新失败结果给商家。
(11)商家查看订单更新结果。
根据基本流程,商家管理订单的顺序图如图4-5所示。

图4-5 商家管理订单顺序图
4.3 数据库设计
数据库设计是针对数据库的设计过程,通过对需求的分析来确定数据类型及数据的操作需求。用实体-关系图来表示数据的实体、属性和关系,形成概念模型[15] 。要将概念模型转化为数据库系统所认识的逻辑模型,就要确定表结构、字段、数据类型以及约束关系。
4.3.1 概念设计
概念设计是数据库设计的重要步骤。这时要确定关键的数据实体,给出属性,并表示出关系的种类,从而给数据库的逻辑设计和物理设计形成必要的根基。下面是系统的各个实体图和总体E-R图。
收货地址实体图如图4-6所示。

图4-6 收货地址实体图
购物车实体图如图4-7所示。

图4-7 购物车实体图
商品实体图如图4-8所示。

图4-8 商品实体图
商品分类实体图如图4-9所示。

图4-9 商品分类实体图
商家用户实体图如图4-10所示。

图4-10 商家用户实体图
订单实体图如图4-11所示。

图4-11 订单实体图
普通用户实体图如图4-12所示。

图4-12 普通用户实体图

图4-13 系统总体E-R图
4.3.2 逻辑设计
逻辑设计的主要任务就是把概念设计阶段的抽象模型变成数据库管理系统能够认识的结构。要确定表结构、字段名称、数据类型、主键以及外键等要素,从而形成数据的逻辑架构。逻辑设计清楚地规定了数据的存储形式及其关联规则,可以保证数据的一致性与完整性,还可以提升查询和管理的效率。接下来给出系统的数据库表设计。
收货地址表主要用于存放用户的收货地址相关信息。主要字段包括收货地址ID、姓名、手机等。收货地址表如表4-1所示。
表4-1 收货地址表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | address_id | int | 10 | 是 | 收货地址ID |
| 2 | name | varchar | 32 | 姓名 | |
| 3 | phone | varchar | 13 | 手机 | |
| 4 | postcode | varchar | 8 | 邮编 | |
| 5 | address | varchar | 255 | 地址 | |
| 6 | user_id | mediumint | 8 | 用户ID | |
| 7 | default | bit | 1 | 默认判断 |
购物车表重点用来记录用户加入购物车的商品相关信息。主要字段包括购物车ID、标题、图片、用户ID等。购物车表如表4-2所示。
表4-2 购物车表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | cart_id | int | 10 | 是 | 购物车ID |
| 2 | title | varchar | 64 | 标题 | |
| 3 | img | varchar | 255 | 图片 | |
| 4 | user_id | int | 10 | 用户ID | |
| 5 | state | int | 10 | 状态:使用中,已失效 | |
| 6 | price | double | 9,2 | 单价 | |
| 7 | price_ago | double | 9,2 | 原价 | |
| 8 | price_count | double | 11,2 | 总价 | |
| 9 | num | int | 10 | 数量 | |
| 10 | goods_id | mediumint | 8 | 商品ID | |
| 11 | type | varchar | 64 | 商品分类 | |
| 12 | description | varchar | 255 | 描述:用于产品规格描述 |
商品表主要用来储存平台所售商品的具体信息。主要字段包括商品ID、标题、封面图等。商品表如表4-3所示。
表4-3 商品表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | goods_id | mediumint | 8 | 是 | 商品ID |
| 2 | title | varchar | 125 | 标题 | |
| 3 | img | text | 封面图 | ||
| 4 | description | varchar | 255 | 描述:用于产品规格描述 | |
| 5 | price_ago | double | 8,2 | 原价 | |
| 6 | price | double | 8,2 | 卖价 | |
| 7 | sales | int | 10 | 销量 | |
| 8 | inventory | int | 10 | 商品库存 | |
| 9 | type | varchar | 64 | 商品分类 | |
| 10 | hits | int | 10 | 点击量 | |
| 11 | content | longtext | 正文:产品的主体内容 | ||
| 12 | img_1 | text | 主图1 | ||
| 13 | img_2 | text | 主图2 | ||
| 14 | img_3 | text | 主图3 | ||
| 15 | img_4 | text | 主图4 | ||
| 16 | img_5 | text | 主图5 | ||
| 17 | customize_field | text | 自定义字段 | ||
| 18 | source_table | varchar | 255 | 来源表 | |
| 19 | source_field | varchar | 255 | 来源字段 | |
| 20 | source_id | int | 10 | 来源ID | |
| 21 | user_id | int | 10 | 添加人 |
商品分类表用来记载商品的分类情况。主要字段包括商品分类ID、上级分类ID、商品名称等。商品分类表如表4-4所示。
表4-4 商品分类表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | type_id | int | 10 | 是 | 商品分类ID |
| 2 | father_id | smallint | 5 | 上级分类ID | |
| 3 | name | varchar | 255 | 商品名称 | |
| 4 | desc | varchar | 255 | 描述 | |
| 5 | icon | varchar | 255 | 图标 | |
| 6 | source_table | varchar | 255 | 来源表 | |
| 7 | source_field | varchar | 255 | 来源字段 |
商家用户表主要用于存放平台商家用户的有关信息。主要字段包括商家用户ID、店铺名称、商家姓名等。商家用户表如表4-5所示。
表4-5 商家用户表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | merchant_users_id | int | 10 | 是 | 商家用户ID |
| 2 | store_name | varchar | 64 | 店铺名称 | |
| 3 | merchant_name | varchar | 64 | 商家姓名 | |
| 4 | merchant_phone_number | varchar | 16 | 商家电话 | |
| 5 | store_address | varchar | 64 | 店铺地址 | |
| 6 | examine_state | varchar | 16 | 审核状态 | |
| 7 | user_id | int | 10 | 用户ID |
订单表主要用来存储用户的购物订单信息。主要字段包括订单ID、订单号、商品ID等。订单表如表4-6所示。
表4-6 订单表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | order_id | int | 10 | 是 | 订单ID |
| 2 | order_number | varchar | 64 | 订单号 | |
| 3 | goods_id | mediumint | 8 | 商品ID | |
| 4 | title | varchar | 255 | 商品标题 | |
| 5 | img | varchar | 255 | 商品图片 | |
| 6 | price | double | 10,2 | 价格 | |
| 7 | price_ago | double | 10,2 | 原价 | |
| 8 | num | int | 10 | 数量 | |
| 9 | price_count | double | 8,2 | 总价 | |
| 10 | norms | varchar | 255 | 规格 | |
| 11 | type | varchar | 64 | 商品分类 | |
| 12 | contact_name | varchar | 32 | 联系人姓名 | |
| 13 | contact_email | varchar | 125 | 联系人邮箱 | |
| 14 | contact_phone | varchar | 11 | 联系人手机 | |
| 15 | contact_address | varchar | 255 | 收件地址 | |
| 16 | postal_code | varchar | 9 | 邮政编码 | |
| 17 | user_id | int | 10 | 买家ID | |
| 18 | merchant_id | mediumint | 8 | 商家ID | |
| 19 | state | varchar | 16 | 订单状态 | |
| 20 | remark | text | 订单备注 | ||
| 21 | delivery_state | varchar | 16 | 发货状态 | |
| 22 | vip_discount | double | 11,2 | 折扣 |
普通用户表重点用来存放普通用户的个人信息。主要字段包括普通用户ID、用户姓名、用户性别、联系电话等。普通用户表如表4-7所示。
表4-7 普通用户表
| 序号 | 列名 | 数据类型 | 长度 | 主键 | 说明 |
| 1 | ordinary_users_id | int | 10 | 是 | 普通用户ID |
| 2 | user_name | varchar | 64 | 用户姓名 | |
| 3 | user_gender | varchar | 64 | 用户性别 | |
| 4 | contact_number | varchar | 16 | 联系电话 | |
| 5 | examine_state | varchar | 16 | 审核状态 | |
| 6 | user_id | int | 10 | 用户ID |
5 系统实现
5.1用户功能模块实现
5.1.1 通知公告
用户登录之后,点击首页上的“通知公告”入口,就会跳转到公告列表页面,该页面展示了最新的通知信息,用户能通过点击来查阅详细内容。若有多页公告,用户可通过翻页按钮切换不同页面进行查看。通知公告功能效果图如图5-1所示。

图5-1 通知公告功能效果图
5.1.2 商城资讯
用户点击进入“商城资讯”模块,进入资讯列表页面,系统展示最新的商品相关资讯。用户可以点击每条资讯标题查看详细内容,若对某一资讯感兴趣,可通过收藏功能将其保存到个人中心的收藏夹中。商城资讯功能效果图如图5-2所示。

图5-2 商城资讯功能效果图
5.1.3 商品信息
用户在首页或者商城信息模块当中浏览商品,点击商品图片或者名称就会跳转到商品详情页,用户能够查看商品的详细信息,如果符合购买需求就点击“加入购物车”按钮。商品信息功能效果图如图5-3所示。

图5-3 商品信息功能效果图
5.1.4 商城管理
用户进到商城管理页面之后,可以看到自己所买商品的信息,订单信息之类的情况,用户能够点击“付款”或者“取消订单”。商城管理功能效果图如图5-4所示。

图5-4 商城管理功能效果图
5.1.5 投诉反馈
用户进入系统后,点击页面上的“投诉反馈”按钮,进入反馈页面。用户能够在文本框里输入投诉相关的内容,填好以后,再点击“提交”按键,此时系统便会弹出反馈已提交成功的提示。用户可在个人中心查看投诉进度与处理结果。投诉反馈功能效果图如图5-5所示。

图5-5 投诉反馈功能效果图
5.2 商家功能模块实现
5.2.1 商城管理
商家登录系统后,点击“商城管理”进入管理页面。在此页面,商家可以查看自己商城的整体运营情况。商城管理功能效果图如图5-6所示。

图5-6 商城管理功能效果图
5.2.2 商品管理
商家点选“商品管理”板块,便会踏入商品目录页,该页面列有全部已公布的商品,商家可凭借检索栏找寻某件商品,点击“编辑”按键来更改商品信息,或者按下“删除”按键以清除那些不再售卖的商品,商家亦能通过“新增商品”按键,填入商品名称,种类,价钱,存货量等相关信息,从而推出新的商品。商品管理功能效果图如图5-7所示。

图5-7 商品管理功能效果图
5.3 管理员功能模块实现
5.2.1 普通用户管理
管理员登录到后台系统之后,点击“用户管理”模块,就能够看到全部已注册的普通用户,管理员可通过搜索框输入用户名来实施查找,若要对某个用户执行编辑或者删除操作,只需点击用户列表中的相应项即可。普通用户管理功能效果图如图5-8所示。

图5-8 普通用户管理功能效果图
5.2.2 商家用户管理
管理员于后台运作系统内点选“商家管理”,便会步入商家目录页,在此,管理员可查阅各个商家的信息,并对商家资质展开审核,点选“通过”或者“否决”按键即可执行审核操作。商家用户管理功能效果图如图5-9所示。

图5-9 商家用户管理功能效果图
5.2.3 投诉反馈管理
管理员点击后台的“投诉反馈管理”按钮,查看所有用户提交的投诉。管理员可以查看投诉内容,点击每条投诉记录进入详细页面,并根据情况进行处理或回复。投诉反馈管理功能效果图如图5-10所示。

图5-10 投诉反馈管理功能效果图
5.2.4 通知公告管理
管理员点选“资讯管理”之后,便会步入资讯管理界面,管理员可针对已有的资讯执行编辑,删除操作,也能发表新的资讯,并填入资讯的标题,内容及其相关标签。通知公告管理功能效果图如图5-11所示。

图5-11 通知公告管理功能效果图
5.2.5 资讯管理
管理员点击“资讯管理”后,进入资讯管理页面。管理员可以对现有资讯进行编辑、删除,或发布新资讯,填写资讯的标题、内容和相关标签。资讯管理功能效果图如图5-12所示。

图5-12 资讯管理功能效果图
6 系统测试
6.1 测试目的
软件测试的关键之处在于找出系统中的瑕疵,考察软件是否契合需求,进而保证软件的功能、性能和安全达标[16] 。测试过程可以及时察觉潜藏的问题,缩减软件投入使用之后发生故障的概率。而且,测试并不仅仅是关注系统的正常运作,还可以模仿异常情形,评判系统在各种环境和极限状况下的表现,提升软件的可靠性和稳定性。凭借积累下来的测试数据和经验,持续改善测试策略,改良开发流程,给以后的项目提供有用的参照。软件测试存在于开发的每一个阶段,成为保证产品质量和发布标准的重要支撑。
6.2 测试方法
测试方法用来评估并验证产品、软件或者系统,包含黑盒测试、白盒测试以及灰盒测试[17] 。黑盒测试着重于输入输出,白盒测试检查代码和内部结构,灰盒测试部分知晓内部结构。别的方法像自动化测试、手动测试、性能测试、安全测试等,也各自适用于不同情形。性能测试查看响应时间、稳定性,安全测试找出安全漏洞。选用恰当的测试方法有益于提升产品质量和可靠性。
6.3 测试内容
系统功能测试采用黑盒方法,详见用例表。
表6-1商品信息功能测试用例表
| 测试目的 | 验证商品信息是否正确展示 |
| 测试条件 | 用户已登录商城系统,商品信息已上传 |
| 测试步骤 | 1. 登录系统 2. 进入商品信息页面 3. 点击某个商品查看详情 |
| 预期效果 | 商品详情页展示商品信息,包括名称、价格、库存等 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-2 投诉反馈功能测试用例表
| 测试目的 | 验证投诉反馈功能是否正常 |
| 测试条件 | 用户已登录商城系统,用户有投诉权限 |
| 测试步骤 | 1. 登录系统 2. 进入投诉反馈页面 3. 填写并提交投诉反馈表单 |
| 预期效果 | 用户能够成功提交投诉,系统提示反馈已提交 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-3商城管理功能测试用例表
| 测试目的 | 验证商家商城管理功能是否正常 |
| 测试条件 | 商家已登录商城系统,具备商家权限 |
| 测试步骤 | 1. 商家登录系统 2. 进入商城管理页面 3. 查看、修改商城信息 |
| 预期效果 | 商家能够查看和修改商城信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-4 商品管理功能测试用例表
| 测试目的 | 验证商家商品管理功能是否正常 |
| 测试条件 | 商家已登录商城系统,具备商家权限,商品已上传 |
| 测试步骤 | 1. 商家登录系统 2. 进入商品管理页面 3. 增加、修改、删除商品信息 |
| 预期效果 | 商家能够管理商品信息,新增、修改、删除商品成功 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-5 普通用户管理功能测试用例表
| 测试目的 | 验证管理员是否能正常管理普通用户 |
| 测试条件 | 管理员已登录系统 |
| 测试步骤 | 1. 管理员登录系统 2. 进入普通用户管理页面 3. 查看、删除、禁用用户信息 |
| 预期效果 | 管理员能够查看、删除或禁用普通用户 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-6 商家用户管理功能测试用例表
| 测试目的 | 验证管理员是否能正常管理商家用户 |
| 测试条件 | 管理员已登录系统 |
| 测试步骤 | 1. 管理员登录系统 2. 进入商家用户管理页面 3. 查看、删除、禁用商家信息 |
| 预期效果 | 管理员能够查看、删除或禁用商家用户 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
6.4 测试结论
通过对系统里各个功能模块展开细致的测试,包含商品信息显示、投诉反馈、商城管理、商品管理、用户管理等重要功能,全部测试功能皆达成了预期成果。该系统在各个模块功能达成上有着较强的稳定度和可靠度,各项操作流程均能顺利完成,不存在显著的功能缺失或者操作阻碍,用户体验较好。虽然当下的测试成果较为乐观,但是要想保证系统在实际运作过程中的稳定度与安全度,还得继续执行边界条件测试、异常流程处置、安全测试以及性能测试才行。
7 总结
7.1 总结
在这次毕业设计项目当中,顺利完成了一个依靠 Django 的断桥镇水果交易网站,目标就是要处理传统水果交易存在的信息不能顺畅流动、交易不够透明以及经营效率低等情况。系统利用Django框架、MySQL数据库以及现代前端技术做到了水果交易信息的数字化经营,加强了交易期间的数据防护和用户信息安全。通过这些功能的达成,很大程度上改善了断桥镇水果交易的效率与透明度,有效地助力了本地农业经济向前迈进。
虽然已收获一些成果,但开发进程依然遭遇诸多困难。当下的技术架构符合基本需求,不过要应对交易量持续增多以及业务需求频繁变动的情况,或许会出现不够灵活之处。有些功能与界面设计尚需改良。就移动端而言,其用户体验上操作的流畅度与交互感还得进一步改善。而且,伴随网络攻击和数据泄漏危险增多,怎样保障平台的数据安全与用户隐私成了必须解决的关键问题。
7.2 展望
未来的研发会朝着如下这些方向去开展。从技术架构上来说,打算运用更有效的微服务架构,让系统变得更具延展性,也更稳定些。前端那边会再次改善移动端响应速度以及界面互动感受。数据安全层面,要探究出更缜密的加密算法以及安全策略。伴随人工智能以及大数据技术不停地向前推进,以后说不定还会考虑增添智能推荐或者数据分析这类功能,进而改进用户采购决策的速度,强化平台的运作能力以及在市场上的竞争优势。
参考文献
- 孙久猛,李雷.校园水果销售微信小程序的设计与开发[J].福建电脑,2024,40(10):72-77.
- 禾本.智利:在线平台助力水果销售[J].中国果业信息,2023,40(10):46.
- 施宸昊.基于Django的水果销售系统设计与实现[J].丽水学院学报,2022,44(02):16-19.
- Stalidis G ,Karaveli I ,Diamantaras K , et al.Recommendation Systems for e-Shopping: Review of Techniques for Retail and Sustainable Marketing[J].Sustainability,2023,15(23):
- Amir J A ,Mohammadreza F .Design of multi-service systems with facilities functioning as open Jackson queueing networks: application to online shopping stores[J].OR Spectrum,2022,44(4):1255-1286.
- Li T X ,Rahman A ,Connie G , et al.Examining customers' perception of electronic shopping mall's e-service quality[J].International Journal of Services, Economics and Management,2020,11(4):
- 赵惠. 基于B/S模式的实验室管理系统设计和实现 [J]. 中国新通信, 2023, 25 (21): 72-74.
- 田应权,尹瑞雪. 基于三层B/S模式的飞机结构损伤信息管理系统设计与实现 [J]. 机械工程师, 2023, (06): 36-39.
- 张冰心.Vue.js前端框架课程中的教师能动性探析[J].现代商贸工业,2024,(24):248-250.
- 钱锋,李文文.基于Vue.js的就业满意度评价设计与实现[J].安徽水利水电职业技术学院学报,2024,24(02):67-73.
- 杜泽楷.农产品电子商务网站的Django应用与开发[J].农业产业化,2024,(11):51-54.
- 兰琳琳.基于MySQL-Django-Vue的在线考试系统[J].电脑知识与技术,2024,20(33):51-54.
- 杨芬,宋晓燕.MySQL数据库应用的课程教学分析[J].电子技术,2023,52(10):180-181.
- 赵停停.基于MySQL数据库技术的Web动态网页设计研究[J].信息与电脑(理论版),2023,35(17):174-176.
- 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
- 童浩楠,车啸平,鲁凌云,等. 软件测试与质量保证课程思政教学探索与实践 [J]. 电脑与信息技术, 2024, 32 (02): 114-118.
- 刘娜.计算机软件的测试方法与应用[J].集成电路应用,2023,40(12):60-61.
致 谢
回首这段充满挑战与成长的旅程,我深知,正是许多人的无私支持与鼓励,才让我能够走到今天。怀着感恩的心情,我在此向所有在我生命中给予帮助与关怀的每一位致以诚挚的谢意。
我要特别感谢我的导师,您严谨的学术态度和对真理的执着追求深深激励了我无论是细致的指导,还是深刻的启示,都让我明白了探索未知的意义。感谢我的父母,您们的支持和付出为我提供了无尽的动力。正是您们的无私奉献,才使我能够毫无后顾之忧地追逐梦想,成就今天的自我。感谢我的朋友与同学们,你们一直以来的陪伴与鼓励,让我不断进步,让这段旅程不再孤单。
站在人生的新起点,我深知,这一切的成就离不开每一位曾为我点亮前行之路的人。是你们的陪伴,让我走得更加坚定,走得更有信心。无论未来的道路多么坎坷,我都将带着你们赋予我的勇气,勇敢面对。希望在未来的某一天,我能凭借自己的努力与成绩回报你们的厚爱。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
2536

被折叠的 条评论
为什么被折叠?



