Alimenter le référentiel d’Architecture d’Entreprise pour la couche Application de TOGAF avec l’outil Information System Designer (ISD) d’Obeo - Modélisation de l’analyse des besoins S.1 Ep.1
L'éditeur logiciel Obeo propose 2 outils interopérables :
le premier, open source, dédié aux architectes logiciels : Information System Designer
et le second, commercial, dédié aux architectes d’entreprise : SmartEA.
Les applications sont complètement modélisées et leurs codes générés dans ISD,
et, grâce à un connecteur, les modèles peuvent ensuite être exportés dans SmartEA.
Et si l'on inversait les rôles ? Si l'on partait de la documentation pour arriver à la réalisation, au code. Le Doc2Code serait-il né ?
Pour assurer la collaboration entre l'architecte logiciel et l'architecte d'entreprise, il faudra payer. Dommage de ne pas avoir choisi le 2 en 1
Pourquoi choisir ISD ?
ISD est un studio moderne pour l’analyse, la conception et la génération de code d’applications s’interfaçant avec l’outil d’Architecture d’Entreprise SmartEA d'Obeo.
Le studio est une base centrale, collaborative de modélisation
afin de générer la documentation et le code.
L’objectif principal est de permettre aux fonctionnels, architectes applicatifs, concepteurs-développeurs et acteurs DevOps, de partager leurs connaissances et leur compréhension du SI, avec des représentations intelligibles.
La méthode Graal d'analyse métier, ainsi que les autres couches,
seront entièrement abordées dans nos prochains articles.
Information System Designer (ISD) offre à la fois la capture des besoins, les cas d’utilisation, les IHM, les services métiers, les entités métiers, les schémas de base de données.
C’est donc un studio de conception d’applications constitué d’un ensemble de modeleurs pour construire des architectures applicatives.
Il intègre une fonctionnalité nommée scaffolding permettant la transformation de modèles.
D’après Obeo, le pourcentage de code généré avec ses générateurs maison customisés avoisinerait 80 %. Les 20 % restants concernent par exemple l’implémentation des modèles états-transitions et les IHM qu'il ne serait pas rentable de faire générer.
Fiabilité de l'architecture garantie
par les générateurs d’Obeo
Contrairement aux frameworks d’ORM (Object Relational Mapping) comme Hibernate, Eclipse Link ou encore Spring Boot, ISD, à partir d’un modèle inspiré du diagramme de classe UML (voir ci-après NoUML), génère les scripts SQL, les exécute dans le RDBMS, génère le code Java et, cerise sur le gâteau, génère la totalité des tests unitaires.
NoUML, pas tout à fait, disons
un UML pragmatique sans fioritures
Entre norme pour technocrate et simplicité alliée à l'efficacité, Obeo a tranché
Comme déjà décrit dans nos articles :
et
UML pêche par sa complexité et freine l’Ingénierie Dirigée par les Modèles
(voir la catégorie IDM).
Deux solutions s’offraient à Obeo :
- se conformer à la norme en concevant un profil UML, comme par exemple SysML
- prendre ses distances en se déclarant NoUML
C’est la deuxième solution qui a été choisie. Comme l’objectif du studio ISD est la conception d’applications, la première solution aurait été compliquée et peu efficiente pour la génération de code.
Obeo a donc choisi, pour se libérer des sévères contraintes et pallier les manques de la norme de l’OMG, la deuxième solution en créant un DSL (Domain-Specific Language) représentant des modèles spécifiques pour représenter visuellement les différents aspects d’une application :
- Exigences (absent d’UML, mais présent dans SysML)
- Scénarios d’usage
- Base de données
- Entités de données
- Services
- IHM et cinématique des écrans (absent d’UML)
Conclusion
Cet outil, interopérable avec SmartEA, permettra d'assurer que les spécifications techniques sont correctement comprises et que les développements sont conformes à l'architecture d'entreprise.
ISD a fait le choix du NoUML en concevant son propre DSL pragmatique et inspiré d’un UML très simplifié.
De la modélisation oui, mais pas trop, juste ce qu’il faut pour pouvoir générer et documenter du code, c'est ce que nous verrons dans nos prochains articles consacrés d'abord à la méthode Graal d'Obeo pour l'analyse métier, puis aux services SOA (Service-Oriented Architecture), aux entités métiers et pour finir les générateurs de codes.
|
Rhona Maxwel @rhona_helena |
" Presque aucune part n’est réservée à l’enseignement de la parole proprement dite ; l’écolier apprend à lire, à écrire, à compter, à raisonner, non à parler (…). Ils seront dans la vie la proie de quelque bavard, expert au langage courant "
Jean Zay
Annexes 1
Installer ISD
Comme la plupart des logiciels open source, ISD est disponible sur tous les OS :
Linux, Mac OS, et Windows.
https://github.com/ObeoNetwork/InformationSystem/releases
Télécharger l’archive correspondant à votre OS, désarchiver et lancer l’exécutable (is-designer), et c’est tout !
ISD a été développé sur un socle Eclipse auquel Obeo a ajouté de nombreux plugins.
Note : notre test s’est effectué sur Linux Ubuntu 22.04 LTS Open JDK 17 et Windows 10 Oracle JDK 11.
Créer un “Modeling Project”
Avec la perspective Modeling (Défaut) ouverte :
File > New > Modeling Project > Nommer votre projet
Annexes 2
Les 4 diagrammes UML à utiliser
Les bonnes pratiques pour modéliser les Cas d'Utilisation UML :
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (5)
- Comment être efficace dans la modélisation de vos cas d'utilisation (UML use case diagram) ?
Diagramme de classes UML :
Les règles à appliquer pour un diagramme de classes valide :
Diagramme de séquence UML :
Les bonnes pratiques pour un diagramme de séquence valide :
Les règles à appliquer pour un diagramme d'états :
Pour créer des modèles UML avec ChatGPT
ou avec des outils gratuits
Les meilleurs logiciels de modélisation UML :
Création de modèles UML, BPMN et de cartographies ArchiMate avec ChatGPT :
C4 model, un UML pour simplement dessiner
La méthode “C4 model” (Context, Containers, Components, and Code) pour visualiser l’architecture logicielle propose une simplification extrême d’UML.
Pour les architectures métier, sécurité, infrastructure…
la solution Saas UNCIA
La solution UNCIA permet de conceptualiser et gérer le cycle de vie des référentiels techniques.
A découvrir aussi
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (6)
- diagrams.net ou draw.io : outil en français gratuit pour dessiner des diagrammes ; mais quel est véritablement son spectre d’utilisation ? La réponse dans notre test.
- Top 5 2023 des outils gratuits ou open source pour l’Architecture d'Entreprise et la modélisation du Système d’Information
Inscrivez-vous au site
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 754 autres membres