Diseño de lenguajes de programación basados en procesos de negocio ejecutables

Pantoja Casero, Álvaro (2018). Diseño de lenguajes de programación basados en procesos de negocio ejecutables. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Diseño de lenguajes de programación basados en procesos de negocio ejecutables
Author/s:
  • Pantoja Casero, Álvaro
Contributor/s:
  • Martínez Normand, Loïc
Item Type: Final Project
Date: July 2018
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Hoy en día, cualquier negocio que tenga informatizada en parte o totalmente la gestión de su información o de los procesos que la manejan, sabe de las dificultades que surgen a la hora de realizar cualquier mínimo cambio –por nimio que sea– en cualquiera de sus componentes, ya sea la lógica interna, las bases de datos o las interfaces gráficas usadas por los usuarios del mismo. Algunos ejemplos de las dificultades que surgen son: desarrollos largos y/o complejos, usuarios insatisfechos, perdidas de información, propensión a errores... Puede ocurrir que este hecho impida afrontar en muchos casos los cambios deseados. Otro de los problemas relacionados con la gestión de la información, es la mala gestión de la información del negocio contenida en dichos sistemas. La lógica o procesos de negocio implementados por el sistema suelen ser desconocidos para gran parte de los implicados en el negocio, y con frecuencia suelen estar mal documentados y diseñados. En consecuencia, se dificulta en gran medida su mantenimiento y posibilidad de adaptación y mejora. Como resultado de ambos escenarios suele ocurrir que aparecen sistemas informáticos gigantescos, monolíticos, inamovibles y que solo se reemplazan cuando son demasiado obsoletos y hay que migrar todo el sistema a un nuevo desarrollo, que normalmente tiene poco o nada tiene que ver con lo anterior. Podría pensarse que este problema solo atañe a negocios y sistemas de un tamaño considerablemente grande, pero también sucumben a esta problemática sistemas medianos (aplicación de red de una empresa) o pequeños (programa de contabilidad en un único ordenador). Baste con pensar en cómo explicar a un pequeño empresario que hoy no puede disponer de su sistema por una actualización crítica, cuando mañana hay que enviar sin dilación a la administración de turno aquel documento tan urgente. Sirva esto último, además, como ejemplo del tipo de información que debiera formar parte de la lógica del sistema: cuándo se pueden realizar tareas de mantenimiento del mismo, y cuándo no. El Proyecto Fin de Carrera (PFC) aquí expuesto pretende dar una solución genérica a este problema para un subconjunto concreto de estos sistemas, en los que la lógica está muy bien definida y puede representarse gráficamente mediante uno o varios diagramas de flujo, según el detalle y las dimensiones que se precisen. No obstante, y bajo un enfoque optimista, idealmente cualquier otro sistema podría migrarse y desarrollarse con el lenguaje y las herramientas aquí propuestas. La solución aportada pretende ser genérica para permitir a cada negocio implementar sobre ella las partes específicas que requiera para cubrir sus necesidades. La idea que subyace en la solución adoptada es la de poder proporcionar un entorno mínimo que permita diseñar sistemas cuya lógica quede lo mas definida, encapsulada y desacoplada posible, de modo que cualquier cambio en el sistema sea muy sencillo de realizar y minimice el impacto en el mismo. Además, el sistema diseñado usará una notación propia de los procesos de negocio, que facilite la legibilidad, comprensión y modificación del sistema por actores de perfil no técnico. Lo cual permite también implicar en el diseño y mantenimiento del mismo a otros actores antes no presentes, como dirección, negocio, etc. Por lo tanto, este PFC consiste en el diseño de un entorno de desarrollo base, que permite diseñar y ejecutar programas vistos como procesos de negocio, programas basados en la notación BPMN. El entorno se ha diseñado para que sea extensible y modificable para adaptarse a las necesidades de cada negocio. El trabajo se divide en: • El desarrollo de un lenguaje de programación basado en un subconjunto del lenguaje de diseño de procesos de negocio BPMN, que permita diseñar programas a partir de una representación gráfica de los mismos. • El diseño y desarrollo de un compilador que permita crear programas ejecutables definidos mediante dicho lenguaje. • El diseño y desarrollo de un entorno de ejecución, compuesto por un motor de procesos base (librería con clases base e interfaces), donde poder ejecutar dichos programas.

More information

Item ID: 52420
DC Identifier: http://oa.upm.es/52420/
OAI Identifier: oai:oa.upm.es:52420
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 28 Sep 2018 08:53
Last Modified: 28 Sep 2018 08:53
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM