Full text
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview |
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.
Title: | Diseño de lenguajes de programación basados en procesos de negocio ejecutables |
---|---|
Author/s: |
|
Contributor/s: |
|
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 |
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview |
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.
Item ID: | 52420 |
---|---|
DC Identifier: | https://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 |