Escudo de la República de Colombia Escudo de la República de Colombia
/Sistema de programación en español facilitará el trabajo a desarrolladores de software
Ciencia y Tecnología

Sistema de programación en español facilitará el trabajo a desarrolladores de software

    Los programas o aplicaciones que usted suele utilizar en su celular o computador son una realidad gracias al desarrollo de softwares, los encargados de dar las “órdenes” para que estos aparatos realicen tareas. Con el desarrollo de un modelo computacional que utiliza la técnica de procesamiento de lenguaje natural (PLN) y el reconocimiento de patrones gramaticales adaptados al español, las ideas de los usuarios se transformaron en representaciones visuales y se simplificó el proceso de desarrollo.

    En las plataformas digitales, detrás acciones como elegir un producto, seleccionar la ubicación, realizar una búsqueda o simplemente comprar, hay un conjunto de códigos operando que hacen posible su ejecución. 

    En el proceso habitual, desarrolladores y analistas de requerimientos examinan cada una de las historias para determinar las entidades, clases, relaciones y otros elementos que pueden componer el sistema. 

    Dicha dinámica puede tomar mucho tiempo, y en países como Colombia, donde se habla español, los sistemas suelen estar en inglés.

    Para hacer mucho más ágiles estos procesos y entender con eficacia lo que desea un cliente, el ingeniero de sistemas y computación Miguel Ángel Tovar Onofre, estudiante de la Maestría en Ingeniería de Sistemas y Computación de la Facultad de Ingeniería de la Universidad Nacional de Colombia (UNAL), tomó patrones gramaticales del inglés y los adaptó al español teniendo en cuenta los cambios en la gramática, a falta de un conjunto de historias de usuario propiamente de este idioma. 

    ¿Cómo funciona el PLN?

    Esta técnica utiliza algoritmos avanzados para analizar el lenguaje humano y extraer información relevante. En el caso específico de la generación de diagramas de clase, que son herramientas utilizadas para comunicar el diseño de un programa y su estructura, el PLN identifica las entidades clave en una historia de usuario, como los nombres de objetos y sus características.

    Así, si en una historia de usuario se menciona la necesidad de un sistema de ventas con clientes, productos y facturas, el PLN reconocerá esos elementos y generará automáticamente un diagrama que muestra las relaciones entre ellos.

    Otro elemento clave en dicho proceso es la generación de casos de uso, en el cual el PLN analiza las acciones y losactores involucrados en una historia de usuario. Por ejemplo, si en una historia se menciona que un usuario puede realizar una compra en línea, este puede identificar a dicho usuario como el actor principal y creará un caso de uso que detalle los pasos necesarios para realizar esa acción, como seleccionar productos, agregarlos al carrito y finalizar la compra. 

    Y es que, aunque pueda parecer un tema alejado de lo común, este se utiliza más de lo que se cree. Por ejemplo, esta tecnología se puede emplear en el desarrollo de una aplicación de reservas de viajes. Si un usuario describe en una historia la necesidad de buscar vuelos, seleccionar fechas y destinos, y finalmente reservar el vuelo deseado, el PLN genera un diagrama de clase con entidades como “usuario”, “vuelo” y “reserva”, y un caso de uso llamado “reservar vuelo” que describirá los pasos para realizar la reserva.

    Así se desarrolló el modelo

    El ingeniero explica que mantuvo unas reglas gramaticales, por ejemplo, entre el español y el inglés hay notables diferencias que se deben considerar. “Los patrones que se usaron fueron construidos en reglas adaptadas. Si entre dos sustantivos existe uno o más adjetivos se clasifica como una clase o entidad, o si después del adjetivo va un verbo, se indica que es una acción, y así funciona”.

    Agrega que, “también se tuvo en cuenta que, por ejemplo, si en la historia del usuario dice: “un carro contiene cuatro sillas”, la palabra “contiene” ya nos da información de que las sillas forman parte del carro y ya hay una conexión entre dos clases”.

    En ese proceso se hizo una exhaustiva revisión de palabras y se eliminaron aquellas que no cumplían con las reglas para que el modelo no se “estropeara”, fallo que en una situación de la vida real se puede observar en malas interpretaciones de los requerimientos o funcionalidades solicitadas por los clientes y en tiempos prolongados adicionales para el desarrollo.

    “Con este modelo adaptado al español, analistas y desarrolladores de software pueden determinar con mayor facilidad cómo debería ser la estructura del sistema a construir, y si se requiere alguna modificación pueden hacerlo sin problema” indica.

    “Este es uno de los primeros trabajos con este enfoque al idioma español, y se espera que en trabajos futuros se puedan seguir desarrollando o mejorando herramientas que apoyen los procesos de desarrollo de software en nuestro idioma”, concluye.