基于web特产店销售管理系统的设计与实现(论文+源码)_kaic

news2024/11/18 21:44:38

 摘要
农业是我国国民经济的重要组成部分,随着信息化的普及,4G网络、光纤以及5G网络也日益完善,农业信息化的发展成为了必然。同时,由于本年疫情原因,导致农作物积压销售,甚至腐烂造成不必要的浪费,为了减少类似情况的发生,是设计和开发本系统的目的和意义。 交易平台将以Java语言作为主要语言进行开发,将JSP作为交易平台的前台设计技术,将B/S架构作为交易平台的逻辑架构,使用Eclipse工具作为Java语言的编写工具,通过使用MySQL及Navicat开发和管理本平台的数据库。
关键词:农产品交易;B/S架构;Java
目录
第一章 绪论
1.1 课题背景
1.2 国内外研究现状
1.2.1 国内研究现状
1.2.2 国外研究现状
1.3 课题内容
第二章 相关技术介绍
2.1 技术类介绍
2.1.1 Java语言介绍
2.1.2 JSP技术介绍
2.1.3 MySQL介绍
2.1.4 SSM介绍
2.1.5 黑盒测试技术介绍
2.2 工具类介绍
2.2.1 Navicat Premium工具介绍
2.2.2 Eclipse工具介绍
2.3 本章小结
第三章 需求分析
3.1 业务流程分析
3.2 功能性第三章 需求分析
3.2.1 管理者
3.2.2 消费者
3.2.3 经营者
3.3 非功能性第三章 需求分析
第四章 系统设计
4.1 平台设计要点
4.2 平台架构设计
4.3 平台总体设计
4.3.1 登录注册时序图
4.3.2 增删改个人信息时序图
4.3.3 消费者购物时序图
4.4 数据库设计
4.4.1 实体-联系图
4.4.2 数据表设计
第五章 系统实现
5.1 登录注册
5.2 个人信息
5.3 购物车
5.4 商品查看
5.5 商品订单
第六章 系统测试
6.1 测试环境
6.2 测试方法
6.3 功能测试
7 总结
参考文献
致谢
 
第一章 绪论
1.1 课题背景
随着经济全球化的到来,社会的发展,科技的进步,信息化浪潮已经推进到生活中的各个角落,也成为了世界各个国家推动其经济发展的重要手段,其中,农业信息化就是一部份。互联网渠道的产生和完善,能够有效的拓宽农产品营销渠道。
我国是一个农业大国,农业是我国的基础产业,是国民经济的重要根基,农产品资源丰富,品种繁多,分布广泛,但也因为这些特点,使得很多农户和经营者在农产品生产及销售上存在着信息不对称等诸多问题,农产品批发市场严重不适应新时代社会经济发展需要的滞后性状态。应建立完善的营销体系来提高流通效率。现阶段,
网络科技越来越发达,许多人的购物观念逐渐从线下购买转移到了线上购买,农产品也是这样,不能只满足于线下销售,而放弃线上销售这一广大的平台,如果没有一个合适的交易平台,经营者很难在线上打开销路,而消费者也很难在线上找到合适的购买农产品的平台。
由于今年的疫情爆发,使得许多农产品滞销、甚至腐烂在农田里,农产品交易平台能够提供额外的销售渠道,避免了农产品压仓、滞销、腐烂造成不必要的浪费。最终,通过农产品交易平台,消费者可以直接在平台上购买经营者上架的农产品,节省了线下挑选的时间,提高了效率;消费者可以迅速地了解该商铺有什么种类的商品,便于挑选心仪的农产品;对于经营农副产品行业的人,他们对原料的需求很大,可以随时随地从该平台挑选需求的资源,扩大了选择的空间;对于经营者,可以直接将要售卖的农产品上架到平台上,省去了直接运送到市场的时间。
1.2 国内外研究现状
1.2.1 国内研究现状
国内现阶段对农业信息化发展有很多研究,同时也研发了很多信息化系统,但是我国农业发展网络基础相对薄弱,网络覆盖面相对较少,农场主的素质相对较低。
受疫情影响,国内多地的农产品无法运出,农产品批发市场面临全面断货的风险。国内有很多地区的农产品销售点存在运输困难。北京昌平目前大约有上万斤草莓滞销。部分农场在收获日收获大量的农产品后,造成了仓库囤积,又由于疫情影响到了货物的配送,导致滞销。
1.2.2 国外研究现状
现阶段,美国已有2000多家农场,在疫情的影响下宣告破产。
现阶段,弗罗里达州有很多农场都有农产品堆积导致腐烂的现象发生,很多农场主将已腐烂的农产品销毁。
2010年至2017年,由于“走中国”项目和中波“16+1”平台的推动,中波两国农产品贸易大幅增长。
1.3 课题内容
整个农产品交易平台包括两个部分,一个是供PC端客户使用的网页端,一个是供管理员使用的后台管理网页端,在设计之前就需要对其需要做的系统进行确认,并且还需要对其系统的背景以及当前所存在的问题进行调查。在对整个系统进行确定之后,还需要对整个系统的开发以及需求进行分析,在本次论文之中所设计的线上教学系统而言,所使用的编程工具就是JAVA技术,然后使用数据库对其平台进行搭建以及开发,然后再使用该技术对其进行分析。如果确定好整个系统之后,首先就需要对其整个系统进行角色的划分,对于本次设计的线上教学系统而言,主要就可以划分为管理员以及用户这两个角色。主要功能有:
(1)登录注册方面,消费者、经营者、管理者登录到该平台,消费者可以注册农产品交易平台账号,而经营者、管理者账号是管理者通过农产品交易平台的后台创建的。
(2)个人信息方面,消费者、经营者、管理者可以查看个人信息,以及对个人详细信息的增删改查。
(3)订单方面,消费者可以查看订单,创建订单,新建自己的收货地址,取消下达的订单,以及申请退款;经营者可以修改订单,删除订单,审核退款订单,货物发送。
(4)商城系统方面,消费者能够查看、修改购物车内的农产品,查看、购买农产品,给购买过的农产品评价,经营者可以上架、下架农产品,编辑农产品信息。
(5)管理系统方面,管理者可以管理本平台经营者、消费者、管理者的身份信息。

第二章 相关技术介绍
主要介绍了开发农产品交易平台所用到的语言,Java语言;所用到的技术为Java+JSP结合生成的Web页面;以及使用Eclipse来编写Java;使用MySQL+Navicat来开发和管理本平台的数据库。
2.1技术类介绍
2.1.1Java语言介绍
Java在本平台中作为主要的编程语言使用,它是一门面向对象的程序设计语言。Java编程语言是以常规编程语言作为基础,进行重新开发形成的编程语言,能够依据多个不同电子计算机的系统内容,展开对多个平台的运用。
2.1.2JSP技术介绍
客户端首先对JSP页面进行请求,将待访问的.jsp文件转译为对应的.java文件,产生的源文件进行编译变成.class文件,执行完之后把响应传给客户端。如果当JSP获取到相关请求的时候,如果其引擎收到请求,就需要设计最新的JSP,这时候就需要去找出JSP的文档,然后还要检查其文档上是否出现被编译。如果该文件已经被编译,那么这时就会对其Servlet进行重新编译,然后再将其请求直接交给该引擎进行编译,程序中所使用的JAVA程序代码作用主要是对数据库进行增删改查,对Web网页进行定位,从而达到网站编辑的目的。用JSP开发出来的网站本身就会和JAVA客户端是比较相似的,这些都是需要在其服务器内部编写代码进行实现的,并且在其完成之后JSP就需要将其反馈到网页之中,而对于JAVA的程序而言,就是将其结果返回到独立的界面之中。
2.1.3MySQL介绍
MySQL功能稳定,性能卓越,且开源。MySQL属于关系型数据库,能够将数据保存在不同的表中,降低服务器的负载压力,使数据存储更轻便、灵活且易于操作。对于MySQL数据库而言,该数据库就是本次设计开发的过程之中非常重要的一个部分。并且对于当前的WEB与当前的MySQL使用之中而言,其管理系统具有很大的优势,我们一般都利用MySQL对其数据进行处理,然后再将这些数据进行保存,使用该数据库就会让整个系统的设计更加的灵活多变,并且还可以有效的使得整个系统能够更快的反应。而对于SQL语言来说,所以该数据库本身就有着很高的兼容能力。对其数据库的操作来说,主要就包括对其数据库进行增加、删除、修改等相关功能。
MySQL在进行数据处理时能够快速的响应数据变化,其使用起来简单,其可以针对不同的系统进行使用,在不同的平台之下,虽然有着一定的区别,但是在大致的情况下,其数据库本身差别并不是很大。对于本次设计之中,最后面运行代码的时候出现了被计算机积极拒绝的错误而导致无法连接,这就是由于在相应计算机上的数据库没有启动,导致程序无法运行,所以在运行程序之前还需要对其服务进行启动,然后其相应的客户端就可以连接到数据库之中,对于客户端而言,就可以直接使用命令或者是一定的图像界面登录到当前的数据库之中。
2.1.4SSM介绍
SSM主要包括Spring、SpringMVC、mybatis,通过view层、service层、dao层,降低平台的耦合度。
2.1.5黑盒测试技术介绍
黑盒测试,大体来说,就是模仿使用本平台的用户,在完全不了解代码的情况下使用本平台的功能,得到测试结果。软件测试也是一个较大的工程,应用最普遍测试两种,通常情况下,黑盒测试中应用的是划分方法,白盒中应用的是覆盖法,测试重要的一点就是将测试结果、过程以及反馈都记录清楚,在下次同样出现问题时,可直接知道系统出现的问题类型,便于系统开发人员的维护。测试是一长久的工作,需要进行反复的测试和修改,一直到测试结果符合测试标准,进而放心系统投入真正的使用。
2.2工具类介绍
2.2.1Navicat Premium工具介绍
Navicat Premium是一套数据库管理工具,Premium版是Navicat的高级版本,聚其他各版本的Navicat的功能为一体。
2.2.2Eclipse工具介绍
选用Eclipse的原因,首先是因为Eclipse是一个开源的工具,同时Eclipse是一个扩展性极高的Java开发软件,还支持很多的插件,时Eclipse在编写Java时具有很高的灵活性和简便性。
2.3本章小结
本章主要介绍了选取Java语言、选取JSP技术开发本平台的原因,还有使用MySQL与Nvicat管理开发数据库的原因,以及使用Eclipse作为开发工具的原因,最后是对本平台的测试方法‘黑盒测试’的介绍与黑盒测试的功能测试方法。此章能够使读者更好地理解开发本平台所使用的技术方法以及开发工具。本模块的安全测试主要是让测试人员通过非法的手段和方式入侵系统,观察系统是否能够被入侵,以及查看的系统的安全性。系统登陆安全测试。用户必须通过注册被授权之后,输入正确的账号密码的情况下登录系统,密码与用户名必须可以互相对应,输入错误三次将锁定账户。支付安全性。登录进入系统后,用户在支付过程中,保障支付密码的安全性以及保证支付速度的快捷性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/837444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s ingress获取客户端客户端真实IP

背景 在Kubernetes中,获取客户端真实IP地址是一个常见需求。这是因为在负载均衡架构中,原始请求的源IP地址会被替换成负载均衡器的IP地址。 获取客户端真实IP的需求背景包括以下几点: 安全性:基于客户端IP进行访问控制和认证授…

Java阶段五Day20

Java阶段五Day20 文章目录 Java阶段五Day20项目推进完成订单OrderServerService && MessageTransSenderRepositoryMessageTransRepoImplLocalTransactionLisetner 结算订单业务流程图远程调用 画时序图 项目推进 完成订单 通过分布式消息事务解决本地事务和发消息的一…

精选5个AI绘画工具,灵感与创意迸发!

伴随着AI技术的发展,AI绘画工具也走进了人们的视线,今天本文将为大家推荐5个最近火爆的AI绘画神器,一起来看看吧! 1、即时灵感 即时灵感是一个国产的AI绘画神器,非常受国内设计师的欢迎。它支持设计师使用中文描述词…

面向视频会议场景的 H.266/VVC 码率控制算法研究

文章目录 面向视频会议场景的 H.266/VVC 码率控制算法研究个人总结摘要为什么要码率控制码率控制的关键会议类视频码率控制研究背景视频会议系统研究现状目前基于 R-λ模型的码率控制算法的问题文章主要两大优化算法优化算法1:基于视频内容相关特征值的码率控制算法…

网安周报|CISA对梭鱼ESG攻击中使用的潜艇后门发出警告

1、CISA对梭鱼ESG攻击中使用的潜艇后门发出警告 美国网络安全与基础设施安全局(CISA)发布了一条针对恶意软件变体的警报,该变体被追踪为SUBMARINE Backdoor,用于利用该漏洞进行攻击 CVE-223-2868在Barracuda电子邮件安全网关&…

斯坦福大学提出在类别层级对多零件多关节三维拼装新方法

来源:投稿 作者:橡皮 编辑:学姐 paper:https://arxiv.org/pdf/2303.06163.pdf 背景: 形状装配通过排列一组简单或基本的零件几何图形来组成复杂的形状几何图形。许多重要的任务和应用都依赖于形状装配算法。 计算机…

redis初级

Redis 课程内容 Redis入门Redis数据类型Redis常用命令在Java中操作RedisRedis持久化机制 1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 **官网:**https://redis.io **中文网&…

推荐前端开发者提升效率的工具

是否掌握新的技术很大程度决定着你是否被淘汰。 虽然应用程序试图将网站替代,但前端 Web 开发业务仍在快速变化和增长,前端开发人员的功能并没有消失。以下介绍一款前端开发者提升效率的工具。 目录 一、低代码工具前景 二、如何理解低代码工具 三、前端…

直播预告|还在说做不出、改不好地图贴图?一次直播包教包会!

在EasyV中,地图组件通常会作为可视化大屏中的「主视觉」部分,用户通过地图组件的使用,可以极大程度上提高搭建的效率以及视觉效果。正因如此,我们的素材广场中大多模板也将「地图」作为核心部分,以此来方便用户快速套用…

203. 移除链表元素

203. 移除链表元素 题目方法1递归方法2迭代 题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 方法1递归 class Solution { public:ListNode* removeElements(ListNode* head, in…

IO进程线程day7(2023.8.4)

一、Xmind整理: 二、课上练习: 练习1:创建两个线程:其中一个线程拷贝前半部分,另一个线程拷贝后半部分。 只允许开一份资源,且用互斥锁方式实现。 提示:找临界区--->找临界资源。 #includ…

关于compose AndroidView更新及生命周期的监听。

有时候需要在compose中使用原生view体系,那么将会用到AndroidView这个控件。 从源码中可以看出有三个参数,factory就是要添加的view控件,在update中对控件进行更新。 以添加地图为例: 对地图进行更新及对生命周期的监听&#xff1…

探索Android应用架构模式:选择适合你的开发之路

探索Android应用架构模式:选择适合你的开发之路 通过这篇文章,读者将能够更好地理解不同的Android应用架构模式,为他们的项目选择最适合的架构模式,并在开发过程中更高效地构建稳健的应用程序。 引言 在今天的移动应用开发领域…

MongoDB 6.0.8 安装配置

一、前言 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 将数据存储为一个文档,数据结构由键值(key>value…

vue-cli3项目优化

首先添加两个量化的插件,方便对项目目前的情况进行分析: 1.添加speed-measure-webpack-plugin插件 —量化的指标可以看出前后对比 使用步骤: 安装speed-measure-webpack-plugin依赖 npm install speed-measure-webpack-plugin -D配置vue.c…

React安装ant design组件库,并使用

ant design是一个很棒的组件库,官方地址:快速上手 - Ant Design 但是如何在React里面用起来,好像并不是很顺畅,没有像Vue里面那么友好,因为我踩过这个坑,虽然安装很简单,但是想要出样式&#x…

【Spring】Spring中的设计模式

文章目录 责任链模式工厂模式适配器模式代理模式模版方法观察者模式构造器模式 责任链模式 Spring中的Aop的通知调用会使用责任链模式责任链模式介绍 角色:抽象处理者(Handler)具体处理者(ConcreteHandler1)客户类角…

ARM裸机-13(SDRAM和重定位relocate)

1、汇编写启动代码之关看门狗 1.1、什么是看门狗 看门狗(watch dog timer,看门狗定时器)。大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(例如说2小时一饿),够饿了会胡乱咬死人。人进进出出要想保证安全必须提前喂狗(必须在上次喂过后…

【夜深人静学习数据结构与算法 | 第十二篇】动态规划——背包问题

目录 前言: 01背包问题: 二维数组思路: 一维数组思路: 总结: 前言: 在前面我们学习动态规划理论知识的时候,我就讲过要介绍一下背包问题,那么今天我们就来讲解一下背包问题。 在这…

linux下性能分析工具Perf安装与用法

目录 1、Perf介绍 2、火焰图分类 (1)CPU (2)Memory Flame Graphs (3)Off-CPU Flame Graphs (4)Hot/Cold Flame Graphs (5)Differential 3、火焰图安装命令 …