Obtención de Requerimientos a partir del Modelado del Negocio con BPMN Universidad Tecnológica Nacional, Facultad Regional Córdoba Abstract El presente artículo desarrolla la idea de que es posible modelar los procesos de negocio a través de BPMN y utilizar estos modelos como guías para la obtención del listado de casos de uso, para poder identificar y mantener una trazabilidad entre los dos modelos. Luego, cada caso de uso podrá ser detallado con un trazo fino, que es una descripción textual y detallada de las actividades que son desarrolladas por esa funcionalidad del sistema, y validado a través de máquinas de estado, obteniendo posibles inconsistencias. Si se presentan inconsistencias, será posible determinar qué actividades están relacionadas y si es necesario corregir el modelo de negocio o simplemente corregir la descripción del caso de uso. Palabras Clave Modelado de negocio, BPMN, requerimientos, casos de uso, validación, autómata finito. Introducción Dentro del contexto de la investigación de Validación de Requerimientos a través de Modelos Conceptuales [1], cuyo objetivo es implementar una herramienta que permita gestionar y validar requerimientos de software, la cual permitirá definir los límites del sistema de información al momento de formular el modelo conceptual con la determinación de los requerimientos, el presente artículo tiene como objetivo realizar el modelado del negocio y permitir a partir de este identificar los casos de uso de sistema que darán soporte informático al negocio modelado. Para esto se utiliza BPMN [3] como herramienta de modelado, para luego obtener un listado de casos de uso que será utilizado en las etapas siguientes del grupo de investigación. Elementos del Trabajo y metodología Modelado de negocio [2]. El “Modelado de Negocios” se define como un proceso de representación de uno o más aspectos o elementos de una empresa, tales como: * Su propósito * Su estructura * Su funcionalidad * Su dinámica * Su lógica de negocios * Sus componentes: * Fines * Procesos de negocios * Reglas de negocio * Objetos de negocio * Actores * Unidades organizativas Existe una gran cantidad de definiciones de Procesos de Negocio [3]. De hecho, la noción de un Proceso de Negocio es una noción abstracta en el mejor de los casos. Frecuentemente, si se les pide a las personas con conocimiento o relación con este tema una definición, es sorprendente la variedad de respuestas que se reciben: · Una secuencia de actividades realizadas sobre una o más entradas para entregar una salida. · Un conjunto de actividades sistemáticas que llevan un “evento de negocio” a un resultado exitoso. · Una determinada cantidad de roles colaborando e interactuado para lograr una meta. · Una colección organizada de comportamientos de negocio que satisface un propósito empresarial definido, actuando de acuerdo a los objetivos específicos. · “Simplemente cómo las cosas se hacen aquí”. La actual definición de Wikipedia [9] es, “Un proceso de negocio o método de negocio es una colección de tareas interrelacionadas, que persiguen una meta en particular.” El éxito de esta etapa depende en gran medida de la experiencia de los analistas y grupos de proyectos [4], así como de las habilidades desarrolladas por éstos en el desarrollo de sistemas con características similares, mientras más conocimiento sobre este tema tenga el analista más fácil le será proponer una solución adecuada y adaptarse a los cambios del medio, aún cuando este proceso de analizar sus experiencias anteriores es algo que realizará casi de manera intuitiva y hasta sin darse cuenta. El modelado del negocio puede ayudarnos a comprender el contexto del sistema que se está construyendo [5]. Mientras que esto puede sonar trivial, puede tener consecuencias serias en el éxito o fracaso de un proyecto de software. Si no podemos entender el negocio, se pueden presumir conceptos erróneos sobre lo que debe hacer el software y como puede ser utilizado lo mejor posible por la comunidad del negocio. El “mundo alrededor del sistema” es una consideración importante al construir software. Modelado del Negocio con BPMN. Business Process Modeling Notation o BPMN, en español Notación para el Modelado de Procesos de Negocio, es una notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo (workflow). En BPMN, los “Procesos de Negocio” involucran la captura de una secuencia ordenada de las actividades e información que utiliza el proceso. Modelar un Proceso de Negocio implica representar cómo una empresa realiza sus objetivos centrales; los objetivos por si mismo son importantes, pero por el momento no son soportados por la notación. Con BPMN, solo los procesos son modelados. BPMN es una notación basada en diagramas de flujo para definir procesos de negocio, desde los más simples hasta los más complejos y sofisticados para dar soporte a la ejecución de procesos. BPMN es gráficamente más rico, con menos símbolos fundamentales, pero con más variaciones de estos, lo que facilita su comprensión por parte de gente no experta [3] y [8]. Requerimientos Información. del Sistema de Un caso de uso es una descripción de los pasos o las actividades que deberán realizarse para llevar a cabo algún proceso. En el contexto de la ingeniería de software, un caso de uso es una secuencia de acciones que se desarrollarán entre un sistema y sus usuarios en respuesta a un evento sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema. Una relación es una conexión entre los elementos del modelo, por ejemplo la especialización y la generalización son relaciones. Como técnica de extracción de requerimiento un diagrama de casos de uso permite que el analista se centre en las necesidades del usuario, qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos. A su vez, durante la extracción (elicitation en inglés), el analista se concentra en las tareas centrales del usuario describiendo por lo tanto los casos de uso que mayor valor aportan al negocio. Esto facilita luego la priorización de los requerimientos. Los casos de uso evitan típicamente la jerga técnica, prefiriendo la lengua del usuario final. Desde una perspectiva tradicional de la ingeniería de software, un caso de uso describe una característica del sistema. Los casos de uso pretenden ser herramientas simples para describir el comportamiento del software o de los sistemas [6] y [7]. Obtención de Casos de Uso a través de BPMN. La idea principal es establecer una relación entre las actividades del negocio y los casos de uso del sistema, para que luego, estos casos de uso se detallen en plantillas de trazo fino, y posteriormente estos son exportados en un formato específico XML, el cual es transformado en un autómata finito, que es utilizado para validar estados conexos, estados inaccesible, ciclos infinitos, etc. Luego de la validación de los autómatas finitos, si se detecta algún tipo de inconsistencia, podemos controlar la descripción del caso de uso, que como tiene trazabilidad a una o varias actividades de negocio, el modelo de negocio me puede servir para corregir el caso de uso. Pero el objetivo no es validar el modelado del negocio, si no es validar la descripción de los casos de uso. El negocio sirve como guía para realizar el listado de caso de uso únicamente. Lo recomendado sería que las actividades que manejan información tengan una relación 1 a 1 con los casos de usos. De no ser así, y la granularidad del modelado de negocio es alta, las actividades tendrán relación a 1 o más casos de uso. Si se detecta una inconsistencia en un caso uso, la metodología indicará con qué actividad del negocio tiene relación dicho caso de uso, permitiendo al analista dividir esa actividad en diversas actividades y mantener o modificar la relación con dicho caso de uso. Propuesta para la obtención de casos de uso a partir de BPMN y la relación entre los Modelos. A continuación se detallan los pasos que se deben llevar a cabo para obtener el modelado de negocio, el listado de casos de uso y la relación (trazabilidad) entre ambos. 1- Realizar el modelado de negocio con BPMN. Siguiendo la metodología de modelado de BPMN, realizar el modelado del negocio. Como indica [2]. 2- Indicar qué actividades tienen manejo de información. El analista deberá identificar en los diagramas de procesos aquellas actividades que utilicen/generen información, diferenciándolas de aquellas que son puramente manuales. El conocimiento y la capacidad del analista será de gran importancia en esta etapa. 3- Identificar Casos de Uso a partir de las actividades. Utilizando como guía las actividades marcadas en el punto anterior, identificar los casos de uso de sistema que darían soporte “informático” a las actividades. 4- Mantener la relación actividad-CU. Realizar la trazabilidad de los procesos, actividades y casos de uso. Tabla 1: Trazabilidad modelo de negocio-casos de uso Proceso Actividad Caso de Uso Proceso 1 1 1 Proceso 1 2 2 Proceso 2 4 1 Proceso 2 8 2 Resultados La metodología ayuda al analista a la obtención de casos de uso brindándole los modelos de negocio de BPMN como referencia. Aquí es importante destacar que la experiencia y capacidad del analista ayudaran al éxito del modelado de los requerimientos. Además de los modelos de negocio y el diagrama de requerimientos, es muy importante la relación entre ambos modelos ya que permitirá realizar la trazabilidad tras las validaciones. La metodología propone obtener los siguientes resultados: Modelos de Negocio con BPMN. Diagrama de casos de uso del sistema de información. Relación actividades de negocio con casos de uso. Discusión No importa a qué nivel de detalle se realizó el modelado de negocio, lo importante es mantener la relación actividad-caso de uso (trazabilidad) para que luego de realizar las validaciones se pueda identificar qué caso de uso presenta inconsistencias y de qué actividad del negocio se deriva. Pudiendo de esta manera detectar si es necesario elaborar el modelo de negocio con más detalle e identificar otros casos de uso, o si en necesario corregir la descripción del caso de uso que presenta inconsistencia. Conclusión Es importante comprender el conjunto de procesos de negocio que tienen lugar dentro de una empresa, como paso previo a establecer los requisitos del sistema a desarrollar. Para esto es posible utilizar BPMN ya que es capaz de representar una gran cantidad de niveles de detalle y diferentes tipos de diagramas para diferentes propósitos. Además, presenta ventajas por su simpleza tanto en gráficos, como en la adaptabilidad a las necesidades del usuario. Utilizar los diagramas de modelado de proceso de negocio es de gran utilidad como una guía para la captura de requerimientos a través de casos de uso. Mantener la trazabilidad entre los modelos permite establecer relación entre ambos para poder realizar validaciones. La trazabilidad presentada en este artículo permite que el modelado de procesos se realice a diferentes niveles de detalle y no se perderá la relación actividad-caso de uso lo que permitirá realizar validaciones en los casos de uso y verificar cómo impacta en las actividades de negocio. Referencias [1]Validación de Requerimientos a través de Modelos Conceptuales", Resolución Secretaría de Ciencia y Tecnología N°: UTN1643. [2]http://kuainasi.ciens.ucv.ve/ideas07/documentos/c onferencias/conferenciajonasmontilva.pdf [3]BPMN como herramienta de modelado de negocio para la creación de modelos conceptuales. Gomez F., Horenstein N. JEI 2012, ID: 52. [4]http://www.inf.udec.cl/~revista/ediciones/edicion 8/Rbc.pdf [5] http://www.slideshare.net/SergioRios/unidad-3modelo-de-negocio [6]Un Método Práctico para Explorar Requerimientos, Santiago Ceria. [7]Ingeniería de Software Orientada a Objetos - Un acercamiento a través de los casos de uso, Jacobson, I., P. Jonsson, M. Christerson and G. Overgaard, Addison Wesley Longman, Upper Saddle River, N.J., 1992. [8]BPMN Guia de referecncia y modelado, Stephen A. White, Derek Miers, ISBN13: 978-0-9819870-33. [9] http://es.wikipedia.org/wiki/Proceso_de_negocio