【计算机毕设文章】助农扶贫微信小程序

设计题目:沈阳工业大学助农扶贫微信小程序的设计与实现

摘 要
由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软件都转向微信小程序。本次课题就运用了微信小程序技术开发一个沈阳工业大学助农扶贫微信小程序。
本次使用数据库工具MySQL以及微信开发者工具开发的沈阳工业大学助农扶贫微信小程序,可以实现目标用户群需要的功能,其中管理员管理注册农户以及注册用户的信息,统计订单,管理商品,商品评价,商品退货等信息。农户管理销售的商品,对订单商品进行发货,管理配送订单,管理商品评价,审核商品退货信息。用户收藏商品,购买商品,支付订单,申请商品退货,评价订单商品。
总之,沈阳工业大学助农扶贫微信小程序可以更加方便用户购买农户销售的商品,也让农户方便管理销售的商品,管理商品订单以及订单配送信息,该平台不仅能够帮助农户销售农产品,还能增加农户的收入。

关键词:沈阳工业大学助农扶贫微信小程序;订单;商品;退货

Abstract
Due to the high cost of APP software development and operation, and the user’s mobile phone needs to install various APP software, it takes up too much mobile phone storage space of the user, causing the user’s mobile phone to run slowly, the experience is relatively poor, and the user will uninstall Non-essential APPs force managers to change their operating strategies. With the emergence of WeChat mini-programs, the pain point that users cannot access content from non-independent APPs has been solved, so many APP software have turned to WeChat mini-programs. This project used WeChat applet technology to develop a Shenyang University of Technology WeChat applet for helping farmers and poverty alleviation.
This time, the Shenyang University of Technology’s WeChat applet for helping farmers and poverty alleviation developed using the database tool MySQL and the WeChat developer tool can achieve the functions required by the target user group. The administrator manages the information of registered farmers and registered users, counts orders, and manages products. Product reviews, product returns and other information. Farmers manage the products they sell, ship orders, manage delivery orders, manage product evaluations, and review product return information. Users collect products, purchase products, pay for orders, apply for product returns, and evaluate order products.
In short, the WeChat mini program of Shenyang University of Technology can help farmers purchase products sold by farmers more conveniently, and also allow farmers to manage the products sold, manage product orders and order delivery information. The platform can not only help farmers sell agricultural products, but also increase Income of farmers.
Key Words:Shenyang University of Technology WeChat Mini Program for Poverty Alleviation; Order; Commodity; Return

目 录
第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 JSP技术 3
2.2 MySQL数据库 3
2.3 Java语言 4
2.4 SSM框架 4
2.5 微信开发者工具 5
2.6 B/S架构 5
2.7 Tomcat 介绍 5
2.8 MyEclipse开发工具 6
第三章 系统分析 7
3.1可行性分析 7
3.1.1运行可行性分析 7
3.1.2经济可行性分析 7
3.1.3技术可行性分析 7
3.2系统流程分析 8
3.3 系统性能分析 11
3.3.1系统安全性 11
3.3.2系统可扩展性 11
3.3.3系统易维护性 11
3.4系统功能分析 12
第四章 系统设计 16
4.1布局设计原则 16
4.2功能模块设计 17
4.3数据库设计 19
4.3.1数据库E-R图 19
4.3.2 数据库表结构 22
第五章 系统实现 27
5.1 管理员功能实现 27
5.1.1 农户管理 27
5.1.2 用户管理 27
5.1.3 订单统计 28
5.2 农户功能实现 29
5.2.1 商品信息管理 29
5.2.2 订单信息管理 29
5.2.3 订单配送管理 30
5.2.4 商品评价管理 30
5.2.5 商品退货管理 31
5.3 用户功能实现 31
5.3.1 商品信息 31
5.3.2 订单信息 32
5.3.3 商品评价 33
5.3.4 商品退货 34
第六章 系统测试 36
6.1 测试的任务  36
6.2 测试的目标  36
6.3 测试方案  36
6.4 系统功能测试 38
6.4.1 在线支付功能测试 38
6.4.2 收藏商品功能测试 40
6.5 测试的结果 42
结 论 43
参考文献 44
致 谢 45

第一章 绪论
1.1 研究背景
随着移动互联形式的不断发展,各行各业都在摸索移动互联对本行业的改变,不断的尝试开发出适合于本行业或者本公司的APP。但是这样一来用户的手机上就需要安装各种软件,但是APP作为一个只为某个公司服务的一个软件,是一种闭环的生态,从用户获取和保持用户的粘性都变成了一个难题,并且在维护上面也需要考虑成本,慢慢的变成了不开发APP跟不上潮流,开发APP则运营上面步履维艰。如何获取一个新的客户来源通道以及转换通道,变成了管理者都需要面对的一个问题。如何让一个用户从已经习惯的应用里跳转到希望用户访问的应用里,这是一个问题,而微信小程序就解决了这样的难题。微信拥有庞大的用户基础,可以不用更换APP直接在微信上就可以访问用户想要访问的资源。因此微信小程序相对于APP来讲更受欢迎,本次课题就运用了微信小程序技术开发一个沈阳工业大学助农扶贫微信小程序。
1.2 研究意义
背靠微信庞大用户群体的微信小程序,变成了当前解决用户访问应用程序入口方案的一种选择,用户的手机里面只要有微信,不需要安装新的软件,就可以直接访问指定目标,获取指定内容,解决了管理者的痛点,并且微信作为一个聊天工具,在微信里有支持的各种各样的生活服务,也为微信的用户提供了粘性,微信小程序不管是针对用户或者管理者都是一个双赢的存在。目前,传统电商及零售行业因为小程序的出现而获得了新生。本次课题针对农户销售农产品,借助于微信小程序这样的平台,可以更加方便用户购买农户销售的商品,也让农户方便管理销售的商品,管理商品订单以及订单配送信息,该平台不仅能够帮助农户销售农产品,还能增加农户的收入。
1.3 研究内容
本文对沈阳工业大学助农扶贫微信小程序的描述,将按照如下章节进行。
第一章:根据前期的调研,和对参考资料的分析总结,明确系统研究背景意义;
第二章:通过对当前开发技术的分析,选定开发本系统的开发语言和工具;
第三章:在用户需求的基础上,结合相似系统的功能,分析并确定本系统的功能,分析本系统开发可行性问题;
第四章:在第三章的基础上,进一步细分系统功能,要设计出系统各个模块的功能,同时,对配套数据库进行设计;
第五章:在第四章基础上,要运用编程技术,全面实现沈阳工业大学助农扶贫微信小程序的功能;
第六章:检测制作的沈阳工业大学助农扶贫微信小程序功能是否运行正常,性能是否达标;

第二章 开发环境与技术
沈阳工业大学助农扶贫微信小程序作为一款应用软件,其开发是需要搭建的一定的编程环境,对使用的工具和技术都有相应要求,接下来就介绍本系统中运用到的工具和技术。
2.1 JSP技术
JSP技术是有一定的规则的,首先JSP里可以用Java语言写在标记内,可以混合HTML语言以及XHTML语言代码进行混合编辑,并且进行书写Java语句或者用其他标签,用标签的话都需要用特殊的符号进行描述,编写Java语言的代码需要用特殊符号标记起来,用<%作为开始,中间书写Java语句,以%>作为结束标签,必须是有开头和结尾的,不然会编译出错的,必须是成对出现也必须有闭合的。JSP可以处理表单数据,因为JSP也算是一种Servlet,也可以把数据提交给Servlet处理也是可以的。其实对用户来讲,实现动态数据的网页就可以了,但是后台也是需要对数据进行一些加工的,JSP技术正好也是可以做到数据加工的。JSP可以直接通过JDBC来操作数据库,对数据进行页面展示,也可以记录用户的访问的信息和选择信息等,并且可以使用JavaBean组件,还可以通过Session在不同的网页上传递信息和共享相关的信息。动态网页有很多规范和标准,比如CGI规范或者ISAPI规范这些。标准是固定的,但是JSP技术是比CGI规范更加强壮。比如JSP性能对比上超过CGI,更优秀,原因是因为可以在一个JSP文件里嵌入很多元素,如果元素一样多的话,用CGI就变成了需要很多文件,而受制于硬盘读写效率的影响,用时少就是优秀,能耗少就是强劲。JSP是完整的应用平台Java EE 中不可缺少的一部分。
2.2 MySQL数据库
自从学习了关系型数据库的语法之后,也逐渐的了解了一些属于关系型数据库范畴的几个常见的数据库。比如Oracle数据库和MySQL数据库,以及Microsoft SQL Server数据库和DB2数据库这几种。在这几个关系型数据库之中,对MySQL数据库印象最好。首先MySQL数据库有各种平台的服务器版本,这样就能实现跨平台运行以及移植。其次,MySQL数据库可以进行网络连接,这样可以对本地账户和应用程序账户进行有效的区分,这样在数据库的安全性上面也有很好的保证。再次,MySQL数据库在中小数据量的运行效率上面比其他数据库占用服务器资源最少,所以很多企业都选择了MySQL数据库作为首选。在开发上面,各种图形界面管理工具也是层出不穷,并且还比较好用,从各个方面综合考虑对比的情况下,选择了MySQL数据库作为应用程序所选的数据库软件。
2.3 Java语言
Java语言发展有25年多了,在互联网行业经过这么多年的发展,还依然在市场的占有率上有半壁江山,依然受到很多程序员的喜爱,好多从业人员进行学习,随着互联网从业人员的增加,并没有降低Java语言的江湖地位,算是一个常青藤。Java语言学习很简单,当然这是针对于前辈C++来讲的,C++语言相当的强悍。Java取消了很多C++特征,比如go to这些语句,还有取消了主文件,让所有的文件都是类,类里都是数组和各种对象,还让Java自己处理各种对象的引用和回收,让开发人员只需要创建对象,使用对象,编辑代码逻辑,不需要关注性能方面,让数据的各种存储交给Java自己处理,可以花更多的时间研究应用程序之间的关系,让开发变得更专注,就像赛车的驾驶员一样,只需要了解各种车辆的性能,并且进行操作,不需要研究轱辘如何制造,这样让程序开发更加的细化。
2.4 SSM框架
SSM框架是三个框架的合称,分别是Spring框架和SpringMVC框架以及MyBatis框架。三个框架随着时间的发展,越来越变成了当今Java语言的开发主流,帮助程序开发人员专注于业务逻辑以及配置相关操作,能自动生成的都支持自动生成,避免了很多耦合性出错,通过控制反转和依赖注入,让程序开发变成配置文件开发,简单明了,让创建的Java对象都能通过自身来进行创建。面向切面的操作让程序开发也变成了部门协同,公共事务都交给了SpringAOP来操作,让程序开发变得更加专注。MyBatis越来越智能,可以用配置文件和SQL语句混合开发,可以像操作Java语言一样操作数据库。
2.5 微信开发者工具
微信web开发者工具是国内腾讯公司开发的专门用来开发微信小程序的一个工具。开发过程中如果是项目团队开发,可以设置多个开发和测试成员,管理员可以在小程序管理后台添加成员并且设置所需的权限。微信web开发者工具可以开发小程序项目以及微信公众号网页项目,小程序项目如果不部署到服务器上只做开发测试的话,AppID可以点击测试生成,否则需要在微信公众平台上申请微信公共号和微信小程序。用微信web开发者工具可以对程序与页面,组件和API进行调用,发布之前可以生成好几个小程序版本,并可以在后台查看运营相关数据。微信开发者工具是微信小程序开发的必备利器!
2.6 B/S架构
B/S架构是软件行业针对C/S架构来进行区分的,用来描述浏览器与服务器之间的一种架构模式。一般选择B/S架构最主要的原因就是方便维护,当程序开发的时候,可以在本地进行测试,一般的集成开发环境都自带的有开发和一键部署,本地浏览器可以及时的看到效果,测试人员有专门的服务器,只需要部署上去即可,如果中间有问题都可以进行整改的。应用程序升级,只需要后台维护代码即可,客户方面还是用之前的浏览器进行访问,所以客户端方面是很方便的。现在市面上基本上所有的操作系统平台只要是有视窗模式的,除了命令行操作界面的窗口之外,在视窗模式都是可以安装浏览器的,所以任何带视窗模式的电脑操作系统自带的浏览器或者是其他厂家的浏览器,或者是移动端的浏览器,都可以进行访问服务器的。访问服务器占用客户端资源是很少,而且不容易出错,哪怕客户端这边出现大的问题,只需要重装系统然后再安装上浏览器即可。在程序功能和客户体验上面,选择B/S架构进行应用程序开发,是很适合当今社会的主流发展趋势的。
2.7 Tomcat 介绍
刚开始学习Java语言的时候,是不知道还有Tomcat这些东西的,各种语法各种输出在控制台进行输出结果,当Java网站开发的时候就不可避免的学习到了Tomcat服务器。Tomcat准确的来讲不算是服务器,可以说是JSP引擎或者一个容器,这些都是学术上或者原理上都比较贴切的,但是实际工作中Tomcat就是作为一个web服务器来用的,因为可以实现网站的发布和运行。因为工作原理的原因,Tomcat一般作为中小型企业和并发量并不突出的一种轻量级的服务器存在的,比如某些行业的应用系统,本身客户端就不多,需要的连接也不多,一般都用Tomcat的。Tomcat里面可以配置多个网站,配置文件后缀是config的文档,类似于XML的结构,比较清晰明了。每当Java发布新的版本的时候,Tomcat也会为了匹配Java的版本进行升级,目前Tomcat版本已经到版本10了。Tomcat标识是一只有点发黄的小猫咪,当Tomcat配置成功一般测试的时候能看到这个小猫咪就算是成功的,才能进行下一步的配置。Tomcat服务器在Java网站开发中还是挺合适的。
2.8 MyEclipse开发工具
MyEclipse是功能最全面的Java IDE。Java语言发展至今,已经与好多语言相互配合,并且各种语法都不一样,实现的效果不一样,造成现在的程序开发人员需要学习很多种语言,出现问题就解决问题,这是各种新的工具产生的一些动力。刚开始的Java需要自己安装开发环境和运行环境,然后手动新建文本,一句话一句话的进行编写,这样的功底需要极其的扎实,效率也是相当的低下,所以各种文本编辑工具就开始像雨后春笋一样的冒了出来,经过互联网的传播,大家使用后经过口碑,自然优胜略汰,大浪淘沙,到现在为止MyEclipse开发工具已经牢牢地占据了Java开发的半壁江山。MyEclipse的立足就是为了企业人员用的,企业开发讲究效率,不可能让所有的开发人员来了从电脑安装软件先开始,配置环境又需要花费太久的时间,MyEclipse就解决了这样的烦恼,只要安装了软件,各种Java程序都可以进行开发,可以对各种语法自动的进行检测,有效的提示细节处错误,并且可以在写作上面让对一些整段代码的移动复制都很便利,应用部署也是一键到位。

第三章 系统分析
通常,对于系统的开发并不是一朝一夕就可以完成的,它需要经历很多的步骤,其中系统分析就是其中的一个,接下来还会有系统的设计和实现,最后一个步骤是系统测试。
3.1可行性分析
一个系统能不能完成开发,以及该系统是否可以带来收益等,都是需要提前分析的。而可行性研究就是分析这些问题,并得出结论,这个环节对项目是否开展起着重要作用。
3.1.1运行可行性分析
首先本系统的运行环境都是当前使用率比较高的软件,通过网络可以下载安装,其次本系统对于运行设备的要求比较低,一般的运行设备都可以运行。
3.1.2经济可行性分析
任何一个项目在开发前,其在经济上的可行性问题是值得研究的,本项目沈阳工业大学助农扶贫微信小程序,其在数据的处理上要求比较简单,并且其管理的数据量比较小,因此,该项目的开发周期并不会耽误很长时间,项目的开发需要支出的费用也不高。加上该项目需要管理的数据量较少,对于性能条件一般的计算机都可以满足项目的开发要求,从后期管理成本上来看,需要投入该项目的管理费用也不高。但是该项目一旦投入使用,会给使用者带来一定的收益,也能节省信息管理成本,如此,这样一个低成本投入,但能够带来大量收益的项目沈阳工业大学助农扶贫微信小程序在经济上是可行的。
3.1.3技术可行性分析
互联网的发展非常迅速,跟互联网挂钩的程序也逐渐被广泛关注,尤其是当下被大众熟知的SSM框架结构的程序,加上小程序技术的发展与成熟,如今可以很快速的使用模块化的代码开发一个基于微信小程序的项目程序。
通过系统运行,经济和技术上的可行性分析,对沈阳工业大学助农扶贫微信小程序的开发确实具有必要性,让管理的信息都系统化,可以缩短在数据处理上消耗的时间,提高工作效率。
3.2系统流程分析
本系统在完成数据的处理时,其内部都设置了相应的处理流程,比如注册时,数据的最终去向以及对每项数据的判断等,这些都是提前进行了分析的,然后在编码时,把这种判断逻辑写入了系统中。让系统在面对同样的事务处理需求时,执行对应的逻辑处理规则。
目前很多的系统除了管理员的登录信息是编码时提前写入的信息,其他的用户的资料大多都是通过注册把资料写入系统中,让数据库中保存已注册用户的资料。注册功能其对应的流程如下。只有每项必填数据都符合要求,用户的资料才会被数据库保存。

图3.1用户注册流程图
在本系统的数据库中,所有用户的资料都会单独保存在一张数据表里面,也就意味着这张用户数据表里面的用户名和密码都是可以进行本系统的登录功能的,其登录流程如下。用户提交的登录信息都是必填项,不能漏掉,数据格式和内容都要准确才可以进入功能操作区。

图3.2 用户登录流程图
本系统中保存的数据都是具有参考价值的,所以在录入数据时,要确保数据的准确性,其录入数据的流程见下图。这些数据都是经过检验合格之后才会被数据库保存。

图3.3 信息添加流程图
3.3 系统性能分析
在进行系统分析期间,有一个很重要的环节,就是需要对系统的性能进行分析。可以说系统的性能跟系统的质量是成正比关系,也就是说系统性能也好,系统质量越可靠,系统性能不好,就代表着系统的质量不行,也就意味着系统在实际中的使用中,会出现中途崩溃,或者系统的数据容易泄露等风险。所以,提前进行系统性能的分析,就可以在系统设计实现中,避免出现上述风险问题。
描述系统性能的特征有可扩展性,易维护性,安全性等。
3.3.1系统安全性
一个系统是否安全,直接影响用户的使用。系统安全体现在数据上的保密性。通常,很多系统都设置了登录功能,或针对游客设置的注册功能等,无论是登录中需要使用的账号密码,还是用户注册产生的私密数据等都是系统中的宝贵资源,一旦数据泄露,一些非法人员就会从中谋取利益,或通过用户注册留下的电话骚扰用户,给用户带来身心上的伤害。所以一般针对此类关键数据,通常会直接进行加密保存。让数据始终保持安全状态。
3.3.2系统可扩展性
面对当前用户的使用需求设计的系统并不一定适用于未来。所以需要使用前瞻性的眼光来看待系统,提前预留好空间,方便在今后对系统进行升级,或者扩充系统功能。因此,系统需要具备可扩展性的特性。
3.3.3系统易维护性
系统在保持长时间使用中,难免会出现一些问题。所以在处理这些问题时,可能会对系统进行部分改动。而系统改动的难易程度就体现出系统是否具备易维护性,通常一个易于维护的系统,在面对系统改动时,将会很容易,而且也会节省时间和资金。
3.4系统功能分析
本系统的功能不会像市场上的商业程序一样具备复杂的功能,其提供的功能只能满足目标用户的一般的系统内容浏览和简单的信息处理功能。
本系统确定设置管理员权限,农户权限和用户权限。
设置的管理员功能可以见下图用例图。管理员管理注册农户以及注册用户的信息,统计订单,管理商品,商品评价,商品退货等信息。

图3.4 管理员用例图
设置的农户功能可以见下图用例图。农户管理销售的商品,对订单商品进行发货,管理配送订单,管理商品评价,审核商品退货信息。

图3.5 农户用例图
设置的用户功能可以见下图用例图。用户收藏商品,购买商品,支付订单,申请商品退货,评价订单商品。

图3.6 用户用例图

第四章 系统设计
设计时,通常把用户需求作为对系统功能和数据库的设计重点,殊不知,系统设计时,注重用户体验也是比较关键的设计内容。比如一个系统已经实现了用户需要的功能,但是其界面布局比较混乱,同时界面中各个元素的搭配也不合理,这样一旦访问者访问系统,在短时间内无法找到需要的信息,就容易产生视觉疲劳,直接影响用户对系统的使用。所以,系统设计时,也需要关注用户的使用体验。由于用户之间的差别,比如教育程度,职业,地区等因素的不同,用户产生的行为也会存在差异,所以设计人员既要考虑用户之间的行为差异,也要考虑他们之间的共性。在尊重用户习惯的基础上,进行页面设计布局。达到用户可以多次访问系统的目的。
4.1布局设计原则
进行页面的布局,就要划分系统的各个模块,然后根据这些模块的重要程度进行布局,也需要关注用户比较在意的关键信息,利用合理的布局方式,传达出系统想要表达的信息内容,也让用户快速高效地获取需要的信息。布局虽然是页面设计的核心,但是也要讲究页面内容的协调性,统一性和均衡性。
布局设计也要考虑基本原则,接下来的内容就对此进行阐述。
第一点:参考系统需求,把系统的内容进行划分,按照重要程度的不同进行布局,并把相似或相近的信息内容集中展示在同一个区域,让访问者可以更流畅的阅读信息;
第二点:页面中比较重要的区域是靠上靠左的位置,所以这部分区域应该放置系统中比较重要的模块,毕竟这部分区域可以吸引用户眼球,让用户进入页面中,就可以发现需要的信息。对于一些次要的模块,则可以放置在页面中靠下和靠右的位置。如此设计安排,才可以发挥出页面设计实用性的特点;
第三点:根据用户习惯设计页面,虽然大部分用户具有操作上的共性特征,但他们之间还是存在区别,常见的影响用户操作习惯的因素有:年龄,学历,职业,性别等。所以设计时在考虑用户的共性特征时,也需要尽量尊重用户的不同习惯。
4.2功能模块设计
下图为管理员的功能设计,管理员管理注册农户以及注册用户的信息,统计订单,管理商品,商品评价,商品退货等信息。

图4.1 管理员功能结构图
下图为农户的功能设计,农户管理销售的商品,对订单商品进行发货,管理配送订单,管理商品评价,审核商品退货信息。

图4.2 农户功能结构图
下图为用户的功能设计,用户收藏商品,购买商品,支付订单,申请商品退货,评价订单商品。

图4.3 用户功能结构图
4.3数据库设计
沈阳工业大学助农扶贫微信小程序选用关系数据库作为程序的后台支持,之所以选择关系数据库主要还是因为它易于使用,而且也方便进行数据维护,尤其是提供强大的SQL查询语言。还有就是关系数据库采用的二维表模型,跟现实生活中的逻辑非常贴近,与网状模型,层次模型相比较,可以发现还是关系模型更容易被接受。
4.3.1数据库E-R图
这部分内容需要根据用户需求当中的数据信息,进行拆分,并仔细分析,要从这些数据中标识出E-R模型需要使用的数据,其中有实体,有实体具备的属性,有基于实体间的关系。在获取了这些数据之后,就可以使用认可度比较高的Visio工具来完成E-R模型的建模。建模期间,只要注意Visio工具中,绘制E-R模型的各个符号代表的含义,并能够正确把实体,属性还有关系等数据完整表示就可以了。使用这样的方法可以节省数据库设计的时间,而且还可以直观表达设计的内容,以及它们之间存在的联系。
(1)设计的商品实体,其具备的属性如下图。

图4.4 商品实体属性图
(2)设计的农户实体,其具备的属性如下图。

图4.5 农户实体属性图
(3)设计的用户实体,其具备的属性如下图。

图4.6 用户实体属性图
(4)设计的管理员实体,其具备的属性如下图。

图4.7 管理员实体属性图
(8)设计的实体间关系如下图。

图4.8 实体间关系E-R图
4.3.2 数据库表结构
程序编码基本都是参照设计的方案进行的,包括设计的数据库也是对后面的编码有着一定的影响。通常来说,数据库就是保存数据,不管其设计得好坏,都不会丧失它本身的数据保存功能。设计数据库的好坏,其区别在于,对数据存取的效率。设计比较好的数据库,在数据查询,存储以及更新上,可以快速做出响应。设计不好的数据库,很多时候不仅会延长数据的处理时间,还会容易出错。因此,设计数据库也是程序开发中很关键的环节。
针对本系统设计的数据库,按照数据库设计的原则,即设计数据库的三大范式进行。各个数据表的结构都是根据E-R模型进行的物理转化,对于一些细节问题,包括表的命名,字段的命名,字段类型和长度的设计等都比较规范化,这样做的目的也是方便后期系统编程。
表4.1 订单配送信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
dingdanbianhao varchar(200) 是 NULL 订单编号
shangpinmingcheng varchar(200) 是 NULL 商品名称
tupian varchar(200) 是 NULL 图片
shuliang varchar(200) 是 NULL 数量
fahuoriqi date 是 NULL 发货日期
nonghuzhanghao varchar(200) 是 NULL 农户账号
nonghuxingming varchar(200) 是 NULL 农户姓名
yonghuming varchar(200) 是 NULL 用户名
yonghuxingming varchar(200) 是 NULL 用户姓名
shoujihaoma varchar(200) 是 NULL 手机号码
shouhuodizhi varchar(200) 是 NULL 收货地址
userid bigint(20) 否 用户id
表4.2 订单信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
dingdanbianhao varchar(200) 是 NULL 订单编号
shangpinmingcheng varchar(200) 是 NULL 商品名称
tupian varchar(200) 是 NULL 图片
jiage varchar(200) 是 NULL 价格
shuliang varchar(200) 是 NULL 数量
zongjine int(11) 是 NULL 总金额
goumairiqi date 是 NULL 购买日期
nonghuzhanghao varchar(200) 是 NULL 农户账号
nonghuxingming varchar(200) 是 NULL 农户姓名
yonghuming varchar(200) 是 NULL 用户名
yonghuxingming varchar(200) 是 NULL 用户姓名
shoujihaoma varchar(200) 是 NULL 手机号码
shouhuodizhi varchar(200) 是 NULL 收货地址
ispay varchar(200) 是 未支付 是否支付
userid bigint(20) 否 用户id
表4.3 商品评论信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.4 农户信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
nonghuzhanghao varchar(200) 否 农户账号
mima varchar(200) 否 密码
nonghuxingming varchar(200) 否 农户姓名
touxiang varchar(200) 是 NULL 头像
xingbie varchar(200) 是 NULL 性别
lianxifangshi varchar(200) 是 NULL 联系方式
dizhi varchar(200) 是 NULL 地址
youxiang varchar(200) 是 NULL 邮箱
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.5 商品评价信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
dingdanbianhao varchar(200) 是 NULL 订单编号
shangpinmingcheng varchar(200) 是 NULL 商品名称
tupian varchar(200) 是 NULL 图片
nonghuzhanghao varchar(200) 是 NULL 农户账号
nonghuxingming varchar(200) 是 NULL 农户姓名
shangpinpingjia varchar(200) 是 NULL 商品评价
shangpinpingfen varchar(200) 是 NULL 商品评分
pingjiariqi date 是 NULL 评价日期
yonghuming varchar(200) 是 NULL 用户名
yonghuxingming varchar(200) 是 NULL 用户姓名
userid bigint(20) 否 用户id
表4.6 商品退货信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
dingdanbianhao varchar(200) 是 NULL 订单编号
shangpinmingcheng varchar(200) 是 NULL 商品名称
tupian varchar(200) 是 NULL 图片
jine varchar(200) 是 NULL 金额
tuihuoyuanyin longtext 是 NULL 退货原因
shenqingriqi date 是 NULL 申请日期
nonghuzhanghao varchar(200) 是 NULL 农户账号
nonghuxingming varchar(200) 是 NULL 农户姓名
yonghuming varchar(200) 是 NULL 用户名
yonghuxingming varchar(200) 是 NULL 用户姓名
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
userid bigint(20) 否 用户id
表4.7 商品信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shangpinmingcheng varchar(200) 是 NULL 商品名称
tupian varchar(200) 是 NULL 图片
guige varchar(200) 是 NULL 规格
jiage varchar(200) 是 NULL 价格
shuliang varchar(200) 是 NULL 数量
shangpinxiangqing longtext 是 NULL 商品详情
nonghuzhanghao varchar(200) 是 NULL 农户账号
nonghuxingming varchar(200) 是 NULL 农户姓名
dizhi varchar(200) 是 NULL 地址
表4.8 收藏信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.9 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.10 用户信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
yonghuming varchar(200) 否 用户名
mima varchar(200) 否 密码
yonghuxingming varchar(200) 否 用户姓名
touxiang varchar(200) 是 NULL 头像
xingbie varchar(200) 是 NULL 性别
shoujihaoma varchar(200) 是 NULL 手机号码
youxiang varchar(200) 是 NULL 邮箱

第五章 系统实现
这部分工作主要由程序编制人员完成。通常在面对一个大型的系统时,这些程序编制人员就会明确分工,每个人都完成不同的功能模块,在用代码实现功能的基础上,提前预留好接口,最后才将他们已完成的功能模块通过接口进行组合。
5.1 管理员功能实现
5.1.1 农户管理
管理农户信息是管理员的功能。其运行效果图如下。农户注册的资料需要管理员查看并审核。农户的资料包括联系方式,姓名,头像,地址等信息。

图5.1 农户管理页面
5.1.2 用户管理
管理用户信息是管理员的功能。其运行效果图如下。用户在小程序端注册的信息需要管理员查看,其信息包括手机号码,邮箱,姓名,头像等资料。

图5.2 用户管理页面
5.1.3 订单统计
统计订单数据是管理员的功能。其运行效果图如下。管理员可以通过订单的统计报表查看各个商品的销售总金额信息。

图5.3 订单统计页面
5.2 农户功能实现
5.2.1 商品信息管理
管理商品信息是农户的功能。其运行效果图如下。农户把需要销售的商品的资料进行发布,在当期页面对销售商品的信息进行修改,比如修改价格,修改数量,修改图片等操作,农户也能删除销售的商品信息,或者是查看用户对农户销售的商品的评论信息。

图5.4 商品信息管理页面
5.2.2 订单信息管理
管理订单信息是农户的功能。其运行效果图如下。农户销售的商品一旦被用户购买,其购买订单需要农户进行查看,比如订单是否支付以及订单的收货地址信息等,农户需要对订单进行发货。

图5.5 订单信息管理页面
5.2.3 订单配送管理
管理订单配送信息是农户的功能。其运行效果图如下。农户对订单配送信息进行修改,可以查看订单配送详细信息,可以查询订单配送信息。

图5.6 订单配送管理页面
5.2.4 商品评价管理
管理商品评价信息是农户的功能。其运行效果图如下。用户对购买的商品发布的评价信息需要农户在后台查看,商品评价包括了商品的评分信息,用户对商品的评价内容信息等。

图5.7 商品评价管理页面
5.2.5 商品退货管理
管理商品退货信息是农户的功能。其运行效果图如下。用户在小程序端申请的商品退货,需要农户及时审核处理,农户同意用户退货商品,用户才可以退回购买的商品。

图5.8 商品退货管理页面
5.3 用户功能实现
5.3.1 商品信息
用户可以查看商品。其运行效果图如下。用户在本页面点击红色五角星收藏商品,点击页面底端的购买按钮购买商品。

图5.9 商品信息页面
5.3.2 订单信息
用户可以查看订单信息。其运行效果图如下。用户在本页面查看订单,支付订单,评价订单商品,对订单商品申请退货。

图5.10 订单信息页面
5.3.3 商品评价
用户可以查看商品评价信息。其运行效果图如下。用户对订单商品进行评价之后,需要在本页面查看评价信息。

图5.11 商品评价页面
5.3.4 商品退货
用户可以查看商品退货信息是否通过审核。其运行效果图如下。用户申请了商品退货之后,需要在本页面查看退货的商品以及农户对退货商品的审核回复信息。

图5.12 商品退货页面

第六章 系统测试
面对制作完成的系统,接下来需要开展的工作是对其进行测试。这个环节需要利用各种方式,去发现目标系统中存在的问题,并及时分析和解决,让目标系统最终可以被用户验收。
6.1 测试的任务 
在系统编码完成之后,完成对本系统的测试工作,其主要的任务还是找出本系统可能出现的错误,而且是发现的错误越多越好,因为每发现一个程序错误,都需要进行文档记载,然后根据这些记载程序错误的文档,采取各种措施去解决这些程序问题,逐渐完善程序。所以,测试并不是去证明开发的系统是正确的,而是通过各种各样的方式去寻找系统中的缺陷,并针对性的完善系统。这样才能保证系统在实际运行中,可以保质保量的进行工作。
6.2 测试的目标 
通过对系统的测试,才可以发现系统的问题。通常测试就是对大部分程序容易出错的位置进行检测,或者是针对系统复杂的部分进行检测,其目的就是发现系统中尽可能多的错误。尽管系统开发时,采用的开发方式,或者是开发技术都是比较成熟的,但这并不能证明系统是没有缺陷和错误的。尤其是随着现在软件开发技术的升级,市场上大部分软件都具有规模大,复杂性高的特点,所以这更加难以保证开发的系统不会出现错误。对此,进行系统的测试,并做好测试工作,是十分有益的。
6.3 测试方案 
系统进入测试阶段,就要确定测试方案,毕竟这部分内容非常关键。测试时,要对前面设计的系统功能进行检测,看刚刚完成编码的系统是否在功能上符合用户需求,同时还要在各个功能模块里面进行测试数据的输入,并查看预期的结果与系统实际反馈的结果是否一致,另外,为了检测系统各个模块的错误,也要设计输入一些不符合操作规范的数据,检测系统能不能正常应对或者显示报错提示。截止目前,常用的两种测试方法即:黑盒和白盒测试,它们分别用于不同的测试内容。以下就对这两种方法进行了描述。
黑盒测试方法:这个测试主要还是运用在程序的各个接口测试,使用这个方法主要还是检查程序实现的功能是否跟功能需求文档匹配,它关注的主要还是功能实现,而忽视了程序的内部运行原理,以及程序在操作逻辑上的处理过程。通常进行黑盒测试,大部分都没有让用户参与。常见的除了功能测试外,它也会涉及到其它的测试,比如系统的安全性测试,恢复性测试,容量和负载性测试,以及稳定性和可靠性测试等。
白盒测试方法:这个测试主要还是注重程序内部的逻辑,包括检测程序是如何工作的,是否跟预期设定的操作逻辑一致,同时白盒测试对程序代码的检测比较彻底,可以及时把代码层面隐藏的错误给找出来,因为程序代码的每条路径都要经过检测,所以这样的方式对于代码优化也有好处。
本节针对本系统的检测也设置了相应的测试步骤,首先是模块测试,然后是集成测试,最后是验收测试。
模块测试:这个测试环节的操作员,一般都是编写程序的人员,他们会划分系统的功能模块,然后把每个功能模块都当成一个单元进行测试,因此单元测试也是模块测试的别称。这部分测试通常就是验证程序各个功能可以运行,以及发现一些来源于编码和程序设计的问题。对于模块测试,常见的错误主要有下面5个。
第一个常见错误:则是单元接口;
第二个常见错误:则是局部数据结构;
第三个常见错误:则是独立路径;
第四个常见错误:则是出错处理通路;
第五个常见错误:则是跟上述错误相关的边界条件;
总之,模块测试也是基于白盒测试,在对各模块内部的检测中,发现可能存在的错误。
集成测试:进行这个环节的测试的前提是,模块测试已经完成,然后把系统的各个模块进行组合并开始测试,测试时,主要还是检查系统各个模块连接的接口是否正确。当模块测试通过之后,把它们进行组合时,也会出现一些问题,所以在模块组合时,也进行整体性的测试,也非常重要。
集成测试常用的方法则是渐增式方法,相比非渐增式来说,渐增式用得比较多,也比较受欢迎,其中的原因有以下4点。
第一点:同样是测试,采用渐增式方法可以节约成本,开销不高;
第二点:采用渐增式方法可以短时间内暴露模块间接口的错误问题;
第三点:采用渐增式方法可以更容易对错误的位置进行判断;
第四点:采用渐增式方法可以更彻底地测试系统;
通过上面的比较分析,选用渐增式方式测试本系统,但是主要是运用渐增式里面的混合法进行集成测试。用自上而下的方式测试程序结构的较上层;对程序结构的较下层,则是采用自下而上的方式,这两种方式搭配使用完成本系统的集成测试。
验收测试:这个步骤就需要未来使用程序的人进行参与了,主要还是检测程序是否可以按照用户预定的方式进行工作,此部分测试主要还是在功能检测上,参考标准就是提前设计的功能需求文档,所以,采用黑盒测试法比较符合要求。一般来说,进行到验收测试这个环节,都会产生两种结果。一种是程序提供的功能跟用户之前要求的功能保持一致;这个就是未来使用程序的用户想要达到的效果。还有一种是程序提供的功能跟用户预定的功能需求有差距;总的来说,这个阶段主要还是验证程序跟需求文档之间的差距问题。
6.4 系统功能测试
很多时候,需要对系统中的指定功能进行数据检验,检验不同数据的录入,其产生的结果或反馈的信息跟预定的需求是否有差别。
6.4.1 在线支付功能测试
沈阳工业大学助农扶贫微信小程序的用户可以在线支付订单,支付时,系统会提示是否支付,其反馈结果见下图。

图6.1 是否支付信息提示
如果用户确定支付订单,点击确定按钮即可,成功支付的提示见下图。

图6.2 成功支付提示
6.4.2 收藏商品功能测试
用户收藏商品时,系统会先提示是否收藏,具体提示见下图。

图6.3 是否收藏提示
如果用户确定收藏商品,点击确定即可,这样就能收藏商品。收藏成功提示页面见下图。

图6.4收藏成功提示页面
6.5 测试的结果
在对沈阳工业大学助农扶贫微信小程序进行测试后,发现本系统具有的统一界面和清楚的导航设计让系统具备了易操作性的特点,在与用户需求进行比较后,发现本系统具备的功能比较完善,在运行环境中可以正常使用,这里运行环境与本系统的生产环境相似。总之,沈阳工业大学助农扶贫微信小程序测试合格。
结 论
为了完成沈阳工业大学助农扶贫微信小程序的设计实现,我重新回顾了以往的专业知识,并重点学习了编程技术,其中有JAVA语言的学习,也学习了MySQL数据库的运用,还有界面布局等方面的知识。有了这些知识的填充,并依靠导师的帮助,我才能够独立设计制作本系统。
系统在开发前,先要确定使用用户是谁,以及确定程序的适用范围等,如此才可以对系统定位。只有准确定位系统,才可以节省开发时间,并省去一些不必要的麻烦。系统的功能是对使用用户进行调研获取,当然,系统的功能也采取了历来的一些相似系统的功能。而系统设计则是基于功能需求分析,这也是比较重要的环节,需要认真对待。因为此设计方案对后期的编码起着重要的作用,不仅可以降低编码期间的出错率,还可以提高编码速度,毕竟系统的实现部分,基本都是参照系统设计的方案进展的。当系统编码完成,也会进行最后的测试环节,当开发的系统检验合格之后,系统开发才能够结束。本系统的开发也是遵循这样的流程,即分析功能,设计系统模块,设计数据库,实现系统功能,测试系统等。
本系统具有较完善的功能,使用者基本可以使用本系统去处理相关数据,而且系统可以较长时间进行工作。对于系统的操作,使用者也易于上手,毕竟本系统在设计时,就对页面中的导航模块进行重点设计,把页面中的重点区域用来展示系统的导航功能,让使用者进入系统界面,可以第一时间发现系统的导航,并使用系统的导航功能找到需要的内容。对于系统的安全性,本系统在保存用户账号密码数据时,也是用当下流行的MD5加密技术来保障数据安全,也在系统的登录模块设置了安全验证规则,引导符合条件的用户进入系统指定页面。
本系统具备一定的优势的同时,它也会暴露出自身的缺陷,比如,本系统在编码过程中,对使用的变量的命名不方便记忆,并且也不规范,代码编写也不规范,缺少关键代码的注释等,还有系统的目录规划不合理等问题。
综上所述,本系统还需要时间来完善,本人也需要加强技术知识的学习与实践,在今后的工作中,我也需要注重个人能力的培养,及时吸收编程技术知识,然后运用先进成熟的技术去重构本系统,让系统日益完善。

参考文献
[1]刘仪,张雪冰.大数据背景下微信小程序的应用与分析[J].无线互联科技,2021,18(07):45-46.
[2]韩舶.微信小程序发展现状及其前景探析[J].数字传媒研究,2020,37(08):5-9.
[3]邢榕珊,匡芳君.微信小程序设计[J].计算机时代,2018(08):9-12.
[4]张明亮.JSP技术在互联网软件中的应用优势研究[J].软件工程,2019,22(10):19-21+6.
[5]赵晓丹.网页开发中的JSP技术分析[J].南方农机,2019,50(20):247-248.
[6]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2015,42(11):5-7.
[7]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.
[8]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2016,21(13):47-49.
[9]秦超,潘猛,张鹏.处理MySQL的典型问题[J].网络安全和信息化,2018(04):70-72.
[10]李仕伟,周坤,刘新蕊,李宝林.MySQL数据库优化技术[J].信息与电脑(理论版),2016(12):173-174.
[11]张云健.计算机软件Java编程特点及其技术应用[J].信息与电脑(理论版),2019(13):97-98.
[12]刘星淇.Java编程语言的特点与应用分析[J].通讯世界,2019,26(09):149-150.
[13]岳青玲.Java面向对象编程的三大特性[J].电子技术与软件工程,2019(24):239-240.
[14]谢懿.计算机软件JAVA编程特点及其技术分析[J].农家参谋,2020(01):166.
[15]乔岚.基于MyBatis和Spring的JavaEE数据持久层的研究与应用[J].信息与电脑(理论版),2017(08):73-76.
[16]邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(01):39-43.
[17]袁堂青,亓婧.基于微信小程序的开发与研究[J].网络安全技术与应用,2020(04):66-67.
[18]邢榕珊,匡芳君.微信小程序设计[J].计算机时代,2018(08):9-12.
[19]于万波.网站开发与应用案例教程[M].清华大学出版社,2015.
[20]Xuan Yin, Wei Zheng, Ming Zhang, Jing Zhang, G. Zhuang, T. Ding. A modularized operator interface framework for Tokamak based on MVC design pattern[J]. Fusion Engineering and Design, 2018.
[21]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea. Efficient runtime aspect weaving for Java applications[J]. Information and Software Technology,2018,100.

致 谢
自从来到了这个校园,我觉得我改变了很多,我的性格也变得开朗,我的知识也得到了增长,还有我对社会的认知也得到了改变。因为,处于这个校园中,有来自五湖四海的同学们,我们都可以在一起学习,课后还可以互相攀谈,感觉这样的生活真的很有趣,还有校园的老师们,他们都具备较高的学历,拥有丰富的专业知识,而且他们一直都很认真的教授我们知识。
到现在为止,我都不后悔来到这个学校,因为大学校园跟高中时所处的环境不一样,大学校园的时间节点是碎片化的,可以根据自身情况综合利用,可以用来学习知识,也可以用来去社会上实践,增长社会见识,为毕业后的工作打下基础等。然而,这一切都即将结束,因为毕业了就要离开校园,真正步入社会进行生活。
在这最后的时间里,我想对身边的人表示感谢。首先是导师,他陪伴着我度过了毕业设计制作的这段时间,还提供给我各种帮助,其中有系统选题方面的建议,功能分析上的意见,编程技术的指导等,还时不时关怀我,让我不要焦躁,设计制作的每个环节都督促我认真完成,遇到问题后,先尝试自行解决,没有思路时,导师就会帮助我,并提供解决问题的办法。所以,我能上交项目程序,导师功不可没。其次是班上的同学,虽然在这几年的朝夕相处中,我们彼此互相关怀,遇到问题,相互帮助,这些同学丰富了我的校园生活。最后是校园的老师们,他们辛苦教学,传授知识给我们,才让我们能够成长,我们也学到了本事,面对学习中或生活中的问题,我们也有能力去解决。
总之,面临毕业,我希望我的老师们可以心想事成,班上的同学都能找到好工作,我的母校前景更辉煌!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVA编码选手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值