(Código fuente adjunto) Proyecto de graduación del desarrollo del sistema de gestión de instalaciones de riego de tierras agrícolas Springboot 260931

Tabla de contenido

Resumen

1. Introducción

1.1 El propósito y la importancia de la selección de temas

1.2 Estado de la investigación

1.3 Características de la tecnología de desarrollo de sistemas.

1.4 Estructura del artículo y disposición de los capítulos.

2  Análisis del sistema de gestión de equipos de riego de tierras agrícolas. 

2.1 Análisis de viabilidad

2.2 Análisis del proceso del sistema

2.2.1 Proceso de adición de datos

2.3.2Proceso de modificación de datos

2.3.3Proceso de eliminación de datos

2.3 Análisis de la función del sistema

2.3.1 Análisis funcional

2.3.2 Análisis no funcional

2.4 Análisis de casos de uso del sistema

2.5 Resumen de este capítulo

3  Diseño general del sistema de gestión de equipos de riego de tierras agrícolas.

3.1 Diseño de la arquitectura del sistema

3.2 Diseño del módulo de funciones del sistema

3.2.1 Diseño general del módulo funcional

3.2.2 Diseño del módulo de gestión de dispositivos

3.2.3 Diseño del módulo de gestión de inspección y mantenimiento

3.3 Diseño de base de datos

3.3.1 Diseño de la estructura conceptual de la base de datos

3.3.2 Diseño de estructura lógica de base de datos

3.4 Resumen de este capítulo

4  Diseño detallado e implementación del sistema de gestión de equipos de riego de tierras agrícolas. 

4.1 Implementación del módulo de inicio de sesión

4.2 Módulo de gestión de administradores 21

4.3 Módulo de gestión de dispositivos 22

4.4 Módulo de gestión de almacenamiento de equipos 25

4.5 Módulo de gestión de inspección y mantenimiento 27

4.6 Módulo de perfil 31

5 Prueba del sistema 34

5.1 Propósito de la prueba del sistema 34

5.2 Casos de prueba del sistema 34

5.3 Resultados de la prueba del sistema 35

Conclusión 37

Referencia 38

Expresiones de gratitud  

                                                                       Resumen

En vista de la situación actual del sistema de gestión de equipos de riego de tierras agrícolas, se desarrolló un sistema de gestión de equipos de riego de tierras agrícolas utilizando tecnología de software, que logró la digitalización y estandarización de la gestión de equipos de riego de tierras agrícolas, mejoró efectivamente la eficiencia de la gestión de equipos y redujo la intensidad de mano de obra de gerentes. La gestión informática ha reemplazado a los métodos tradicionales de gestión manual en muchos campos con sus características rápidas y eficientes. Especialmente en la gestión de equipos de materiales complejos y triviales, esta ventaja de los métodos de gestión informática es aún más destacada. En comparación con los métodos de gestión tradicionales, el sistema de gestión de equipos de riego de tierras agrícolas puede gestionar la información de forma más eficaz. El sistema de gestión de equipos utiliza una base de datos para representar datos de información en forma de base de datos, lo que facilita su actualización y gestión.

Palabras clave : tecnología Springboot; MYSQL; sistema de gestión de equipos de riego para tierras agrícolas.

Abstracto

De acuerdo con la situación actual del sistema de gestión de equipos de riego de tierras agrícolas, el sistema de gestión de equipos de riego de tierras agrícolas se desarrolla mediante el uso de tecnología de software, que logra la digitalización y estandarización de la gestión de equipos de riego de tierras agrícolas, mejora eficazmente la eficiencia del trabajo de la gestión de equipos y reduce la intensidad de mano de obra. de directivos. En el ámbito de la gestión de materiales tradicional, la gestión informática ha sido sustituida por la gestión manual, especialmente en el ámbito de la gestión de materiales compleja y eficiente. En comparación con los métodos de gestión tradicionales, el sistema de gestión de equipos de riego para tierras agrícolas puede gestionar la información de forma más eficaz. El sistema de gestión de equipos aplica la base de datos para representar los datos de información en forma de base de datos, que es más fácil de actualizar y gestionar.

Palabras clave :  tecnología Springboot; MYSQL ; Sistema de gestión de equipos de riego de tierras agrícolas

1. Introducción

1.1  El propósito y la importancia de la selección de temas

En el trabajo del sistema de gestión de equipos de riego de tierras agrícolas, la disposición de los equipos es una tarea muy compleja y difícil. Durante el proceso de arreglo, es fácil cometer errores debido a la gran cantidad. El uso del trabajo de disposición de equipos asistido por computadora no sólo mejora la naturaleza científica de la disposición, sino que también reduce en gran medida la intensidad del trabajo de los administradores y mejora la eficiencia del trabajo, llevando así la modernización de la gestión de equipos de riego de tierras agrícolas a un nuevo nivel. Y debido a que ahora hay muchos equipos de riego para tierras agrícolas pero el nivel de gestión automática es relativamente bajo, muchos equipos de riego para tierras agrícolas utilizan la información básica y la información relacionada del equipo para registrarse y archivarse después de comprarlo. Después del archivado, los archivos básicamente no se registran ni se mantienen. En cuanto a futuros cambios o daños al equipo, no se registrarán en los archivos del equipo, lo que significa que el estado en tiempo real del equipo no se puede reflejar. Incluso si algunas unidades tienen un sistema de gestión de equipos de riego de tierras agrícolas, incluso si pueden reflejar la información en tiempo real del equipo en los archivos del equipo, no se han implementado funciones como el procesamiento de defectos del equipo y los defectos del equipo, ni el estado de los repuestos para el mantenimiento del equipo. y la contabilidad de costos de mantenimiento no se han implementado. Al darse cuenta, la informatización de toda la gestión de equipos de riego de tierras agrícolas aún se encuentra en un nivel bajo. Dividir las tareas de gestión en pequeñas partes, implementarlas a nivel individual y poder consultar las condiciones actuales e históricas del equipo en cualquier momento, lo que tiene un efecto directo en el análisis de confiabilidad del equipo, liberando a los gerentes de cálculos manuales y trabajo estadístico. .

1.2 Estado de la investigación

El sistema de gestión de equipos de riego de tierras agrícolas es una parte indispensable de un sistema de riego de tierras agrícolas. Su contenido es crucial para los equipos y administradores de riego de tierras agrícolas. Por lo tanto, el sistema de gestión de equipos de riego de tierras agrícolas debe ser capaz de proporcionar información suficiente y una gestión rápida para la agricultura. . El sistema también puede ayudar con la gestión eficaz de equipos para el riego de tierras agrícolas, lo que es de gran ayuda en el mantenimiento y la estimación de los equipos de riego de tierras agrícolas, mejorando las capacidades de desarrollo sostenible y la competitividad del mercado de la agricultura.

En la actualidad, el nivel de gestión automatizada de los sistemas de gestión de equipos de riego de tierras agrícolas nacionales no es muy alto. La mayoría de los métodos para aprender los sistemas de gestión de equipos de riego de tierras agrícolas consisten en registrar y archivar la situación básica y la información relacionada del equipo después de comprarlo, y luego archivar los archivos. En el futuro, los archivos básicamente no se mantendrán. Información como la ubicación del equipo, el estado de mantenimiento y el estado operativo actual del equipo no se reflejarán en el libro mayor del equipo en absoluto. Es decir, la información de seguimiento del equipo no se puede reflejado en los archivos del equipo de manera oportuna. En algunos sistemas de gestión de equipos de riego para tierras agrícolas, aunque la información de seguimiento del equipo puede reflejarse en los archivos del equipo, no se implementan funciones como el procesamiento de defectos del equipo y los defectos del equipo, y no se implementan el estado de los repuestos de mantenimiento del equipo y la contabilidad de costos de mantenimiento. Toda la tierra de cultivo La informatización de la gestión de los equipos de riego se encuentra todavía en un nivel bajo. Este sistema de gestión de información se basa razonablemente en las ideas de sistemas de gestión de equipos de riego de tierras agrícolas líderes a nivel internacional y combina el estado actual de los sistemas de gestión de equipos de riego de tierras agrícolas nacionales, que pueden satisfacer plenamente las necesidades de los sistemas de gestión de equipos de riego de tierras agrícolas nacionales. A través de la investigación y exploración a largo plazo sobre la gestión de equipos en diversas industrias, con flexibilidad y versatilidad como principales ideas de diseño, se puede mejorar la eficiencia del riego de tierras agrícolas y la confiabilidad de los equipos, reducir la intensidad de mano de obra del personal, reducir los consumibles y mejorar las tierras agrícolas. Sistema de gestión de equipos de riego.Nivel de gestión moderno.

1.3 Características de la tecnología de desarrollo de sistemas.

(1) El backend de la gestión de fondo web en el sistema de gestión de equipos de riego de tierras agrícolas ya no utiliza la antigua tecnología jsp + javabean + servlet, sino que utiliza el marco springboot convencional actual, que reduce el código de configuración de Java y simplifica el código de programación. El marco es también uno de los marcos elegidos por muchas empresas.

(2) El front-end de la gestión de fondo web en el sistema de gestión de equipos de riego de tierras agrícolas utiliza un marco JavaScript, que puede embellecer el diseño de la página junto con ajax [8] y jquery [9].

(3) La base de datos utilizada en el sistema de gestión de equipos de riego de tierras agrícolas es mysql5.7, que tiene una alta eficiencia de ejecución.

1.4 Estructura del artículo y disposición de los capítulos.

El artículo se organizará jerárquicamente. Además del resumen, los agradecimientos y las referencias bibliográficas, el texto principal también analizará los requisitos del sitio web, describirá el diseño general y las funciones implementadas y, finalmente, enumerará algunos registros de depuración. es como sigue:

Capítulo 1 Introducción. El primer capítulo presenta principalmente los antecedentes de la investigación del proyecto, la situación actual del desarrollo del sistema y el contenido de la investigación y el trabajo principal de este artículo.

Capítulo 2: Análisis de requisitos del sistema. El Capítulo 2 realiza principalmente un análisis de la demanda desde los aspectos de los usuarios y las funciones del sistema.

Capítulo 3: Diseño del sistema. El Capítulo 3 lleva a cabo principalmente el diseño funcional del marco del sistema, los módulos de funciones del sistema y la base de datos.

Capítulo 4: Implementación del sistema. El Capítulo 4 presenta principalmente la construcción del marco del sistema y la implementación de la interfaz del sistema.

Capítulo 5: Pruebas del sistema. El Capítulo 5 prueba principalmente algunas interfaces del sistema y prueba las funciones principales.

Capítulo 6: Resumen.

2 Análisis del sistema de gestión de equipos de riego de tierras agrícolas.

El análisis del sistema es un requisito previo para el desarrollo de un proyecto, a través del análisis del sistema se pueden comprender bien las necesidades básicas de los principales usuarios del sistema, y ​​esta es también la razón del desarrollo del proyecto. Luego, se realiza un análisis de viabilidad sobre el desarrollo del sistema, que generalmente incluye viabilidad técnica, viabilidad económica, etc. El análisis de viabilidad también es un análisis desde la perspectiva general del proyecto. Luego se analizan los requisitos específicos del proyecto y el método de análisis generalmente se implementa a través del diagrama de casos de uso del usuario. La siguiente es una introducción detallada.

2.1 Análisis de viabilidad

(1) Viabilidad económica:

La mayoría de las herramientas utilizadas en el proyecto son actualmente populares de código abierto y gratuitas, por lo que en la etapa inicial de desarrollo, los fondos utilizados para el proyecto se reducirán considerablemente y el desarrollo del software no se verá afectado por los fondos durante el proyecto. período de inicio, por lo que todavía es económicamente viable. Intenta satisfacer las necesidades de los usuarios con la menor cantidad de dinero. Ahorre dinero en costos de mano de obra y costos de equipos. Iremos cada vez más lejos en el camino de la eliminación del papel y la alta eficiencia.

Por tanto, no hay ningún problema con la viabilidad económica.

(2) Viabilidad operativa:

El diseño de este proyecto hace referencia a varios casos de desarrollo de sitios web bajo este modo, analiza sus interfaces de operación y combina muchos casos para resaltar operaciones simplificadas orientadas a las personas, para que personas con conocimientos básicos de informática puedan operar este proyecto.

Por tanto, no hay ningún problema con la viabilidad operativa.

(3) Viabilidad técnica:

La viabilidad técnica se refiere a la viabilidad de construir un marco, así como a la adaptabilidad del sistema a la actualización tecnológica cuando surjan mejores tecnologías, y a la relación de tiempo y costo de desarrollo.

La tecnología Springboot existente puede atender la construcción de todos los sistemas de comercio electrónico. Al desarrollar este sistema de gestión de equipos de riego para tierras agrícolas, utilicé springboot+MYSQL para ejecutar el programa general.

En resumen, no hay ningún problema con la viabilidad técnica.

(4) Viabilidad jurídica:

Desde la perspectiva del desarrollador, Springboot y MYSQL son de código abierto y gratuitos en línea, y no habrá disputas legales con respecto a los derechos de propiedad intelectual.

Desde la perspectiva del usuario, siempre que ya no se venda contrabando en el sistema, se celebran tratados y acuerdos con el sistema y se eliminan los pagos ilegales.

En resumen, no hay ningún problema con la viabilidad legal.

2.2 Análisis del proceso del sistema

El proceso de negocio utiliza algunos símbolos y líneas específicos para demostrar el proceso del usuario cuando utiliza el sistema. Al realizar el análisis del sistema, el proceso de negocio puede ayudar a los desarrolladores a comprender mejor el negocio, descubrir errores y mejorar el sistema.

2.2.1 Proceso de adición de datos

Después de que el usuario inicia sesión exitosamente en el sistema , puede agregar datos. El número de datos agregados es específico y generado por el sistema. El usuario no puede completarlo a voluntad. Excepto el número, el usuario completa otros agregó información por sí mismo. La información completada es verificada por el sistema y es legal. Si se aprueba, mostrará que los datos se agregaron exitosamente. Si se aprueba, no se agregará con éxito. Figura 2-1 Muestra el proceso de agregar datos.

 

Figura 2-1 Diagrama de flujo de adición de datos

2.2.2 Proceso de modificación de datos

El proceso de modificación de datos es similar al proceso de adición de datos descrito anteriormente, como se muestra en la Figura 2-2 .

 

Figura 2-2 Diagrama de flujo de modificación de datos

2.2.3 Proceso de eliminación de datos

Si hay algunos datos inútiles en el sistema , los administradores relevantes también pueden eliminarlos. La Figura 2-3 es el diagrama de flujo para la eliminación de datos.

 

Figura 2-3 Diagrama de flujo de eliminación de datos

2.3 Análisis de la función del sistema

2.3.1 Análisis funcional

Según la función del sistema de gestión de equipos de riego de tierras agrícolas, lo dividí en el módulo de gestión del administrador.

Módulo de gestión de administradores:

(1) Gestión de usuarios: los administradores pueden gestionar y controlar la información del administrador.

(2) Gestión de equipos: el administrador puede agregar, eliminar, modificar y verificar la información del equipo que se muestra en el sistema de gestión de equipos de riego de tierras agrícolas en segundo plano.

(3) Gestión del almacenamiento de equipos: los administradores pueden controlar el almacenamiento de equipos en el sistema de gestión de equipos de riego de tierras agrícolas.

(4) Gestión de salida de equipos: en el menú "Salida de equipos", puede controlar el equipo saliente operado por los administradores.

(5) Gestión de parámetros de operación: los administradores pueden agregar, eliminar, modificar y verificar la información de los parámetros de operación que se muestran en el sistema de administración de equipos de riego de tierras agrícolas.

(6) Gestión de mantenimiento: el administrador puede agregar, eliminar, modificar y verificar la información de mantenimiento que se muestra en el sistema de gestión de equipos de riego de tierras agrícolas.

2.3.2 Análisis no funcional

 Los requisitos no funcionales del sistema de gestión de equipos de riego para tierras agrícolas incluyen la seguridad, confiabilidad, rendimiento, escalabilidad, etc. del sistema de gestión de equipos de riego para tierras agrícolas. Los detalles se pueden expresar en la siguiente tabla 3-1:

Tabla 3-1 Tabla de requisitos no funcionales para  el sistema de gestión de equipos de riego de tierras agrícolas

seguridad

Se refiere principalmente a la instalación de la base de datos del sistema de gestión de equipos de riego de tierras agrícolas, el uso de la base de datos y la configuración de la contraseña deben cumplir con los estándares.

fiabilidad

La confiabilidad significa que el sistema de gestión del equipo de riego de tierras agrícolas se puede instalar y operar de acuerdo con las instrucciones del usuario. Después de las pruebas, la confiabilidad es superior al 90%.

actuación

El rendimiento es una condición necesaria para que los sistemas de gestión de equipos de riego de tierras agrícolas ocupen el mercado, por lo que es mejor tener un buen rendimiento.

Escalabilidad

Por ejemplo, la base de datos reserva múltiples atributos, como el uso de interfaces, para garantizar los requisitos no funcionales del sistema.

Facilidad de uso

Los usuarios solo necesitan seguir el contenido de la página del sistema de gestión de equipos de riego de tierras agrícolas para operar.

mantenibilidad

 La mantenibilidad del desarrollo del sistema de gestión de equipos de riego de tierras agrícolas es muy importante. Después de las pruebas, no hay problemas con la mantenibilidad.

2.4 Análisis de casos de uso del sistema

El administrador en la gestión en segundo plano web mantiene toda la información de datos en todo el sistema de gestión de equipos de riego de tierras agrícolas. En la Figura 2-3 se muestra un ejemplo de la función de administrador.

 

Figura 2-3 Diagrama de casos de uso de la función de administrador del sistema de gestión de equipos de riego de tierras agrícolas

2.5 Resumen de este capítulo

Este capítulo determina principalmente las funciones que debe realizar todo el sistema de gestión de equipos de riego para tierras agrícolas mediante análisis de viabilidad, análisis de procesos, análisis de requisitos funcionales y análisis de casos de uso del sistema de gestión de equipos de riego para tierras agrícolas. También proporciona estándares para la implementación de códigos y pruebas de sistemas de gestión de equipos de riego de tierras agrícolas.

3 Diseño general del sistema de gestión de equipos de riego de tierras agrícolas.

Los contenidos principales discutidos en este capítulo incluyen el diseño del módulo funcional y el diseño del sistema de base de datos del sistema de gestión de equipos de riego de tierras agrícolas.

3.1 Diseño de la arquitectura del sistema

Este sistema de gestión de equipos de riego para tierras agrícolas está dividido arquitectónicamente en tres capas: capa de presentación (UI), capa de lógica empresarial (BLL) y capa de datos (DL).

Figura 3-1 Diagrama de diseño de la arquitectura del sistema del sistema de gestión de equipos de riego de tierras agrícolas

 

Capa de presentación (UI): también conocida como capa UI, completa principalmente la función de interacción de la UI del sistema de gestión de equipos de riego de tierras agrícolas. Una buena interfaz de usuario puede mejorar la experiencia del usuario y mejorar la comodidad del usuario al utilizar el sistema de gestión de equipos de riego de tierras agrícolas. . El diseño de la interfaz de usuario también debe adaptarse a diferentes versiones de sistemas de gestión de equipos de riego de tierras agrícolas y a diferentes resoluciones de tamaño para lograr una buena compatibilidad. Los requisitos de la función de interacción de la interfaz de usuario son razonables y los usuarios deben obtener resultados de interacción consistentes al realizar operaciones interactivas, lo que requiere que la capa de presentación esté bien conectada con la capa de lógica empresarial.

Capa de lógica empresarial (BLL): completa principalmente la función de procesamiento de datos de este sistema de gestión de equipos de riego de tierras agrícolas. Los datos transmitidos por el usuario desde la capa de presentación son procesados ​​por la capa de lógica empresarial y entregados a la capa de datos. Los datos leídos por el sistema desde la capa de datos son procesados ​​por la capa de lógica empresarial y entregados a la capa de presentación.

Capa de datos (DL): dado que los datos de este sistema de gestión de equipos de riego de tierras agrícolas se colocan en la base de datos mysql en el lado del servidor, las partes que pertenecen a la capa de servicio se pueden integrar directamente en la capa de lógica empresarial, por lo que solo existe la base de datos en la capa de datos, que se completa principalmente Las funciones de gestión y almacenamiento de datos de este sistema de gestión de equipos de riego de tierras agrícolas.

3.2 Diseño del módulo de funciones del sistema

3.2.1 Diseño general del módulo funcional

En el capítulo anterior, se analizaron principalmente los requisitos funcionales y no funcionales del sistema, y ​​se analizaron los casos de uso en este sistema de gestión de equipos de riego de tierras agrícolas en función de los requisitos. Luego, el siguiente paso es comenzar a diseñar la arquitectura, las funciones principales y la base de datos de este sistema de gestión de equipos de riego para tierras agrícolas. El sistema de gestión de equipos de riego para tierras agrícolas se deriva del análisis de demanda del capítulo anterior. Su diagrama de módulo de diseño general se muestra en la Figura 3-2.

Figura 3-2 Diagrama del módulo de funciones del sistema de gestión de equipos de riego para tierras agrícolas

 

3.2.2 Diseño del módulo de gestión de dispositivos

El administrador de backend puede agregar, eliminar, modificar y verificar las operaciones de administración de dispositivos de backend. El diagrama de estructura del módulo de administración de dispositivos es el siguiente:

 

Figura 3-3 Diagrama de estructura del módulo de administración de dispositivos

3.2.3 Diseño del módulo de gestión de inspección y mantenimiento

El administrador de backend puede agregar, eliminar, modificar y verificar la gestión de mantenimiento de backend. El diagrama de estructura del módulo de gestión de mantenimiento es el siguiente:

 

Figura 3-4 Diagrama de estructura del módulo de gestión de inspección y mantenimiento

3.3 Diseño de base de datos

El diseño de la base de datos generalmente incluye tres procesos principales: análisis de la demanda, diseño del modelo conceptual y creación de tablas de la base de datos. El análisis de la demanda se explicó en el capítulo anterior y el diseño del modelo conceptual tiene dos partes: el modelo conceptual y el diseño de la estructura lógica.

3.3.1 Diseño de la estructura conceptual de la base de datos

El siguiente es el diagrama principal de relación de entidades ER de las principales tablas de la base de datos en todo el sistema de gestión de equipos de riego de tierras agrícolas.

Figura 3-6 Diagrama de relación ER general del sistema de gestión de equipos de riego para tierras agrícolas

 

De acuerdo con el diagrama ER total de la base de datos del sistema de gestión de equipos de riego de tierras agrícolas, se puede concluir que el sistema de gestión de equipos de riego de tierras agrícolas requiere muchos diagramas ER. A continuación se muestran algunos diagramas del modelo ER de la base de datos principal.

 

Figura 3-7 Diagrama de relación ER del parámetro de operación

 

Figura 3-8 Diagrama de relación ER de información de almacenamiento del equipo

 

Figura 3-9 Diagrama de relación ER de gestión de salida de equipos

 

Figura 3-10 Diagrama de relación ER de administración de dispositivos

3.3.2 Diseño de estructura lógica de base de datos

Del diagrama de relación ER total en el sistema de gestión de equipos de riego de tierras agrícolas de la sección anterior, se puede concluir que es necesario crear un total de muchas tablas de datos. Aquí enumero principalmente varios diseños importantes de estructuras de tablas de bases de datos.

overhaul_and_maintenance:

nombre

tipo

longitud

no nulo

Clave primaria

Comentario

overhaul_and_maintenance_id

En t

11

ID de mantenimiento

modelo_equipo

varchar

64

No

Modelo de dispositivo

nombre del equipo

varchar

64

No

No

Nombre del dispositivo

tipo de equipo

varchar

64

No

No

Tipo de equipo

personal de reparaciones

varchar

64

No

No

Personal de mantenimiento

tiempo de mantenimiento

fecha y hora

0

No

No

Tiempo de mantenimiento

estado_mantenimiento

varchar

64

No

No

Estado de mantenimiento

cantidad_mantenimiento

En t

11

No

No

Cantidad de reparación

imagen_del_equipo

varchar

255

No

No

Imágenes del equipo

detalles_mantenimiento

texto

0

No

No

Detalles de reparación

recomendar

En t

11

No

Recomendación inteligente

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

Tiempo de actualizacion

tabla de parámetros_operativos:

nombre

tipo

longitud

no nulo

Clave primaria

Comentario

id_parámetros_operativos

En t

11

Ejecutar ID de parámetro

modelo_equipo

varchar

64

No

Modelo de dispositivo

nombre del equipo

varchar

64

No

No

Nombre del dispositivo

tipo de equipo

varchar

64

No

No

Tipo de equipo

operador

varchar

64

No

No

operador

estado_en_ejecución_

varchar

64

No

No

Estado de funcionamiento

cantidad_en ejecución

En t

11

No

No

Número de carreras

tiempo de ejecución

fecha y hora

0

No

No

horas de operación

imagen_del_equipo

varchar

255

No

No

Imágenes del equipo

Parámetros de operación

texto

0

No

No

Parámetros de operación

detalles_operacion

texto

0

No

No

Detalles de ejecución

recomendar

En t

11

No

Recomendación inteligente

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

Tiempo de actualizacion

equipo_almacenamiento表:

nombre

tipo

longitud

no nulo

Clave primaria

Comentario

equipo_almacenamiento_id

En t

11

ID de almacenamiento del equipo

modelo_equipo

varchar

64

No

No

Modelo de dispositivo

nombre del equipo

varchar

64

No

No

Nombre del dispositivo

tipo de equipo

varchar

64

No

No

Tipo de equipo

Especificaciones del equipo

varchar

64

No

No

Especificaciones del equipo

personal_de_almacenamiento

varchar

64

No

No

Personal de almacenamiento

cantidad_recibo

En t

11

No

No

Cantidad entrante

tiempo_almacenamiento

fecha y hora

0

No

No

Tiempo de almacenamiento

imagen_del_equipo

varchar

255

No

No

Imágenes del equipo

parámetros_equipo

texto

0

No

No

Parámetros del dispositivo

observaciones_almacenamiento

texto

0

No

No

Observaciones de almacenamiento

recomendar

En t

11

No

Recomendación inteligente

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

Tiempo de actualizacion

equipo_ex_warehouse表:

nombre

tipo

longitud

no nulo

Clave primaria

Comentario

equipo_ex_almacén_id

En t

11

ID de entrega del equipo

modelo_equipo

varchar

64

No

No

Modelo de dispositivo

nombre del equipo

varchar

64

No

No

Nombre del dispositivo

tipo de equipo

varchar

64

No

No

Tipo de equipo

Especificaciones del equipo

varchar

64

No

No

Especificaciones del equipo

ex_almacén_personal

varchar

64

No

No

Personal de salida

cantidad_salida

En t

11

No

No

Cantidad saliente

el tiempo de entrega

fecha y hora

0

No

No

El tiempo de entrega

imagen_del_equipo

varchar

255

No

No

Imágenes del equipo

parámetros_equipo

texto

0

No

No

Parámetros del dispositivo

ex_warehouse_remarks

texto

0

No

No

Observaciones del almacén

recomendar

En t

11

No

Recomendación inteligente

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

Tiempo de actualizacion

tabla de administración de dispositivos:

nombre

tipo

longitud

no nulo

Clave primaria

Comentario

ID_administración_dispositivo

En t

11

设备管理ID

equipment_model

varchar

64

设备型号

equipment_name

varchar

64

设备名称

equipment_type

varchar

64

设备类型

number_of_equipment

int

11

设备数量

equipment_specification

varchar

64

设备规格

equipment_picture

varchar

255

设备图片

equipment_parameters

text

0

设备参数

device_details_

text

0

设备详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

Upload表:

名称

类型

长度

不是null

主键

注释

upload_id

int

11

上传ID

name

varchar

64

文件名

path

varchar

255

访问路径

file

varchar

255

文件路径

display

varchar

255

显示顺序

father_id

int

11

父级ID

dir

varchar

255

文件夹

type

varchar

32

文件类型

Group表:

名称

类型

长度

不是null

主键

注释

group_id

mediumint

8

用户组ID

display

smallint

4

显示顺序

name

varchar

16

名称

description

varchar

255

描述

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

register

smallint

1

注册位置

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

3.4本章小结

整个农田灌溉设备管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4农田灌溉设备管理系统 详细设计与实现

 农田灌溉设备管理系统 的详细设计与实现主要是根据前面的 农田灌溉设备管理系统 的需求分析和 农田灌溉设备管理系统 的总体设计来设计页面并实现业务逻辑。主要从 农田灌溉设备管理系统 界面实现、业务逻辑实现这两部分进行介

4.1登录模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

 

图5-1登录流程图

系统登录界面如下所示。

 

图5-2系统登录界面

登录关键代码如下所示。

/**

     * 登录

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

        }

}

4.2管理员管理模块

管理员在yhzhgl查看管理员信息,先使用sql语句查询出所有管理员表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用Java得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。

管理员管理界面如下图所示。

 

图5-3管理员管理界面

管理员管理关键代码如下所示。

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

    }

4.3设备管理模块

添加设备信息时,输入必填字段后,表现层的YifangController接受传过来的设备信息参数,再调用YifangController类的addYifang方法,经过YifangService业务层到YifangMapper持久层的处理,完成对整个添加设备信息的操作。addYifang方法也和用户管理中的addUser方法类似,同时做添加和修改工作。

修改设备信息时,选择需要修改的设备进行修改,调用YifangController控制器的editYifang方法,拿到该设备原本的信息并显示到页面,管理员再对需要修改的设备信息字段进行修改,完成后调用addYifang方法,调用业务层的updateByKey方法,更新数据库的设备信息表的数据。

设备管理流程图如下所示。

 

图5-4设备管理流程图

设备添加界面如下图所示。

 

图5-5设备添加界面

设备查询界面如下图所示。

 

图5-6设备查询界面

设备管理关键代码如下所示。

  @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

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

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

4.4设备入库管理模块

删除设备入库时,选择需要删除的设备进行删除,把主键的uId传到HetongController控制器,再调用控制器的deleteHetong方法,数据经过HetongService业务层解析和处理,请求HetongMapper持久层调用deleteByPrimaryKey方法操作数据库将设备入库数据从数据库中删除。

查找设备入库时,输入需要查找的设备入库名,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。

设备入库管理流程图如下所示。

 

图5-7设备入库管理流程图

设备入库添加界面如下图所示。

 

图5-8设备入库添加界面

设备入库管理关键代码如下所示。

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

    @Transactional

    public void delete(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");

        sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));

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

        Query query1 = runCountSql(sql.toString());

        query1.executeUpdate();

    }

4.5检修维护管理模块

管理员选择添加检修维护,管理员在yifang_list查看检修维护,点击检修维护,跳转至zijinshoufu_add.Java,添加检修维护记录则将添加的检修维护记录数据封装在HashMap中,然后调用CommDAO的insert方法将检修维护记录内容插入检修维护记录表中。

检修维护管理流程图如下所示。

 

图5-9检修维护管理流程图

检修维护添加界面如下图所示。

 

图5-10检修维护添加界面

检修维护管理关键代码如下所示。

@PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

    public Map<String,String> readConfig(HttpServletRequest request){

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

        map.put(FindConfig.PAGE,request.getParameter(FindConfig.PAGE));

        map.put(FindConfig.SIZE,request.getParameter(FindConfig.SIZE));

        map.put(FindConfig.LIKE,request.getParameter(FindConfig.LIKE));

        map.put(FindConfig.ORDER_BY,request.getParameter(FindConfig.ORDER_BY));

        map.put(FindConfig.FIELD,request.getParameter(FindConfig.FIELD));

        map.put(FindConfig.GROUP_BY,request.getParameter(FindConfig.GROUP_BY));

        map.put(FindConfig.MAX_,request.getParameter(FindConfig.MAX_));

        map.put(FindConfig.MIN_,request.getParameter(FindConfig.MIN_));

        return map;

}

    public Map<String,String> readQuery(HttpServletRequest request){

        String queryString = request.getQueryString();

        if (queryString != null && !"".equals(queryString)) {

            String[] querys = queryString.split("&");

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

            for (String query : querys) {

                String[] q = query.split("=");

                map.put(q[0], q[1]);

            }

            map.remove(FindConfig.PAGE);

            map.remove(FindConfig.SIZE);

            map.remove(FindConfig.LIKE);

            map.remove(FindConfig.ORDER_BY);

            map.remove(FindConfig.FIELD);

            map.remove(FindConfig.GROUP_BY);

            map.remove(FindConfig.MAX_);

            map.remove(FindConfig.MIN_);

            return map;

        }else {

            return new HashMap<>();

        }

}

    @Transactional

    public void update(Map<String,String> query,Map<String,String> config,Map<String,Object> body){

        StringBuffer sql = new StringBuffer("UPDATE ").append("`").append(table).append("`").append(" SET ");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("`"+humpToLine(entry.getKey())+"`").append("=").append("'").append(value).append("'").append(",");

            }else {

                sql.append("`"+humpToLine(entry.getKey())+"`").append("=").append(value).append(",");

            }

        }

        sql.deleteCharAt(sql.length()-1);

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

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

        Query query1 = runCountSql(sql.toString());

        query1.executeUpdate();

}

    public String toWhereSql(Map<String,String> query, Boolean like) {

        if (query.size() > 0) {

            try {

                StringBuilder sql = new StringBuilder(" WHERE ");

                for (Map.Entry<String, String> entry : query.entrySet()) {

                    if (entry.getKey().contains(FindConfig.MIN_)) {

                        String min = humpToLine(entry.getKey()).replace("_min", "");

                        sql.append("`"+min+"`").append(" >= '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("' and ");

                        continue;

                    }

                    if (entry.getKey().contains(FindConfig.MAX_)) {

                        String max = humpToLine(entry.getKey()).replace("_max", "");

                        sql.append("`"+max+"`").append(" <= '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("' and ");

                        continue;

                    }

                    if (like == true) {

                        sql.append("`"+humpToLine(entry.getKey())+"`").append(" LIKE '%").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("%'").append(" and ");

                    } else {

                        sql.append("`"+humpToLine(entry.getKey())+"`").append(" = '").append(URLDecoder.decode(entry.getValue(), "UTF-8")).append("'").append(" and ");

                    }

                }

                sql.delete(sql.length() - 4, sql.length());

                sql.append(" ");

                return sql.toString();

            } catch (UnsupportedEncodingException e) {

                log.info("拼接sql 失败:{}", e.getMessage());

            }

        }

        return "";

    }

4.6个人资料模块

用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。

密码修改流程图如下所示。

 

图5-11密码修改流程图

个人信息界面如下图所示。

 

图5-12个人信息界面图

修改密码界面如下图所示。

 

图5-13修改密码界面图

修改密码逻辑代码如下所示。

/**

     * 修改密码

     * @param data

     * @param request

     * @return

     */

    @PostMapping("change_password")

    public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){

        // 根据Token获取UserId

        String token = request.getHeader("x-auth-token");

        Integer userId = tokenGetUserId(token);

        // 根据UserId和旧密码获取用户

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

        String o_password = data.get("o_password");

        query.put("user_id" ,String.valueOf(userId));

        query.put("password" ,service.encryption(o_password));

        Query ret = service.count(query, service.readConfig(request));

        List list = ret.getResultList();

        Object s = list.get(0);

        int count = Integer.parseInt(list.get(0).toString());

        if(count > 0){

            // 修改密码

            Map<String,Object> form = new HashMap<>();

            form.put("password",service.encryption(data.get("password")));

            service.update(query,service.readConfig(request),form);

            return success(1);

        }

        return error(10000,"密码修改失败!");

    }

5系统测试

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:设备展示功能测试、设备添加、设备搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:

设备查看功能测试:

表5-1 设备查看功能测试表

用例名称

设备查看

目的

测试设备查看功能

前提

用户登录

测试流程

点击设备列表

预期结果

可以查看到所有设备信息

实际结果

实际结果与预期结果一致

管理员添加设备界面测试:

表5-2管理员添加设备界面测试表

用例名称

设备发布测试用例

目的

测试设备发布功能

前提

用户正常登录情况下

测试流程

1)点击设备信息管理就,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的设备信息 

实际结果

实际结果与预期结果一致

设备搜索功能测试:

表5-3设备搜索功能测试表

用例名称

设备搜索测试

目的

测试设备搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的设备

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-4密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写 农田灌溉设备管理系统的测试用例,已经检测完毕设备查看模块、设备添加模块、设备搜索模块、密码修改功能测试,通过这4大模块为农田灌溉设备管理系统的后期推广运营提供了强力的技术支撑。

结论

至此,农田灌溉设备管理系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、springboot技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]吴昊鹏,班剑锋,李建华.一种基于MR的电解槽设备辅助管理系统的实现方法[J].机械与电子,2022,40(03):40-44.

[2]陆昕,苏立清,曹耀兵. 一种数据处理的方法、多云管理系统以及相关设备[P]. 广东省:CN112104697B,2022-03-04.

[3]张诚,张杰,吴智晖,张斌.浅谈天然气净化厂设备综合管理系统应用及发展趋势[J].中国设备工程,2022(04):82-83.

[4]孙存虎.基于物联网的机械设备安全管理系统研究[J].河南科技,2022,41(04):21-24.DOI:10.19968/j.cnki.hnkj.1003-5168.2022.04.004.

[5]李博.基于物联网的设备停机管理系统设计及实现[J].物联网技术,2022,12(02):86-88.DOI:10.16667/j.issn.2095-1302.2022.02.023.

[6]张楠,何敏,孙有恒,郭雪卿,胡振中.基于BIM的地铁施工设备物资精细化管理系统[J/OL].施工技术(中英文):1-7[2022-03-30].http://kns.cnki.net/kcms/detail/10.1768.TU.20220210.1624.002.html

[7]熊柏祥.基于Springboot和Vue框架的考试资源服务平台的设计与实现[J].信息与电脑(理论版),2022,34(01):97-99+103.

[8]毛烁. 镭立设备管理系统助力生产经营企业“降本增效”[N]. 中国信息化周报,2021-12-06(017).DOI:10.28189/n.cnki.ndnjy.2021.000570.

[9]郑文国,安剑奇,董文佳,尹枫,岑延卓. 基于B/S网络架构的设备加工型企业管理系统的研究与实现[C]//.2021中国自动化大会论文集.,2021:162-166.DOI:10.26914/c.cnkihy.2021.053498.

[10]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.

[11]巢晟盛.基于SpringBoot微服务架构下前后端分离的MVVM模型浅析[J].电脑知识与技术,2021,17(23):128-129+141.DOI:10.14004/j.cnki.ckt.2021.2412.

[12]赵志威,张生月,蒋应举,屠晓光.基于SpringBoot的高新技术企业创新能力评价平台设计与实现[J].现代信息科技,2021,5(15):40-42.DOI:10.19850/j.cnki.2096-4706.2021.15.011.

[13]向福川,方玉,刘浪,唐振云,练瑶.基于SpringBoot+Vue框架的协同育才系统设计与开发[J].现代信息科技,2021,5(14):5-7+12.DOI:10.19850/j.cnki.2096-4706.2021.14.002.

[14]崔灿. 预防性维护设备管理系统研究[D].湖北工业大学,2021.DOI:10.27131/d.cnki.ghugc.2021.000447.

[15]鲁文行. 基于组态软件的印刷包装设备监控管理系统研究[D].西安理工大学,2021.DOI:10.27398/d.cnki.gxalu.2021.001270.

[16]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

[17]方璐, 云智实验设备管理系统. 河南省,泛锐云智科技,2021-02-01.

[18]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).

[19]GB/T 37693-2019, 信息技术 基于感知设备的工业设备点检管理系统总体架构[S].

[20]Zhao Xiaoxu. Application of spacecraft manufacturing equipment management system[P]. Beijing Institute of Spacecraft Environment Engineering (China);South China Univ. of Technology (China);Guangdong Academy of International Academic Exchange (China),2021.

                                                                      致  谢

逝者如斯夫,不舍昼夜。转眼间,大用户用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?

感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。

少年,追风赶月莫停留,平荒尽处是春山。

免费领取本源代码,请关注点赞+私信

Supongo que te gusta

Origin blog.csdn.net/ID3461074420/article/details/126420107
Recomendado
Clasificación