«Un jour dans la vie d'un écureuil» ou des processus de modélisation à la conception d'un système automatisé de comptabilité des valeurs des matériaux «Écureuil-1.0» (Partie 1)

L'illustration du conte du tsar Saltan de A.S.Pouchkine a été utilisée, publiée par la littérature pour enfants, Moscou, 1949, Leningrad, dessins de K.Kuznetsov
Qu'est-ce que l'écureuil a à voir avec ça?
Je vais vous expliquer tout de suite ce qu'est l'écureuil. Après être tombé sur le Web à propos de projets amusants pour l'apprentissage de l'UML, en m'appuyant sur un domaine emprunté à des tracés de contes de fées (par exemple, ici [1]), j'ai également décidé de préparer un exemple similaire pour mes élèves afin que je puisse étudier seulement trois types de diagrammes pour commencer: Diagramme, diagramme de cas d'utilisation et diagramme de classe. Je ne traduis pas délibérément les noms des schémas en russe afin d'éviter les disputes sur les "difficultés de traduction". Quoi pour quoi - je vais expliquer un peu plus tard. Dans cet exemple, j'utilise l'environnement Enterprise Architect de la société australienne Sparx Systems [2] - un bon outil à un prix raisonnable. Et dans le cadre de la formation, j'utilise Modelio [3], un bon outil gratuit pour la conception orientée objet qui prend en charge les normes UML2.0 et BPMN, sans fioritures inutiles en termes de capacités visuelles, mais tout à fait suffisant pour apprendre les bases du langage.
Nous allons automatiser l'activité de comptabilisation des valeurs matérielles qui se pose dans ces processus.
...
L'île se trouve sur la mer, (E1, E2)
Ville sur les peuplements de l'île (E3, E1)
Avec des églises au dôme d'or, (E4)
Avec des tours et des jardins; (E5, E6)
L'épicéa pousse devant le palais, (E7, E8)
Et en dessous, il y a une maison de cristal; (E9)
L'écureuil y vit manuel (A1)
Quel artiste! (A1)
Squirrel chante des chansons, (P1, A1)
Oui, les noix rongent tout, (P2)
Et les noix ne sont pas simples, (C1)
Tous les coquillages sont dorés, (C2)
Les grains sont de l'émeraude pure; (C3)
Des serviteurs gardent l'écureuil, (P3, A2)
Ils lui servent un autre serviteur (P4)
Et le greffier a reçu l'ordre (A3)
Compte strict des noix; (P5, C1)
Salue son armée; (P6, A4)
D'un obus versez une pièce, (P7, C2, C4)
Oui flotte autour du monde; (P8)
Filles pour émeraude (P9, A5, C3)
Dans les garde-manger, mais en arrière-plan; (E10, E11)
...
(A.S. Pouchkine "Le conte du tsar Saltan, de son fils le glorieux et puissant héros Prince Gvidon Saltanovich et de la belle princesse cygnes", le travail sur le conte a commencé vraisemblablement en 1822, le premier conte a été publié par Pouchkine dans la collection "Poèmes A. Pouchkine »(partie III, 1832, pp. 130-181) - 10 ans de la conception à la publication, soit dit en passant!)
Un peu sur les codes qui sont écrits à droite des lignes. «A» (de «Acteur») signifie que la ligne contient des informations sur le participant au processus. «C» (de «Classe») - informations sur les objets de classe qui sont traités pendant l'exécution des processus. «E» (de «Environment») - informations sur les objets des classes qui caractérisent l'environnement d'exécution de processus. «P» (de «Processus») - informations sur les processus eux-mêmes.
Soit dit en passant, une définition précise du processus prétend également devenir la cause de conflits méthodologiques, ne serait-ce que parce que les processus sont différents: commercial, de production, technologique, etc. etc. (Vous pouvez vous familiariser, par exemple, ici [4] et ici [5]). Pour éviter toute controverse, nous convenons que le processus nous intéresse en termes de répétabilité dans le temps et de besoin d'automatisation , c'est-à-dire transférer l'exécution de n'importe quelle partie des opérations de processus vers un système automatisé.
Notes d'application du diagramme d'activité
Commençons par modéliser notre processus et utilisons le diagramme d'activité pour cela. Tout d'abord, je vais expliquer comment les codes ci-dessus seront utilisés dans le modèle. C'est plus facile à expliquer avec un exemple graphique, mais en même temps, nous analyserons certains (presque tous les éléments dont nous avons besoin) des éléments du diagramme d'activité.
Analysons le fragment suivant:
...
Squirrel chante des chansons, (P1, A1)
Oui, les noix rongent tout, (P2)
Et les noix ne sont pas simples, (C1)
Tous les coquillages sont dorés, (C2)
Les grains sont de l'émeraude pure; (C3)
...
Nous avons deux étapes du processus P1 et P2, le participant A1 et des objets de trois classes différentes: un objet de classe C1 arrive en entrée de l'étape, des objets des classes C2 et C3 sont obtenus en sortie, du fait de l'activité de cette étape P2 de notre processus. Pour le diagramme, nous utilisons les éléments de modélisation suivants.

Un fragment de notre processus peut être représenté comme ceci (figure 1).

Figure 1. Un fragment d'un diagramme d'activité
Pour organiser l'espace et structurer le diagramme d'activité, nous utiliserons une approche pas tout à fait standard, en termes d'utilisation classique de la notation UML. Mais il y a plusieurs raisons à cela. Tout d'abord, juste avant le début de la modélisation, nous établirons un soi-disant accord de modélisation , dans lequel nous fixerons toutes les fonctionnalités de l'utilisation de la notation. Deuxièmement, cette approche a été appliquée avec succès à plusieurs reprises au stade de la modélisation commerciale dans des projets réels pour créer des systèmes logiciels, les résultats ont été enregistrés par notre petite équipe d'auteurs dans le sujet du droit d'auteur correspondant [6], et également utilisés dans le manuel de formation [7]. Pour le diagramme d'activité, nous déterminons que la structure du champ du diagramme est structurée en utilisant les chemins de «natation» - couloirs de natation. Le nom de la piste correspondra au type d'éléments de graphique qui seront placés sur cette piste.
«Artefacts d'entrée et de sortie»: Objets - les objets qui sont utilisés ou qui sont le résultat d'une étape du processus seront situés sur cette piste.
«Étapes du processus»: nous plaçons ici les éléments de l'activité - les actions des participants au processus.
«Participants»: un chemin pour les éléments qui indiqueront les rôles des exécuteurs d'actions dans notre processus, pour eux, nous utiliserons le même élément d'objet de modélisation - un objet, mais en y ajoutant le stéréotype «Acteur».
La piste suivante est appelée «Business Rules» et sur cette piste, nous placerons sous forme de texte les règles pour terminer les étapes du processus, et pour cela, nous utiliserons l'élément de modélisation Note - une note.
Nous nous arrêterons ici, bien que nous puissions également utiliser la piste «Outils» pour collecter des informations sur le niveau d'automatisation des processus. La piste «Positions et unités de participants» peut également être utile, elle peut être utilisée pour relier les rôles aux positions et unités de participants dans le processus.
Tout ce que je viens de décrire est un fragment de l'accord de modélisation , cette partie de l'accord concerne les règles d'organisation d'un diagramme et, par conséquent, les règles d'écriture et de lecture.
"Recette"
Nous allons maintenant considérer une option de modélisation du système à partir du diagramme d'activité. Ce n'est qu'une des options, je note que lui, bien sûr, n'est pas le seul. Le diagramme d'activité nous intéressera quant à son rôle dans le passage de la modélisation des processus à la conception d'un système automatisé. Pour ce faire, nous respecterons les recommandations méthodologiques - une sorte de recette ne comprenant que cinq étapes et impliquant le développement de seulement trois types de diagrammes. L'application de cette recette aidera à obtenir une description formalisée du processus que nous voulons automatiser et à collecter des données pour la conception du système. Et pour les étudiants au début de l'apprentissage de l'UML, c'est une sorte de bouée de sauvetage qui ne vous laissera pas vous noyer dans toute la variété des outils et techniques visuels qui sont en UML et des outils de modélisation modernes.
Ici, en fait, la recette elle-même, puis les diagrammes construits pour notre sujet «conte de fées» suivent.
Étape 1. Nous décrivons le processus sous la forme d'un diagramme d'activité. Pour un processus dans lequel plus de 10 étapes sont mises en évidence, il est judicieux d'appliquer le principe de décomposition des étapes du processus pour augmenter la lisibilité du diagramme.
Étape 2. Nous mettons en évidence ce qui peut être automatisé (les étapes peuvent, par exemple, être mises en évidence dans le diagramme).
Étape 3. L'étape automatisée doit correspondre à la ou aux fonctions du système (la relation peut être plusieurs-à-plusieurs), dessinez un diagramme de cas d'utilisation. Ce sont les fonctions de notre système.
Étape 4. Nous décrivons l'organisation interne de l'AS à l'aide du diagramme de classes - Classe. Le chemin de nage «Objets d'entrée et de sortie (documents)» sur le diagramme d'activité est la base de la construction d'un modèle d'objet et d'un modèle de relation d'entité.
Étape 5. Analysons les notes sur la piste «Business Rules» , elles donnent différents types de restrictions et de conditions, se transformant progressivement en exigences non fonctionnelles.
L'ensemble de diagrammes résultant (activité, cas d'utilisation, classe) nous donne une description formalisée dans une notation assez stricte, c'est-à-dire a une lecture sans ambiguïté. Il est désormais possible d'élaborer des termes de référence, de clarifier la spécification des exigences, etc.
Commençons la modélisation.
Étape 1. Nous décrivons le processus sous la forme d'un diagramme d'activité.
Permettez-moi de vous rappeler que nous avons structuré le champ de la carte à l'aide de couloirs de «natation», sur chaque couloir il y a des éléments du même type (figure 2). En plus des éléments de graphique décrits ci-dessus, nous utiliserons des éléments supplémentaires, décrivons à partir de.

La décision indique le point de branchement de notre processus sur le diagramme, et la fusion des flux (Fusion) - le point de leur réunion. Entre crochets sur les transitions, les conditions de transition sont enregistrées.
Entre deux synchroniseurs (Fork), nous montrerons des branches parallèles du processus.
Notre processus ne peut avoir qu'un seul début - un point d'entrée (Initial). Mais la finale (finale) peut être plusieurs, mais pas pour notre diagramme spécifique.
Il y a beaucoup de flèches, avec un grand nombre d'éléments et de liens, vous pouvez d'abord sélectionner les étapes du processus, puis décomposer ces étapes. Mais par souci de clarté, je voudrais montrer notre processus de «conte de fées» dans son intégralité sur un diagramme, alors que, bien sûr, nous devons nous assurer que les flèches ne «collent pas», nous pourrions suivre avec précision ce qui est lié à quoi.

Figure 2. Diagramme d'activité - vue générale du processus
Parce que dans les lignes poétiques certains détails du processus sont omis, j'ai dû les restaurer, ils sont représentés par des éléments sur fond blanc. Ces détails incluent l'étape «Transfert / Réception pour stockage et traitement» et plusieurs artefacts d'entrée et de sortie. Il convient de noter que cette étape ne révèle pas non plus entièrement le processus, car nous aurions besoin d'indiquer séparément l'étape de transfert et l'étape de réception, et même pour les coquilles, ajouter une étape distincte, et également conjecturer que d'abord toutes ces valeurs de matériau devraient être temporairement stockées quelque part, etc. etc.
Nous attirons également l'attention sur le fait que la question de l'origine des noix reste sans réponse - d'où viennent-elles et comment parviennent-elles aux protéines? Et cette question (elle est surlignée en rouge dans la police de la note - l'élément Note) nécessite une étude séparée! Et donc l'analyste travaille - collecter les informations petit à petit, faire des hypothèses et obtenir "d'accord" ou "non d'accord" des experts du domaine - des personnes très importantes et tout simplement irremplaçables au stade de la modélisation métier lors de la création de systèmes.
Notez également que l'étape de processus P5 se compose de deux parties.

Et nous décomposons chaque partie et considérons plus en détail (Figure 3, Figure 4), car les activités menées dans le cadre de ces étapes seront automatisées.

Figure 3. Diagramme d'activité - détail (partie 1)

Figure 4. Diagramme d'activité - détail (partie 2)
Étape 2. Mettez en évidence ce qui peut être automatisé
Les étapes à automatiser dans les diagrammes sont mises en évidence en couleur (voir Figure 3, Figure 4).

Tous sont exécutés par un participant au processus - Greffier de l'ordre:
- Entre des informations sur le poids de l'écrou dans la déclaration;
- Entre des informations sur le transfert de l'écrou à la déclaration;
- Il corrige le fait de la transformation des noix en coques et amandes;
- Entre des informations sur le noyau de la noix dans l'instruction;
- Entre des informations sur les coquilles de noix dans la déclaration.
Analyse du travail effectué. Et ensuite?
Nous avons donc fait beaucoup de travail préparatoire: nous avons collecté des informations sur le processus que nous allons automatiser; a commencé à formuler un accord de modélisation (jusqu'à présent uniquement en termes d'utilisation du diagramme d'activité); effectué une simulation de processus et même décomposé plusieurs de ses étapes; identifié les étapes du processus que nous allons automatiser. Nous sommes maintenant prêts à passer aux étapes suivantes et à commencer à concevoir les fonctions du système et de son organisation interne.
Comme vous le savez, une théorie sans pratique n'est rien. Vous devez absolument essayer la "modélisation" de vos propres mains, ceci est également utile pour comprendre l'approche proposée. Par exemple, vous pouvez travailler dans l'environnement de modélisation Modelio [3]. Nous n'avons décomposé qu'une partie des étapes du diagramme de la vue générale du processus (voir figure 2). En tant que tâche pratique, il peut être suggéré de répéter tous les diagrammes dans l'environnement Modelio et de décomposer l'étape «Transfert / Réception pour stockage et traitement».
Nous ne considérons pas encore le travail dans des environnements de modélisation spécifiques, mais cela peut devenir le sujet d'articles et de revues indépendantes.
Dans la deuxième partie de l'article, nous analyserons les techniques de modélisation et de conception nécessaires aux étapes 3 à 5, nous utiliserons les diagrammes UML Use-case et Class. À suivre .
Liste des sources- Site Web "UML2.ru". Forum des analystes communautaires. Section générale. Exemples. Exemples de contes de fées sous forme de diagrammes UML. [Ressource électronique] Mode d'accès: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
- Site Web de Sparx Systems. [Ressource électronique] Mode d'accès: Internet: https://sparxsystems.com
- Site Web Modelio. [Ressource électronique] Mode d'accès: Internet: https://www.modelio.org
- Grand dictionnaire encyclopédique. Le processus (interprétation). [Ressource électronique] Mode d'accès: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
- Site "Organisation d'une gestion efficace." Le blog. Rubrique "Business Process Management". Définition d'un processus métier. [Ressource électronique] Mode d'accès: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
- Certificat n ° 18249 sur l'enregistrement et le dépôt d'une œuvre du résultat de l'activité intellectuelle. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Un manuscrit d'un outil d'enseignement intitulé "Modélisation d'un domaine à l'aide d'Enterprise Architect" // 2011.
- Zolotukhina E.B., Cherry A.S., Krasnikova S.A. Modélisation des processus métier. - M.: COURSE, SIC INFRA-M, EBS Znanium.com. - 2017.