SSM+果园信息统计管理系统 毕业设计源码021103

SSM果园信息统计管理系统

摘  要

随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,果园信息统计管理系统的信息通过网络进行信息管理掀起了热潮,所以针对果园信息统计管理的用户需求开发出一套果园信息统计管理系统。

整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。

本系统开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与果园信息统计管理系统的实际需求相结合,确定了Java开发果园信息统计管理系统的使用。

关键字:果园信息统计管理系统  Java语言,MySQL数据库、SSM框架 
SSM orchard information statistics management system

Abstracts

 With the arrival of the Internet trend, all walks of life are considering using the Internet as a medium to promote their information more timely and effectively. The best way is to establish a network management system and manage its information. Due to the development of the network, the information of the orchard information statistics management system is managed through the network, so a set of orchard information statistics management system is developed according to the user needs of orchard information statistics management.

In the whole development process, firstly, the requirements of the software system are analyzed, and the main functions of the system are obtained. Then the overall design and detailed design of the system are carried out. The overall design mainly includes system function design, system overall structure design, system data structure design and system security design; The detailed design mainly includes the realization of the system database access, the specific realization of the main functional modules, the key code of the module realization, etc. Finally, the function test of the system is carried out, and the test results are analyzed and summarized, and the shortcomings and areas that need to be improved in the system are obtained, which provides convenience for the maintenance of the system in the future, and also provides reference and help for the development of similar systems in the future.

The development of this system uses the existing mature technology reference, takes the source code as the template, analyzes the function adjustment and combines with the actual needs of the orchard information statistics management system, and determines the use of Java to develop the orchard information statistics management system.

Keywords: orchard information statistics management system java language, MySQL database, SSM framework

目    录

第1章 绪论

1.1课题背景

1.2目的和意义

1.3研究现状

1.4研究内容

第2章 关键技术研究

2.1 JAVA简介

2.2 MySql数据库

2.3  B/S架构

2.4 SSM三大框架

第3章  需求分析

3.1可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.1.4 法律可行性

3.2系统分析

3.3系统设计原则

3.4业务流程分析

3.4.1操作流程

3.4.2添加信息流程

3.4.3删除信息流程

第4章 系统总体设计

4.1系统功能模块

4.2数据库设计

4.2.1数据库简介

4.2.2数据库设计

第5章  系统实现

5.1管理员功能模块

5.2员工功能模块

第6章 系统测试

6.1系统测试的目的

6.2测试策略

6.3测试特性及分析

6.4功能测试

6.5测试结果

结  论

参考文献

致  谢

1章 绪论

1.1课题背景

随着互联网不断升温,用户的需求也越来越大,为此设计果园信息统计管理系统可以方便用户随时获取到果园信息统计管理系统信息,通过这一软件来满足用户的要求,并且使用果园信息统计管理系统可以更快捷、更高效的提高果园信息统计管理系统管理的工作效率,是一款必不可少的管理系统。

开发果园信息统计管理系统进行部门信息的管理,就要运用软件工程的方法来解决这个软件开发中遇到的各个问题。

系统管理也都将通过计算机进行整体智能化操作,对于果园信息统计管理系统信息管理所牵扯的信息管理及数据保存都是非常多的,举例像所有的管理员:首页、站点内容(轮播图、公告栏)系统用户(管理员、员工、经理)公共内容(果园资讯、资讯分类)模块管理(果树信息、员工工资、员工请假、土地管理、果树分类、天气状况、生产资料、采购信息、商品库存、销售订单、周工作计划、工作日记),员工;员工工资、员工请假、土地管理、生产资料、周工作计划、工作日记等,这给管理者的工作带来了巨大的挑战,所以为此开发了本果园信息统计管理系统,为用户提供果园信息统计管理系统平台,方便管理员及时高效的管理所有的信息,给用户提供简单方便快捷的方式,并且数据准确,用户可以足不出户就可以对果园信息统计管理系统相关信息进行管理,统计查询等操作,而且还能节省用户查询信息的等待时间,所以开发果园信息统计管理系统给工作人员带来很大的方便,可以大大的提高系统人员工作效率。

1.2目的和意义

互联网是人类的基本需要,尤其在现代社会,个人压力的增加,社会的高节奏的操作,互联网的高速发展,用户的需求度也越来越高,用户也将越来越依靠网络来代替自己的手工业操作,使得各种管理系统的发展成为必要选择。

随着我国经济迅速发展,互联网对人们的生活及工作都带来了非常大的方便,各种管理系统都在不断的增加,但是果园信息统计管理系统管理查询方面缺乏系统的管理方式,为提高果园信息统计管理系统管理查询效率,特开发了本果园信息统计管理系统。

果园信息统计管理系统将通过计算机进行整体智能化操作,对于果园信息统计管理系统信息的管理及数据保存都是非常多的,为用户提供一个智能化的管理信息平台,方便管理员可以随时随地的查看用户所需的详细信息及所有部门信息内容,增加系统和用户之间的关系,并且对数据信息管理可以及时、准确、有效地进行系统化、标准化和有效化的工作。

1.3研究现状 

根据SSM系统广泛使用的市场和服务免费特性,公司可以免费获得平台上新功能开发的源代码,开发成本低,研发速度快,服务范围广,效益最大化。系统采用开源功能,规范了平台,打破了原来手机的操作系统,受到了大家的追捧。同时,它整合了传统移动通信的优势,提高了SSM系统的整体价值。该调查显示,Java系统占据了市场的主要份额,这意味着全球四分之三的智能手机都运行在系统上。目前,果园信息统计管理系统已经吸引很多人的注意,通过互联网来搭建果园信息统计管理系统可以给用户提供更好的服务而且对于用户可以更快捷、高效、安全使用。

互联网的到来,传统的果园信息统计管理系统信息获取,都是通过纸质手工等方式进行翻看杂志、报纸等信息,然后进行一条条的统计数据信息,并且要想获取某一条果园信息统计管理系统数据需要进行查找,需要用户自己手动的统计,最后由于果园信息统计管理系统数据量比较大,传统的数据统计是手动检查和验证的,信息量很大,因为使用手动统计数据是一个很大的工作量,而且错误率很高,当然会有很多数据存储和丢失问题,对于搜索一块数据比较麻烦而且还耽误时间。对于这次开发的果园信息统计管理系统,提供给用户可以随时查看果园信息统计管理系统信息,并且可以根据需求进行选择果园信息统计管理系统分类进行查看各个类别的果园信息统计管理系统,提高果园信息统计管理系统平台效率。

1.4研究内容

SSM平台的果园信息统计管理系统软件是一款方便,快捷,实用的信息服务查询软件。随着智能手机在全球市场的不断普及以及各种智能手机平台的生活体验软件,作为中国主流智能手机之一的SSM系统,自然需要这样的软件来满足更多用户的需求和体验。收入和支出将与人们的日常需求相关,如通过果园信息统计管理系统获取到最新果园信息统计管理系统详细情况,了结最新动态信息等。

虽然目前已有很多基于SSM平台的果园信息统计管理系统,但尚未出现更详细的功能显示和信息查询。经过分析,用户的第一眼往往是看到一个软件的外观,一个漂亮的界面将吸引用户下一次点击和理解。为了让用户通过无意识的点击尝试进入每个界面和每个按钮,用户可以进一步了解软件的质量,因此良好的软件界面将是吸引用户注意力的第一步。因此,对于每个软件界面设计工作来说,一个应用程序是占据非常重要的一部分,在高端大气中吸引用户,满足用户体验将进一步完成整个应用程序的各项功能,良好的用户体验度将继续使用并经常打开并使用此软件。


  1. 关键技术研究

2.1 JAVA简介

Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,JSP(java server pages),和XML技术。JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于学校Web应用程序开发和移动应用程序开发。

Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。

2.2 MySql数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了的方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

2.3  B/S架构 

B/S结构的特点也非常多,例如在很多浏览器中都可以做出信号请求。并且可以适当的减轻用户的工作量,通过对客户端安装或者是配置少量的运行软件就能够逐步减少用户的工作量,这些功能的操作主要是由服务器来进行控制的,由于该软件的技术不断成熟,最主要的特点就是与浏览器相互配合为软件开发带来了极大的便利,不仅能够减少开发成本,还能够不断加强系统的软件功能,层层相互独立和展现层是该B/S结构完成相互连接的主要特性。

2.4 SSM三大框架

1.Spring的优势:
通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。

2.Spring MVC的优势:
SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,使我们的开发更简洁。

3.Mybatis的优势:

数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合,提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建提供了xml标签,支持动态的sql。

第3章  需求分析

任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从而明确目标,对整个系统的开发有一个更加准确的定位。在这个章节,需要对系统的性能分析,业务流程分析,和数据等进行分析,果园信息统计管理系统的整体界面简单,功能完善。

需求的可行性是分析和讨论发达的系统能达到什么样的要求。开发的系统或网站是否符合之前的要求。只有在预先评估系统的开发中,才能在系统开发和实施之前完成需求。系统在开发和运用过程中,在技术可行性、操作可行性、经济可行性和法律可行性这几点展开的详细说明,证明了这几点是可行的。在技术可行性中主要说明了Java是目前是较为通用、成熟的技术,具有较为强大的数据库开发功能、以及具有方便快捷的数据库接口设计功能。在现有的调研情况和所掌握的技术是必要可行的。在经济可行性中,主要说明了系统从调研时期的费用和后期维护和可节约的成本。操作可行性主要说明了系统和操作的简便性具有操作简便和上手快的特点。在法律可行性上,符合要求不涉及到侵权等问题在社会中能起到提高效率的作用。

从系统需求分析、功能分析、性能分析等进行了设计和说明。系统需求分析对于果园信息统计管理系统行业的需求进行了深入分析,证明了系统在市场中的需求。

果园信息统计管理系统完成设计,可能受到时间以及空间上的制衡。因此,在开始设计每一个项目的时候,必须对系统进行可行性分析,只有这样才能够降低项目所带来的危害,减少人力、物力以及财力方面的损耗。该系统的可行性分析主要集中在技术可行性、经济可行性、运行可行性和社会可行性四个方面。从以上几个方面讨论了该系统的可行性。

3.1可行性分析

可行性分析目的是根据所开发系统的用户需求,明确研究方向和目标,通过可行性分析确定系统的框架和功能模块。

可行性分析是对任何管理系统的需求、技术和经济的分析。其中最重要的技术方面的可行性,技术可行性是分析软件开发技术的应用开发系统是可行的。其次,分析软件系统的需求,分析软件需求能否满足预先设计的功能需求。最后讨论了系统的操作可行性和经济可行性。

3.1.1 技术可行性

无论是台式机还是笔记本,计算机都以非常迅猛的速度占据着人们的工作与生活,那么能够辅助计算机帮助人们改变工作与生活状态的就是那些安装在计算机上的功能软件。本文所要设计的系统,从简单易懂的思想出发,将通过文字索引提示协助用户操作。

系统的开发环境和配置可以由我们自己安装。系统采用Java开发工具,根据技术语言修改和维护数据信息,并结合要求使系统运行更加稳定安全,从而完成实现系统的开发。网络技术的快速发展使网络传输速度越来越快,价格越来越低,安全性越来越高,其所有硬件平台都能完全满足果园信息统计管理系统开发的需要。

因此,我们从两个方面进行了可行性研究,可以看出系统的技术可行性发展没有问题。

3.1.2 经济可行性 

任何软件系统在其发展将考虑后者经济可行性的一部分,也就是说软件的开发成本和设计所需的花费和随后的操作可能带来的经济效益是匹配,除了考虑这部分的软件是否可以给用户带来经济效益。

经济可行性包括系统实现过程中所需资源的研究。系统实现过程中所需资源主要包括人力资源、自然资源等。果园信息统计管理系统的开发是由开发者自己开发,不需要购买其他软件或者端口之类的,而且果园信息统计管理系统的开发之前所做的市场调研及其他的果园信息统计管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于果园信息统计管理系统的开发在经济上是完全可行的,没有任何费用支出的。

使用Java技术是比较成熟的技术,所以果园信息统计管理系统平台的开发在经济上是没有问题的。

3.1.3 操作可行性

操作可行性是指系统不能有太复杂的操作和使用流程。果园信息统计管理系统基于SSM安装软件,访问和操作界面简单、操作方便。用户只要连接到网络就可以访问和操作。系统在界面设计上就很有善意让人感觉心旷神怡,首先这就能给操作者一种好心情,可以让工作人员以更好的心态工作,其次也很美观,在系统的使用中要不光应用到了系统完善的功能还欣赏了系统简洁的外观。其次就是系统的功能方面了,在系统的日常使用中会一点简单电脑操作的工作人员也都可以应付自如。因此,它具有操作简单,管理方便,交互性强的特点,在操作上是非常可行的。

3.1.4 法律可行性

系统平台的设计与开发与国家政策法规之间不存在冲突。此外,平台的设计和开发采用的操作和工作模式符合用户的日常习惯,操作方便、灵活、易于管理,具有较高的实用性。开发过程中所采用的数据均来自开源代码,不存在知识产权的争议,在法律上也是行的通的。

综上所述,开发一个基于SSM的果园信息统计管理系统是可行的。

3.2系统分析

果园信息统计管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除等信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以果园信息统计管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

3.3系统设计原则

1、关于果园信息统计管理系统的基本要求

(1)功能要求:可以管理首页、站点内容(轮播图、公告栏)系统用户(管理员、员工、经理)公共内容(果园资讯、资讯分类)模块管理(果树信息、员工工资、员工请假、土地管理、果树分类、天气状况、生产资料、采购信息、商品库存、销售订单、周工作计划、工作日记)等功能模块。

(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。

(3)安全与保密要求:用户都必须通过注册、登录才能进入系统,并且用户的权限也需要根据用户的类型进行限定。

(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。

2、开发目标

果园信息统计管理系统的主要开发目标如下:

(1)实现管理系统信息关系的系统化、规范化和自动化;

(2)减少维护人员的工作量以及实现用户对信息的控制和管理。

(3)方便查询信息及管理信息等;

(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;

(5)考虑到用户多样性特点,要求界面简单,操作简便。

3、经济效益

设计系统的目的是为了更好的进行节省人员成本及各种开销,因此需要对系统开发的成本和效益进行考虑。

3.4业务流程分析

3.4.1操作流程

系统登录流程图,如图所示:

图3-1登录流程图

3.4.2添加信息流程

添加信息流程图,如图所示:

图3-2添加信息流程图

3.4.3删除信息流程

删除信息流程图,如图所示:

图3-3删除信息流程图


4 系统总体设计

4.1系统功能模块

该系统的基本功能包括管理员、员工、经理三个权限角色功能模块。

对于管理员可以使用的功能模块主要有首页、站点内容(轮播图、公告栏)系统用户(管理员、员工、经理)公共内容(果园资讯、资讯分类)模块管理(果树信息、员工工资、员工请假、土地管理、果树分类、天气状况、生产资料、采购信息、商品库存、销售订单、周工作计划、工作日记)等功能。

对于员工所使用的功能模块的操作主要是员工工资、员工请假、土地管理、生产资料、周工作计划、工作日记等功能。

对于经理所使用的功能模块的操作主要是首页、果树信息、员工工资、员工请假、土地管理、天气状况、生产资料、采购信息、商品库存、销售订单、周工作计划、工作日记等功能。

(1)员工需求如图4-1所示:

图4-1员工用例图

  1. 管理员功能需求如图4-2所示:

                             图4-2管理员功能用例图

  1. 经理功能需求如图4-2所示:

                             图4-2经理功能用例图

4.2数据库设计

4.2.1数据库简介

数据库是信息系统的基础和核心。数据库设计的好坏直接影响到信息系统开发的成败。创建数据库表首先确定实体的属性和实体之间的关系。根据关系创建一个数据表。

4.2.2数据库设计

(1)系统的E-R图

概念模型是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。系统的E-R图显示了系统中实体之间的链接。 

(2)实体属性图

系统结构如图4-4。

图4-4系统结构图

部门信息实体图如图4-5。

     图4-5果树信息实体图

员工请假实体图如图4-6。

图4-6员工请假实体图

员工工资管理实体图如图4-7。

图4-7员工工资管理实体图

  1. 数据库设计表

classification_of_fruit_trees

字段名称

类型

长度

不是null

主键

字段说明

classification_of_fruit_trees_id

int

11

主键

果树分类ID

fruit_tree_category

varchar

64

果树类别

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_leave

字段名称

类型

长度

不是null

主键

字段说明

employee_leave_id

int

11

主键

员工请假ID

employee_job_number

int

11

员工工号

employee_name

varchar

64

员工姓名

manager_job_number

int

11

经理工号

leave_type

varchar

64

请假类型

leave_start_time

datetime

0

请假开始时间

leave_end_time

datetime

0

请假结束时间

reason_for_leave

text

0

请假原因

examine_state

varchar

16

审核状态

examine_reply

varchar

16

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_salary

字段名称

类型

长度

不是null

主键

字段说明

employee_salary_id

int

11

主键

员工工资ID

staff

int

11

员工

manager_job_number

int

11

经理工号

salary_month

varchar

64

发薪月份

base_pay

int

11

基本工资

bonus

int

11

奖金

overtime_allowance_

int

11

加班补贴

five_insurances_and_one_fund

int

11

五险一金

paid_salary

varchar

64

实发薪资

remarks

text

0

备注

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_salary_copy1

字段名称

类型

长度

不是null

主键

字段说明

employee_salary_id

int

11

主键

员工工资ID

staff

int

11

员工

manager_job_number

int

11

经理工号

salary_month

varchar

64

发薪月份

base_pay

int

11

基本工资

bonus

int

11

奖金

overtime_allowance_

int

11

加班补贴

five_insurances_and_one_fund

int

11

五险一金

paid_salary

varchar

64

实发薪资

remarks

text

0

备注

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

fruit_tree_information

字段名称

类型

长度

不是null

主键

字段说明

fruit_tree_information_id

int

11

主键

果树信息ID

fruit_tree_number

varchar

64

果树编号

fruit_tree_name

varchar

64

果树名称

picture

varchar

255

图片

planting_date

date

0

种植日期

fruit_tree_category

varchar

64

果树类别

life

varchar

64

寿命

growth_cycle

varchar

64

生长周期

flowering_cycle

varchar

64

开花周期

result_time

varchar

64

结果时间

whether_there_are_diseases_and_insect_pests

varchar

64

有无病虫害

planting_area

varchar

64

种植面积

planting_land

text

0

种植土地

details

longtext

0

详情

hits

int

11

点击数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

land_administration

字段名称

类型

长度

不是null

主键

字段说明

land_administration_id

int

11

主键

土地管理ID

land_number

varchar

64

土地编号

the_measure_of_area

varchar

64

面积

position

varchar

64

位置

state

varchar

64

状态

water_content

varchar

64

含水量

soil_fertility

varchar

64

土地肥力

topographic_features

varchar

64

地形地貌

soil_condition

text

0

土壤状况

historical_planting

text

0

历史种植

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

means_of_production

字段名称

类型

长度

不是null

主键

字段说明

means_of_production_id

int

11

主键

生产资料ID

serial_number

varchar

64

物品编号

item_name

varchar

64

物品名称

category

varchar

64

类别

number

int

11

数量

usage_method

text

0

使用方法

remarks

text

0

备注

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

merchandise_inventory

字段名称

类型

长度

不是null

主键

字段说明

merchandise_inventory_id

int

11

主键

商品库存ID

commodity_number

varchar

64

商品编号

trade_name

varchar

64

商品名称

category

varchar

64

类别

picking_time

date

0

采摘时间

number

int

11

数量

quality_condition

varchar

64

品质状况

remarks

text

0

备注

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

purchasing_information

字段名称

类型

长度

不是null

主键

字段说明

purchasing_information_id

int

11

主键

采购信息ID

serial_number

varchar

64

物品编号

item_name

varchar

64

物品名称

category

varchar

64

类别

purchase_quantity

int

11

采购数量

supplier

varchar

64

供应商

contact_number

varchar

64

联系电话

procurement_time

datetime

0

采购时间

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

sales_order

字段名称

类型

长度

不是null

主键

字段说明

sales_order_id

int

11

主键

销售订单ID

order_number

varchar

64

订单号

commodity_number

varchar

64

商品编号

trade_name

varchar

64

商品名称

customer_name

varchar

64

客户名称

contact_number

varchar

64

联系电话

unit_price

int

11

单价

sales_volumes

int

11

销售数量

total_price

varchar

64

总价格

date_of_sale

date

0

销售日期

remarks

text

0

备注

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

weather_condition

字段名称

类型

长度

不是null

主键

字段说明

weather_condition_id

int

11

主键

天气状况ID

date

date

0

日期

weather

varchar

64

天气

temperature

varchar

64

温度

humidity

varchar

64

湿度

weather_forecast

text

0

天气预测

details

longtext

0

详情

hits

int

11

点击数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

weekly_work_plan

字段名称

类型

长度

不是null

主键

字段说明

weekly_work_plan_id

int

11

主键

周工作计划ID

manager_job_number

int

11

经理工号

name_of_manager

varchar

64

经理姓名

staff

int

11

员工

week_number

varchar

64

第几周

plan_content

text

0

计划内容

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

第5章  系统实现

5.1管理员功能模块

管理员登录,管理员通过输入用户名,密码,角色等信息进入果园信息统计管理系统,如图5-1所示。

图5-1管理员登录界面图

登录代码如下:

  /**

     * 登录

     * @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;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            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, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

管理员登录进入果园信息统计管理系统可以查看首页、站点内容(轮播图、公告栏)系统用户(管理员、员工、经理)公共内容(果园资讯、资讯分类)模块管理(果树信息、员工工资、员工请假、土地管理、果树分类、天气状况、生产资料、采购信息、商品库存、销售订单、周工作计划、工作日记)等内容,如图5-2所示。

图5-2管理员功能界面图

员工信息管理,在员工信息管理页面可以查看工号、姓名、经理工号、性别等内容,并可根据需要进行修改,删除或查看详细内容等操作,如图5-3所示。

图5-3员工信息管理界面图

果树信息,在果树信息管理页面可以查看果树名称、图片、种植日期、果树类型、寿命、生长周期等内容,并可根据需要对果树信息管理进行修改,删除或查看详细内容等操作,如图5-4所示。

图5-4果树信息管理界面图

生产资料管理,在生产资料管理页面可以查看物品编号、物品名称、类别、数量、使用方法、备注等内容,并可根据需要对生产资料管理进行修改,删除或查看详细内容等操作,如图5-5所示。

图5-5生产资料管理界面图

采购信息管理,在采购信息管理页面可以查看物品编号、物品名称、类别、采购数量、供应商、联系电话、采购时间等内容,并可根据需要进行修改,删除或查看详细内容等操作,如图5-6所示。

图5-6采购信息管理界面图

员工工资管理,在员工工资管理页面可以查看员工姓名、经理工号、发薪月份、基本工资、奖金、加班补贴、五险一金、实发薪资等内容,并可根据需要进行修改,删除或查看详细内容等操作,如图5-7所示。

图5-7员工工资管理界面图

5.2员工功能模块

员工登录,员工通过输入用户名,密码,角色等信息进入果园信息统计管理系统,如图5-8所示。

图5-8员工登录界面图

员工登录进入果园信息统计管理系统可以查看公告消息、果园资讯、果树信息、天气状况等功能。如图5-9所示。

图5-9员工功能界面图

果树信息,在果树信息管理页面可以通过查看果树编号、果树名称、种植日期、果树类别、寿命、生长周期、开花周期、结果时间、有无病虫害、种植面积等详细信息,进行查看详情如图5-10所示。

图5-10果树信息管理界面图

第6章 系统测试

系统测试主要是通过测试确定系统的可操作性,系统故障必须在规定的时间内纠正,否则会造成严重的经济损失。验证系统内的保护机制,以防止未经授权的入侵。在安全测试中,测试人员的作用是试图闯入系统并使用各种方法来试图突破防御。因此,系统安全设计的标准是找到一种使入侵系统更先进的方法。

6.1系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,在测试过程中发现问题并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题并对其进行修改,虽然耗时费力,但对于系统的开发长期使用而言是非常重要和必要的。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

果园信息统计管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在果园信息统计管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

6.2测试策略

测试系统主要针对以下三个方面进行测试:

1、基于SSM的系统代码的单元测试,集成测试,系统测试和验收测试结果;

2、测试对象中列出的可测试或不可接受的特征和功能;

3、分析并记录测试要求:日期的书面文件不影响测试的设计、开发和执行。

6.3测试特性及分析

系统测试的特性如下:

(1)挑剔性:测试是为了找出系统的错误,在系统测试时我们要严格苛刻,十分挑剔。

(2)复杂性:测试是一个非常复杂的过程。

(3)不彻底性:虽然系统经过测试,但测试仍然会存在不够彻底的问题,测试不能保证系统后期运行完整无误,所以要在后期不断的检查、修改。

经过测试,产品的稳定性和成熟度可以大大提高,产品质量也可以得到保证。

6.4功能测试

系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。

功能测试,主要是对系统的用户登录进行详细的测试,但是登录不可以是任何人都可以登录成功的,所以对登录进行详细测试。

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:ylq

密码:ylq

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:ylq   

密码:ylq   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:ylq   

密码:ylq   

管理员登录成功

管理员登录成功

通过

删除分类测试:

模块名称

测试用例

预期结果

实际结果

是否通过

删除分类模块

分类名:最新通知  

删除成功、页面自动跳转

删除成功、页面自动跳转

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:888

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:888

   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:888

   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,果园信息统计管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

6.5测试结果

经过对一系列测试结果的有效分析,本平台开发系统符合用户的要求和需求。所有的基本功能相对齐全,操作起来简单方便,测试系统性能良好,作为大众化系统使用是比较值得推广宣传的。


结  论

此时项目已经完成,即使实施的时间不是很长,但是在这个过程中需要准备很长的一段时间去对系统设计开发所实际用到的技术进行学习和巩固。在学习的过程中,我逐渐认识到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是掌握了常用的性能和控制方法,我觉得还是相对来说挺容易的。从该系统中,系统的分析和设计的调查数据,已经经历了几个月,并且努力了几个月,该系统现在已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。

在设计系统的过程中还遇到了一个棘手的问题,那就是自己的英语水平还有待提高,很多关于网站技术开发的资料文献都是英文版的,关键词语以及技术性词汇不能很好的理解。只有在借助翻译软件的实时性翻译功能的辅助下才勉强看懂。显然英语水平的高低直接影响到系统的开发过程。

回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作的学习让我有了更多的信心,相信在未来的路上我会走的更好。


参考文献

[1]甘滨,李祥新,李玉顺,孙雨欣.关于MySQL数据库的安全基线配置[J].网络安全和信息化,2022(06):165-166.

[2]何雯洁,岳佳泽.基于Java的研究生指导教师管理信息系统的设计与实现[J].信息与电脑(理论版),2022,34(07):151-154.

[3]王南.Java编程在计算机应用软件中的应用特征与技术研究[J].信息记录材料,2022,23(04):130-132.DOI:10.16009/j.cnki.cn13-1295/tq.2022.04.057.

[4]杨迎.Java语言异常处理机制的分析[J].电子技术,2022,51(03):42-43.

[5]兰武,戴晓强,朱延栓,郑宇航,杨淦华.采用Java的水下遥控机器人监控系统[J].软件导刊,2022,21(03):145-149.

[6]戴靓婕.MySQL数据库在自动测试系统中的应用研究[J].长江信息通信,2022,35(03):162-164.

[7]刘岩松,李菲,陈萍.基于MySQL的飞机维修管理系统的设计[J].电脑知识与技术,2022,18(08):103-105.DOI:10.14004/j.cnki.ckt.2022.0495.

[8]梁秀俊,刘璐,刘彦丰,李斌.基于Java语言的在线导热实验虚拟仿真软件开发[J].实验室研究与探索,2022,41(02):106-110.DOI:10.19927/j.cnki.syyt.2022.02.023.

[9]吴明阳,王森琛.基于SSM框架整合的客户服务系统设计和实现[J].新型工业化,2022,12(02):12-15.DOI:10.19335/j.cnki.2095-6649.2022.02.005.

[10]金澜.MySQL索引是如何形成的[J].计算机与网络,2022,48(02):42-43.

[11]李双,郭晨晨,李佳虎,张慧娥.基于SSM框架的智能驾校系统的设计与开发[J].电脑知识与技术,2022,18(03):62-63+65.DOI:10.14004/j.cnki.ckt.2022.0150.

[12]王慧芳,孙方,陈玉,朱茜.基于SSM框架的大数据个性化推荐系统设计[J].信息与电脑(理论版),2022,34(02):90-92.

[13]Zmaranda Doina R.,Moisi Cristian I.,Győrödi Cornelia A.,Győrödi Robert Ş.,Bandici Livia. An Analysis of the Performance and Configuration Features of MySQL Document Store and Elasticsearch as an Alternative Backend in a Data Replication Solution[J]. Applied Sciences,2021,11(24).

[14]Zhuoxi Zhang,Ming Yuan,Hanwei Qian. Research on MySQL Database Recovery and Forensics Based on Binlog[C]//.Proceedings of the 11th International Conference on Computer Engineering and Networks(CENet2021)Part I.,2021:750-759.DOI:10.26914/c.cnkihy.2021.045076.

[15]SzabóTakács Beáta,Takács Tamás,Roček Aleš. MeteoRead: Client Software for Inserting Observed Atmospheric Data into MySQL<sub>TM</sub> Database and Downloading them into Different File Format[J]. Journal of Software Engineering and Applications,2021,14(10).

[16]王江霖,黄彩霞,樊旭龙.基于SSM框架的网络资源共享平台的研究与实现[J].电脑知识与技术,2021,17(28):76-78.DOI:10.14004/j.cnki.ckt.2021.2999.

[17]强力,李灶娥,魏丹丹,林虎,廖莎.SSM框架下的果蔬信息管理系统设计[J].福建电脑,2021,37(09):99-101.DOI:10.16707/j.cnki.fjpc.2021.09.027.

[18]季金亮. 基于混合云技术的果园作物动态监测平台研究[D].西安科技大学,2021.DOI:10.27397/d.cnki.gxaku.2021.000070.

[19]曲飞宇. “互联网+”背景下的果园管理系统的设计与实现[D].华中师范大学,2019.

[20]刘力宁. 基于物联网的苹果生长环境监测与苹果冻害预警系统研究[D].山东农业大学,2019.

致  谢

时间过得真快,眨眼之间,大学四年的学习生活即将结束,无论是在学习还是生活的这四年,老师们给了我很多帮助,让我终身受益匪浅。老师们不仅帮我树立了正确的人生观和价值观,还帮我养成了很多好习惯,树立了终身学习的意识。在此,我要对我的所有老师表示衷心的感谢。与此同时,我还要感谢陪伴我在这四年里一起成长的伙伴们。他们给了我无私的帮助和关怀,让我在人生最好的四年中获得许多真诚的友谊。

毕业设计是大学四年的最后一个答卷,我们正忙着这四年的美好结束。在毕业项目主题选择的早期阶段,我很紧张担心自己选择的主题很复杂,难以理解,觉得不能这样做会影响我的毕业。是指导老师给我们提供了毕业设计的主题和具体要求,让我们对毕业设计不要太模糊,如果对主题有任何异议,要及时跟他沟通,并且还帮我们介绍他带过的优秀学哥学姐,对我们进行指导,这样再设计上遇到的问题就可以及时得到解决,对我们完成毕业设计提供好的指导条件。

对于毕业设计项目主要是对我在大学所学的专业知识进行一次综合的考验,让我们通过所学的技术知识可以真正的运用到实际动手开发中,通过项目的开发让我意识到自己很多地方的不足,所学知识的不扎实,不能很好的将自己所学的知识运用到系统实际开发上。后来通过自己在图书馆查阅大量书籍,完成系统的设计大纲,阅读笔记和翻译,毕业设计不仅要考验我们的个人能力,还要测验我们的学习态度,做到细节的事情。对于指导老师的帮助,我的毕业设计才可以顺利的完成,我非常感谢。

最后要感谢我的同学们,是你们不断的帮助、鼓励、熬夜、保持调试,测试程序,最终完成果园信息统计管理系统的运行。我们在交流,谈论时间,将是我们未来的财富,我要深深地感谢你。

毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值