SISTEMA PARA LA DETECCIÓN DE PLAGIO Y VALIDACIÓN DE ESTRUCTURA EN LOS DOCUMENTOS CIENTÍFICOS EMITIDOS EN EL CENTRO DE INFORMACIÓN CIENTÍFICO TÉCNICA (CICT) DEL ISMMM

Resumen

En el Centro de Información Científico Técnica (CICT) del Instituto Superior Minero Metalúrgico de Moa (ISMMM), todos los años se emiten documentos científicos, cuya redacción y confección es una tarea de suma importancia ya que además de ser el reflejo de los detalles de las investigaciones realizadas, sirven de guía o base para la confección de otros trabajos u otras investigaciones, por lo que deben tener la mayor calidad debido al grado de exigencia para esta categoría de documento. Por lo tanto, la presente investigación estará centrada en desarrollar una aplicación para la automatización de la detección de plagio y la validación de estructuras de los documentos científicos emitidos en el CICT. El desarrollo de la aplicación estuvo guiado por prácticas que propone la metodología de desarrollo de software XP, obteniendo los artefactos de las diferentes fases de trabajo, como la exploración, planificación, diseño, implementación y pruebas. Se emplearon herramientas libres y de código abierto para el desarrollo de la aplicación, resultado de un estudio comparativo entre muchas otras herramientas existentes en la actualidad. Se explican en el documento de forma detallada las funcionalidades que brinda la solución al problema planteado.

Palabras Claves: Detección de plagio, plagio, tipo de plagio, tecnologías de la información, CICT.

Introducción

La redacción, confección y revisión de un documento científico es un proceso complicado, debido a que en este se realizan muchas descripciones detalladas acerca de lo que se realiza, tales como gráficos, fórmulas matemáticas, conceptos e ideas que han sido estudiadas y abordadas por otros trabajos. Además el autor refleja en el mismo las ideas que quiere exponer y puede servir de base para otras investigaciones, por lo que se debe tener cuidado en la forma en que se redacta y se estructura la información. Para la realización de este tipo de documento, el autor debe tener en cuenta que las ideas tengan un orden correcto, además de que no tenga casos de plagio.

Se conoce como plagio a la acción de copiar o reproducir obras ajenas y desde el punto de vista legal es una infracción al derecho de autor. Por lo que se considera que una persona comete plagio cuando copia o imita algo que no le pertenece y lo presenta como autor. Según la Real Academia Española de la Lengua, plagiar es: “copiar en lo sustancial obras ajenas dándola como propias”.

Existen muchos tipos de plagio: de ideas, de texto, de música, de imágenes. El tipo de plagio al cual está orientado el siguiente trabajo es al plagio de texto, el plagio de documentos de texto.

Al existir un fácil acceso a las tecnologías de la información en la Universidad  de Moa (ISMMM), tales como Internet y los repositorios o base de datos de información de la biblioteca, estos son utilizados generalmente como bibliografía para la confección de muchos trabajos investigativos. Por lo que existe la posibilidad real de que varios usuarios, al querer completar o desarrollar los trabajos investigativos en un tiempo mínimo o con poco esfuerzo, crean copias exactas de frases existentes en estas bibliografías o realizan los trabajos sin citar las fuentes.

Debido a que se desarrollan cada año productos de software, trabajos investigativos, artículos científicos, trabajos de diploma de los estudiantes de 5to año, entre otros, los documentos científicos requieren un alto grado de profesionalidad y autenticidad. Además las publicaciones de nivel científico requieren de un estándar o norma en su estructura, las cuales no siempre se han cumplido a la hora de publicar o entregar las obras, por lo que es necesario validar también su estructura capitular. Actualmente existen aplicaciones para la gestión de documentos emitidos por los diferentes proyectos, pero no existe un sistema para verificar su autenticidad y/o profesionalidad. Este proceso actualmente se hace de forma manual por los tutores y revisores, lo que puede representar un problema en el aprovechamiento del tiempo, ya que la cantidad de documentos es muy grande.

El Centro de Información Científico Técnica del ISMMM, es un centro de excelencia en la formación desde la producción de estudiantes de pregrado de las carreras de Minería, Geología, Eléctrica, Mecánica, Ciencia de la Información, Contabilidad y Finanzas así como ingeniería en Informáticas y en el desarrollo de productos, servicios y soluciones integrales en el campo de la identificación y la seguridad digital, de alta eficiencia económica, donde se emiten varias publicaciones y artículos científicos a los cuales es necesario aplicarles controles de calidad y verificación de autoría.

El Centro no está ajeno al problema sobre el cúmulo de documentación generada por los proyectos, ya que como se hizo referencia anteriormente, el gran volumen de documentos puede dificultar la revisión de estos. Debido a que no existe una herramienta que ayude al proceso de revisión de los documentos, la realización de estas revisiones, en el proceso de verificación de la calidad de los documentos científicos, mediante la detección de plagio y la verificación estructural de los mismos, es un proceso manual que requiere prolongados períodos de tiempo.

Hoy en día con el auge de las tecnologías, el plagio a pesar de ser considerado un delito por muchas autoridades, es algo muy común que se ve día a día en las realizaciones y confecciones de muchas obras. Existen varios tipos de plagio de texto, los cuales se pueden clasificar en plagio de ideas, palabra a palabra, de fuentes y de autoría. (1)

En cuanto al tipo de plagio de texto, existen varias características delimitadas por Clough (2)  que pueden ser de utilidad para la detección de plagio, ellas son:

  1. Vocabulario utilizado. Analizar el vocabulario utilizado en alguna tarea con respecto a documentos escritos previamente por la misma persona. La existencia de una alta cantidad de vocabulario nuevo podría ayudar a determinar si una persona realmente escribió un texto o no.
  2. Cambios de vocabulario. Si el vocabulario utilizado en un texto cambia significativamente a través de un documento.
  3. Texto incoherente. Si un texto fluye de manera inconsistente o confusa.
  4. Puntuación. Es muy poco probable que dos autores utilicen los signos de puntuación exactamente de la misma manera.
  5. Cantidad de texto común entre documentos. Es poco frecuente que dos documentos escritos de manera independiente compartan grandes cantidades de texto.
  6. Errores en común. Resulta muy improbable que dos textos independientes tengan los mismos errores de escritura.
  7. Distribución de las palabras. Es poco frecuente que la distribución en el uso de las palabras a través de textos escritos independientemente sea la misma.
  8. Estructura sintáctica del texto. Un indicador de plagio es que dos textos compartan una estructura sintáctica común.
  9. Largas secuencias de texto en común. Es poco probable que dos textos independientes (incluso cuando traten el mismo tema), compartan largas secuencias de caracteres o palabras consecutivas.
  10. Orden de similitud entre textos. Si existe un conjunto significativo de palabras o frases comunes en dos textos, puede haber un caso de plagio.
  11. Dependencia entre ciertas palabras y frases. Un autor tiene preferencias sobre el uso de ciertas palabras y frases. Encontrarlas en un trabajo realizado por otro, debe ser considerado sospechoso.
  12. Frecuencia de palabras. Es poco común que las palabras halladas en dos textos independientes sean usadas con la misma frecuencia.
  13. Preferencia por el uso de sentencias cortas o largas. Los autores pueden tener una marcada preferencia sobre la longitud de las sentencias. Dicha longitud podría ser poco usual en compañía de otras características.
  14. Legibilidad del texto. Resulta improbable que dos autores compartan las mismas medidas de legibilidad.
  15. Referencias incongruentes. La aparición de referencias en el texto que no se encuentran en la bibliografía o viceversa son disparadores de un posible caso de plagio.

Para detectar plagio o similitudes entre documentos, Barrón-Cedeño (3), clasifica en dos las vertientes principales que buscan dar solución al problema de la detección automática de plagio.

Una de estas es el análisis intrínseco de plagio, en el cual, el único recurso con que se cuenta es con el texto sospechoso de plagio y al cual se le realizan pruebas, las cuales pueden ser basadas en la utilización del vocabulario, texto incoherente, errores en común, etc. Esta tiene la desventaja de que necesita una buena y detallada revisión por parte del ser humano. Si se toma en cuenta las características que Clough considera útiles en la tarea de detección de plagio, el análisis intrínseco de plagio considera las características 2, 7, 12 y 14.

Otra es la detección de plagio con referencia, el cual basa sus búsquedas en documentos dados por originales con el fin de buscar textos coincidentes o fragmentos de estos en las copias originales. Posee varias características como la cantidad de texto en común entre varios documentos, la estructura sintáctica común y la dependencia entre ciertas frases y palabras. La gran desventaja es que requiere de espacio para guardar los textos que servirán de referencia para la comparación, siendo también engorroso el tiempo de búsqueda entre las fuentes. Entre más documentos de referencia se tengan, más probable será que un texto plagiado sea detectado. Si el corpus o repositorio de documentos de referencia es muy grande, el tiempo necesario para realizar las búsquedas puede no ser adecuado en la práctica.

La vertiente de detección de plagio con referencia, se escoge como la idónea para darle solución al problema planteado, ya que dentro de su principal característica está tener una fuente confiable de obras originales, siendo este proceso más fácil de automatizar que el proceso de análisis intrínseco de plagio, el cual basa su efectividad en el nivel cultural o de información del revisor, siendo esta vertiente muy difícil o de poca efectividad su automatización. Además debido a que es más fácil de detectar plagio analizando varios documentos y comparándolos entre ellos, que analizando un documento por su lógica sintáctica.

Características generales de un algoritmo de detección de plagio

Un algoritmo de detección de plagio debe contar con 3 propiedades fundamentales (4):

  • No debe ser sensible a los espacios en blanco: Cuando se hace una comparación entre dos fragmentos de textos, esta no debe afectarse por la existencia de espacios en blanco extras, capitalización, signos de puntuación.
  • Eliminación de ruido: Se deben eliminar aquellas palabras y caracteres que no contengan información relevante (eliminación de palabras como “de”, “a”).
  • Independencia de posición: La permutación de palabras dentro del documento no debe afectar el proceso de detección.

Flujo principal de un sistema genérico de detección de plagio

La detección de plagio con referencia puede verse como un proceso siguiendo un orden específico, el inicio del mismo comienza con un documento, el cual es dividido en secciones más pequeñas, como pueden ser páginas. Posteriormente a cada una de esas secciones se les extrae el texto correspondiente. Si lo que se desea es comparar el documento en busca de similitudes, cada fragmento de texto extraído es comparado con los existentes en una base de datos y se le muestran los resultados al usuario. En caso contrario, los fragmentos extraídos son almacenados en la base de datos.

Recuperación de información

Una vez analizado el funcionamiento genérico del proceso de detección de plagio, vale aclarar que la parte más difícil del desarrollo, es la extracción del texto del mismo para su análisis o comparación, ya que es la parte más complicada del proceso. En este punto la recuperación de información juega un papel decisivo. La recuperación de información es el proceso mediante el cual, partiendo de una colección de textos, tales como resúmenes de libros o una necesidad de información, se devuelven los documentos que mejor satisfacen esa necesidad. Se trata de un proceso con aplicaciones prácticas, como buscadores web o bibliotecas digitales.

Generalmente el proceso sigue estos pasos:

  1. Se analizan los documentos y se transforman a una representación interna (más adelante se explica un método de representación) de cada uno.
  2. Se analiza la consulta y se transforma a una representación interna.
  3. A partir de las representaciones obtenidas en los pasos anteriores se calcula el grado de similitud entre cada documento y la consulta.
  1. Se recuperan los documentos que guardan mayor similitud con la consulta del usuario.

Índice invertido

Los índices invertidos son estructuras utilizadas para la recuperación de información almacenando cada término y la lista de documentos en los que este aparece, permitiendo un acceso directo a la búsqueda de documentos asociados a cada palabra durante la resolución de consultas. Existen dos variantes principales: Índice invertido a nivel de registro (record level inverted index) en el que únicamente se almacena la referencia al documento que contiene la palabra, e Índice invertido a nivel de palabra (word level inverted index) que adicionalmente guarda la posición del término dentro del documento. Este último ofrece mayor funcionalidad, sin embargo el tiempo para crearlo y el espacio para almacenarlo es muy grande.

 

Modelo de Espacio Vectorial

El modelo de espacio vectorial es un modelo algebraico basado en sistemas de recuperación de información. Según este modelo, cada expresión del lenguaje natural puede representarse como un vector de pesos de términos, o la unidad mínima de información, como una palabra o la raíz sintáctica de una palabra. En el caso de la recuperación de información se representan los documentos y la consulta:

  • documento = (peso_de_término_1, peso_de_término_2, …, peso_de_término_n)
  • consulta = (peso_de_término_1, peso_de_término_2, …, peso_de_término_n)

Para determinar la similitud que existe entre un documento y una consulta se calcula la distancia que existen entre los vectores que los representan (a menor distancia, mayor similitud).

Extracción y selección de términos

Como se acaba de ver, calcular la similitud entre un documento y una consulta es tan fácil como calcular la distancia entre dos vectores. Sin embargo esos vectores deben representar lo mejor posible tanto a los documentos como a la consulta. En este punto se aprecia el cálculo de esos vectores. Se referenció anteriormente que los vectores están formados por “pesos de términos”. El primer paso es escoger los términos. El enfoque más simplista sería escoger como términos cada una de las palabras de cada documento. De esta manera se obtienen los términos para los documentos siguientes:

doc1 = “Mañana será un día bueno”.

doc2 = “Me gusta más la noche que el día”.

doc3 = “Paco será alguien el día de mañana”.

Términos = (mañana, será, un, día, estupendo, me, voy, de, vacaciones, gusta, más, la, noche, que, el, para, alguien).

Desarrollo

Algoritmos utilizados

Una vez analizados los modelos matemáticos de la recuperación de información, es necesaria la implementación o comprensión de un algoritmo para la realización de la extracción de texto y la comparación de los mismos, ya que el problema de la detección de plagio puede verse como un problema de búsqueda y/o clasificación.

El primero de los elementos a considerar en esta tarea es el corpus de referencia D, el cual está conformado por un conjunto de documentos de referencia. Por extraño que parezca en principio, no existe ninguna condición de que dichos documentos de referencia sean realmente originales. La razón es que basta con que un fragmento de un texto sospechoso sea hallado en otro para determinar que se trata de un caso de plagio.

La extensión y cobertura que pueda alcanzar el corpus de referencia es uno de los factores clave en el éxito de los sistemas de detección de plagio basados en corpus. Cada documento     es una potencial fuente del texto incluido en un documento sospechoso, es decir, un texto plagiado. El segundo elemento a considerar es precisamente el documento sospechoso. Este documento puede ser original, contener fragmentos plagiados o, de hecho, estar enteramente plagiado. Estos dos elementos son suficientes para describir el planteamiento de la tarea de detección de plagio:

Sean S un documento sospechoso y D un conjunto de documentos de referencia, el objetivo de la detección automática de plagio es encontrar aquel documento   que haya sido utilizado como fuente para obtener el documento S, el cual presumiblemente es un caso de plagio. Dicha búsqueda puede llevarse a un nivel más específico: Sea    un fragmento plagiado, el objetivo es encontrar aquel fragmento  , tal que es la fuente del fragmento plagiado . (3)

Fernando Sánchez Vega (5), hace una comparación entre los diferentes métodos u algoritmos utilizados para la detección de plagio y las características enunciadas por Clough (2). De esta manera se logra identificar cuáles de esos parámetros son tenidos en cuenta por cada algoritmo para el proceso de detección.

En esta comparación sobresalen tres algoritmos:

  • Greedy String Tiling: El cual basa su funcionamiento en el cálculo de subsecuencias comunes entre documentos. (4)
  • FingerPrint: El cual basa su funcionamiento en la determinación de un patrón que va a representar el contenido del documento, para la búsqueda del mismo en una base de datos de patrones y detectar posibles similitudes. (4)
  • Modelo Vectorial: El cual basa su funcionamiento en la representación del contenido de los documentos en términos de vectores y posteriormente mediante fórmulas matemáticas se arrojan los resultados de las similitudes. (5)

El primero de estos es un algoritmo Greedy (Glotón), por este motivo su funcionamiento es lento, requiere del gran espacio en memoria para almacenar las estructuras de datos usadas para la detección, y se ve afectado más aún cuando el corpus de documentos es grande. Por otro lado este solo detecta copias exactas, por lo que un simple cambio en el orden de las palabras o estas ser sustituidas por sinónimos, afectaría el proceso de detección.

Los restantes algoritmos se caracterizan por ser rápidos y requerir poco espacio de almacenamiento por las estructura de datos usadas por cada uno. A continuación se describen los mismos.

1. Algoritmo Document FingerPrint: Winnowing

Uno de los algoritmos más usados para la detección de plagio o similitudes de texto, es el que consiste en la obtención de una firma o fingerprint de un documento. Utilizando instancia específica del algoritmo Document Fingerprinting, llamada Winnowing (Aventar), para obtener un mejor resultado en la comparación entre documentos. En esta sección se procederá a explicar en qué consiste este método. La fingerprint (huella digital o firma) de un documento se refiere al conjunto de valores numéricos que representan a varias porciones del mismo (6).

2. Algoritmo basado en la medida de similitud Word Chunking Overlap (WCO)

Respecto a la representación interna de un documento, el método más comúnmente utilizado en sistemas de RI es el VSP (Vector Space Model o Modelo de Espacio Vectorial), donde la medida de similitud entre dos documentos es calculada mediante la fórmula del coseno. Dando como resultado el valor del ángulo entre los vectores que representan los mismos, mientras más pequeño sea el ángulo más similares serán estos documentos, esta representación es llamada “bolsa de palabras” pues el orden de aparición de estas en el documento no se mantiene, perdiéndose la relación entre estas y como consecuencia su significado. Por lo que tal representación no es la adecuada para sistemas de detección de plagio que trabajan con texto, además la fórmula del coseno tiene dificultades cuando los vectores de los documentos difieren en tamaño.

Lenguajes utilizados

Los lenguajes de programación son idiomas artificiales creados para que el programador o desarrollador interactúe con las máquinas o que estas puedan ejecutar dicho lenguaje o código para realizar la función que quiere el creador. El uso de un lenguaje de programación puede determinar la calidad o las características de una aplicación informática. En el caso de la aplicación desarrollada, los lenguajes utilizados permitieron que se realizara una aplicación estable y de buena calidad. (Java como lenguaje de programación, JavaScript)

Entorno de desarrollo

NetBeans IDE

Para la implementación de la aplicación además de un potente lenguaje de programación, es necesario un potente IDE de desarrollo. Para esto se utilizó el Netbeans, el cual es un producto libre y gratuito, sin restricciones de uso, que soporta el desarrollo de todos los tipos de aplicación Java (J2SE, web, EJB y aplicaciones móviles).

Frameworks utilizados

Spring: Spring es un marco de desarrollo o framework de código abierto creado para abordar la complejidad de desarrollo de las aplicaciones empresariales. Cualquier aplicación Java se puede beneficiar con Spring en términos de simplicidad, la capacidad de prueba, y bajo acoplamiento. Una ventaja de Spring es su modularidad, pudiendo usar algunos de los módulos sin comprometerse con el uso del resto.

Hibernate

Hibernate es una herramienta de mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML), que permiten establecer estas relaciones además de diseñar objetos persistentes que podrán incluir polimorfismo, relaciones, colecciones, y un gran número de tipos de datos.

Servidores utilizados

Los servidores son contemporáneamente las aplicaciones informáticas de más uso. Estos son los que garantizan los servicios que muchas empresas brindan a todo el mundo, además de que permiten la interacción de muchas personas en la red de redes. (Apache Tomcat, RabbitMQ)

Librerías utilizadas

Los algoritmos y soluciones matemáticas descritos anteriormente, son implementados o recogidos por soluciones o librerías informáticas que sirven para el manejo o el trabajo de documentos, por ejemplo la extracción de texto así como la búsqueda y el manejo de estos. A continuación se explican las ventajas de las librerías utilizadas para darle solución al problema del manejo de los textos de los documentos. (Apache Lucene Java, PDFBox)

Gestor de base de datos

Debido a que el sistema cuenta con una serie de datos que deben ser bien administrados y guardados, un sistema gestor de base de datos sirve para lograr un mejor manejo de los datos y su definición, así como mantener la integridad de los datos dentro de la base de datos, controlar la seguridad, la privacidad y el manejo de los datos. (PostgreSQL)

Metodología de desarrollo

Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a la documentación para el desarrollo de productos software, en el que se van indicando paso a paso todas las actividades a realizar para lograr el producto informático deseado, indicando además qué personas deben participar en el desarrollo de las actividades y qué papel deben de tener. Además detallan la información que se debe producir como resultado de una actividad y la información necesaria para comenzarla. (XP o Extreme Programming)

Visual Paradigm para UML

Para la correcta comprensión de los componentes, así como la realización de algunos diagramas o diseños, como el diseño de la base de datos, se necesita una herramienta de modelado que permita la realización de esta tarea, es por ello que se escoge la herramienta CASE Visual Paradigm. Es una herramienta profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue.

El software de modelado UML ayuda a una más rápida construcción de aplicaciones de calidad, mejores y a un menor coste. Permite dibujar todos los tipos de diagramas de clases, código inverso, generar código desde diagramas y generar documentación. La herramienta UML CASE también proporciona abundantes tutoriales de UML, demostraciones interactivas de UML y proyectos UML. (7)

Requisitos funcionales del sistema

Según la IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), define que los requisitos funcionales constituyen las capacidades o condiciones que el sistema debe tener. Define qué es lo que el sistema debe hacer, para lo cual se identifican las funcionalidades requeridas y las restricciones que se imponen. Es una característica que el sistema debe tener para cubrir alguna de las necesidades de los usuarios que lo motivan para resolver un problema o lograr un objetivo.

A continuación se enumeran los requisitos funcionales agrupados por historia de usuario:

  1. HU Autenticar usuario
  2. HU Gestionar documento
  3. HU Gestionar usuario
  4. HU Detectar plagio entre documentos
  5. HU Visualizar resultados de detección de plagio:
  6. HU Validar estructura de tesis
  7. HU Notificación por correo electrónico:
  8. HU Exportar resultados de pruebas

Requisitos no funcionales del sistema

  1. RNF 1 – Requisitos de software
  2. RNF 2 – Requisitos de hardware
  3. RNF 3 – Restricciones en el diseño y la implementación
  4. RNF 4 – Usabilidad
  5. RNF 5 – Legales
  6. RNF 6 – Seguridad

Fase de Planificación

Según la metodología XP, en esta fase el cliente establece la prioridad de cada historia de usuario, y correspondientemente, los programadores realizan una estimación del esfuerzo necesario de cada una de ellas. Se toman acuerdos sobre el contenido de la primera entrega y se determina un cronograma en conjunto con el cliente. Esta fase dura unos pocos días, identificándose además, el número y tamaño de las iteraciones, al igual que se plantean ajustes necesarios a la metodología según las características del proyecto. (8)

La planificación no debe ser estricta puesto que hay muchas variables en juego, debe ser flexible para poder adaptarse a los cambios que puedan surgir. Una buena estrategia es hacer planificaciones detalladas para unas pocas semanas y planificaciones mucho más abiertas para unos pocos meses.

Una iteración de desarrollo, es un período de tiempo en el que se realiza un conjunto de funcionalidades determinadas, dichas funcionalidades corresponden a un conjunto de historias de usuarios.

Pruebas en XP

El proceso de desarrollo de las pruebas ayuda a clarificar y concretar la funcionalidad de la historia de usuario. Además, ayuda a identificar y corregir fallos u omisiones en las historias de usuario. Permite identificar historias adicionales que no fueran obvias para el cliente o en las que cliente no hubiese pensado de no enfrentarse a dicha situación. Según XP se debe ser muy estricto con las pruebas. Sólo se deberá liberar una nueva versión si esta ha pasado con el cien por ciento de la totalidad de las pruebas. En caso contrario se empleará el resultado de estas para identificar el error y solucionarlo con mecanismos ya definidos.

Pruebas unitarias

Estas pruebas se aplican a todos los métodos no triviales de todas las clases del proyecto, con la condición que no se liberará ninguna clase que no tenga asociada su correspondiente paquete de pruebas. (Clase IdocumentIndexImplTest, Clase IPlagiarismImplTest)

Pruebas de caja negra

Las pruebas de caja negra, se basan en los requerimientos tomados de las historias de usuario. En todas las iteraciones, cada una de las historias de usuario, deberá tener una o más pruebas de caja negra, de las cuales deberán determinar los casos de prueba e identificar los errores que serán corregidos.

Los casos de prueba realizados para la validación de la aplicación fueron agrupados por historias de usuario, los cuales son:

Caso de prueba HU Detectar plagio:

  • Seleccionar documento a detectar plagio.

Casos de prueba HU Gestionar documento:

  • Adicionar documento.
  • Buscar documento.
  • Eliminar documento.

Casos de prueba HU Visualizar resultados de detección de plagio:

  • Mostrar elementos.
  • Eliminar análisis.
  • Mostrar detalles de plagio.

Casos de prueba HU Validar estructura:

  • Seleccionar documento a validar estructura.
  • Mostrar resultados validación estructura.

Casos de prueba HU Autenticar usuario:

  • Autenticar usuario.
  • Cambiar contraseña.

Casos de prueba HU Gestionar usuario.

  • Adicionar usuario.
  • Eliminar usuario.
  • Buscar usuario.

Caso de prueba HU Exportar resultado:

  • Exportar resultado.

Caso de prueba HU Notificación por correo electrónico:

  • Notificación por correo electrónico.

Las pruebas de caja negra representan un resultado esperado de determinada transacción con el sistema. Para que una historia de usuario se considere aprobada, deberá pasar todas las pruebas de caja negra elaboradas para dicha historia. A continuación se presenta el caso de prueba de la gestión de documentos:

Para medir los resultados obtenidos durante las pruebas se hizo un recuento de todas las No Conformidades (NC) que arrojaron las diferentes iteraciones, donde se observó un decremento de la cantidad de errores encontrados, en la medida en que se fueron completando las funcionalidades del sistema. Al finalizar la tercera iteración fue necesaria realizar otra iteración para realizarle las pruebas a las funcionalidades que lo requerían.

Al concluir la tercera iteración, las pruebas de caja negra permiten comprobar que el sistema cumple con los requisitos, evidenciándose que la mayoría de las no conformidades fueron faltas de ortografías y la forma de mostrar los requisitos en pantalla.

CONCLUSIONES

Una vez terminada la investigación y darle cumplimiento a los objetivos planteados, se concluye que:

  • Del estudio y análisis realizado a las soluciones informáticas para la revisión de documento o detección de plagio, a niveles nacionales e internacionales, se obtuvieron las ventajas y desventajas de este tipo de herramientas.
  • Con el uso de la metodología XP, el lenguaje de modelado UML, la herramienta de modelado Visual Paradigm, el lenguaje de programación Java, el marco de trabajo Spring MVC, el gestor de base de datos PostgreSQL y la herramienta de desarrollo Netbeans se desarrollaron todas las funcionalidades del sistema, dándole cumplimiento a todos los requisitos funcionales.
  • El sistema está desarrollado con herramientas que en su mayoría están distribuidas bajo licencias de software libre en correspondencia con el principio de independencia tecnológica en el cual está basado actualmente el desarrollo de software en Cuba, lo que contribuyó a que el sistema estuviera libre de costo alguno.
  • Se realizaron pruebas al sistema basadas en la metodología, pruebas de caja negra y pruebas unitarias, que arrojaron resultados satisfactorios, dándole cumplimiento al objetivo general.

Bibliografías Consutadas

1. Barker, Brenda S. On Finding Duplication in Strings and Software.Murray Hill,New Jersey : s.n., 1993.

2. Finkel, Rafael and Zaslavsky, Arkady. Signature extraction for overlap detection in documents.Melbourne : s.n., 2002.

3. Wise, Michael. Running Karp-Rabin Matching and Greedy String Tiling. Sydney : s.n., 1993.

4. Rodríguez, Diego and Martín, José. Detección de plagio en documentos. Sistema externo monolingüe de altas prestaciones basado en n-gramas contextuales.Huelva : s.n., 2010.

5. jQuery Foundation. (n.d.). jquery Team. Retrieved from jquery Team: http://jquery.com/

6. Kashkur, Maria. Research into Plagiarism Cases and Plagiarism Detection Methods. Raga : s.n., 2010.

7. Free download manager. Free download manager. [Online] 2011. http://www.freedownloadmanager.org/es/downloads/Paradigma_Visual_para_UML_%28M%C3%8D%29_14720_p/.

8. Letelier, Patricio and Penadés, Mª Carmen. Métodologías ágiles para el desarrollo de software. s.l. : Universidad Politécnica de Valencia.

Para citar este artículo puede utilizar el siguiente formato:
Aguirre Pérez, Yurisel: "Sistema para la detección de plagio y validación de estructura en los documentos científicos emitidos en el Centro de Información Científico Técnica (CICT) del ISMMM" en Revista Caribeña de Ciencias Sociales, diciembre 2012, en http://caribeña.eumed.net/sistema-para-la-deteccion-de-plagio-y-validacion-de-estructura-en-los-documentos-cientificos-emitidos-en-el-centro-de-informacion-cientifico-tecnica-cict-del-ismmm/

Revista Caribeña de Ciencias Sociales es una revista académica, editada y mantenida por el Grupo eumednet de la Universidad de Málaga.