Le modèle dynamique dans tous ses états
Le modèle dynamique[1] s'appuie sur les éléments du modèle statique que nous venons de passer en revue. Il le complète en y ajoutant des concepts destinés à formaliser le fonctionnement du système d'information[2] dans le temps :
Événement[3] et messages[4] reçus ou émis par une classe, ou par un acteur[5]
État[6] des occurrences d'une classe en distinguant l'état[6] initial et l'état[6] final
Transition[7], qui formalise un changement d'état
Attributs[8] et gardiens[9] d'une transition [7]
Opération[10] ou méthode, en distinguant l'activité[11] et l'action [12]
La concurrence[13] et la synchronisation[14] d'états.
Ces 12 nouveaux concepts s'expriment dans des types de diagrammes distincts :
Le diagramme de collaboration [17]
On peut envisager pour la description d'une base de données, de réunir tous les schémas statiques du modèle en un seul gigantesque schéma qui représente la totalité du modèle.
Un formalisme permet d'ailleurs de le scinder en parties plus lisibles, et de circuler entre ces différents sous-schémas, tout en marquant les références vers les autres (les packages).
Cela n'a pas de sens pour les diagrammes dynamiques.
Leur rôle est limité à la description séparée des petites et grandes fonctions du modèle.
Participent donc à un diagramme dynamique uniquement les classes concernées, avec bien sûr leurs entités associées.
Pour donner un ordre de grandeur, il peut exister dans un modèle UML autant de diagrammes
dynamiques (diagrammes de collaboration[17]) qu'il existe de use case[18] un peu complexe. Donc pour un logiciel de CAO, souvent plus d'une centaine.
En général, la méthode d'élaboration d'un diagramme dynamique est la suivante :
Dans quelle mesure vous, professionnel (utilisateur, acteur[5]) non informaticien, devez participer à l'élaboration de ces diagrammes dynamiques ?
Pour plusieurs raisons :
L'étude du déroulement dynamique (et donc ergonomique) d'une fonction provoque le plus souvent des compléments dans le modèle statique, surtout au niveau de l'implémentation des attributs[8] à renseigner dans la base de données. Cette étude précise la sémantique du modèle, qui relève de votre domaine de compétence.
Votre participation en tant que responsable du métier est indispensable pour affiner les aspects fonctionnels du modèle et bien vérifier qu'ils seront pris en compte par les informaticiens.
Une réflexion sur le déroulement des fonctions permet d'optimiser l'ergonomie du système, la constitution de ses boîtes de dialogue et l'intégration d'une démarche d'analyse de la valeur.
Enfin, à cette occasion, vous établissez naturellement un guide pour les tests, l'évaluation des performances et la validation du système une fois développé. Il vous suffira de faire fonctionner le système pour chaque diagramme étudié, lequel est directement issu des use case[18] que vous avez imaginés.
Par ailleurs, vous allez vous apercevoir que l'utilisation de ces diagrammes dynamiques, par leur portée générale, dépasse le cadre strict de l'élaboration d'un modèle d'un système d'information. Vous pourrez les utiliser pour mettre au point n'importe quelle méthode organisationnelle, ou problème de planning faisant intervenir des objets, des fonctions et le temps. C'est à dire presque tous les évènements de la vie professionnelle ou même courante !
Passons en revue chaque diagramme, et les nouveaux concepts utilisés.