De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

«Un día en la vida de una ardilla» o de la modelización de procesos al diseño de un sistema automatizado de gestión de bienes materiales «Ardilla-1.0» (Parte 1)

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)
Se utilizó una ilustración de "El cuento del rey Sáltan" de A.S. Pushkin, ed. "Literatura Infantil", Moscú, 1949, Leningrado, dibujos de K. Kuznetsov

¿Qué tiene que ver la «ardilla»?

De inmediato aclaro, qué tiene que ver la «ardilla». Al encontrar en la red proyectos divertidos para estudiar UML basados en áreas temáticas extraídas de cuentos (por ejemplo, aquí [1]), también decidí preparar un ejemplo similar para mis estudiantes, para que pudieran estudiar inicialmente solo tres tipos de diagramas: Diagrama de Actividades, Diagrama de Casos de Uso y Diagrama de Clases. No traduzco intencionadamente al español los nombres de los diagramas, para evitar discusiones sobre las «dificultades de la traducción». Explicaré un poco más adelante para qué sirve cada uno. En este ejemplo utilizo el entorno Enterprise Architect de la compañía australiana Sparx Systems [2] – una buena herramienta a un precio razonable. Y en el marco de las lecciones, utilizo Modelio [3], una herramienta gratuita bastante buena de diseño orientado a objetos, que soporta los estándares UML 2.0 y BPMN, sin excesos en cuanto a capacidades gráficas, pero bastante suficiente para estudiar los fundamentos del lenguaje.

Nuestro objetivo es automatizar la gestión de bienes materiales, que surge en estos procesos.

…
Una isla yace en el mar, (E1, E2)
Una ciudad está en la isla (E3, E1)
Con iglesias doradas, (E4)
Con torretas y jardines; (E5, E6)
Un abeto crece frente al palacio, (E7, E8)
Y bajo él, una casa de cristal; (E9)
Allí vive una ardilla domesticada, (A1)
¡Y qué ingeniosa es! (A1)
La ardilla canta canciones, (P1, A1)
Y se come nueces, (P2)
Y las nueces no son comunes, (C1)
Todas cáscaras doradas, (C2)
Las nueces son un esmeralda pura; (C3)
Los sirvientes cuidan de la ardilla, (P3, A2)
Le sirven todo tipo de criados (P4)
Y un escribano severo está a su servicio; (A3)
Cuenta estrictamente las nueces; (P5, C1)
Le rinde honores el ejército; (P6, A4)
De las cáscaras vierten monedas, (P7, C2, C4)
Y las esparcen por el mundo; (P8)
Las chicas esparcen esmeraldas (P9, A5, C3)
En los almacenes, y bajo el polvo; (E10, E11)
…
(De A.S. Pushkin "El cuento del rey Sáltan, sobre su hijo el famoso y poderoso héroe príncipe Guidón Sáltanovich y sobre la hermosa princesa Cisne", el trabajo sobre el cuento comenzó supuestamente en 1822, la historia fue publicada por primera vez por Pushkin en el compendio «Poesías de A. Pushkin» (vol. III, 1832, pp. 130–181) — 10 años desde la idea hasta la publicación, por cierto!)

Un poco sobre los códigos que están escritos a la derecha de las líneas. 'A' (de 'Actor') significa que en la línea hay información sobre el participante del proceso. 'C' (de 'Class') significa información sobre los objetos de las clases que se procesan durante la ejecución de los procesos. 'E' (de 'Environment') significa información sobre los objetos de las clases que caracterizan el entorno de ejecución de los procesos. 'P' (de 'Process') significa información sobre los propios procesos.

Por cierto, la definición exacta de un proceso también se convierte en motivo de debates metodológicos, al menos porque hay diferentes tipos de procesos: de negocio, de producción, tecnológicos, etc. (se puede consultar, por ejemplo, aquí [4] y aquí [5]). Para evitar polémicas, acordemos que el proceso nos interesa desde la perspectiva de su repetibilidad a lo largo del tiempo y la necesidad de automatización, es decir, delegar la ejecución de alguna parte de las operaciones del proceso a un sistema automatizado.

Notas sobre el uso del diagrama de Actividad

Comencemos a modelar nuestro proceso y utilicemos para ello el diagrama de Actividad. Primero, explicaré cómo se utilizarán los códigos mencionados anteriormente en el modelo. Es más fácil explicarlo con un ejemplo gráfico, además de desglosar algunos (casi todos los necesarios para nosotros) elementos del diagrama de Actividad.
Analicemos el siguiente fragmento:

…
La ardilla canta canciones, (P1, A1)
Y se come nueces, (P2)
Y las nueces no son comunes, (C1)
Todas cáscaras doradas, (C2)
Las nueces son un esmeralda pura; (C3)
…

Tenemos dos pasos del proceso P1 y P2, el participante A1, y objetos de tres clases diferentes: un objeto de la clase C1 entra en el paso, y los objetos de las clases C2 y C3 se obtienen en la salida, como resultado de la actividad de este paso P2 de nuestro proceso. Para el diagrama utilizaremos los siguientes elementos modeladores.

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

El fragmento de nuestro proceso se puede representar de la siguiente manera (Figura 1).

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Figura 1. Fragmento del diagrama de Actividad

Para organizar el espacio y estructurar el diagrama de Actividad utilizaremos un enfoque que no es del todo estándar, desde el punto de vista del uso clásico de la notación UML. Pero hay varias razones para esto. Primero, simplemente antes de comenzar el modelado, elaboraremos lo que se llama un acuerdo de modelado, en la que registraremos todas las características del uso de la notación. En segundo lugar, este enfoque ha sido aplicado con éxito en varias ocasiones en la etapa de modelado de negocio en proyectos reales de creación de sistemas de software, los resultados han sido documentados por nuestro pequeño equipo autoral en el correspondiente objeto de derechos de autor [6], y también utilizados en el material educativo [7]. Para el diagrama de Actividad, definiremos que el área del diagrama se estructura utilizando

Artefactos de entrada y salida: en esta pista se ubicarán los elementos Objetos - objetos que se utilizan o son el resultado de la ejecución de algún paso del proceso.
Pasos del proceso: aquí colocaremos los elementos Actividad - acciones de los participantes en el proceso.
Participantes: pista para los elementos que representarán los roles de los ejecutores de acciones en nuestro proceso, para ellos utilizaremos el mismo elemento modelador Objeto, pero le añadiremos el estereotipo 'Actor'.
La siguiente pista se llama Reglas de negocio y en esta pista colocaremos en texto las reglas para la ejecución de los pasos del proceso, y utilizaremos para ello el elemento modelador Nota - nota.
Aquí nos detendremos, aunque además se podría utilizar una pista Herramientas para recopilar información sobre el nivel de automatización del proceso. También podría ser útil la pista Cargos y departamentos de los participantes, que se puede usar para vincular roles con cargos y departamentos de los participantes del proceso.

Todo lo que acabo de describir es un fragmento del acuerdo de modelado, esta parte del acuerdo se refiere a las reglas de organización de un diagrama y, en consecuencia, las reglas para su redacción y lectura.

Receta

Ahora consideremos la opción de modelar el sistema desde el diagrama de Actividad. Este es solo uno de los enfoques, y quiero destacar que no es el único. El diagrama de Activity nos interesará en función de su papel en la transición de la modelización de procesos al diseño de sistemas automatizados. Para ello, seguiremos las recomendaciones metodológicas: una especie de receta que consta de solo cinco etapas y que prevé la elaboración de tres tipos de diagramas. La aplicación de esta receta ayudará a obtener una descripción formalizada del proceso que queremos automatizar y a reunir datos para el diseño del sistema. Para los estudiantes que inician el estudio de UML, esto es como un salvavidas que evitará que se ahoguen en la diversidad de medios visuales y técnicas disponibles en UML y en los modernos métodos de modelización.

He aquí la propia receta, y después siguen los diagramas elaborados para nuestro ámbito de "cuento de hadas".

Etapa 1. Describimos el proceso en forma de diagrama de Activity. Para un proceso en el que se identifican más de 10 pasos, es útil aplicar el principio de descomposición de los pasos del proceso para mejorar la legibilidad del diagrama.

Etapa 2. Identificamos lo que se puede automatizar. (los pasos pueden estar, por ejemplo, resaltados en el diagrama).

Etapa 3. Al paso a automatizar le debemos asignar una o varias funciones del sistema. (la relación puede ser de muchos a muchos), dibujamos un diagrama de Use-case. Estas son las funciones de nuestro sistema.

Etapa 4. Describiremos la organización interna del AS mediante un diagrama de clases. – Class. Los caminos de natación "Objetos de entrada y salida (documentos)" en el diagrama de Activity son la base para construir un modelo de objetos y un modelo entidad-relación.

Etapa 5. Analizaremos las notas en la pista "Reglas del negocio"., que proporcionan diferentes tipos de restricciones y condiciones, transformándose gradualmente en requisitos no funcionales.
El conjunto obtenido de diagramas (Activity, Use-case, Class) nos ofrece una descripción formalizada en una notación suficientemente rigurosa, es decir, tiene una lectura inequívoca. Ahora podemos elaborar el pliego de condiciones, especificar los requisitos, etc.

Comencemos la modelización.

Etapa 1. Describimos el proceso en forma de diagrama de Activity.

Recuerdo que hemos estructurado el campo del diagrama con "caminos flotantes", donde cada camino alberga elementos de un mismo tipo (Figura 2). Además de los elementos descritos anteriormente, utilizaremos elementos adicionales que vamos a describir.

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

La decisión (Decision) indica en el diagrama un punto de bifurcación de nuestro proceso, mientras que la fusión de flujos (Merge) representa el momento en que se reúnen. Las condiciones de transición están anotadas en corchetes en los tránsitos.

Entre dos sincronizadores (Fork) mostraremos las ramas paralelas del proceso.
Nuestro proceso solo puede tener un inicio: un único punto de entrada (Initial). Sin embargo, pueden existir múltiples finales (Final), aunque no para nuestro diagrama concreto.

Hay muchas flechas en el diagrama; con un número grande de elementos y conexiones, primero se pueden destacar las etapas del proceso y luego descomponer esas etapas. Pero me gustaría mostrar nuestro proceso "mágico" en su totalidad en un solo diagrama, tratando, por supuesto, de que las flechas no "se peguen", y así poder rastrear exactamente qué está relacionado con qué.

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Figura 2. Diagrama de Activity - vista general del proceso.

Dado que en las líneas poéticas se omiten algunos detalles del proceso, tuvimos que restaurarlos, y se muestran con elementos de fondo blanco. Estos detalles incluyen el paso de "Transferencia/recepción para almacenamiento y procesamiento" y varios artefactos de entrada y salida. Es importante mencionar que este paso tampoco revela completamente el proceso, ya que tendríamos que señalar por separado el paso de transferencia y el paso de recepción, además de agregar un paso separado para las cáscaras y también considerar que todos estos valores materiales deben almacenarse temporalmente en algún lugar, etcétera.
También notemos que aún queda sin respuesta la cuestión del origen de las nueces: ¿de dónde vienen y cómo llegan al ardilla? Y esta pregunta (destacada en rojo en la nota – elemento Note) requiere un trabajo adicional. Así trabaja un analista, recopilando información poco a poco, haciendo suposiciones y recibiendo un "ok" o "no-ok" de los expertos en la materia, personas extremadamente importantes e insustituibles en la etapa de modelado de negocios al crear sistemas.

También cabe señalar que el paso del proceso P5 consta de dos partes.

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Y descompondremos cada parte y la analizaremos con más detalle (Figura 3, Figura 4), ya que las actividades realizadas en estos pasos serán automatizadas.

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Figura 3. Diagrama de Actividad – detalle (parte 1)

De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Figura 4. Diagrama de Actividad – detalle (parte 2)

Etapa 2. Identificamos lo que se puede automatizar.

Los pasos que serán automatizados en los diagramas están resaltados en color (ver Figura 3, Figura 4).
De la modelización de procesos al diseño de un sistema automatizado (Parte 1)

Todo lo realiza un único participante en el proceso: el diacono encargado.

  • Introduce información sobre el peso de la nuez en el registro;
  • Introduce información sobre la transferencia de la nuez en el registro;
  • Registra el hecho de que la nuez se ha convertido en cáscaras y núcleo;
  • Introduce información sobre el núcleo de la nuez en el registro;
  • Introduce información sobre las cáscaras de la nuez en el registro.

Análisis del trabajo realizado. ¿Qué sigue?

Así que hemos realizado una gran cantidad de trabajo preparatorio: hemos recopilado información sobre el proceso que vamos a automatizar; comenzamos a formular un acuerdo sobre la modelización (hasta ahora solo en lo que respecta al uso del diagrama de Actividad); realizamos la modelización del proceso e incluso descompusimos varios de sus pasos; identificamos los pasos del proceso que vamos a automatizar. Ahora estamos listos para pasar a las siguientes etapas y comenzar a diseñar las funciones del sistema y su organización interna.

Como se sabe, la teoría sin práctica no es nada. Es necesario intentar "modelar" con nuestras propias manos, es útil para comprender el enfoque propuesto. Por ejemplo, se puede trabajar en un entorno de modelización Modelio [3]. Solo hemos descompuesto parte de los pasos del diagrama del proceso general (ver Figura 2). Como tarea práctica, se puede proponer repetir todos los diagramas en el entorno Modelio y realizar la descomposición del paso "Transferencia/recepción para almacenamiento y procesamiento".
No estamos considerando el trabajo en entornos de modelización específicos por ahora, pero esto puede ser objeto de artículos y revisiones independientes.

En la segunda parte del artículo, abordaremos las técnicas de modelización y diseño necesarias en las etapas 3-5, utilizando diagramas UML de casos de uso y de clases. Continuará.

Lista de fuentes

  1. Sitio "UML2.ru". Foro de la Comunidad de Analistas. Sección general. Ejemplos. Ejemplos de cuentos presentados en forma de diagramas UML. [Recurso electrónico] Acceso en línea: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sitio web de Sparx Systems. [Recurso electrónico] Acceso: Internet: https://sparxsystems.com
  3. Sitio Modelio. [Recurso electrónico] Acceso en línea: https://www.modelio.org
  4. Gran Diccionario Enciclopédico. Proceso (interpretación). [Recurso electrónico] Acceso: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Sitio web «Organización de la Gestión Eficaz». Blog. Sección «Gestión de Procesos Empresariales». Definición de proceso empresarial. [Recurso electrónico] Acceso: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Certificado Nº 18249 de registro y depósito de obra resultado de la actividad intelectual. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Manuscrito del manual metodológico titulado «Modelado del área temática utilizando Enterprise Architect» // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Modelado de procesos de negocio. — М.: KURS, NIC INFRA-M, EBS Znanium.com. — 2017.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster