Modélisation de système
ChatGPT, l’outil idéal de réalisation de modèles pour l’Architecture d’Entreprise et l’Urbanisation du Système d’Information ?
Dans notre quête du Graal pour outiller les méthodes d’AE et d'urbanisation du SI et plus généralement pour la modélisation multiparadigmes, nous avons testé ChatGPT pour la production de code PlantUML (voir notre article : Texte vers UML et autres outils de "diagrammes en tant que code" - Le moyen le plus rapide de créer vos modèles ? ) pour des vues ArchiMate et XMI pour des diagrammes UML et BPMN. L'intérêt d'avoir les diagrammes sous forme de code facilite entre autres la mise en œuvre de MDA (Model Driven Architecture).
Évidemment, nous avons demandé à DALL·E, une autre IA d'OpenAI,
spécialisée dans la génération d'images à partir d'une description textuelle, d'illustrer notre article.
"An illustration for an article about a chatbot generating code for diagrams".
Un générateur de code qui tient compte de ses erreurs
A quoi sait-on qu’une nouvelle technologie peut vraiment changer la donne ? Quand elle suscite la panique chez les leaders installés du secteur, tout autant que leur convoitise. Présenté pour la première fois fin novembre par OpenAI, le bot conversationnel ChatGPT n’a mis que quelques jours pour devenir le sujet de discussion numéro 1 de la planète numérique.
ChatGPT se révèle être à la fois :
- un moteur de recherche donnant immédiatement et exactement le résultat sans avoir à ouvrir plusieurs liens,
- un Wikipédia,
- un générateur de contenu,
- un traducteur,
- un agent conversationnel mémorisant tous les éléments du dialogue lui permettant d’affûter ses réponses. Chaque conversation est stockée, pour être potentiellement reprise ultérieurement,
- un générateur et vérificateur de code informatique ayant absorbé tous les codes trouvés sur internet jusqu’à fin 2021.
C’est cette dernière fonctionnalité qui nous intéresse ici.
En lui fournissant des informations supplémentaires, comme des données contextuelles ou des préférences utilisateur, ChatGPT formule une réponse encore plus en adéquation avec le sujet demandé. De manière similaire à une conversation entre 2 humains, où la reformulation est le moyen le plus efficace pour se faire comprendre et en procédant par itérations de plus en plus précises, nous avons constaté que ChatGPT affine sa compréhension des attendus et fournit un meilleur résultat.
Le système fait également croire qu’il peut se corriger. Si l’utilisateur n’est pas satisfait d’une réponse, il peut demander de recommencer, et recueillir ensuite une meilleure réponse. ChatGPT ne comprend pas son erreur, mais comme c’est un système probabiliste qui fournit la meilleure réponse parmi plusieurs possibles, il finit par proposer les suivantes dans la liste.
Nos tests (les codes générés se trouvent en annexe 1)
Pour connaître l'environnement de nos essais, les reproduire et les adapter, vous pouvez vous reporter à l'annexe 1 à la fin de cet article.
Nous avons choisi de converser avec ChatGPT en anglais sachant que le domaine abordé est plutôt anglophone, ce qui n’aurait pas été le cas si nous lui avions demandé de disserter sur l'œuvre romanesque de Proust.
Test #1
Code PlantUML d'une vue ArchiMate d'un processus de prêt bancaire
Étant néophytes pour la génération de code PlantUML pour des vues ArchiMate avec ChatGPT, nous nous lançons avec une première demande relativement basique.
Question :
"Give me the code for PlantUML corresponding of an ArchiMate diagram for a bank loan process"
Résultat :
Le résultat est un diagramme de classes UML largement satisfaisant pour un débutant en UML.
ChatGPT a généré du code PlantUML représentant un diagramme de classe
alors qu'on lui a demandé un diagramme ArchiMate. Il a pris le type de diagramme par défaut.
A priori, ChatGPT n’a pas tout à fait compris que nous voulions une vue ArchiMate un peu plus consistante.
Nous allons alors lui indiquer le code de démonstration pour ArchiMate fourni par PlantUML et nous lui demanderons de générer un code similaire pour un prêt bancaire.
Test #2
La même demande après lui avoir donné un exemple
Question :
"Can you generate a similar plantuml code for a bank loan process"
Résultat :
Résultat après lui avoir indiqué un exemple et lui avoir dit que nous voulions le même type de code
Nous avons une vue faisant intervenir les niveaux métier et applicatif. Des relations de composition relient les processus. Les services applicatifs fournissent des fonctionnalités au processus et les composants réalisent les services.
ChatGPT a compris que nous voulions incorporer dans le diagramme un titre et une légende qui sont souvent négligés et fastidieux à mettre en œuvre.
ChatGPT mémorise tous les échanges, nous pouvons donc lui demander de détailler tour à tour chacun des sous-processus.
Test #3
Zoom sur le sous-processus de vérification
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Verification process ?"
Résultat :
Zoom sur le processus de vérification
Nous avons demandé le détail de tous les sous-processus composant le prêt bancaire.
Les autres codes générés n'ont pas été intégrés à cet article, mais restent disponibles sur demande.
Test #4
Description textuelle du cas d'utilisation ""Demander un prêt bancaire"
Examinons maintenant ce que va nous donner ChatGPT pour le cas d'utilisation cas d'école "Demander un prêt bancaire".
Question :
"Lets define a simple use case in bank loan, something that is very well established and easy to understand"
Réponse :
Sure, let's consider the use case of obtaining a personal loan from a bank.
Here's how the process might work:
- A customer starts by researching different banks and comparing their personal loan options.
- Once the customer has found a loan that they are interested in, they complete a loan application, which requires them to provide personal and financial information, such as their income, employment history, and credit score.
- The bank uses this information to determine the customer's creditworthiness and assess their ability to repay the loan.
- If the customer is approved for the loan, they receive an offer with the loan terms, including the interest rate, monthly payment amount, and repayment period.
- If the customer accepts the loan offer, they sign the loan agreement and provide any necessary documentation, such as proof of income or collateral.
- The bank then disburses the loan funds to the customer, either as a lump sum payment or in installments.
- The customer then repays the loan over time, including both the principal amount and the interest, according to the terms agreed to in the loan agreement.
This is just a basic example of how a personal loan from a bank works, but it should give you an idea of how individuals can use loans to access the funds they need for a variety of purposes, from paying for large expenses to consolidating debt.
Test #5
Tableau du modèle métier d'un prêt bancaire
Évidemment il s'agit du processus standard. Pour un cas plus spécifique, il suffirait d'ajouter les informations métier supplémentaires.
Demandons-lui le modèle métier sous la forme de tableau au format standard markdown.
Question :
"Describe the data model in more detail or tabular format using markdown"
Réponse :
Here is a more detailed and tabular format of the data model for the use case of obtaining a personal loan from a bank:
Customer
Attribute | Data Type | Description |
---|---|---|
Customer ID | Integer | Primary key, unique identifier for the customer |
Name | String | Full name of the customer |
Address | String | Physical address of the customer |
Phone number | String | Contact phone number for the customer |
String | Contact email for the customer | |
Date of birth | Date | Birthdate of the customer |
Social security number | String | Social security number of the customer |
Loan Application
Attribute | Data Type | Description |
---|---|---|
Loan Application ID | Integer | Primary key, unique identifier for the loan application |
Customer ID | Integer | Foreign key, reference to the customer who submitted the loan application |
Loan amount | Decimal | Total amount requested in the loan application |
Loan purpose | String | Purpose of the loan as stated by the customer in the application |
Status | String | Current status of the loan application (e.g., pending, approved, denied) |
Date submitted | Date | Date on which the loan application was submitted |
Loan Offer
Attribute | Data Type | Description |
---|---|---|
Loan Offer ID | Integer | Primary key, unique identifier for the loan offer |
Loan Application ID | Integer | Foreign key, reference to the loan application that generated the offer |
Interest rate | Decimal | Interest rate for the loan offer |
Monthly payment amount | Decimal | Monthly payment amount for the loan offer |
Repayment period | Integer | Length of the repayment period for the loan offer (in months) |
Date offered | Date | Date on which the loan offer was made |
Loan Agreement
Attribute | Data Type | Description |
---|---|---|
Loan Agreement ID | Integer | Primary key, unique identifier for the loan agreement |
Loan Offer ID | Integer | Foreign key, reference to the loan offer that generated the agreement |
Date signed | Date | Date on which the loan agreement was signed |
Collateral information | String | Information about any collateral used to secure the loan (if applicable) |
Repayment terms | String | Terms of repayment for the loan |
Loan Repayment
Attribute | Data Type | Description |
---|---|---|
Loan Repayment ID | Integer | Primary key, unique identifier for the loan repayment |
Loan Agreement ID | Integer | Foreign key, reference to the loan agreement for which the payment is made |
Payment amount | Decimal | Amount of the payment |
Payment date | Date | Date on which the payment was made |
Balance | Decimal | Remaining balance on the loan after the payment |
This tabular format provides a clear and concise representation of the data model for the personal loan use case, making it easier to understand and manage the data.
Test #6
Diagramme de classe UML d'un prêt bancaire
Passons à l'aspect structurel avec un diagramme de classe UML généré à base de code PlantUML.
Question :
"This is perfect, I would like to depict the relationships in a plantuml diagram, can you give me the code to do this"
A la première génération, ChatGPT met des espaces dans les noms de classe, ce qui provoque un message d'erreur de syntaxe à l'exécution dans PlantUML.
Nous lui indiquons :
"There is a syntax error about class Loan Application, I think there is no space in the class name."
Résultat :
I apologize, you're correct. Here's the corrected PlantUML code:
Voir le code généré en annexe 1.
Voici l'exécution dans PlantUML :
Représentation dans PlantUML du code généré par ChatGPT
pour le modèle d'entités métiers pour un prêt bancaire.
Test #7
Diagramme de séquence UML pour le prêt bancaire
Continuons avec l'aspect comportemental avec un diagramme de séquence UML.
Question :
"How would a client asking for a bank loan impact the classes mentioned above, I would like to depict this as a sequence diagram. Can you help describe the diagram in code for plantuml"
Résultat :
Le diagramme de séquence UML avec les commentaires s'il vous plaît !
Test #8
Diagramme états/transitions UML pour le prêt bancaire
Demandons à ChatGPT quels seraient les états métier du prêt bancaire et de générer le code PlantUML pour le représenter dans un diagramme de "state machine" UML.
Question :
"Will the loan have states like new, closed, active inactive, cancelled, etc ? I would like to depict the states in a state diagram using plantuml. Can you help describe the diagram in code for plantuml"
Résultat :
Les états et les transitions représentés par PlantUML correspondant au code généré par ChatGPT
Test #9
Mind map pour un prêt bancaire
On aurait pu commencer par là : voyons ce que donne un mind map toujours relatif au prêt bancaire.
Question :
"Let's start by creating a simple MindMap on the topic of Bank Loan
Can you give the mindmap in PlantUML format. Keep it structured from the core central topic branching out to other domains and sub-domains. Let's go to 5 levels to begin with. Add the start and end mindmap tags and keep it expanding on one side for now"
Résultat :
Pour finir un mind map des concepts clés d'un prêt bancaire
toujours avec du code PlantUML généré par ChatGPT.
Test #10
Un pattern ArchiMate : Strategic Value Map View
Évidemment, si l’on restreint le périmètre, si on supprime les mots clés, et si l’on ne précise pas les règles métier, tout en augmentant le niveau d’abstraction, on obtient une vue correspondant au contexte demandé.
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Strategic Value Map View ?"
Résultat :
Essai de génération du pattern "Strategic Value Map View"
Test #11
Business Model Canvas View
Demandons-lui de faire un template avec ArchiMate pour un Business Model Canvas View.
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Business Model Canvas View ?"
Réponse :
ChatGPT répond que malheureusement PlantUML ne supporte pas ce type de diagramme. Il nous propose de trouver un plugin ou de créer nos propres éléments.
En fait, il est tout à fait possible de créer une telle vue avec ArchiMate.
Un Business Model Canvas View avec les artefacts ArchiMate et réalisé avec l’outil open source Archi (voir notre article : Top 5 2023 des outils gratuits ou open source pour l’Architecture d'Entreprise et la modélisation du Système d’Information )
Test #12
Plus on donne d'informations à ChatGPT, meilleure sera la réponse. Exemple d'une librairie en ligne.
Question :
"Give me the code for PlantUML corresponding of a class diagram for an online library with Author, Book, User, ShoppingCartLine, ShippingCart, PurchaseOrder and Status. Don't forget the multiplicity. Author wrote 0 or several books and a book is written by 0 or several authora. A User is an aggragate of 0 or several shopping cart which is an aggragate of 0 or several shopping cart lines which is linked at a book. A PurchaseOrder is linked at one user and one shopping cart. The Status are pending and shipped."
Résultat :
Diagramme de classe UML pour une librairie en ligne, généré par ChatGPT
après avoir décrit le contexte métier.
Si l’ajout des attributs des entités métier était trivial, il n'en va pas de même pour ce qui est des méthodes. Heureusement, ChatGPT les a correctement modélisées selon les meilleures pratiques de conception orientée objet.
Test #13
Qu’en est-il pour du code plus verbeux comme XMI représentant un processus BPMN ?
Question :
“Write BPMN code for a pizza order”
Résultat :
Le code XML de l’OMG pour représenter un simple cas d’école de processus BPMN est tellement verbeux que ChatGPT ne finissait pas sa génération. On peut comprendre qu’il soit limité dans sa réponse en nombre de mots étant donné les millions de conversations simultanées auxquelles il doit participer.
Nous lui avons demandé par 2 fois de terminer son code.
Puis nous avons concaténé les 3 parties de code dans un fichier avec l’extension .bpmn, que nous avons ensuite ouvert avec l’outil bpmn.io (https://bpmn.io/) de Camunda (voir notre article : Top 5 2023 des outils gratuits ou open source pour l’Architecture d'Entreprise et la modélisation du Système d’Information )
En demandant par 3 fois à ChatGPT de continuer à générer le code XML pour le diagramme BPMN, nous avons pu constituer le fichier .bpmn et l'ouvrir avec l'open source bpmn.io de Camunda.
Un assistant de choix pour les cartographes
ChatGPT peut accompagner les cartographes de SI dans leur production quotidienne, en leur suggérant du code pour les outils de modélisation visuelle. En les aidant, ChatGPT peut augmenter leurs capacités et leur productivité, réduire les tâches manuelles et leur permettre de se concentrer sur les aspects les plus intéressants de leur travail.
Cela fait intrinsèquement partie des métiers de l’IT d’évoluer en fonction des innovations technologiques. Un développeur d'application de gestion ne programme plus en assembleur, un architecte logiciel n’écrit plus manuellement les codes techniques pour une architecture distribuée, les outils low code/no code se développent…
De langages impératifs fastidieux, on passera inéluctablement à un formalisme déclaratif voir au langage naturel.
Pourquoi se fatiguer à apprendre ?
Quand Wikipédia est apparu, les instances pédagogiques se sont alarmées des possibilités de plagiat par les apprenants. Avec le temps, des logiciels antiplagiat sont apparus, les enseignants ont largement fait la morale en expliquant les raisons pour lesquelles il ne fallait pas copier et finalement Wikipédia est devenu un outil pédagogique comme un autre.
Nous pensons qu’il se passera la même chose avec ChatGPT. Il ne faudrait pas exercer des contraintes coercitives, mais au contraire innover dans l’ingénierie pédagogique en incluant ce type d’agent conversationnel comme un formidable moyen pour développer les capacités cognitives. Les pédagogues devront alors vérifier, expliquer les résultats et les utiliser comme support pour aller plus loin sur le sujet concerné.
Conclusion
CQFD.
Bien sûr, il s'agit d'une première prise en main de ChatGPT et nos tests portent sur des cas d’école, pouvant par exemple servir comme matériel pédagogique à de futurs étudiants dans le domaine de la modélisation de Système d'Information.
Cependant, ils montrent qu’en apprivoisant ChatGPT, en décrivant un contexte métier en langage naturel, en explicitant la formulation, en ajoutant au fur et à mesure des échanges des informations supplémentaires sur l'ontologie utilisée, en affinant la question et en demandant de détailler certaines parties, ce chatbot est capable de générer du code représentant des vues ArchiMate d’Architecture d’Entreprise ainsi que des diagrammes UML et BPMN pour le SI.
Cette génération de "diagram as code" est fondamentale, car les avantages à représenter les modèles sous forme textuelle sont nombreux : synchronisation automatique entre les modèles, versioning avec des outils de type Git, conception collaborative avec des outils de type Google Doc, solutions open source légères, code moins verbeux que le XMI de l'OMG... (voir notre article : Texte vers UML et autres outils de "diagrammes en tant que code" - Le moyen le plus rapide de créer vos modèles ? ).
Sans oublier la mise en œuvre grandement facilitée de MDA avec la réalisation par scripts de transformations de modèles à partir de leur code. Les normes XMI et DI de l'OMG, très complexes, verbeuses et avec leurs nombreuses versions incompatibles, empêchaient la démocratisation de la dérivation des modèles correspondant par exemple aux couches d'architecture.
Au vu de ce que prépare par exemple le géant chinois de l’internet Baido avec son Ernie Bot, Google avec Bard et OpenAI avec la prochaine version de ChatGPT (GPT-4) et avec l’aide des milliards de Microsoft, soyons assurés que dans un proche avenir, les architectes d’entreprise, urbanistes et cartographes de SI, voir les modélisateurs multiparadigmes, seront dispensés des tâches fastidieuses et sans valeur ajoutée, leur permettant d’être plus créatif.
De notre côté, nous comptons bien en faire une utilisation plus poussée et utiliser ChatGPT à des fins professionnelles. Nous ne manquerons pas de vous tenir informé.
“Autrefois pour faire sa cour
On parlait d'amour
Pour mieux prouver son ardeur
On offrait son cœur
Maintenant, c'est plus pareil
Ça change, ça change
…
Viens m'embrasser
Et je te donnerai
…
Une tourniquette
Pour faire la vinaigrette
Un bel aérateur
Pour bouffer les odeurs
Des draps qui chauffent
Un pistolet à gaufres
…”
Boris Vian - La complainte du progrès
Annexe 1
Les codes générés
Mode d'emploi
- Créer un compte sur le site : chat.openai.com puis se connecter.
- Cliquer sur le lien Serveur de démonstration en ligne de PlantUML.
- Copier/Coller le code de ChatGPT, le diagramme correspondant apparaît instantanément.
Test #1
Code PlantUML d'une vue ArchiMate d'un processus de prêt bancaire
Question :
"Give me the code for PlantUML corresponding of an ArchiMate diagram for bank loan process"
Réponse :
@startuml
!define ARCHIMATE_COLOR #6495ED
class LoanProcess {
+ requestLoan(amount: int, purpose: String)
+ checkEligibility(borrower: Borrower)
+ calculateInterestRate(amount: int, purpose: String)
+ issueLoan(borrower: Borrower, amount: int)
}
class Borrower {
+ name: String
+ address: String
+ income: int
}
class Bank {
+ name: String
+ address: String
+ processLoan: LoanProcess
+ approveLoan(borrower: Borrower, amount: int)
}
Borrower -> LoanProcess : request loan
LoanProcess -> Borrower : check eligibility
LoanProcess -> Bank : calculate interest rate
Bank -> LoanProcess : approve loan
LoanProcess -> Borrower : issue loan
@enduml
chatgpt-01-code-PlantUML-ArchiMate-diagram-bank-loan-proces-.png
Test #2
La même demande après lui avoir donné un exemple
Question :
"Can you generate a similar plantuml code for a bank process"
Réponse :
@startuml
skinparam rectangle<<behavior>> {
roundCorner 25
}
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component
rectangle "Handle claim" as HC <<$bProcess>><<behavior>> #Business
rectangle "Capture Information" as CI <<$bProcess>><<behavior>> #Business
rectangle "Notify\nAdditional Stakeholders" as NAS <<$bProcess>><<behavior>> #Business
rectangle "Validate" as V <<$bProcess>><<behavior>> #Business
rectangle "Investigate" as I <<$bProcess>><<behavior>> #Business
rectangle "Pay" as P <<$bProcess>><<behavior>> #Business
HC *-down- CI
HC *-down- NAS
HC *-down- V
HC *-down- I
HC *-down- P
CI -right->> NAS
NAS -right->> V
V -right->> I
I -right->> P
rectangle "Scanning" as scanning <<$aService>><<behavior>> #Application
rectangle "Customer admnistration" as customerAdministration <<$aService>><<behavior>> #Application
rectangle "Claims admnistration" as claimsAdministration <<$aService>><<behavior>> #Application
rectangle Printing <<$aService>><<behavior>> #Application
rectangle Payment <<$aService>><<behavior>> #Application
scanning -up-> CI
customerAdministration -up-> CI
claimsAdministration -up-> NAS
claimsAdministration -up-> V
claimsAdministration -up-> I
Payment -up-> P
Printing -up-> V
Printing -up-> P
rectangle "Document\nManagement\nSystem" as DMS <<$aComponent>> #Application
rectangle "General\nCRM\nSystem" as CRM <<$aComponent>> #Application
rectangle "Home & Away\nPolicy\nAdministration" as HAPA <<$aComponent>> #Application
rectangle "Home & Away\nFinancial\nAdministration" as HFPA <<$aComponent>> #Application
DMS .up.|> scanning
DMS .up.|> Printing
CRM .up.|> customerAdministration
HAPA .up.|> claimsAdministration
HFPA .up.|> Payment
legend left
Example from the "Archisurance case study" (OpenGroup).
See
====
<$bProcess> :business process
====
<$aService> : application service
====
<$aComponent> : application component
endlegend
@enduml
Can you generate a similar plantuml code for a bank process
Certainly! Here is an example of PlantUML code for a bank loan process:
@startuml
skinparam rectangle<<behavior>> {
roundCorner 25
}
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component
rectangle "Loan Application" as LA <<$bProcess>><<behavior>> #Business
rectangle "Verification" as V <<$bProcess>><<behavior>> #Business
rectangle "Credit Check" as CC <<$bProcess>><<behavior>> #Business
rectangle "Approval" as A <<$bProcess>><<behavior>> #Business
rectangle "Funding" as F <<$bProcess>><<behavior>> #Business
LA *-down- V
V *-down- CC
CC *-down- A
A *-down- F
rectangle "Customer\nInformation\nSystem" as CIS <<$aService>><<behavior>> #Application
rectangle "Credit\nBureau\nSystem" as CBS <<$aService>><<behavior>> #Application
rectangle "Loan\nAdministration\nSystem" as LAS <<$aService>><<behavior>> #Application
rectangle "Payment\nSystem" as PS <<$aService>><<behavior>> #Application
CIS -up-> LA
CBS -up-> CC
LAS -up-> A
LAS -up-> F
PS -up-> F
rectangle "Database" as DB <<$aComponent>> #Application
rectangle "CRM\nSystem" as CRM <<$aComponent>> #Application
rectangle "Financial\nAdministration\nSystem" as FAS <<$aComponent>> #Application
DB .up.|> CIS
DB .up.|> CBS
CRM .up.|> CIS
FAS .up.|> PS
legend left
Example of a bank loan process.
See
====
<$bProcess> : business process
====
<$aService> : application service
====
<$aComponent> : application component
endlegend
@enduml
This code will create a diagram that visualizes the loan application process in a bank. The customer submits their information, which is verified and goes through a credit check. Based on the results, the loan is approved or rejected and, if approved, the funds are disbursed. The diagram also shows the relationships between the various business processes, application services, and application components involved in the loan process.
Test #3
Zoom sur le sous-processus de vérification
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Verification process ?"
Réponse :
Here is an example of a PlantUML diagram for a Verification process:
@startuml
skinparam rectangle<<behavior>> {
roundCorner 25
}
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component
rectangle "Verify Information" as VI <<$bProcess>><<behavior>> #Business
rectangle "Collect Information" as CI <<$bProcess>><<behavior>> #Business
rectangle "Check Credibility" as CC <<$bProcess>><<behavior>> #Business
rectangle "Notify Customer" as NC <<$bProcess>><<behavior>> #Business
CI *-down- VI
VI *-down- CC
CC *-down- NC
rectangle "Information Gathering" as IG <<$aService>><<behavior>> #Application
rectangle "Data Validation" as DV <<$aService>><<behavior>> #Application
rectangle "Notification" as N <<$aService>><<behavior>> #Application
IG -up-> VI
DV -up-> CC
N -up-> NC
rectangle "Know Your Customer (KYC)" as KYC <<$aComponent>> #Application
rectangle "Credit Bureau" as CB <<$aComponent>> #Application
rectangle "Notification System" as NS <<$aComponent>> #Application
KYC .up.|> IG
CB .up.|> DV
NS .up.|> N
legend left
Example of a verification process.
See
====
<$bProcess> :business process
====
<$aService> : application service
====
<$aComponent> : application component
endlegend
@enduml
Test #4
Description textuelle du cas d'utilisation "Demander un prêt bancaire"
Examinons maintenant ce que va nous donner ChatGPT pour le cas d'utilisation cas d'école "Demander un prêt bancaire".
Question :
"Lets define a simple use case in bank loan, something that is very well established and easy to understand"
Réponse :
Sure, let's consider the use case of obtaining a personal loan from a bank.
Here's how the process might work:
- A customer starts by researching different banks and comparing their personal loan options.
- Once the customer has found a loan that they are interested in, they complete a loan application, which requires them to provide personal and financial information, such as their income, employment history, and credit score.
- The bank uses this information to determine the customer's creditworthiness and assess their ability to repay the loan.
- If the customer is approved for the loan, they receive an offer with the loan terms, including the interest rate, monthly payment amount, and repayment period.
- If the customer accepts the loan offer, they sign the loan agreement and provide any necessary documentation, such as proof of income or collateral.
- The bank then disburses the loan funds to the customer, either as a lump sum payment or in installments.
- The customer then repays the loan over time, including both the principal amount and the interest, according to the terms agreed to in the loan agreement.
This is just a basic example of how a personal loan from a bank works, but it should give you an idea of how individuals can use loans to access the funds they need for a variety of purposes, from paying for large expenses to consolidating debt.
Test #5
Tableau du modèle métier d'un prêt bancaire
Évidemment il s'agit du processus standard. Pour un cas plus spécifique, il suffirait d'ajouter les informations métier supplémentaires.
Demandons-lui le modèle métier sous forme de tableau au format standard markdown.
Question :
"Describe the data model in more detail or tabular format using markdown"
Réponse :
Here is a more detailed and tabular format of the data model for the use case of obtaining a personal loan from a bank:
Customer
Attribute | Data Type | Description |
---|---|---|
Customer ID | Integer | Primary key, unique identifier for the customer |
Name | String | Full name of the customer |
Address | String | Physical address of the customer |
Phone number | String | Contact phone number for the customer |
String | Contact email for the customer | |
Date of birth | Date | Birthdate of the customer |
Social security number | String | Social security number of the customer |
Loan Application
Attribute | Data Type | Description |
---|---|---|
Loan Application ID | Integer | Primary key, unique identifier for the loan application |
Customer ID | Integer | Foreign key, reference to the customer who submitted the loan application |
Loan amount | Decimal | Total amount requested in the loan application |
Loan purpose | String | Purpose of the loan as stated by the customer in the application |
Status | String | Current status of the loan application (e.g., pending, approved, denied) |
Date submitted | Date | Date on which the loan application was submitted |
Loan Offer
Attribute | Data Type | Description |
---|---|---|
Loan Offer ID | Integer | Primary key, unique identifier for the loan offer |
Loan Application ID | Integer | Foreign key, reference to the loan application that generated the offer |
Interest rate | Decimal | Interest rate for the loan offer |
Monthly payment amount | Decimal | Monthly payment amount for the loan offer |
Repayment period | Integer | Length of the repayment period for the loan offer (in months) |
Date offered | Date | Date on which the loan offer was made |
Loan Agreement
Attribute | Data Type | Description |
---|---|---|
Loan Agreement ID | Integer | Primary key, unique identifier for the loan agreement |
Loan Offer ID | Integer | Foreign key, reference to the loan offer that generated the agreement |
Date signed | Date | Date on which the loan agreement was signed |
Collateral information | String | Information about any collateral used to secure the loan (if applicable) |
Repayment terms | String | Terms of repayment for the loan |
Loan Repayment
Attribute | Data Type | Description |
---|---|---|
Loan Repayment ID | Integer | Primary key, unique identifier for the loan repayment |
Loan Agreement ID | Integer | Foreign key, reference to the loan agreement for which the payment is made |
Payment amount | Decimal | Amount of the payment |
Payment date | Date | Date on which the payment was made |
Balance | Decimal | Remaining balance on the loan after the payment |
This tabular format provides a clear and concise representation of the data model for the personal loan use case, making it easier to understand and manage the data.
Test #6
Diagramme de classe UML d'un prêt bancaire
Question :
"this is perfect, I would like to depict the relationships in a plantuml diagram, can you give me the code to do this"
Après détection d'une erreur de syntaxe dans PlantUML :
"there is a syntax error about class Loan Application, I think there is no space in the class name"
Réponse :
I apologize, you're correct. Here's the corrected PlantUML code:
@startuml
title Personal Loan Data Model Relationships
class Customer {
+ CustomerID: Integer
+ Name: String
+ Address: String
+ PhoneNumber: String
+ Email: String
+ DateOfBirth: Date
+ SocialSecurityNumber: String
}
class LoanApplication {
+ LoanApplicationID: Integer
+ CustomerID: Integer
+ LoanAmount: Decimal
+ LoanPurpose: String
+ Status: String
+ DateSubmitted: Date
}
class LoanOffer {
+ LoanOfferID: Integer
+ LoanApplicationID: Integer
+ InterestRate: Decimal
+ MonthlyPaymentAmount: Decimal
+ RepaymentPeriod: Integer
+ DateOffered: Date
}
class LoanAgreement {
+ LoanAgreementID: Integer
+ LoanOfferID: Integer
+ DateSigned: Date
+ CollateralInformation: String
+ RepaymentTerms: String
}
class LoanRepayment {
+ LoanRepaymentID: Integer
+ LoanAgreementID: Integer
+ PaymentAmount: Decimal
+ PaymentDate: Date
+ Balance: Decimal
}
Customer "1" -- "1..*" LoanApplication
LoanApplication "1" -- "1" LoanOffer
LoanOffer "1" -- "1" LoanAgreement
LoanAgreement "1" -- "1..*" LoanRepayment
@enduml
Test #7
Diagramme de séquence UML pour le prêt bancaire
Question :
"How would a client asking for a bank loan impact the classes mentioned above, I would like to depict this as a sequence diagram. Can you help describe the diagram in code for plantuml"
Réponse :
Certainly! Here's a PlantUML sequence diagram that depicts the interaction between a client and the classes in the personal loan use case when the client applies for a loan:
@startuml
title Personal Loan Application Sequence Diagram
participant Customer
participant LoanApplication
participant LoanOffer
participant LoanAgreement
Customer -> LoanApplication: Submit Loan Application
Note right of LoanApplication: LoanApplication\nvalidates the application
LoanApplication -> LoanOffer: Generate Loan Offer
Note right of LoanOffer: LoanOffer\ncalculates loan terms and conditions
LoanOffer -> Customer: Present Loan Offer
Note right of Customer: Customer\nreviews and accepts loan offer
Customer -> LoanAgreement: Sign Loan Agreement
Note right of LoanAgreement: LoanAgreement\nrecords loan agreement details
@enduml
This diagram depicts the interactions between the customer, the LoanApplication class, the LoanOffer class, and the LoanAgreement class when a client applies for a personal loan. The customer submits a loan application to the LoanApplication class, which validates the application. The LoanApplication class then generates a loan offer by calculating loan terms and conditions and presenting the offer to the customer. If the customer accepts the loan offer, they sign the loan agreement, which is recorded by the LoanAgreement class.
Test #8
Diagramme états/transitions UML pour le prêt bancaire
Question :
"Will the loan have states like new, closed, active inactive, cancelled, etc ? I would like to depict the states in a state diagram using plantuml. Can you help describe the diagram in code for plantuml"
Réponse :
@startuml
title Personal Loan State Diagram
[*] --> New
[*] --> Active : Loan Agreement Signed
New --> Cancelled : Loan Application Cancelled
Active --> Inactive : Loan Repayment Completed
Active --> Closed : Loan Agreement Terminated
Inactive --> Active : Loan Repayment Resumed
Closed --> Cancelled : Loan Agreement Cancelled
@enduml
Test #9
Mind map pour un prêt bancaire
Question :
"Let's start by creating a simple MindMap on the topic of Bank Loan
Can you give the mindmap in PlantUML format. Keep it structured from the core central topic branching out to other domains and sub-domains. Let's go to 5 levels to begin with. Add the start and end mindmap tags and keep it expanding on one side for now"
Remarque : au 1er essai ChatGPT nous dit que les diagrammes de mind map n'existent pas dans PlantUML.
Nous lui donnons alors l'exemple fourni dans la documentation de PlantUML.
Réponse :
I apologize for the earlier confusion. You are correct, PlantUML does support mind map diagrams. Here's an example of a simple mind map for the topic of "Bank Loan":
@startmindmap
* Bank Loan
** Loan Types
*** Personal Loan
*** Home Loan
*** Car Loan
*** Education Loan
*** Business Loan
** Loan Requirements
*** Proof of Income
*** Credit History
*** Collateral
*** Loan Application
** Loan Approval Process
*** Application Review
*** Credit Check
*** Risk Assessment
*** Approval Decision
** Loan Repayment
*** Repayment Terms
*** Interest Rate
*** Penalty for Default
*** Loan Refinancing
@endmindmap
This mind map starts with the central topic of "Bank Loan" and branches out to different loan types, loan requirements, the loan approval process, and loan repayment. Each sub-topic is indented and connected to the central topic.
Test #10
Un pattern ArchiMate : Strategic Value Map View
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Strategic Value Map View ?"
Réponse :
Here is a sample PlantUML code for the Strategic Value Map View pattern in ArchiMate:
@startuml
skinparam rectangle<<strategy>> {
roundCorner 25
}
sprite $goal jar:archimate/goal
sprite $businessActor jar:archimate/business-actor
rectangle "Improve Loan Processing Efficiency" as ILPE <<$goal>><<strategy>> #Business
rectangle "Satisfy Customer Needs" as SCN <<$goal>><<strategy>> #Business
rectangle "Maximize Profit" as MP <<$goal>><<strategy>> #Business
rectangle "Customer" as C <<$businessActor>> #Business
ILPE *-down-> SCN
SCN *-down-> MP
C -- ILPE
legend left
Example of a Strategic Value Map view pattern in ArchiMate.
See
<$goal> : goal
<$businessActor> : business actor
endlegend
@enduml
Test #11
Business Model Canvas View
Question :
"Like the previous plantuml diagram, can you give me the plantuml code for the Business Model Canvas View ?"
Réponse :
Unfortunately, PlantUML does not have built-in support for creating a Business Model Canvas view. You may need to find a plugin or create your own custom shapes to represent the elements of the Business Model Canvas in PlantUML.
Test #12
Plus on donne d'informations à ChatGPT, meilleure sera la réponse. Exemple d'une librairie en ligne.
Question :
Give me the code for PlantUML corresponding of a class diagram for an online library with Author, Book, User, ShoppingCartLine, ShippingCart, PurchaseOrder and Status. Don't forget the multiplicity. Author wrote 0 or several Book and a Book is written by 0 or several Author. A User is an aggragate of 0 or several ShoppingCart which is an aggragate of 0 or several ShoppingCartLine which is linked at a Book. A PurchaseOrder is linked at one User and one ShoppingCart. The Status are pending and shipped.
Réponse :
class Author {
+writtenBooks(): Book[]
}
class Book {
+writtenByAuthors(): Author[]
+belongsToShoppingCartLine(): ShoppingCartLine[]
}
class User {
+hasShoppingCarts(): ShoppingCart[]
+hasPurchaseOrders(): PurchaseOrder[]
}
class ShoppingCartLine {
+belongsToShoppingCart(): ShoppingCart
+linkedToBook(): Book
}
class ShoppingCart {
+belongsToUser(): User
+containsShoppingCartLines(): ShoppingCartLine[]
+hasPurchaseOrder(): PurchaseOrder
}
class PurchaseOrder {
+belongsToUser(): User
+belongsToShoppingCart(): ShoppingCart
+hasStatus(): Status
}
class Status {
+pending
+shipped
}
Author "0..*" -- "0..*" Book
User -- "0..*" ShoppingCart
ShoppingCart -- "0..*" ShoppingCartLine
ShoppingCartLine -- Book
PurchaseOrder -- User
PurchaseOrder -- ShoppingCart
Test #13
Qu’en est-il pour du code plus verbeux comme XMI représentant un processus BPMN ?
Ouvrir le code avec : https://bpmn.io/
Question :
Write BPMN code for a pizza command
Réponse :
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="11.3.1">
<bpmn:process id="Process_1" isExecutable="false">
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Task_1" name="Receive Pizza Order">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_2" name="Prepare Pizza">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_3" name="Bake Pizza">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_4" name="Deliver Pizza">
<bpmn:incoming>Flow_4</bpmn:incoming>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="EndEvent_1">
<bpmn:incoming>Flow_5</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Task_1" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_1" targetRef="Task_2" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_2" targetRef="Task_3" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_3" targetRef="Task_4" />
<bpmn:sequenceFlow id="Flow_5" sourceRef="Task_4" targetRef="EndEvent_1" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="173" y="102" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="157" y="142" width="68" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_1_di" bpmnElement="Task_1">
<dc:Bounds x="259" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_2_di" bpmnElement="Task_2">
<dc:Bounds x="443" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_3_di" bpmnElement="Task_3">
<dc:Bounds x="632" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_4_di" bpmnElement="Task_4">
<dc:Bounds x="825" y="80" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_2" bpmnElement="EndEvent_1">
<dc:Bounds x="1018" y="102" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1002" y="142" width="68" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
<di:waypoint x="209" y="120" />
<di:waypoint x="259" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
<di:waypoint x="359" y="120" />
<di:waypoint x="443" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3">
<di:waypoint x="543" y="120" />
<di:waypoint x="632" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4">
<di:waypoint x="732" y="120" />
<di:waypoint x="825" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5">
<di:waypoint x="925" y="120" />
<di:waypoint x="1018" y="120" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Annexe 2
Les principaux concurrents à ChatGPT
en attendant la réponse de Google
Compléments de lecture
- Architecture d'Entreprise augmentée, quelle influence de l’Intelligence Artificielle sur la gouvernance et la stratégie ?
- Le rôle de la prospective pour une entreprise innovante et résiliente
- Méta-physique ? Non, méta-modélisation !
- Le meilleur outil pour transformer, dériver, parcourir, requêter sur des modèles afin de mettre en œuvre MDA (Model Driven Architecture)
- Transformation de modèles et Ingénierie Dirigées par les Modèles (IDM ou MDE Model Driven Engineering ou bien encore MDA Model Driven Architecture)
- Pour trouver les services logiques, les modèles sémantiques et pragmatiques tu dériveras. (« Praxeme 4ème commandement extrait de la bible de l’aspect logique »).
- Exemple de méthode d’Architecture d’Entreprise d’un grand cabinet de conseil : EAM Enterprise Architecture Management de McKinsey L’Enterprise Architecture Management (EAM) de McKinsey est une méthode pour gérer
- Les meilleurs articles sur l’architecture d’entreprise, ses méthodes et ses outils, découvrez quels sont les articles les plus lus de notre blog
- TOGAF 10, quelle méthodologie d’architecture de sécurité et de gestion des risques ?
- Architecture Hexagonale, exemple de mise en pratique de la méthode DDD Domain Driven Design
- Les couches de l'Architecture Microservices et la méthode de conception DDD (Domain Driven Design)
- Orchestration des micro-services avec BPMN
- Agilité logicielle : quelle solution pour diminuer le couplage entre sous-systèmes et obtenir une architecture logicielle agile ?
Top 5 2023 des outils gratuits ou open source pour l’Architecture d'Entreprise et la modélisation du Système d’Information
Existe-t-il des outils idoines et en plus gratuits pour la mise en œuvre efficiente de l’Architecture d’Entreprise (AE) ? Voici notre classement des 5 meilleurs, d’après nos tests complets réalisés en 2022.
L’outil idéal serait un croisement de Modelio, Visual Paradigm, ADOIT:CE, Archi et GenMyModel.
Pas de leader parmi les outils gratuits d’AE
Dans le domaine de l’IA, nous voyons apparaître des disrupteurs gratuits comme ChatGPT d’OpenAI qui pénètre le marché, le révolutionne et bouleverse un grand nombre de domaines comme l’ingénierie logicielle, les productions de contenus textuels, la prospective, les arts, etc.
En est-il de même dans le monde de l’Architecture d’Entreprise (AE) ? Des outils open source comme Modelio, Visual Paradigm, ADOIT:CE ou encore Archi peuvent-ils couvrir tous les aspects de l’AE ? Peuvent-ils répondre aux exigences des urbanistes de SI, des architectes logiciels, des business analysts et autres consultants en IT ?
Le modèle open source est un facteur primordial d’innovation permettant la démocratisation et le partage de connaissances. Il offre au monde éducatif, universités, écoles d’ingénieurs ou de reconversion, professeurs, étudiants souvent sans grands moyens, la possibilité de sortir d’un monde livresque, de mettre en pratique des concepts théoriques et d’accéder à des études de cas tirées de retours d’expérience de projets réels.
Modsars 2023, le palmarès d’urbanisation-si.com
des outils gratuits de modélisation
2 outils français dans le classement cette année.
1ère place : Modelio
Modelio, le seul outil open source fonctionnant sur Windows, Linux, Mac OS, supportant ArchiMate, TOGAF, BPMN, UML, SysML, MDA et offrant, pour tous ces artefacts de modélisation, un référentiel commun assurant la traçabilité depuis la stratégie jusqu’à la couche technologique. Modelio offre une étude de cas exhaustive illustrant l’architecture d’une agence de voyages fictive. L'éditeur Softeam, société de conseils et de services, est français, c'est une filiale de Docaposte.
2ème place : Visual Paradigm (online)
Visual Paradigm Online : sa gratuité, sa facilité d’installation en mode SaaS ne demandant aucune connaissance technique, la possibilité de partager son écran à des coéquipiers et les nombreux exemples ArchiMate, BPMN, UML, prêts à être adaptés, font de Visual Paradigm un excellent outil pédagogique pour mettre en pratique l’art de la modélisation.
3ème place : ADOIT:CE
ADOIT:CE : rien à installer, toujours la dernière version en ligne, interface utilisateur relativement simple, support complet d’ArchiMate, 35 vues différentes proposées, nombreuses fonctionnalités, gestion de portefeuille d'application, Master Data Management, un contenu de démonstration de l’architecture d’une banque fictive, etc.
4ème place : Archi (archimatetool)
Archi (archimatetool) : convient parfaitement au consultant pour des missions ponctuelles. L'absence de mode collaboratif finalisé, nécessitant des installations locales aussi simples soient-elles, prive Archi de pouvoir être utilisé dans une équipe d'architectes d'entreprise.
Alors que Modelio, son concurrent direct comme outil open source de modélisation pour l’Architecture d’Entreprise, est en français, supporte en plus d’ArchiMate, BPMN, UML, SysML, MDA avec un référentiel commun et fourni une étude de cas pédagogique, Archi n’intègre qu’ArchiMate et donc n’est pas archi complet.
5ème place : GenMyModel
GenMyModel est une plate-forme française de conception logicielle basée sur les normes UML pour la modélisation de systèmes, BPMN pour les processus d'entreprise, DMN pour les règles métier et AchiMate pour l’Architecture d’Entreprise. Complètement accessible dans le cloud en mode SaaS, il fournit des générateurs de code intégrés pour Java, SQL, Spring…
A quoi reconnaît-on un bon outil
d’Architecture d’Entreprise ?
Les outils EA aident à imaginer, modéliser et planifier l'avenir de l'entreprise, avec des fonctionnalités permettant de faire évoluer en permanence les modèles commerciaux et opérationnels. Les responsables de l'architecture d'entreprise et de l'innovation technologique doivent sélectionner des outils EA qui soutiennent les objectifs de transformation, de modernisation et d'innovation à long terme.
Voici les principales fonctionnalités que doit posséder l'outil idéal pour l'Architecture d'Entreprise et l'Urbanisation du SI.
Référentiel central et collaboratif
Un référentiel central et collaboratif permet de gérer l'ensemble des objets et métadonnées sur les artefacts dont une entreprise se soucie, il offre une vue partagée du SI, comprise de tous, et permet d'anticiper l’évolutivité des services métier de l’entreprise.
Il doit intégrer la gouvernance, la gestion du cycle de vie des objets, le versioning, les accès, les typologies, les cartographies, les modèles et artefacts de modélisation, les relations et vues métier associées.
Contrôle de l'alignement du SI avec le métier
Il s'agit de mettre en œuvre un support à un alignement du SI avec un métier en constante évolution, facilitant la synergie, le partage et la collaboration.
Gestion du changement
Permettre d’examiner à la fois le besoin et l'impact du changement.
Métrique de couplage entre les écosystèmes
Capturer les interrelations et les interdépendances au sein et entre un écosystème de partenaires, de modèles d'exploitation, de capacités, de personnes, de processus, d'informations, d'applications et de technologies.
Socle d’architecture d’entreprise exhaustif, supportant les standards du marché
Disposer d’un socle d’architecture d’entreprise exhaustif et ouvert supportant les standards du marché (TOGAF, ArchiMate, BPMN, UML…).
Le support de TOGAF doit comprendre une bibliothèque de méthodes décrivant l’ensemble de l’ADM (Architecture Development Method) avec les différentes phases, les entrées, les sorties, les livrables, les rôles…
La modélisation doit structurer les relations entre les entités, telles que les stratégies commerciales, les objectifs, les buts, les contraintes, les capacités, les personnalités, les parcours des clients, les activités, les processus, les flux de valeur, les politiques, les modèles de décision, les métriques, les applications, les technologies, les feuilles de route, les projets et les programmes…
Approche capacitaire
Gérer les capacités métier afin de répondre aux besoins et enjeux du business, dans un contexte numérique. Cette approche capacitaire se concentre avant tout sur les besoins des métiers et permet aux équipes d’architecture de coller au plus près à la stratégie de l’entreprise.
Fonctions d’analyse et de reporting
Posséder des fonctions d’analyse et de reporting nécessaire à l’optimisation du patrimoine applicatif de l’entreprise, en lien avec la cartographie applicative et les méthodes d’urbanisation du SI.
Cloud et modélisation
Supporter les dernières méthodes d’architecture logicielle, le cloud, la modélisation systémique, la modélisation complexes comme les systèmes de systèmes.
Portfolio d'application
Gérer le portefeuille applicatif, les ressources, les projets, la gouvernance, les risques et la mise en conformité des opérations.
Vérification de la conformité et simulation des diagrammes
Intégrer la validation des diagrammes, avec la description détaillée des erreurs et des propositions de solutions pédagogiques.
Aides à la compréhension des impacts liés aux solutions
Présenter les informations sous forme de tableaux de bord, de cartes thermiques, de Sketch View, de Business Model Canvas, de modèles et de scénarios. Cela aide à comprendre et à évaluer les impacts associés aux décisions et aux solutions proposées.
Utilisabilité
Être convivial, facile d'utilisation permettant la prise en charge de différentes catégories d'utilisateurs. Outre les architectes d'entreprise, cela inclut les utilisateurs de n'importe où dans l'entreprise, les analystes, les utilisateurs métier, les architectes logiciels, les analystes stratégiques et les chercheurs opérationnels.
Administration des accès et sécurité
Gérer l’administration pour prendre en charge la sécurité de l'outil EA, ainsi que la configuration de différentes classes d'utilisateurs, leurs droits d'accès et l'alignement des fonctionnalités. Cela implique également de contrôler l'accès aux informations stockées dans le référentiel.
Extensibilité
Être extensible avec la possibilité d'étendre le métamodèle de l'outil EA via la définition de nouveaux concepts de modélisation et de types de relations, jusqu'à de nouvelles représentations graphiques et l'application de règles spécifiques au domaine.
Exportation / Importation des données
Exporter et importer les données vers et depuis d'autres produits, permettant à l'outil EA d'être une plaque tournante réunissant d'autres outils communs dans un écosystème technologique d’entreprise.
Management de l'innovation
Gérer l'innovation en soutenant la création et le suivi des initiatives de changement. Cela inclut le soutien à l'idéation, la détection des tendances et l'engagement de tous les acteurs.
Qu’en pense ChatGPT, la star des IA ?
Notre question
Nous avons posé la question suivante à ChatGPT, l’IA conversationnelle d’OpenAI :
" Top 5 des outils gratuits complets pour l'Architecture d'Entreprise ? "
Sa réponse
Enterprise Architect : un outil de modélisation d'entreprise complet qui prend en charge une variété de méthodologies et de standards, y compris ArchiMate, UML, BPMN, SysML, et les architectures d'entreprise. Il inclut également des fonctionnalités de gestion de projet, de gestion de portefeuille et de gestion de la conformité.
BizzDesign Architect : un outil d'architecture d'entreprise complet qui permet de créer des modèles visuels de processus, de données et de systèmes, ainsi que de gérer les aspects de la gouvernance et de la conformité de l'architecture d'entreprise.
Sparx Systems Enterprise Architect : un outil de modélisation d'entreprise complet qui prend en charge une variété de méthodologies et de standards, y compris ArchiMate, UML, BPMN, SysML, et les architectures d'entreprise. Il inclut également des fonctionnalités de gestion de projet, de gestion de portefeuille et de gestion de la conformité.
MagicDraw : un outil de modélisation unifiée qui prend en charge UML, BPMN, SysML, et les architectures d'entreprise, avec des fonctionnalités de gestion de projet, de gestion de portefeuille et de conformité pour aider les utilisateurs à créer des modèles visuels pour les processus, les systèmes et les données.
Visual Paradigm: un outil de modélisation d'entreprise complet qui prend en charge UML, BPMN, SysML, ArchiMate et les diagrammes de cas d'utilisation pour créer des modèles d'architecture d'entreprise, inclut également des fonctionnalités de gestion de projet, de gestion de portefeuille et de conformité pour aider les utilisateurs à gérer les aspects de la gouvernance et de la conformité de l'architecture d'entreprise.
Il est important de noter que la meilleure solution dépendra des besoins spécifiques de l'entreprise et de son niveau de maturité en matière d'architecture d'entreprise. Il est donc important de faire des recherches et des essais pour choisir l'outil qui convient le mieux à votre entreprise.
Notre avis sur la réponse de ChatGPT
Pour ChatGPT Enterprise Architect et Sparx Systems Enterprise Architect sont 2 outils différents, alors qu'il s'agit du même outil, bien entendu.
Malgré que l'on ait bien précisé "gratuits", ChatGPT a cité 4 outils payants sur 5.
Enterprise Architect ne possède aucune version gratuite.
BizzDesign Architect est payant, il n’y a aucune version gratuite, même limitée.
Magic Draw est payant, on peut télécharger une version d’essai limitée dans le temps.
Le seul outil gratuit étant Visual Paradigm, qui arrive en 2ème position dans notre TOP 5.
ChatGPT a été entraîné avec des milliards de données prises sur internet (web scraping). Est-il possible que certaines de ces données soient obsolètes ?
Conclusion
L’outil idéal serait un croisement de :
- Modelio pour la fonctionnalité d’un référentiel commun d’Entreprise, le support d’ArchiMate, TOGAF, BPMN, UML, SysML, MDA, la validation des modèles, la traçabilité des objets du référentiel assurant l’alignement du SI sur le métier, la génération de rapports, le support d’un langage de script permettant l’automatisation.
- Visual Paradigm pour ne nécessiter aucune installation en local, être en mode Cloud, le mode collaboratif à la Google.
- ADOIT:CE pour le cas complet de démonstration d’une banque, la gestion du portfolio d’applications, le Master Data Management, les matrices de traçabilité, les visuels.
- Archi pour la Sketch View, les conseils et la documentation sur ArchiMate.
- GenMyModel pour DMN (modélisation de règles métier), pour les générateurs de code intégrés pour Java, SQL, Spring…
L’outil gratuit open source d’AE capable de disrupter le marché n’est donc pas encore né.
Si les outils précédents conviennent parfaitement au monde de l’éducation et aux PME, les très grandes organisations aux moyens plus conséquents se tournent volontiers vers les logiciels commerciaux comme MEGA, BOC Group, LeanIX, ...
Etes-vous certain que cet article a été rédigé par un humain et non pas par ChatGPT ?
|
Rhona Maxwel @rhona_helena |
"L'intelligence artificielle est la prochaine grande révolution de notre époque et les modèles de traitement du langage comme ChatGPT en sont un exemple évident."
ChatGPT
"Il est consolant de constater que la dysharmonie de ce monde ne semble être que numérique."
Franz Kafka
Annexe : liste de nos essais
Evaluations des outils gratuits/open source
Nous avons pris le parti dans cette série de tests, d’évaluer uniquement des outils gratuits-open source ou proposant une version d’évaluation ne nécessitant pas de sortir sa carte de crédit ou la visite d’un commercial pour obtenir une licence de prêt.
- Modelio
- Visual Paradigm (online)
- ADOIT:CE (BOC Group) et ADOIT:CE (compléments d’information)
- Archi (archimatetool)
- GenMyModel
- Camunda (les tests spécifiques sont à venir, nous l'indiquons ici, car nous l'avons utilisé maintes fois comme illustration d'articles et au cours de divers projets)
- Papyrus
- Eclipse Modeling Tools
- diagrams.net ou draw.io
- Texte vers UML et autres outils de "diagrammes en tant que code"
- Sirius (Obéo) :
- Améliorations et notions avancées Eclipse Sirius, suite et fin de notre saga : comment concevoir son propre outil de modélisation DMN ? [4/4]
- Ingénierie Dirigée par les Modèles : fini Eclipse GMF, vive Eclipse Sirius ( didacticiel / tutoriel Sirius)
- Didacticiel ( tutoriel ) Eclipse Sirius ( Obeo Designer Community ) : le digne successeur de GMF le framework le plus complexe du monde !
- Didacticiel ( tutoriel ) Eclipse Sirius ( Obeo Designer Community ) : on peaufine l'éditeur de diagramme
Les outils payants, mais abordables, et que nous aimons bien
- Enterprise Architect Sparx Systems :
- WinDesign (outil français, incluant une étude de cas exhaustive illustrant l’architecture d’une compagnie d'assurance fictive.)
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.
diagrams.net ne demande rien, aucune inscription, mail ou carte de crédit. Dès que l’on clique sur “Créer un nouveau diagramme”, on découvre une liste impressionnante de types de diagrammes : Entreprise, Graphiques, Cloud, Ingénierie, Organigramme, Cartes, Réseau, UML, etc. Que demander de plus ?
Demandons-nous d'abord ce qu’est un bon outil
pour l'architecte d’entreprise ?
Prenons l’outil numéro 1 Gartner dans la catégorie “Choix des clients Gartner® Peer Insights™” de cette année, pour les outils d'architecture d'entreprise (avec une note globale de 4,7 étoiles sur 5) : la plate-forme HOPEX de MEGA International.
Cette plate-forme web dispose d’un socle d’architecture d’entreprise exhaustif et ouvert supportant les standards du marché (TOGAF, ArchiMate, NAF, DoDAF, UML…). Le support de TOGAF (voir nos articles dans la catégorie TOGAF) comprend une bibliothèque de méthode décrivant l’ensemble de l’ADM (Architecture Development Method) avec les différentes phases, les entrées, les sorties, les livrables, les rôles…
L’architecte d’entreprise gagne un temps précieux, car il lui suffit de partir d’un modèle standard qu’il adapte au contexte. Une gestion des droits facilite la collaboration, chaque partie prenante accédant à ses vues en fonction de ses missions.
Des outils de demande de changement et de suivi de validation assurent la conduite opérationnelle des projets d’architecture en mode collaboratif.
D’autre part, MEGA propose des fonctions d’analyse et de reporting nécessaire à l’optimisation du patrimoine applicatif de l’entreprise, en lien avec la cartographie applicative et les méthodes d’urbanisation du SI.
MEGA intègre les derniers paradigmes de l’architecture d’entreprise comme les approches capacitaires, les dernières méthodes d’architecture logicielle, le cloud, la modélisation systémique, la modélisation complexes comme les systèmes de systèmes.
Les référentiels sont interopérables, par exemple les informations gérées dans une démarche d’optimisation de processus de type Lean Six Sigma peuvent être réintégrées dans une démarche d’architecture.
Pour la mise en œuvre d’une transformation numérique, l'architecte d’entreprise dispose d'un ensemble d’outils comme la gestion de portefeuille applicatif, de ressources et de projets, mais aussi de gouvernance, de gestion de risques et de mise en conformité des opérations.
Et en ce qui concerne diagrams.net ?
Absolument rien de tout cela : juste un très bon outil de dessin, couvrant la plupart des normes et standards du spectre de la schématisation de systèmes.
Voici une liste à la Prévert des rendus de la plupart des types de diagrammes :
Pour les architectes d'entreprises : ArchiMate
Exemple de diagramme ArchiMate
Pour les experts métier : BPMN
Rendu des évènements BPMN
Pour les concepteurs et les développeurs : UML 
UML, exemple de diagramme de séquence
UML, exemple de diagramme d’activité
Pour les spécifications des systèmes industriels complexes : SysML
SysML, exemple de diagramme d'exigence
Pour les directions opérationnelles : Ishikawa
Exemple de cartographie de dépendances d'objectifs
Pour la prise de notes rapide : Mind Mapping
Exemple de cartes mentales
Pour les infographistes et les développeurs frontend : Maquette d'écran
Template montrant les possibilités de maquettage d'écran
Pour les chefs de projets : Gantt et PERT
Exemple de diagramme de Gantt
Exemple de diagramme PERT
Pour les concepteurs et les développeurs : Git
Exemple de représentation des différentes versions d'une application
suivi par le SCM (Source Control Management) Git
Pour le DevOps : Cloud AWS
Les fonctionnalités d'un système dans le cloud Amazon Web services
Pour les architectes logiciel : Architecture Micro-Services
Architecture Micro-Services vue par IBM
Conclusion
Son mode cloud, sa version française, son entière gratuité et l’accès instantané aux diagrammes ne demandant aucune authentification en font un excellent outil pédagogique pour illustrer les types de diagrammes utilisés par les architectes d’entreprise, les chefs de projet, les architectes logiciels, les concepteurs/développeurs, les MOA…
Vraiment dommage que diagrams.net ne possède pas un mode collaboratif comme Visual Paradigm ou une exhaustivité et une expertise dans les normes de modélisation de système comme GenMyModel.
diagrams.net, comme tous les outils de dessin, ne possède pas de référentiel d'objets d'architecture, pour réutiliser les mêmes objets dans plusieurs diagrammes. Avec la version locale appelée draw.io, il sera toutefois possible de copier-coller des objets d'un diagramme vers un autre. Malgré tout, diagrams.net reste une bonne alternative gratuite à d’autres standards payant comme Visio.
Cet outil conviendra donc parfaitement aux étudiants, voire aux consultants pressés.
Note : 2,5/5
Nous regrettons :
- pas de mode collaboratif
- l’ergonomie moindre que celle de la concurrence
- pas de mise à jour semi-automatique des diagrammes
- bibliothèque de symboles limitée
- pas de traçabilité pour les mesures d’impact
- pas de validation des diagrammes
- pas d’audit
- pas de métamodèle
Nous aimons :
+ pas besoin d’authentification
+ la simplicité d’utilisation
+ le nombre de points d'ancrage de connecteurs sur une forme
+ la sauvegarde automatique des diagrammes
+ le mode Cloud
+ les exemples ArchiMate, BPMN, UML...
+ les exemples de cartographies d’architecture, comme celle des micro-services
+ connecteur draw.io gratuit pour Word, Powerpoint et Excel
|
Rhona Maxwel @rhona_helena |
“Chrétien, on aime un Dieu capable de réduire le monde à lui-même au point de le créer ; (...) astronome, on quête l’origine de l’Univers au point de déduire son évolution du Big Bang ; mathématicien, on cherche les axiomes qui contiendraient tout le reste comme corolaires et conséquences ; philosophe, on espère trouver le fondement radical à partir duquel tout le reste n’est que phénomènes ; intellectuel, on ramène à la vie de la pensée la simple pratique et les simples opinions du vulgaire”.
Bruno Latour
Compléments de lecture
- Texte vers UML et autres outils de "diagrammes en tant que code" - Le moyen le plus rapide de créer vos modèles ?
- GenMyModel est un outil de modélisation en ligne, supportant ArchiMate, BPMN, UML, DMN et gratuit, mais convient-il à l’architecte d’entreprise ?
- Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test
- Archi (archimatetool) : essai et analyse de cet outil ArchiMate français gratuit sous Windows, Linux et Mac OS
- L’Architecture Micro-Services expliquée à ma fille
- Architecture Hexagonale, exemple de mise en pratique de la méthode DDD Domain Driven Design
- Les couches de l'Architecture Microservices et la méthode de conception DDD (Domain Driven Design
- ADOIT:CE pour la gestion de l’Architecture d’Entreprise
- Essai et évaluation de Modelio : est-il un bon outil de modélisation ?
- WinDesign : essai et analyse de la version d’évaluation, ce logiciel français est-il un bon outil pour l’Architecture d’Entreprise ?
Texte vers UML et autres outils de "diagrammes en tant que code" - Le moyen le plus rapide de créer vos modèles ?
Que valent les outils de modélisation "diagrams as code" ?
Écrire textuellement un modèle, puis générer les diagrammes correspondant en UML, BPMN, ArchiMate, etc. : rêve ou réalité ?
Et hop, un diagramme de classe UML dont le texte peut être mis sur GitHub (réalisé avec yuml).
De quoi parlons-nous ?
Au lieu de dessiner des diagrammes dans un environnement graphique, on écrit quelques lignes (en utilisant par exemple un langage de balisage) dans un fichier texte brut. Un générateur le convertit en un fichier image.
Un outil de modélisation textuelle prend donc en charge l'utilisation d’un langage à base d’une syntaxe comportant des mots clés, pour décrire des modèles logiciels et restitue automatiquement le diagramme graphique correspondant, à partir de cette description écrite.
Ce mode de fonctionnement se fait en round-trip, c’est à dire qu’une fois le diagramme généré, le modélisateur a la possibilité d’apporter des modifications par l’intermédiaire d’un éditeur WYSIWYG, qui sont retraduites automatiquement en texte.
Ces outils de modélisation textuelle ne se concentrent pas uniquement sur UML, mais aussi sur BPMN, ArchiMate, etc.
D’autres appellations leur sont attribuées, comme diagrams as code ou outils low-code.
Quelle est leur place sur le marché des outils de modélisation ?
Cette catégorie d'outils textuels serait l'un des segments à la croissance la plus rapide du marché des modeleurs UML, les éditeurs ne s’y trompent pas : il suffit de regarder l’offre pléthorique ; nous en avons recensé plusieurs dizaines et en avons retenu 5, répertoriés en annexe de cet article.
Dans ses nombreux essais d’outils de modélisation, urbanisation-si.com a toujours systématisé l’UX/UI, l’efficience de l’ergonomie et les fonctionnalités proposées.
Avoir tous les artefacts de notations sous les yeux à portée de souris, des templates sur étagère, des conseils en temps réel permettant en quelques clics de cartographier un système, apportent un réel avantage sur les plans de l’utilisabilité et la rapidité d’appropriation des procédures de fonctionnement.
Alors, quelles sont les raisons qui pousseraient à décrire textuellement, puis à générer graphiquement, les modèles ?
Les défauts inhérents aux éditeurs WYSIWYG
Un premier problème concerne l'incohérence des éléments dont les détails divergent selon les vues.
Soit le diagramme 1, par exemple un diagramme de classes, et soit le diagramme 2, par exemple un diagramme de séquence. Que se passe-t-il si l'on copie/colle certains éléments du diagramme 1 dans le diagramme 2 et si par la suite on modifie un élément (par exemple, le nom d'une classe) présent dans les deux diagrammes uniquement dans l'un des diagrammes ? Avec de nombreux outils graphiques, on risque de se retrouver avec des vues incohérentes.
D’autre part, les modeleurs visuels UML (et autres styles) peuvent sérialiser les diagrammes en XMI (XML Metadata Interchange) conformément à la norme de l’OMG.
A moins d’être expert en XSD (XML Schema Definition), d’avoir lu les presque 1000 pages de la technical reference UML et lire couramment XMI, le traitement manuel de ce code généré est absolument rédhibitoire et à proscrire, compte tenu de sa complexité et de son énormité et ne peut être réservé qu’à des parsers spécialisés.
Pourquoi s’embêter à écrire, plutôt qu’à schématiser ?
Mais pourquoi les outils de conversion de texte en UML sont-ils si populaires ?
Qui n’a pas rêvé de pouvoir différencier toutes les versions d’un modèle ?
Le fait que les modèles UML soient stockés sous forme de texte simplifie leur intégration avec une variété d'outils comme les SCM (Source Control Management, les systèmes de gestion de versions).
Un des usages fréquents est de pouvoir comparer des modèles, de pouvoir gérer leur cycle de vie. Depuis que l'informatique existe, on sait comparer des fichiers texte bruts de manière extrêmement rapide et efficiente.
Tous les acteurs intéressés par la modélisation peuvent ainsi mieux comprendre les différences entre deux révisions de diagramme beaucoup plus rapidement que si l’on n'avait que des fichiers image, où il faudrait basculer sans arrêt entre deux versions. Cet avantage est particulièrement important pour les différentes cartographies des grandes organisations.
Outils de prédilection pour les ingénieurs d’études
Si cela est valable pour les architectes d’entreprise, il l’est aussi pour les concepteurs/développeurs qui utilisent des SCM dans leurs tâches quotidiennes : pour eux nulle nécessité d’acheter/installer des outils supplémentaires.
Ces profils sont souvent plus à l’aise avec des langages textuels qu’avec des notations visuelles. Par exemple, ils utilisent le format Markdown et les outils associés pour concevoir la documentation technique, plutôt que MS Word.
Ces aspects représentent un énorme coup de pouce pour l'adoption de ces outils.
Solution légère et efficiente
Avec les outils de modélisation en ligne, ils constituent l'option incontournable pour toutes les personnes à la recherche d'une solution légère pour dessiner des modèles. En effet, comme la plupart des outils graphiques, ils disposent d'un éditeur en ligne, ils constituent un jackpot pour les modélisateurs occasionnels.
Finies les heures perdues à la mise en forme
Les mises à jour ne doivent pas être un exercice frustrant de déplacement et de redimensionnement pour faire de la place à un nouvel artefact de modélisation. Qui n’a pas passé des heures à rendre son modèle lisible, à se casser la tête pour éviter les croisements entre les relations, à centrer les entités saillantes, à regrouper par domaine métier, à modifier l’échelle, à choisir les couleurs les plus parlantes…
Avec un peu de pratique, la création de diagrammes devient beaucoup plus efficace que l'utilisation d'éditeurs WYSIWYG.
La disposition des éléments du diagramme se fait automatiquement par l’application par le générateur de sa propre politique de mise en forme. De même, plus besoin de passer du temps sur le style manuel des nœuds, car cela peut maintenant être fait en utilisant un mécanisme semblable à une feuille de style, à un endroit central.
Mise en œuvre de l’architecture pilotée par les modèles grandement facilitée
La plupart du temps, les modèles sont cantonnés à un rôle documentaire, au lieu d'un rôle prépondérant dans le processus d'ingénierie logicielle, comme le postule l'architecture pilotée par les modèles MDE Model-Driven Engineering (IDM Ingénierie Dirigée par les Modèles) ou encore dans le monde des normes de l’OMG, MDA Model Driven Architecture. Dans ces cadres de pensée, tout peut être représenté sous forme de modèles, aussi bien les outils que les référentiels, les entités métier, la conception, le développement.
La transformation de modèle a pour objectif majeur la possibilité de spécifier les manières de produire plusieurs modèles cibles à partir d'un ensemble de modèles sources.
Techniquement, le moteur de transformation est grandement simplifié, car il est bien plus facile d’avoir en intrant un texte syntaxiquement simple et des règles qui seront appliquées pour générer le texte cible, que d'avoir un transformateur XSLT (eXtensible Stylesheet Language Transformations) qui doit traiter du XMI extrêmement verbeux.
Et l’envers du décor ?
Le problème central des outils les plus connus, tels que PlantUML ou Mermaid, est qu'ils peuvent toujours se retrouver avec des vues incohérentes. Pour contourner un peu le problème, il existe des mécanismes tels qu'une commande include <file>. Cela permet à un diagramme d'en inclure un autre, en réutilisant tous ou un sous-ensemble sélectionné de ses éléments.
Pourtant, lorsqu’on regarde de plus près la plupart des outils listés en annexe ci-dessous, les fonctionnalités, l'expressivité et la robustesse de ces outils sont plutôt limitées.
L’apprentissage d’un langage de balisage est nécessaire et implique un effort supplémentaire par rapport aux éditeurs graphiques.
La disposition automatique choisie par le générateur d'images n'est parfois pas optimale. Dans ce cas, on va passer plus de temps à apprendre les astuces de mise en page offertes par le langage de balisage, telles que les constructions de contraintes spéciales.
Conclusion
Toute documentation complète doit inclure des diagrammes, car les images aident souvent à transmettre des idées et des concepts, plus efficacement que le texte.
Cet article plaide en faveur de l'utilisation de diagrammes en texte pour faire de la création de diagrammes une expérience agréable pour les ingénieurs utilisant des SCM. Ces outils seront donc plus volontiers réservés comme outils de développement et à l'architecture logicielle.
Cependant, leur limite sera atteinte dès qu’il s’agira, en architecture d’entreprise, de concevoir des référentiels d’objets et d’assurer la traçabilité entre les cartographies.
Nous terminerons par une formule classique : comme toujours, le meilleur outil n’existe pas, il dépendra du contexte et de votre objectif.
|
Rhona Maxwel @rhona_helena |
“Tout ce qu’il faut pour faire un film, c’est une fille et un revolver.”
Jean-Luc Godard
Annexe : nos préférés
PlantUML
Caractéristiques
PlantUML est un outil open source permettant aux utilisateurs de créer des diagrammes à partir d'une description textuelle. PlantUML vous permet de dessiner à peu près n'importe quel diagramme architectural dont vous avez besoin lors de la conception d'un système. Outre les diagrammes UML, il prend en charge plusieurs autres formats liés au développement de logiciels (ArchiMate, BPMN, Gantt chart, etc.), ainsi que la visualisation de fichiers JSON et YAML.
PlantUML permet de dessiner rapidement des :
- diagrammes de séquence
- diagrammes de cas d'utilisation
- diagrammes de classes
- diagrammes d'objet
- diagrammes d'activité
- diagrammes de composant
- diagrammes de déploiement
- diagrammes d'états
- diagrammes de temps
Certains autres diagrammes (hors UML) sont aussi possibles:
- données au format JSON
- données au format YAML
- diagrammes ArchiMate
- diagrammes de Gantt
- diagrammes d'idées (mindmap)
- organigramme ou Work Breakdown Structure (WBS)
- notation mathématique avec AsciiMath ou JLaTeXMath
- diagrammes entité relation (ER/IE)
Exemple de code
@startuml
skinparam rectangle<<behavior>> {
roundCorner 25
}
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component
rectangle "Handle claim" as HC <<$bProcess>><<behavior>> #Business
rectangle "Capture Information" as CI <<$bProcess>><<behavior>> #Business
rectangle "Notify\nAdditional Stakeholders" as NAS <<$bProcess>><<behavior>> #Business
rectangle "Validate" as V <<$bProcess>><<behavior>> #Business
rectangle "Investigate" as I <<$bProcess>><<behavior>> #Business
rectangle "Pay" as P <<$bProcess>><<behavior>> #Business
HC *-down- CI
HC *-down- NAS
HC *-down- V
HC *-down- I
HC *-down- P
CI -right->> NAS
NAS -right->> V
V -right->> I
I -right->> P
rectangle "Scanning" as scanning <<$aService>><<behavior>> #Application
rectangle "Customer admnistration" as customerAdministration <<$aService>><<behavior>> #Application
rectangle "Claims admnistration" as claimsAdministration <<$aService>><<behavior>> #Application
rectangle Printing <<$aService>><<behavior>> #Application
rectangle Payment <<$aService>><<behavior>> #Application
scanning -up-> CI
customerAdministration -up-> CI
claimsAdministration -up-> NAS
claimsAdministration -up-> V
claimsAdministration -up-> I
Payment -up-> P
Printing -up-> V
Printing -up-> P
rectangle "Document\nManagement\nSystem" as DMS <<$aComponent>> #Application
rectangle "General\nCRM\nSystem" as CRM <<$aComponent>> #Application
rectangle "Home & Away\nPolicy\nAdministration" as HAPA <<$aComponent>> #Application
rectangle "Home & Away\nFinancial\nAdministration" as HFPA <<$aComponent>> #Application
DMS .up.|> scanning
DMS .up.|> Printing
CRM .up.|> customerAdministration
HAPA .up.|> claimsAdministration
HFPA .up.|> Payment
legend left
Example from the "Archisurance case study" (OpenGroup).
See
====
<$bProcess> :business process
====
<$aService> : application service
====
<$aComponent> : application component
endlegend
@enduml
Diagramme ArchiMate généré
PlantUML est un des outils "diagram as code" les plus connus et utilisés
Mermaid
https://mermaid-js.github.io/mermaid/#/
Mermaid est un outil de création de diagrammes et de graphiques basé sur JavaScript, qui utilise des définitions de texte inspirées de Markdown et un moteur de rendu pour créer et modifier des diagrammes complexes. L'objectif principal de Mermaid est d'aider la documentation à rattraper le développement. Mermaid permet aux utilisateurs de créer des diagrammes facilement modifiables, qui peuvent également être intégrés aux scripts de production (et autres morceaux de code). Mermaid est un outil open source.
Mermaid est un autre standard du marché
D2 (Declarative Diagramming)
D2 vous permet d'éditer des diagrammes avec du texte ou une interface graphique, avec des changements synchronisés entre les deux.
D2 n'a pas de types de diagrammes. Dans d'autres outils, vous spécifiez "ceci est un diagramme de classe", ou "ceci est un diagramme d'état". L'un des objectifs de la conception de D2 est d'avoir une syntaxe minimale avec laquelle vous composez. Terrastruct explique qu'elle évite la mode "DSL dans un DSL" qui consiste à déclarer des diagrammes spéciaux et à avoir une syntaxe spéciale pour chacun.
Pour créer des diagrammes de classes dans D2, vous créez des objets comme n'importe quels autres et leur donnez une forme : classe.
- D2 supporte les extraits de code et le texte Markdown
- D2 supporte entièrement les diagrammes de classe UML
- relations entre tables SQL
- fractionnement d'un seul diagramme D2 en plusieurs fichiers qui peuvent être importés et réutilisés
- transpilation à partir des standards du marché PlantUML et Mermaid
- code source disponible
- prise en charge des connexions courbes
- personnalisation et création de thèmes
- D2 supporte les icônes personnalisées
Aperçu de l'IDE de D2
Structurizr
Un outil populaire, Structurizr DSL, vous permet de créer des modèles d'architecture logicielle basés sur le modèle C4 (https://c4model.com/), en utilisant un langage textuel spécifique au domaine (DSL). Le DSL vous permet de créer plusieurs diagrammes dans plusieurs formats de sortie, à partir d'un seul fichier source DSL.
Structurizr est basé sur le modèle C4 technique de notation graphique allégée
pour modéliser l'architecture des systèmes logiciels.
Umple
https://cruise.umple.org/umpleonline/
https://yuml.me/diagram/scruffy/class/draw
Si vous êtes pressé !
Compléments de lecture
- Le meilleur outil pour transformer, dériver, parcourir, requêter sur des modèles afin de mettre en œuvre MDA (Model Driven Architecture)
- Transformation de modèles et Ingénierie Dirigées par les Modèles (IDM ou MDE Model Driven Engineering ou bien encore MDA Model Driven Architecture)
- Ingénierie Dirigée par les Modèles : présentation MDA (Model Driven Architecture), mais est ce utilisé dans la vraie vie ?
- Modélisation de système : UML n'est rien sans OCL !
- Eclipse Modeling Framework (EMF) : revoyons les fondamentaux
- Query View Transform (QVT) Operational : tutoriel, plus simple tu meurs !
- Ingénierie Dirigée par les Modèles (IDM) : tutoriel ATL (ATLAS Transformation Language), concevez les métamodèles avant de passer aux choses sérieuses
- Ingénierie Dirigée par les Modèles (IDM) : tutoriel ATL (ATLAS Transformation Language), le "Da Vinci code" de la transformation ATL
GenMyModel est un outil de modélisation en ligne, supportant ArchiMate, BPMN, UML, DMN et gratuit, mais convient-il à l’architecte d’entreprise ?
GenMyModel est une plate-forme française de conception logicielle basée sur les normes UML pour la modélisation de systèmes, BPMN pour les processus d'entreprise, DMN pour les règles métier et AchiMate pour l’Architecture d’Entreprise. Complètement accessible dans le cloud en mode SaaS, il fournit des générateurs de code intégrés pour Java, SQL, Spring… Idéal ou produit d'appel à des formules payantes ?
L'offre des catégories de projets est pléthorique
Mise en œuvre
Simplissime, le site https://www.genmymodel.com/ propose de créer un compte afin d’accéder à la plate-forme. Vous pouvez aussi utiliser un compte Google ou GitHub existant.
Axellience, les jumeaux numériques et les heatmaps
Basé à Lille, Axellience a été le premier éditeur français de logiciel à créer une plate-forme de modélisation collaborative en ligne, GenMyModel, permettant une co-création à la « Google Drive », basée sur un référentiel commun.
A partir de la plate-forme technologique GenMyModel, Axellience a élaboré “Agile Architecture Factory”, une solution collaborative payante en ligne pour l’architecture agile du SI dans les projets de transformation, ainsi qu’une offre de services associés.
Axellience étend les possibilités de personnalisation de sa méthode en généralisant aux normes ArchiMate et BPMN la notion de profil UML. Ces profils permettent de créer de nouveaux objets avec leurs icônes, et d'en disposer immédiatement pour la modélisation, le reporting et la documentation, en mode no-code. Un projet peut être “multi-modèles”, c'est-à-dire combiner autant de notations que nécessaire, par exemple un modèle de stratégie ArchiMate, des modèles de processus BPMN, des modèles de données en diagramme entité-relation ou UML...
Partant du constat que personne n’a le temps de réaliser la documentation, Axellience a conçu LiveView, un outil bâti sur le principe suivant : “modéliser = documenter”, qui génère automatiquement tous types de rapports.
L’éditeur propose un service basé sur les jumeaux numériques (réplique numérique d'un objet, d'un processus ou d'un système), qui, combiné avec sa méthode, permet de réaliser des indicateurs visuels comme des heatmaps, graphique de données statistiques faisant correspondre à la grandeur d’une variable une gamme de couleurs, pour illustrer les résultats des décisions prises.
Une ombre au tableau,
le service de collaboration à la Google est payant
Pour pouvoir travailler à distance à plusieurs, dans le cloud en mode SaaS ("Software as a Service"), il faut tout d’abord créer une organisation ; ce service est payant ; voir la copie d’écran ci-dessus. Une fois créée, on peut ajouter des membres avec leurs courriels. Les membres devront se connecter, aller dans leur tableau de bord où apparaîtra l’invitation et cliquer sur le bouton pour joindre l’organisation.
Les changements effectués par chacun des membres seront relayés en temps réel, comme pour un document Google Drive ou comme avec Visual Paradigm (voir notre article dans les compléments de lecture).
L’utilisateur possédant un compte FREE ou SOLO devra modifier sa souscription moyennant finance en EQUIPE ou ENTREPRISE.
Dépôt public
Les modèles dans le dépôt public ne sont malheureusement pas vérifiés
quant à leur conformité aux normes.
GenMyModel possède un dépôt public avec quelque 200 000 exemples permettant de ne pas partir from scratch.
Les modèles UML : la grande classe
GenMyModel propose les diagrammes UML ("Unified Modeling Language") suivants : classes, composants, activités, état-transitions, objets, séquence, cas d’utilisation, déploiement. Dommage que les diagrammes UML composite, package, communication, temps et global d'interaction soient absents. Les choix par défaut sont judicieux ; les noms des rôles sont automatiquement définis positionnés ainsi que les multiplicités.
On pressent que GenMyModel est destiné à la génération automatique de code, ce qui le positionne dans le camp des évangélistes du low-code/no-code.
GenMyModel est très certainement à ranger parmi les outils de modélisation classieux.
Pour UML, GenMyModel ravira les architectes logiciels, ainsi que les concepteurs-développeurs
BPMN et la notation souvent oubliée DMN
Si la norme BPMN ("Business Process Model and Notation") est incontournable pour la modélisation des processus métier et si la grande majorité des outils de modélisation l’implémentent, il en est différemment pour la norme DMN (Decision Model and Notation) pour la modélisation des règles métier et des tables de décision. Rares sont les outils supportant cette norme pourtant associée à BPMN.
En effet, à une “Business Rule Task” BPMN, il est d’usage de lui faire correspondre le modèle DMN détaillant les règles métier. A noter que cette tâche est nommée “Business Task” dans l’outil. Si GenMyModel supporte DMN, il est malheureusement impossible de faire correspondre les 2 modèles BPMN et DMN sur le même diagramme.
Il aurait été judicieux de pouvoir insérer le diagramme DMN ci-dessous
à côté de la Business Rule Task "Etudier l'adhésion"
GenMyModel supporte la norme DMN
pour la modélisation des règles métier et des tables de décision
ArchiMate
Nous avons utilisé le pattern ArchiMate (langage de modélisation du framework TOGAF The Open Group Architecture Framework) “Point de vue de réalisation de service" qui permet de montrer comment un ou plusieurs services métier sont réalisés par les processus sous-jacents (et parfois par les composants d'application).
GenMymodel est moins abouti dans ce domaine qu'Archi par exemple (voir notre article dans les compléments de lecture).
Pour ArchiMate, GenMyModel se situe un cran en dessous d'un outil comme Archi,
mais, contrairement à lui, il s'exécute à distance en environnement Cloud.
Import/Export
Pour accélérer la transition Cloud, GenMyModel est interopérable avec Confluence et Jira d’Atlassian. Les utilisateurs profitent de la solution pour se libérer des outils concurrents à base de clients lourds. Ainsi, l’import de l’outil Enterprise Architect de Sparx Systems (https://sparxsystems.com/) se rajoute aux imports XMI et BPMN, pour faciliter la reprise des référentiels d’architecture existants.
GenMyModel propose d’exporter la documentation dans les formats standards Word, PDF…
L’outil offre la possibilité d’exporter les diagrammes en XMI (XML Metadata Interchange) qui est le format textuel normalisé par l’OMG d’import/export de diagrammes UML. Pour les processus métier, le format d’import/export BPMN2 est entièrement supporté.
Outil low-code/no-code ?
Comme son nom l’indique, la spécialité de GenMyModel est la génération de code. Nous avons été agréablement surpris par l’étendue et la puissance du générateur de code utilisant des modules open source en provenance de l’organisation Eclipse.
En effet, la plupart des langages sont supportés. De plus, il est possible de générer des microservices en Java Spring Boot, qui est une des solutions d’implémentation les plus tendance pour une Architecture Microservice (voir notre article dans les compléments de lecture).
Extrait du code Java produit par le générateur UML2SpringBoot de GenMyModel
Conclusion
La formule gratuite n’offre pas la possibilité de gérer un référentiel d’objets transverses à l’ensemble de l’entreprise.
GenMyModel est sans conteste un excellent outil de modélisation, plutôt réservé à la conception d’application qu’à l’Architecture d’Entreprise. Les concepteurs-développeurs trouveront leur bonheur en modélisant, puis en générant des squelettes de code dans leur langage favori.
GenMyModel comporte très peu d’aide, pas d’exemple complet comme dans ADOIT:CE, Modelio ou WinDesign (voir nos articles dans les compléments de lecture).
Comme beaucoup d’autres sociétés de consulting, Axellience propose gratuitement un outil de modélisation offrant les fonctionnalités de base, afin de montrer ses compétences et d’attirer de potentiels clients qui, pour leurs référentiels d’entreprises, auront nécessairement besoin d’extensions payantes et des services, autour de leur méthode maison “Agile Architecture Factory”.
Note : 3/5
Nous regrettons :
- L'impossibilité de lier n’importe quels objets du référentiel pour assurer la traçabilité,
- Peu de documentation,
- Pas d’exemple concret et complet, mais anonymisé, montrant les possibilités de l’outil
- L’absence de validation des diagrammes, avec la description détaillée des erreurs
et des propositions de solutions pédagogiques.
Nous aimons :
+ L’ergonomie et le design sont au niveau de ce qui se fait de mieux aujourd’hui,
+ Un outil de modélisation open source supportant ArchiMate, BPMN, DMN et UML,
+ Outil en mode Cloud se dispensant de toute installation en local et disponible sur tous les OS.
|
Rhona Maxwel @rhona_helena |
“Always choose people that are better than you, that challenge you and are smarter than you. Always be the student” Sandra Bullock.
(Choisissez toujours des personnes qui sont meilleures que vous, qui vous challengent et qui sont plus intelligentes que vous. Soyez toujours l'étudiant)
Compléments de lecture
- Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test
- Archi (archimatetool) : essai et analyse de cet outil ArchiMate français gratuit sous Windows, Linux et Mac OS
- L’Architecture Micro-Services expliquée à ma fille
- Architecture Hexagonale, exemple de mise en pratique de la méthode DDD Domain Driven Design
- Les couches de l'Architecture Microservices et la méthode de conception DDD (Domain Driven Design
- ADOIT:CE pour la gestion de l’Architecture d’Entreprise
- Essai et évaluation de Modelio : est-il un bon outil de modélisation ?
- WinDesign : essai et analyse de la version d’évaluation, ce logiciel français est-il un bon outil pour l’Architecture d’Entreprise ?
Archi (archimatetool) : essai et analyse de cet outil ArchiMate français gratuit sous Windows, Linux et Mac OS
Archi est souvent utilisé par les consultants architectes d’entreprise pour modéliser les vues et points de vue ArchiMate. Open source, simple, conforme au standard TOGAF de l’Open Group, mais peut-il être l'outil de référence pour toute une équipe ? La réponse dans notre essai.
Architecture humaine ou architecture forestière
Mise en œuvre
Nous aurions pu faire l’économie de rédiger ce chapitre tellement l’installation est un modèle du genre. Notre projet est de tester les outils open source de modélisation d’Architecture d’Entreprise, nous avons donc choisi la version Linux (https://www.archimatetool.com/download/ puis Linux 64-bit).
On est agréablement surpris de ne pas avoir un long formulaire demandant nos coordonnées. Le téléchargement de l’archive (Archi-Linux64-4.9.3.tgz de taille 137 MB) ne prend que quelques secondes ainsi que son extraction.
Dans le répertoire “Archi” créé, on double clique sur Archi et l’application se lance presque instantanément.
Il en va de même pour Mac OS et Windows, pour lequel on vous conseille la version “Windows 64-bit Portable Zip” toujours moins intrusive que “Windows 64-bit Installer”.
A quand l’installation par la parole ?
Sur la page d’accueil, il est dit qu'Archi est développé en Java et est basé sur Eclipse Rich Client Platform.
Si vous êtes comme moi et que vous lisez les médias à sensation, il ne vous aura pas échappé que les logiciels développés en Java ont potentiellement une vulnérabilité due à Log4J.
D’après notre enquête, l’équipe de développement assure qu'Archi n’utilise pas cette librairie.
Un bon point donc pour l’installation
Les fonctionnalités exotiques
Une fois n’est pas coutume, commençons par les fonctionnalités sortant de l’ordinaire.
La vue Brouillon (Sketch View)
D’après la documentation (en anglais), un modèle d’utilisabilité, la vue Sketch est une fonctionnalité expérimentale d'Archi.
La spécification ArchiMate définit un point de vue servant de document de travail, comme le serait un brouillon. Pour cela, ArchiMate a décrit une notation simplifiée, sous-ensemble complet du langage. Très utile pour ne pas investir dans les cartographies, lorsqu’on démarre la conception à grosses mailles d’une trajectoire, quand on n'a pas besoin d’exhaustivité et qu’on s’adresse à des parties prenantes non familières avec les concepts de l’Architecture d’Entreprise.
Une des critiques les plus souvent formulées à propos d’ArchiMate est le nombre important de différents types de relations et leurs règles d’application. Ici, toutes les relations sont indiquées par des lignes simples sauf "déclenchement" et "réalisation" représentés par une flèche.
C’est le principe du brainstorming, basé sur la création d’un groupe de travail allant jusqu’à 10 personnes, avec un facilitateur qui recueille les idées. Nous avions abordé cette technique pour les processus métier modélisés en BPMN, lire nos articles : Comment identifier, simuler, améliorer et modéliser les processus métiers ? et Comment mettre en place un jeux de rôles pour modéliser un processus métier ?
Business Model Canvas.
Business Model Canvas d'un site d'eCommerce
La première démarche de transformation digitale démarre par la phase d’engagement, déclenchée par l'événement correspondant à l’identification d’une opportunité client. L’objectif est d’améliorer le métier grâce à un processus de transformation de l’organisation. Les architectes d’entreprise, souvent d’anciens architectes logiciel, doivent de nos jours, se focaliser sur l’évolution et la transformation au niveau du métier, et non plus au niveau des technologies ou du SI.
Si l’architecte est interne à l’organisation, il établit sa propre crédibilité personnelle avec le métier et les parties prenantes, il doit montrer la valeur de la démarche d’architecture accompagnée de sa méthode. S’il est consultant externe, il doit démontrer sa crédibilité ainsi que celle de la société qu’il représente.
La première étape de cette phase d’engagement est d’établir la vue des besoins métier et formuler les perspectives. La technique Business Model Canvas aide à formaliser cet objectif. Elle présente la manière dont une organisation crée de la valeur et se l’approprie. Archi l’a intégré sous forme d'extension similaire à la fonctionnalité Sketch View.
Petite amélioration souhaitable, les Post-its devraient avoir une taille suffisante pour afficher la totalité du libellé pour qu’on ne soit pas obligé de les redimensionner manuellement.
ArchiMate
Validation des modèles et même des conseils !
Archi propose tout ce que l’on est en droit d’attendre d’un tel outil.
A la création d’un nouveau modèle, les dossiers sont classés dans l’ordre de la spécification ArchiMate (Strategy, Business, Application, Technology & Physical, Motivation, Implementation & Migration et Views).
Exemple d'une Vue ArchiMate avec l'onglet Validator montrant les "avertissements, erreurs et conseils"
Archi valide les vues. Par exemple, les éléments et relations non utilisés s’afficheront sous forme de warnings dans la fenêtre Validator ainsi que les erreurs. Des conseils (Advice) sont même proposés. Ici, nous avons copié/collé tous les éléments d’une vue dans une autre et avons renommé la cible “Supervision métier view”, puis nous avons supprimé la source. Nous trouvons étrange que soit affiché : Advice - 'Supervision métier View' is empty, alors qu’elle ne l’est pas, voir le modèle dans le paragraphe suivant.
Référentiel et Traçabilité
Les liens et la traçabilité d’un élément avec d’autres vues s’affichent dans la fenêtre Visualiser.
L'aide indispensable pour les débutants et même pour les autres
Quand on sélectionne un élément de modélisation, une explication très pédagogique avec des exemples s’affiche dans la fenêtre hints.
L’outil contrôle les règles d’affectation des relations et propose le Magic Connector qui affiche uniquement les liens possibles en fonction du type des éléments à relier. Plus qu’un gadget, nous avons trouvé cela indispensable.
Les rapports
Il est possible de :
- générer des rapports en HTML
- d’exporter les modèles en CSV
- d’importer des données CSV dans un modèle
- exporter et importer dans le format d’échange Open Group
Les antisèches et la documentation
Pour ceux qui ont du mal avec la multitude de types de relations ArchiMate, vous pouvez afficher toutes les règles pour relier deux artefacts de modélisation avec les liens valides selon la spécification.
La documentation en anglais est parfaitement utilisable et amplement suffisante.
Conclusion
Force est de constater qu'Achi conviendra parfaitement au consultant pour des missions ponctuelles. L'absence de mode collaboratif finalisé, nécessitant des installations locales aussi simples soient-elles, prive Archi de pouvoir être utilisé dans une équipe d'architectes d'entreprise.
Alors que Modelio, son concurrent direct comme outil open source de modélisation pour l’Architecture d’Entreprise, est en français, supporte en plus d’ArchiMate, BPMN, UML, SysML, MDA avec un référentiel commun et fourni une étude de cas pédagogique, Archi n’intègre qu’ArchiMate et donc n’est pas archi complet.
Note : 3/5
Nous regrettons :
- Pas d’internationalisation, tout est dans la langue de Shakespeare.
- N’inclut pas les normes : BPMN, DMN, UML
- A quand un relooking dans une interface plus tendance et plus jolie, comme Electron utilisée par exemple par l’open source Visual Studio Code de Microsoft, fonctionnant aussi sur tous les OS (Linux, Mac OS et Windows).
- Pas de cas de démonstration pédagogique
- Pas vraiment de mode collaboratif bien qu’il y ait un plugin : “coArchi – Model Collaboration for Archi” toujours en cours de développement (Version 0.8.3)
Nous aimons :
+ Les explications pédagogiques pour chaque élément
+ La validation et les conseils
+ La traçabilité
+ Les aides notamment sur les relations avec le Magic Connector et le tableau synoptique sur toutes les règles d’utilisation des relations suivant la spécification ArchiMate
+ La conformité avec la dernière version de la spécification ArchiMate
+ Les plugins notamment le “Lightbox for Archi – a Gallery of ArchiMate Views”
|
Rhona Maxwel @rhona_helena |
“La vie a besoin d’illusions, c'est-à-dire des non-vérités tenues pour des vérités.” Friedrich Nietzsche
Compléments de lecture
Outils de Modélisation et comparatifs
- WinDesign : essai et analyse de la version d’évaluation, ce logiciel français est-il un bon outil pour l’Architecture d’Entreprise ?
- Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test
- Essai et évaluation de Modelio : est-il un bon outil de modélisation ?
- ADOIT:CE pour la gestion de l’Architecture d’Entreprise
- ADOIT:CE (compléments d’information)
- Le meilleur du meilleur des outils de modélisation de Systèmes d’Information pour 2017 : les « Modsars » de « urbanisation-si.com » récompensent les plus innovants
- Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ...
ArchiMate
- ArchiMate pour les nuls : les fondamentaux - 1
- ArchiMate la synthèse : les éléments de motivation - 2
- ArchiMate en condensé : les éléments de stratégie - 3
- ArchiMate l’essentiel : les éléments de la couche métier - 4
- ArchiMate mémento : les éléments de la couche application - 5
- ArchiMate aide mémoire : les éléments de la couche technologique - 6
- ArchiMate en abrégé : les éléments physiques de modélisation - 7
- ArchiMate mémento : Alignement de la couche métier avec les couches inférieures - 8
- ArchiMate : modélisation de l’alignement des couches d'application et de technologie - 9
- ArchiMate : les éléments d'implémentation et de migration - 10
- ArchiMate : vues et points de vue - 11
- ArchiMate : guide complet des éléments de modélisation - 12
WinDesign : essai et analyse de la version d’évaluation, ce logiciel français est-il un bon outil pour l’Architecture d’Entreprise ?
La série "est-il un bon outil de modélisation" se poursuit avec WinDesign : ce logiciel français est-il la bonne solution pour la modélisation d’Architecture d’Entreprise ?
Y gagnerez-vous en qualité de conception ? La réponse dans notre test.
WinDesign édité par CECIMA, une société française de consulting spécialisée dans l’Ingénierie des SI (https://www.win-design.com/)
Pour nos tests d'outils pour l’Architecture d’Entreprise, nous avions pris le parti de ne pas traiter les outils commerciaux stars des grands cabinets de conseil comme Gartner (Magic Quadrants) ou Forrester (Waves) et de nous concentrer exclusivement sur le monde open source. Notre objectif étant de conseiller des outils efficients et gratuits aux étudiants et aux enseignants.
Vous avez été nombreux à suivre nos évaluations sur ADOIT:CE (ADOIT:CE pour la gestion de l’Architecture d’Entreprise), Modelio (Essai et évaluation de Modelio : est-il un bon outil de modélisation ?), et Visual Paradigm (Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test).
En attendant le prochain test consacré à Archi (https://www.archimatetool.com/), et comme nous voulons aussi encourager les éditeurs français, nous ferons une exception en consacrant ce test à une version d’évaluation de Win Design, nécessitant ensuite une licence payante.
Installation
Vous avez le choix entre une version Windowsienne et une version Windowsienne, pas de version cloud, comme ADOIT:CE de BOC Group par exemple. Juste pour voir, nous avons fait un essai sous Linux avec WINE (Wine Is Not an Emulator), WinDesign reste utilisable, avec parfois quelques désagréments d’affichage.
Après avoir rempli un formulaire, WinDesign s’installe en téléchargeant un exécutable Windows : “WinDesign1900.exe” à partir du site : https://www.win-design.com/demande-telechargement-windesign/. Nous vous conseillons de l’installer dans votre “home directory” et non pas dans les “Program Files” de Windows. Bravo pour l'installation simplissime.
Look
Bien sûr, le look ne fait pas le logiciel, mais si l’on regarde la plupart des outils récents, on constate des thèmes tendances empruntés aux réseaux sociaux ou aux nouvelles plateformes et basés sur les moteurs innovants de rendus web. Les derniers outils Microsoft open source comme Visual Studio Code, utilisant le moteur Electron architecturé sur Node.JS, offrent un super look dans l'air du temps procurant une excellente expérience utilisateur.
Avec l’écran d’accueil, on sait au premier coup d'œil que l’on est dans une “User Interface / User eXperience” Windows classique, mais très soignée. Par exemple des bulles de texte détaillant la signification des objets, apparaissent systématiquement au survol de la souris.
Bien vu cet assistant qui nous accueille pour partir à la découverte de WinDesign.
Un assistant de démarrage permet de rentrer rapidement dans les fonctionnalités du produit.
L’option Découvrir WinDesign donne accès à la documentation et des exemples de modélisation qui sont les bienvenus.
Documentation utilisateur
Le clic sur “Manuels utilisateur” ne donne rien. Le lien sur le site de WinDesign “https://documentation.win-design.com/” nous apprend que pour accéder à la documentation utilisateur, on doit être détenteur d’une licence d’utilisation.
Les notes techniques sont disponibles. Pour le travail collaboratif, il est possible d’installer une version réseau consistant à installer un serveur qui contiendra les données communes.
Pour les débutants dans l’Urbanisation du SI, la documentation “WinDesign - Découpage Modélothéque” donne en 15 pages de précieux conseils et de bonnes pratiques de modélisation en suivant les 4 couches standards métier, fonctionnel, applicatif, technique, et les 3 niveaux de décomposition zone, quartier, bloc.
Concepts de fonctionnement
Modélothéque
Nous apprécions tout particulièrement la “Modélothéque” de WinDesign, ensemble de fichiers indépendants, stockant des modèles de différentes couches (Stratégie, Métier, Application, Technologie & Infrastructure, Motivation, Implémentation & Migration…). Cette autonomie rend la collaboration de plusieurs utilisateurs possible.
Un espace de travail rassemble des modèles pouvant être cités dans d’autres espaces de travail. Il s’agit d’un cadre de travail regroupant des fichiers de la Modélothéque.
Le référentiel d’objets est constitué par l’ensemble des dictionnaires de chaque modèle de l’espace de travail.
Attention à bien définir au départ son arborescence de répertoires. Gare aux déplacements manuels de fichier sous Windows qui vont produire dans l’espace de travail des liens morts à cause des chemins non mis à jour.
WinDesign suggère de séparer les modélisations par point de vue :
- Organisation
- Métier
- Urbanisation
- Risque, RGPD (Règlement Général sur la Protection des Données)
- Fonctionnel
- Applicatif
- Technique
Organisation proposée par WinDesign
WinDesign gère les liens interobjets appartenant à des modèles différents. L’unicité d’un objet dans le référentiel est assurée par des relations entre un objet référent mutable et les autres qui lui sont liés, immutables et nommés raccourcis. A tout moment, un raccourci peut devenir référent.
Des liens de décomposition hiérarchique entre macro-processus
et sous-processus peuvent être modélisés.
Versioning et travail collaboratif
Point de SCM (Source Control Manager), GitHub ou autre, ici on utilise un système d’archivage propriétaire permettant de comparer les versions archivées, de restaurer une version et de consulter l’historique.
En ce qui concerne le travail à plusieurs utilisateurs et le partage de modèles, on définit des droits aux utilisateurs au niveau de WinDesign et au niveau de Windows.
Métamodèle propriétaire
WinDesign est un outil qui suit donc les préceptes de Christophe Longépé dans son livre fondateur sur l’Urbanisation du SI (voir notre article : Le projet d'urbanisation du SI de Christophe Longépé), du club Urba-EA (voir notre article : Le condensé de l'ouvrage Urbanisme des SI et Gouvernance du Club Urba-EA, le recueil des retours d’expérience de grandes entreprises) et de la DISIC (Direction Interministérielle des Systèmes d’Information et de Communication) pour son cadre commun d’Urbanisation du SI de l'État.
WinDesign a donc développé son propre métamodèle d’Urbanisation de SI.
Extrait du métamodèle WinDesign pour l'Urbanisation du SI
Pour chaque type de modèle, WinDesign offre toute une série de palettes équivalentes à des toolboxes, sortes de stéréotypes UML, représentant les entités du métamodèle.
Palette “Carto-Processus”
MML (Meta Model Language)
Ce langage propriétaire (opérateurs, expressions, structures de contrôles, fonctions…) permet de parcourir le métamodèle. Dommage que les modèles soient stockés dans des fichiers en binaire (extension MGA) et non dans un langage pivot XML/XSD qui aurait pu être manipulé avec un moteur de XSL/XSLT. Une autre solution aurait consisté à intégrer un interpréteur de scripting comme Python ou BASH, open source et mondialement utilisé.
Il existe un requêteur graphique permettant d’élaborer des critères et des conditions complexes, afin de rechercher un objet.
Requêtes
La création de requêtes (onglet Requêtes) pour pouvoir analyser le référentiel et les impacts est indispensable.
Le système, basé sur une navigation dans le métamodèle, autorise tout type d’extraction avec formulation de critères, en mode utilisateur, et réutilisation des résultats en particulier pour l’export. Les références croisées (impacts) sont disponibles à tout moment pour un objet et son environnement. Les résultats peuvent être intégrés dans les références croisées de l’objet et/ou présentés sous forme de tableau ou de matrice.
Requête pour connaître la liste des exigences concernant l’espace de travail
Dictionnaire
Un onglet Dictionnaire bien conçu permet à l’utilisateur de visualiser tous les concepts utilisés dans le projet d’urbanisation. La recherche se fait dans l’onglet juxtaposé de Requêtes.
Lot de commandes dans un document XML
Afin d’éviter de nombreuses manipulations, il est possible par exemple d’ajouter, de modifier et de supprimer des éléments dans un modèle comme des objets, des relations…
L’idée est intéressante pour l’automatisation de tâches fastidieuses, comme la suppression en nombre d’objets obsolètes ou pour l’ajout d’une propriété à un ensemble d'objets. Dommage que ces possibilités ne soient pas étendues à MDA (Model Driven Architecture) en permettant la transformation de modèle (CIM, PIM, PSM… ; voir notre article : Le meilleur outil pour transformer, dériver, parcourir, requêter sur des modèles afin de mettre en œuvre MDA).
RGPD
La documentation intitulée “RGPD : Approche et Méthode WinDesign” propose une méthode pour la mise en conformité vis-à-vis du règlement de vos traitements de Données à Caractère Personnel (DCP).
Quand on découvre un nouvel outil de modélisation de type clickodrome, sur quoi cliquer en premier ? Nous délaissons l'assistant de démarrage pour un parcours libre du logiciel. Le traditionnel menu "Fichier" propose d’entrée de jeu l’option “Cas démo : Accueil” : cela à l’air alléchant, on se laisse tenter.
Un démonstrateur emprunté au monde réel :
“La compagnie Risquetout”
Référentiel transverse
Une étude de cas est souvent incluse dans la plupart des outils d’Architecture d’Entreprise commerciaux ou open source, comme Modelio avec sa très fameuse agence de voyages, ADOIT:CE avec carrément une banque. Nous avons fait de même pour concrétiser de nombreux concepts avec le domaine de la prévoyance.
WinDesign ne déroge pas à la règle et a choisi l’assurance automobile en proposant les cartographies métier, fonctionnelle, applicative et technique d’une compagnie fictive “Risquetout” : c’est l’exemple pédagogique idéal.
WinDesign propose bien plus qu’un simple fil conducteur. En effet, on a l’impression que l'étude de cas proposée est issue directement d'un véritable projet anonymisé avec l'accord du client. Ainsi, l'exemple traitant de l'assurance automobile, modélise dans les moindres détails la démarche d’urbanisation du SI ; même la méthode de mise en conformité du RGPD est fournie.
La structure suit les 3 modules inclus dans cette version d’évaluation :
Business Process Cartography SI, Data Base MCD-MLD-MPD et Object Design/UML.
Nous avons apprécié les nombreuses infographies permettant de présenter des contextes, des angles de vue et des cinématiques de navigation liés à l’affinement des modèles.
Un référentiel commun pour tous les modules
Cartographie Organisation
Localisation et structure hiérarchique de la compagnie Risquetout
Détail de l'implantation en région parisienne
Les toolboxes proposent les artefacts organisationnels :
matrice, tableau pour liaison entre objets, rôle, groupe…
Cartographie des rôles et des utilisateurs pour définir
la sécurité en matière d'identification et d'autorisation
Exemple de diagramme de traçabilité représentant les liens et mesurant les impacts entre objets
Cartographie Métier
L’étude de cas présente donc une structuration classique de la modélisation métier, où l'on retrouve la localisation, les rôles, les matrices des droits, les macro-processus, un 2ème niveau correspondant à un zoom des macro-processus, les entités métiers, une cartographie des risques pour les actuaires pour le calcul des cotisations et des prestations.
Il est intéressant de souligner la prise en compte du RGPD, notamment au niveau du module de cartographie Métier et SI. Il permet notamment d'identifier les opérations de traitement nécessitant l'intégration de la protection des données et la contextualisation des usages des données, pour une mise en conformité.
Structure des modèles constituant la cartographie métier
Architecture Fonctionnelle - Applicative - Technique
WinDesign permet de cartographier avec ses propres éléments de modélisation les différents niveaux du cadre de référence de l’urbanisation du SI.
Nous présentons ici seulement la cartographie fonctionnelle, sachant que les cartographies applicatives et techniques suivent les règles standards de projection et de relations entre blocs de l'urbanisme du SI.
Exemple : la cartographie fonctionnelle reprend le découpage
en zones, quartiers et blocs du cadre de référence de l'urbanisme du SI
BPMN
WinDesign supporte les principaux types de diagrammes BPMN : Processus privés, Processus public ou Collaboration et Chorégraphies. Le diagramme BPMN de Conversation correspond à une vue particulière du diagramme de Collaboration.
Dans la version d’évaluation, nous n’avons pas trouvé de moteur de workflow ou la capacité d’intégration aux écosystèmes de BPM standards du marché comme Camunda, jBPM ou Bonita, pour les processus exécutables, ni de support pour la norme la norme BPSim de simulation (voir notre article : BPSim, la théorie et la pratique de la simulation de processus BPMN)
Extrait du processus modélisé en BPMN : “Gérer une déclaration standard”
Les artefacts sont complètement ou partiellement traduits en français (Event Début pour Start Event, Décision pour Gateway…), ce qui peut dérouter au premier abord le modélisateur habitué à la norme de l’OMG.
Nous avons quelque peu peiné pour changer le type de “Task” ou “Event Intermédiaire”, alors qu’il faut sélectionner l’élément, puis cliquer sur un pictogramme sans bulle d’aide qui affiche une fenêtre intitulée “Variante de style” dans laquelle on peut choisir le type.
Le monde assurantiel fait usage de nombreuses tables de décision et règles servant à déterminer entre autres les cotisations et les prestations. L'OMG a pour cela créé une norme DMN Decision Model and Notation (voir sur ce site la catégorie : DMN). Dommage que WinDesign n'ait pas implémenté cette norme, car l’OMG l’a tout particulièrement associé à BPMN pour expliciter les “Rules Tasks”.
Il existe peu ou pas de règles de syntaxe. En revanche, des contrôles pourront se faire a posteriori via des requêtes (toutes les requêtes peuvent être exécutées en même temps).
ArchiMate
Le cas de démonstration de la compagnie d’assurance Risquetout a été réalisé en suivant le cadre de référence de l’urbanisation de SI, en implémentant son propre métamodèle avec ses propres icônes de représentation des artefacts de modélisation graphique.
Malheureusement, le même cas n’a pas été repris pour illustrer l’utilisation d’ArchiMate.
Synoptique des artefacts ArchiMate fourni par WinDesign
et issu de l'outil open source Archi et l'Open Group
WinDesign implémente bien le métamodèle complet d’ArchiMate et fournit un ensemble de patterns prêt à l’emploi avec explications en français et couvrant toutes les couches.
Exemple d'un pattern ArchiMate, équivalent d'un processus BPMN avec swimlanes
UML
Exemples de diagrammes de séquence et de classe
Quelle version d’UML ? A priori la version 1, car on trouve un diagramme de collaboration qui n’existe plus en UML 2, puisqu’il a été remplacé par le diagramme de communication.
D’autre part, on ne retrouve pas, dans les exemples du diagramme de séquence, les fragments apparus en UML 2 avec les opérateurs (alt, loop, par…), équivalent de structures de contrôles, et qui évitent de faire de nombreuses extensions fastidieuses (extension "pas d’assuré trouvé", "extension pas de contrat trouvé"…)
Scénario nominal de saisie par internet de la déclaration :
diagramme de séquence UML sans fragment "alt"
obligeant à faire d'autres diagrammes pour les alternatives
Extension du diagramme de séquence précédent : “pas d’assuré trouvé”
Extrait de la norme de l'OMG UML 2.5.1 :
Diagramme de séquence avec fragment et l’opérateur alt
équivalent d’une structure de contrôle if.
Exemple de diagramme de classes
Une 2ème étude cas : un site de e-commerce de librairie
A noter que WinDesign fournit une 2ème étude de cas d’un site de e-commerce de libraire.
Puisqu’UML n’est pas une méthode, on reproche souvent aux outils de modélisation de ne pas en proposer. Avec cet exemple, WinDesign illustre les principaux diagrammes UML en présentant une démarche, allant des besoins utilisateurs (Use Cases) jusqu’à l’implémentation en code Microsoft .NET en passant par les classes du domaine, les classes participantes, les classes de conception .NET, le diagramme de séquence, d’activité…
ITIL
Le référentiel ITIL (Information Technology Infrastructure Library) a comme périmètre la mise sous contrôle de la production, grâce à l'application des meilleures pratiques et permet de développer l'aspect stratégique des services, ceci dès leur conception jusqu'à leur fonctionnement, en passant par leur mise en place et leur amélioration continue. Les cartes et les synoptiques ITIL sont implémentés et traduits en français. Cette intégration est une aide notable pour faire prendre conscience de l’importance d’une mise en œuvre de la gouvernance des services.
Cartographie des processus ITIL
Data Base
WinDesign implémente MERISE, ancienne méthode franco-française d'analyse, de conception et de gestion de projet. Quasiment disparue aujourd’hui, elle était très utilisée dans les années 1970 et 1980 pour l'informatisation massive des organisations, mais n’a pas su évoluer en intégrant notamment le paradigme objet et les nouveaux types d'architectures, malgré des tentatives toutes vouées à l’échec comme Merise/objet ou Merise/2. De nos jours, les méthodes agiles (Scrum, XP...), les bonnes pratiques de conception d'architectures (Domain Driven Design, Architecture Hexagonale) et de développement sont unanimement reconnues.
Les nouvelles générations de consultants non formés à MERISE et qui intègrent des entreprises où subsistent encore des applications conçues et documentées avec cette méthode, seront ravis d'apprendre que le cas de démonstration “Risquetout” illustre toutes les étapes de cette méthode : MCD (Modèle Conceptuel des Données), MLD (Modèle Logique des Données), MPD (Modèle Physique des Données)…
WinDesign permet de générer les scripts de création pour les bases de données SQL, ainsi que le reverse engineering pour transformer les scripts SQL en MLD.
Exemple de MLD issu de la transformation du MCD du cas de démonstration Risquetout
Les produits commerciaux concurrents et situés dans le même segment d'outils que WinDesign, comme par exemple Enterprise Architect de Sparx System (https://sparxsystems.com/), propose ce système de round trip (transformation bidirectionnelle) avec un modèle de diagramme de database anglo-saxon plus universel et permettant de générer les scripts SQL.
Exemple de diagramme de database dans Enterprise Architect de Sparx Systems
permettant de générer les scripts SQL
Génération de rapports
La production de documents sous différents formats, notamment sous forme de site web avec WinDesign, se fait facilement et rapidement avec possibilité de personnalisation.
Fiabilité, Robustesse et Ergonomie
A noter quelques petits désagréments. Nous avons eu plusieurs fermetures intempestives, lorsqu’on était par exemple en train de modifier le cas de démonstration, peut-être dû à notre version d’évaluation.
Côté ergonomie, il serait plus convivial que l’icône zoom arrière soit à côté de celle zoom avant et que l’on ne soit obligé de cliquer sur une liste déroulante, qui en plus part s’afficher avec une taille à peine visible sur un 2ème écran, alors qu’on ne s’y attend pas.
Conclusion
Indéniablement, l'urbaniste de SI trouvera avec l'outil WinDesign toutes les fonctionnalités pour cartographier les niveaux métier, fonctionnel, applicatif et technique.
Cette version d’évaluation intègre un cas concret extrêmement détaillé traitant de l’assurance automobile, qui devrait intéresser les néophytes en matière d’urbanisation de SI.
WinDesign étant produit par la société française CECIMA, il est normal qu'il intègre complètement le cadre de référence français d’urbanisation du SI, voire même l’ancienne méthode franco-française MERISE.
Les normes plus récentes de modélisation comme BPMN et UML sont prises en compte. Il en va de même pour ArchiMate, avec l’implémentation de son métamodèle et de nombreux patterns opérationnels fournis.
On regrette que l’Architecture d’Entreprise avec un framework comme TOGAF (voir notre article Urbanisation du Système d'Information vs Architecture d'Entreprise) ne soit pas plus présente. Pourquoi ne pas adapter le cas de démonstration de la compagnie Risquetout à TOGAF ?
À n'en pas douter, il n'y a aucun risque.
Note : 3,5/5
Nous regrettons :
- Pas de mode SaaS collaboratif
- Pas de version Mac OS et Linux
- Le cas de démonstration ne porte que sur la cadre de référence de l'Urbanisation du SI,
mais pas sur l'Architecture d'Entreprise avec TOGAF et ArchiMate
- Son ergonomie un peu désuète
- La version d'évaluation ne permet pas de sauvegarder les modèles
Nous aimons :
+ Le cas de démonstration de l'assurance automobile, digne d'un projet de la vraie vie
+ La prise en compte du traitement de la mise en conformité du RGPD
+ Le métamodèle
+ L'outil et le langage de requêtage
+ Le dictionnaire
+ La traçabilité entre les objets
|
Rhona Maxwel @rhona_helena |
Le mélange du vrai et du faux est plus toxique que le faux
Paul Valery
Compléments de lecture
- Urbanisme SI : la nécessité d'un "espéranto"
- Urbanisation SI : comment marche le métamodèle ?
- Libérez-vous, laissez votre stratégie prendre le leadership"
- En cas d'évènements imprévus, votre SI doit savoir jouer les "Transformers" !
- Avec un peu de métier, métamodéliser la vue métier pour assurer la traçabilité avec la stratégie
- En urbanisation SI, comment définit-on la vue fonctionnelle et quels sont les liens avec la vue métier et applicative ?
- En urbanisation SI, comment met on en oeuvre la traçabilité entre la vue applicative et les vues fonctionnelle et infrastructure ?
- Urbanisation SI : la carte au trésor se dissimule t-elle dans le POS ?
- Le meilleur outil pour transformer, dériver, parcourir, requêter sur des modèles afin de mettre en œuvre MDA (Model Driven Architecture)
- Transformation de modèles et Ingénierie Dirigées par les Modèles (IDM ou MDE Model Driven Engineering ou bien encore MDA Model Driven Architecture)
Visual Paradigm : l’eldorado du consultant en quête de présentations dorées, mais est-il un bon outil de modélisation pour l’architecte d’entreprise, voici notre test
Cet outil gratuit, en français, en mode SaaS dans le cloud, accessible à partir de nombreux appareils mobiles (iOS, Android…), offre un panorama hétéroclite de modèles de visuels, dont voici une liste à la Prévert : cartes cadeaux, anniversaire, menus, albums photos, tableaux de bord, graphiques statistiques, bande dessinée… et ce qui nous intéresse tout particulièrement les diagrammes ArchiMate, BPMN, et UML.
Visual Paradigm propose pêle-mêle des cartes cadeaux,
mais aussi des diagrammes d'architecture d'entreprise
Pourquoi Visual Paradigm est le couteau suisse du consultant pressé de rédiger sa présentation PowerPoint
Installation
Un mail valide suffit à créer un compte permettant d’accéder aux outils de dessin et aux innombrables templates.
Tous les formats d’export sont proposés : JPEG, PNG, SVG, PDF et même directement comme image vers Microsoft Office, très pratique par exemple pour les présentations PowerPoint.
ArchiMate
Pour ArchiMate, Visual Paradigm propose 168 templates. Ces exemples couvrent toutes les couches : Stratégie, Métier, Application, Technologique & Physique, Motivation, Implementation & Migration.
Le consultant trouvera certainement une vue similaire à ce qu’il désire modéliser.
Quant aux étudiants, ils trouveront là des illustrations pratiques des concepts théoriques d’ArchiMate en complément de cours plus didactique.
Visual Paradigm propose 168 exemples de diagrammes ArchiMate
BPMN
Visual Paradigm propose 4 exemples de diagrammes BPMN
La prise en main est immédiate, tout est à portée de souris, bravo l’ergonomie.
Exemple d'un processus avec Visual Paradigm
UML
Visual Paradigm propose 8 types de diagrammes UML, il en manque 5 !
Manque 5 diagrammes pour couvrir la norme de l'OMG : object, communication, composite structure, interaction overview et timing, ce qui peut être rédhibitoire dans certains cas comme ne pas pouvoir mettre des contraintes de temps sur des transitions d’états.
Exemple de diagramme UML de composants avec Visual Paradigm
Le diagramme de composants permettant de modéliser les connexions, grâce aux interfaces requises et fournies est complet et encore une fois l’élaboration se fait de manière très intuitive.
Bravo pour le partage d’écran
Pour partager son écran, il suffit d’aller dans le menu “Share” puis “Collaboration”, de saisir le mail d’un collègue et les permissions par défaut des membres de l'équipe, à choisir entre : édition, visualisation, ou accès seulement au créateur.
Partage de document et affectation des droits avec Visual Paradigm
Le coéquipier reçoit dans sa boîte mail un lien demandant confirmation. Une fois le mail validé, un autre mail est envoyé avec un lien permettant d’accéder au document qui a été partagé.
Un utilisateur qui vient de créer un diagramme peut partager son écran avec un collègue qui a été dûment référencé.
Activation du partage écran avec Visual Paradigm
Un membre d’une équipe peut demander la permission pour voir l’écran d’un autre qui recevra une notification demandant l'autorisation.
Demande de visualisation d'un écran d'un autre membre de l'équipe
Les actions d’un utilisateur distant sont répercutées en temps réel.
Un autre membre distant à qui l’on a autorisé l'accès au diagramme, est en train de déplacer sa souris indiquée ici en vert avec son nom
Un membre d'une équipe est en train de regarder l'écran distant d'un autre, apparaissant entouré d'un cadre violet avec le nom du membre distant
Pourquoi Visual Paradigm n’est pas un outil destiné
à l'architecte d’entreprise
Un outil d’architecture d’entreprise doit gérer un référentiel d'objets (acteur métier, rôle métier, processus métier…), leur cycle de vie ainsi que les méta-informations pour la gouvernance. Rien de tout cela ici, Visual Paradigm, se contente uniquement de stocker les diagrammes dans un Cloud comme VP Online (celui de Visual Paradigm), Google Drive… ou sur un support local de persistance.
Exemples de fonctionnalités essentielles manquantes et indispensables dans un outil d’architecture d’entreprise :
- Pas de traçabilité pour les mesures d’impact
- Pas d’analyses, de génération de documentation, de rapports, de tableau de bord
- Pas de vérification des diagrammes
- Pas d’audit
- Pas de métamodèle
- Pas de scripts
- Pas de support MDA
- Pas d’interopérabilité avec les autres outils
- Pas de support XMI
Conclusion
Ce logiciel hyper généraliste conviendra aux infographiste, intégrateur web, designer, business analyst, AMOA… sauf à l’architecte d’entreprise pour qui l’absence de référentiel, de système de traçabilité, de navigation entre les artefacts de modélisation, de méta-modèle, de génération de rapports… sera rédhibitoire.
Par contre, sa gratuité, sa facilité d’installation en mode SaaS ne demandant aucune connaissance technique, la possibilité de partager son écran à des coéquipiers et les nombreux exemples ArchiMate, BPMN, UML, prêts à être adaptés, font de Visual Paradigm un excellent outil pédagogique pour mettre en pratique l’art de la modélisation.
Note : 3/5
Nous regrettons :
- Que ce soit uniquement un outil de dessin.
Nous aimons :
- Le mode SaaS
- Le partage d’écran permettant le travail en équipe
- Les innombrables exemples ArchiMate, BPMN et UML
- Son excellente ergonomie
|
Rhona Maxwel @rhona_helena |
“Celui qui, par quelque alchimie sait extraire de son cœur, pour les refondre ensemble, compassion, respect, besoin, patience, regret, surprise et pardon crée cet atome qu'on appelle l'amour.”
Khalil Gibran
Compléments de lecture
Outils de Modélisation et comparatifs
- Essai et évaluation de Modelio : est-il un bon outil de modélisation ?
- ADOIT:CE pour la gestion de l’Architecture d’Entreprise
- ADOIT:CE (compléments d’information)
- Le meilleur du meilleur des outils de modélisation de Systèmes d’Information pour 2017 : les « Modsars » de « urbanisation-si.com » récompensent les plus innovants
- Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ...
Apprendre ArchiMate
- ArchiMate pour les nuls : les fondamentaux - 1
- ArchiMate la synthèse : les éléments de motivation - 2
- ArchiMate en condensé : les éléments de stratégie - 3
- ArchiMate l’essentiel : les éléments de la couche métier - 4
- ArchiMate mémento : les éléments de la couche application - 5
- ArchiMate aide mémoire : les éléments de la couche technologique - 6
- ArchiMate en abrégé : les éléments physiques de modélisation - 7
- ArchiMate mémento : Alignement de la couche métier avec les couches inférieures - 8
- ArchiMate : modélisation de l’alignement des couches d'application et de technologie - 9
- ArchiMate : les éléments d'implémentation et de migration - 10
- ArchiMate : vues et points de vue - 11
- ArchiMate : guide complet des éléments de modélisation - 12
BPMN
- BPMN 2 : les concepts de base des processus métiers
- BPMN pour les nuls : les collaborations
- BPMN pour les nuls : les chorégraphies (Choreographies)
- BPMN pour les nuls : les conversations
- BPMN : norme OMG - synthèse des éléments graphiques
- BPMN : l'antisèche pour rester incollable en modélisation de processus
- BPMN l’exemple type pour tout comprendre sans prendre d’aspirine
- BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza
- BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?
- BPMN : processus exécutables, comment s'y prendre ? (1/3)
- BPMN : processus exécutables, comment s'y prendre ? (2/3)
- BPMN : processus exécutables, comment s'y prendre ? (3/3)
- Comment identifier, simuler, améliorer et modéliser les processus métiers ?
- Comment mettre en place un jeu de rôles pour modéliser un processus métier ?
Pour devenir expert en UML
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (4)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (5)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (6)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (7)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (8)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (9)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (10)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (11)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (12)
- Modélisation de système : UML n'est rien sans OCL !
- Modélisation de système : OCL ça se complique !
- Modélisation de système : comment utiliser OCL avec Eclipse, c'est bien la question que tout le monde se pose
Essai et évaluation de Modelio : est-il un bon outil de modélisation ?
Ce test concerne Modelio, le seul outil open source fonctionnant sur Windows, Linux, Mac OS, supportant ArchiMate, TOGAF, BPMN, UML, SysML, MDA et offrant, pour tous ces artefacts de modélisation, un référentiel commun assurant la traçabilité depuis la stratégie jusqu’à la couche technologique. Mais est-il fiable en usage intensif dans les entreprises ou doit-il être plutôt réservé à l’apprentissage de la modélisation ?
Sur le store, on trouve des extensions gratuites : import/export Excel, générateur de code Java et reverse engineering Java en UML, concepteur de patterns, modélisateur de base de données SQL… Malheureusement le module collaboratif est payant. https://store.modelio.org/
Installation
Ici, point de SaaS, mais une application on premise qui se télécharge à partir du site https://www.modelio.org/ en fonction de l’OS cible. Des utilisateurs de Mac nous ont avertis que des dysfonctionnements sans gravité étaient survenus pendant l’installation. La version installée est en français. La désinstallation ne laissera aucune trace sur votre machine.
Modelio open source est gratuit et sous licence GNU GPL (General Public License). Il est développé par Softeam, une filiale de Docaposte, société de conseils en transformation numérique. Développé en Java, il est basé sur Eclipse, qui est un environnement de production de logiciel libre, extensible, universel et polyvalent.
Les habitués d’Eclipse retrouveront le système de personnalisation redessinant entièrement l’écran, basé sur les perspectives regroupant un certain nombre de vues déjà prédisposées : Gestion des projets, Modèle, ArchiMate, Diagramme, Développement et une dernière perspective globale.
Si Modelio gère bien un référentiel d’objets d’entreprise, il ne permet pas de le partager entre plusieurs utilisateurs autorisés. On peut juste exporter le projet pour le transmettre à un autre utilisateur qui pourra l’importer.
N’importe quel objet d’entreprise, sous n’importe quel formalisme parmi ceux cités précédemment, peut être intégré dans un diagramme et être lié à un autre par des liens de traçabilité. Un projet doit être créé, qui contiendra automatiquement un package dans lequel, on peut créer un diagramme. Modelio propose alors les diagrammes BPMN et UML.
L’ensemble des diagrammes UML/BPMN supportés par Modelio
Sur les 13 diagrammes de la norme UML 2, 10 sont présents, les diagrammes : Timing Diagram, Interaction Overview Diagram sont absents de la liste, il est vrai que leur utilisation est beaucoup plus rare. Le "Component Diagram" avec les interfaces fournies et requises, indispensables pour la modélisation d’architecture distribuée SOA, se trouve dans la toolbox du diagramme de classe, nous trouvons ce choix un peu surprenant, car c'est bien un diagramme à part entière de la norme UML de l'OMG.
ArchiMate
Mais où est passé ArchiMate, promis sur le site ?
Ajout gratuit du plugin Modelio ArchiMate
Pour installer ArchiMate, il faut aller dans le menu Aide, puis dans Page d’accueil, on apprend que l’on peut télécharger le support d’ArchiMate gratuitement et c’est une nouveauté. Une alerte de sécurité s’affiche, et l’on est redirigé sur le site commercial Modeliosoft qui propose le téléchargement pour les 3 OS du marché.
Quelques messages d'alertes plus tard, l'installation s'est bien déroulée
Si l’on a échappé jusque-là au traditionnel formulaire à remplir, aucune issue, il vous faudra bien consacrer un peu de temps à la saisie des informations habituelles pour obtenir le module convoité.
Fermer Modelio avant de lancer l’installateur que vous venez de télécharger. Rouvrez le projet créé précédemment, clic droit sur le projet ArchiMate, allez dans Sous-projets puis Sous-projet ArchiMate.
Très surprenant, les couches d’architecture sont classées par ordre alphabétique et non pas dans l’ordre habituel comme le font tous les autres outils à savoir : Strategy, Business, Application, Technology & Physical, Motivation, Implementation & Migration. Impossible de les déplacer, malgré la présence de flèches haut et bas qui restent désespérément grisées.
Test du module gratuit ArchiMate
Pour avoir l’affichage d’un élément en icône ou en symbole complet, il faut faire apparaître la fenêtre Symbole sur le côté droit, sélectionner l’élément dans le diagramme, puis dans la propriété Mode de représentation, cliquer sur Simple ou Structuré.
On trouve les fonctionnalités standards des autres outils du marché, rangement automatique des éléments dans leur niveau d’architecture, zoom, options d’affichage, éditeur de liens, audit pour les erreurs et les conseils.
L’outil vérifie la conformité avec le méta-modèle ArchiMate. Cela se concrétise par un encadré rouge et un panneau interdit sur l’élément cible lorsqu’on tente de le relier à un autre élément avec un lien dont la sémantique ne correspond pas à leur nature. Malheureusement, lors de la sélection d’un élément, on regrette qu’il n’y ait pas comme dans l’outil Archi (https://www.archimatetool.com/), une aide qui s’affiche rappelant la définition détaillée, la catégorie et des exemples.
Vue des couches d’architecture métier, applicative et technologique
d’un processus de prestation d’assurance
BPMN
La procédure n’est pas des plus simples.
Créez un Diagramme de collaboration BPMN dans le package du sous-projet avec l’icône UML regroupant ces 2 notations comme vu précédemment.
Dans ce diagramme, créez par exemple 2 processus qui seront créés spécifiquement par ailleurs.
Ouvrez l’icône d’un processus, puis en cliquant sur l’icône de diagramme, vous aurez accès à la toolbox avec l’ensemble des artefacts BPMN.
Mais il est alors impossible de modifier le diagramme de collaboration, on est obligé de faire des allers-retours dans chacun des diagrammes de processus, ce qui devient très vite fastidieux.
Modélisation BPMN d’un processus de prestation d’assurance
L’ergonomie pourrait être améliorée, par exemple on ne peut pas changer la nature d’une tâche (sans, user, manual…) : on est obligé de la supprimer puis de la recréer en la modifiant.
Au cours de la conception de notre BPMN, nous avons rencontré plusieurs erreurs internes, heureusement sans impact visible
En cas de non-respect d’une règle de la norme BPMN, une erreur ou un avertissement est généré. L’explication s'affiche en français, une correction est même proposée.
Détails et conseils sur une erreur BPMN
Modelio va encore plus loin en ajoutant des conseils et des bonnes pratiques sur les points ambigus de la norme. Ces fonctionnalités permettent de mieux assimiler les concepts BPMN et procurent donc un gros avantage pédagogique.
Les bonnes pratiques de Modelio pour lever les ambiguïtés laissées par la norme BPMN
En sélectionnant le diagramme BPMN de collaboration, on peut créer un pattern à partir du modèle, puis l’exporter afin qu’il soit réutilisable pour créer un autre modèle.
Si l’on a pu créer un pattern à partir de notre modèle BPMN,
quand on a voulu l'exporter, on a eu une erreur bloquante
UML
Diagramme de cas d’utilisation
Dans un diagramme de cas d’utilisation UML, nous avons récupéré à partir du référentiel commun, des objets processus métier ArchiMate comme des rôles métier ArchiMate, des objets BPMN comme des user tasks BPM, ainsi que des lanes BPMN représentant les rôles métier.
Le processus métier ArchiMate peut être lié au processus BPMN, les user tasks BPMN aux use cases UML, de même que les rôles ArchiMate peuvent liés aux lanes BPMN, elles-mêmes liées aux acteurs des use cases.
Traçabilité entre objets de modélisation stockés dans le référentiel commun
et provenant de différentes notations
Modelio propose une vue “Editeur de liens” montrant, quand on sélectionne un objet dans le référentiel, tous les endroits où il apparaît, l’ensemble des objets auxquels il est lié, quel que soit le formalisme de modélisation.
La vue “Editeur de liens” pour la traçabilité des objets de l’entreprise
Zoom sur les liens et les potentielles transformations entre par exemple
un sous-processus ArchiMate lié à un "User Task" BPMN et enfin à un "Use Case" UML
Diagramme de classe
La norme UML du diagramme de classe est bien respectée et la réalisation d'un modèle ne pose aucun problème.
Dans la toolbox du diagramme de classe, nous trouvons les éléments de modélisation pour les composants, les interfaces fournies et requises.
La réalisation d'un diagramme de composant avec les branchements est d'une grande facilité. Ici le composant "Gestion des Prestations" doit, pour calculer une prestation, interface requise, se connecter au composant "Gestion des Contrats" pour récupérer les garanties, interface fournie.
A noter que le raccourci Ctrl S pour sauvegarder ne fonctionne pas, contrairement aux autres diagrammes déjà créés, on est obligé de cliquer sur l'icône de sauvegarde.
SysML
Dans le menu Configuration, on a accès au catalogue de modules où se trouve SysML Architect. Dans le menu Modules, nous pouvons l'ajouter à la configuration du projet. Les diagrammes SysML sont alors disponibles.
Aussi étrange que cela puisse paraître, le diagramme d'exigences, pourtant primordial, manque à l’appel. Nous n’avons pas de chance, car c’est justement celui que l’on voulait faire, pour ensuite tracer les exigences dans notre diagramme de use case.
Les procédures de réalisation des 8 autres diagrammes (la norme de l'OMG en compte 9) sont identiques à ceux déjà testés.
Les 8 diagrammes SysML supportés ; il manque le diagramme d’exigences, pourtant très utilisé.
TOGAF
De la même manière que précédemment, on peut ajouter au projet le module TOGAF Architect :
Modelio a conçu un profil UML pour le cadre d’architecture TOGAF. Rappelons par exemple que SysML et SOAML sont des profils UML, c'est-à-dire une surcouche de personnalisation, constituée de stéréotypes, tagged value et contraintes OCL.
Nous disposons alors de tous les diagrammes constituant leur profil TOGAF.
Liste des diagrammes du module TOGAF Architect
Pour chaque diagramme du profil TOGAF de Modelio, une note très pédagogique est générée, expliquant les objectifs du diagramme, la sémantique des différents artefacts entrant en jeu et la procédure à réaliser dans Modelio.
Import/Export de modèles
Des modèles .bpmn au format XML de la norme de l’OMG, réalisés avec d’autres outils, ont parfaitement été importés dans Modelio.
L’exemple de la norme OMG représentant la commande d’une pizza, réalisé avec l’outil bpmn.io,
l’outil open source de Camunda, a été importé avec succès sans aucune retouche dans Modelio.
De même, après avoir vérifié la conformité avec la norme dans le menu contextuel d'un modèle, vous pourrez l’exporter au format .bpmn standard.
MDA
Avec Modelio, on peut créer des stéréotypes UML et des profils c'est-à-dire un ensemble de stéréotypes, tagged value et contraintes OCL.
Audit
Modelio offre une vue audit permettant de détecter en temps réel ou en mode manuel les erreurs et de sélectionner les éléments s’y rapportant.
Scripts
Les scripts permettent à l’utilisateur d’écrire et d’exécuter du code stocké sous forme de macros réutilisables, qui pourront être lancées à partir du menu contextuel. Pour ce faire, Modelio utilise Jython, qui est un ensemble de bibliothèques Java implémentant le langage Python et directement intégrable dans une application Java.
Génération de rapports
Le module Excel Exchange permet d’exporter des cas d'utilisation ou des exigences, de Modelio vers Excel, puis de les modifier dans Excel et de les synchroniser dans Modelio. Cela signifie que vous pouvez choisir l'outil d'édition que vous préférez, Modelio ou Excel.
Pour générer des rapports au format HTML, il est possible d’installer le module gratuit Web Model Publisher.
Documentation
On trouve en français toutes les règles UML (OCL) implémentées dans l’outil.
Par exemple, la R1450 : ”Si une association est une composition, alors la multiplicité max de l’autre extrémité doit être de 1”. Des détails et des conseils accompagnent les règles, ce qui renforce le côté pédagogique de l’outil.
Bon nombre d’outils de modélisation ne proposent pas l’intégration de ces règles, permettant au débutant d’introduire des incohérences.
Les métamodèles complets BPMN et ArchiMate sont documentés en anglais.
Le manuel en français consacré à BPMN est complet, avec des explications sur les concepts et les procédures pour réaliser des diagrammes.
La documentation SysML est en anglais, ainsi que le profil dédié à TOGAF, qui est particulièrement bien expliqué et accompagné de nombreux exemples concrets.
Fiabilité
Des utilisateurs ont signalé qu’après une utilisation poussée, les artefacts de modélisation s’étaient retrouvés superposés faisant perdre de longues heures de travail.
Un projet Modelio n’est malheureusement pas contenu dans un seul fichier, mais dans une arborescence complexe de répertoires, portant préjudice à un partage et à la synchronisation via par exemple OneDrive.
Conclusion
De nombreux éditeurs d’outils d’architecture d’entreprise proposent des versions open source ou community, intégrant uniquement quelques fonctionnalités pour constituer un produit d’appel gratuit, comme ArchiMate, et dès que vous aurez besoin d’un référentiel partagé ou de BPMN et UML, il faudra payer des abonnements, qui peuvent être conséquents.
Cette version multi-OS offre gratuitement, en français, le support d’ArchiMate, BPMN, UML, SysML, TOGAF et MDA. Cet outil conviendra donc parfaitement à toute personne désirant se familiariser avec ces techniques de modélisation et notamment pourra servir comme outil pédagogique de base aux étudiants et à leur professeur, pour l’enseignement de la modélisation.
Pour les professionnels qui voudraient une version SaaS, un référentiel collaboratif, une génération de rapports personnalisables, la simulation, l’analyse d’impacts, une évaluation de chaque application du portefeuille, du Master Data Management…, le site de la société Softeam, éditeur de Modelio (https://www.modeliosoft.com/fr/), propose d’évaluer Modelio BA Business Architecture, mais après la période d'essai, il faudra contacter le département commercial pour acheter une version complètement fonctionnelle.
A cause des messages d’erreurs rencontrés lors de notre test et des remontées de problèmes qui nous ont été communiqués, Modelio obtient la note plus qu'honorable de 3,5/5.
Note : 3,5/5
Nous regrettons :
- Trop de problèmes sont survenus.
- L’ergonomie n’est pas au niveau de ce qui se fait aujourd’hui.
- Des diagrammes sont absents, par exemple le diagramme d’exigences pour la norme SysML.
- Le profil UML pour le framework TOGAF créé par Modelio n’est pas un standard (spécifique à l’outil).
Nous aimons :
- Un outil de modélisation open source supportant ArchiMate, BPMN, UML, SysML, TOGAF et MDA et disponible sur Windows, Linux et Mac OS.
- La possibilité de lier n’importe quels objets du référentiel pour assurer la traçabilité.
- La validation des diagrammes, avec la description détaillée des erreurs et des propositions de solutions pédagogiques.
- Nous pensons que le profil UML pour le framework TOGAF créé par Modelio est intéressant d’un point de vue uniquement pédagogique, mais en entreprise, il faudra passer au standard ArchiMate.
|
Rhona Maxwel @rhona_helena |
“Si c'est une bonne idée, allez-y et faites-la.
Il est beaucoup plus facile de s'excuser que d'obtenir la permission.”
Grace Hopper
Compléments de lecture
Outils de Modélisation et comparatifs
- ADOIT:CE pour la gestion de l’Architecture d’Entreprise
- ADOIT:CE (compléments d’information)
- Le meilleur du meilleur des outils de modélisation de Systèmes d’Information pour 2017 : les « Modsars » de « urbanisation-si.com » récompensent les plus innovants
- Les meilleurs outils de modélisation UML, SysML, BPMN, DMN de l'année 2016 et les gagnants sont ...
Pour devenir expert en UML
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (4)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (5)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (6)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (7)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (8)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (9)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (10)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (11)
- Modélisation de système : Soyez maniaque, croisez et recroisez vos modèles UML pour être certain qu'ils soient valides (12)
- Modélisation de système : UML n'est rien sans OCL !
- Modélisation de système : OCL ça se complique !
- Modélisation de système : comment utiliser OCL avec Eclipse, c'est bien la question que tout le monde se pose
Diagramme d'exigences SysML
- SysML : le diagramme d'exigence (requirement diagram)
- SysML : exemples de diagramme d'exigence tout droit sortie de la norme de l'OMG
TOGAF
- TOGAF pour les nuls.
- Le processus des itérations ADM (Architecture Development Method), le moteur de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)
- La phase A Vision du cycle de la méthode ADM (Architecture Development Method) de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)
- Comment mettre en œuvre la phase B Métier de la méthode ADM (Architecture Development Method) du framework d’Architecture d’Entreprise TOGAF (The Open Group Architecture Framework)
- Comment mettre en œuvre la phase C Système d’Information et la phase D Technique de la méthode ADM (Architecture Development Method) du framework d’Architecture d’Entreprise TOGAF (The Open Group Architecture Framework)
- Comment mettre en œuvre la phase E Opportunités et Solutions de la méthode ADM (Architecture Development Method) de la transformation d’entreprise TOGAF (The Open Group Architecture Framework)
- Comment mettre en œuvre la phase F Planning de migration de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- Comment mettre en œuvre la phase G Gouvernance de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- Les objectifs de la phase H « Gestion de la maintenance et des évolutions » de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- La vision dynamique des exigences de la méthode ADM (Architecture Development Method) de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- La structure de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- Les concepts du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- Le diagramme de classe UML du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Gouvernance » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Services » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Modélisation de processus métier » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Modélisation des données » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Consolidation d’infrastructure » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- L’extension « Motivation » du métamodèle de l’architecture d’entreprise TOGAF (The Open Group Architecture Framework)
- Le référentiel TOGAF sous toutes ses coutures : le « Continuum d'Entreprise » et la réutilisation de l'architecture
- Le référentiel TOGAF, le patrimoine des informations et des bonnes pratiques pour toute l’entreprise
- Gouvernance d’entreprise, Gouvernance technologique, Gouvernance informatique et Gouvernance de l’architecture : mais où se situe la Gouvernance TOGAF ?
- Le cadre de gouvernance de l'architecture : identifier les processus et les structures organisationnelles efficaces
- Gouvernance de l'architecture en pratique : principaux facteurs de succès et éléments d'une stratégie efficace
ArchiMate
- ArchiMate pour les nuls : les fondamentaux - 1
- ArchiMate la synthèse : les éléments de motivation - 2
- ArchiMate en condensé : les éléments de stratégie - 3
- ArchiMate l’essentiel : les éléments de la couche métier - 4
- ArchiMate mémento : les éléments de la couche application - 5
- ArchiMate aide mémoire : les éléments de la couche technologique - 6
- ArchiMate en abrégé : les éléments physiques de modélisation - 7
- ArchiMate mémento : Alignement de la couche métier avec les couches inférieures - 8
- ArchiMate : modélisation de l’alignement des couches d'application et de technologie - 9
- ArchiMate : les éléments d'implémentation et de migration - 10
- ArchiMate : vues et points de vue - 11
- ArchiMate : guide complet des éléments de modélisation - 12
BPMN
- BPMN 2 : les concepts de base des processus métiers
- BPMN pour les nuls : les collaborations
- BPMN pour les nuls : les chorégraphies (Choreographies)
- BPMN pour les nuls : les conversations
- BPMN : norme OMG - synthèse des éléments graphiques
- BPMN : l'antisèche pour rester incollable en modélisation de processus
- BPMN l’exemple type pour tout comprendre sans prendre d’aspirine
- BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza
- BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?
- BPMN : processus exécutables, comment s'y prendre ? (1/3)
- BPMN : processus exécutables, comment s'y prendre ? (2/3)
- BPMN : processus exécutables, comment s'y prendre ? (3/3)
- Comment identifier, simuler, améliorer et modéliser les processus métiers ?
- Comment mettre en place un jeu de rôles pour modéliser un processus métier ?
ADOIT:CE pour la gestion de l’Architecture d’Entreprise
Much ado about something
Architecture d’Entreprise et outillage
Comme le suggère le titre de notre blog, la mise en œuvre de l’Urbanisation du Système d’Information et de l’Architecture d’Entreprise doit se faire avec méthode. Mais sans outil adéquat, l’application d’une méthode s’avère vite laborieuse.
Rappelons qu’il s’agit de mettre en place un référentiel d’architecture (généralement stocké dans une base de données) contenant des objets, qui seront ensuite utilisés pour créer des modèles (diagrammes, matrices, listes et rapports).
Les articles de notre blog concernant les outils rencontrant généralement un grand succès, en voici un concernant un outil intéressant, et pas seulement parce qu’il est gratuit.
ADOIT:CE (Community Edition) du groupe BOC
Le groupe autrichien BOC, spin-off de l’université de Vienne, propose des solutions pour la gestion de processus métier (ADONIS), la gestion de l’Architecture d’Entreprise (ADOIT) et la gestion des risques (GRC-Suite). Nous nous intéressons aujourd’hui à la solution de gestion de l’Architecture d’Entreprise ADOIT:CE. Il s’agit ici d’une première prise en main, en utilisant le contenu fourni comme exemple.
Depuis plusieurs années, l’édition communautaire ADOIT:CE Classic était disponible gratuitement au téléchargement pour une installation locale, mais celle-ci commençait à dater (2013) et s’appuyait sur une version encore plus ancienne du SGBD SQL Server (Microsoft). En outre, la cohabitation avec d’autres applications utilisant également ce SGBD s’avérait délicate.
Après quelques années de patience, la nouvelle édition communautaire ADOIT:CE est enfin disponible depuis le mois de septembre 2020, pour une utilisation en ligne uniquement. Seuls un accès à l’internet et un navigateur web sont nécessaires. Mais nous vous recommandons également d’utiliser un grand écran, afin de pouvoir afficher des modèles en entier et lire les noms des objets.
Le SGBD SQL Server est, cette fois-ci, chez BOC (ou son prestataire cloud). La Community Edition est une édition gratuite, mais allégée, de l’édition payante Enterprise, qui, elle, peut être utilisée en ligne ou bien installée sur un serveur local (on-premise). Ces deux éditions gratuite et payante semblent alignées sur la même version, la version 11.0.4 la date de publication de cet article. Utiliser une application en ligne (SaaS), c’est l’assurance de disposer automatiquement de la dernière version, sans aucun effort de mise à jour.
Pour information, il existe également une application mobile optionnelle nommée « Ask ADOIT », disponible sur Apple Store et Google Play, qui permet de consulter son référentiel d’architecture ou son smartphone ou mieux, sur sa tablette.
Initialisation et présentation de l’environnement
Un navigateur web et une adresse électronique valide, pour recevoir le mot de passe, suffisent pour s’inscrire sur https://www.adoit-community.com/account-registration/ avant d’utiliser ADOIT:CE. Lors de la première connexion, quelques minutes de patience sont nécessaires pendant la création de l’environnement, qui est dédié à chaque utilisateur. Car l’édition communautaire d’ADOIT est mono-utilisateur, c’est là sa principale restriction. Après leur mise en mémoire cache initiale, l’affichage des pages est rapide. Il faut indiquer que l’interface utilisateur est sobre, voire dépouillée, en noir et blanc essentiellement. Quelques touches de couleur verte viennent l’égayer légèrement.
L’utilisateur n’est pas « agressé » par une multitude de menus et de fonctions, comme il pourrait l’être par d’autres outils concurrents, aux abords beaucoup plus dissuasifs. Mais derrière cette apparente simplicité, se cachent des menus contextuels à deux niveaux, accessibles en cliquant sur le bouton droit de la souris, sur un modèle, un objet, voire un groupe d’objets sélectionnés, et permettent d’accéder à de nombreuses fonctions, qu’il conviendra d’apprivoiser.
Des objets et des modèles
Cet environnement est créé avec des objets et des modèles à des fins de démonstration. Le nombre d’objets est limité à 2.000 et 568 objets et artefacts de démonstration sont déjà fournis. Cette limite peut sembler un peu juste à long terme. Le nombre de modèles est, quant à lui, limité à 1.000 et 25 modèles de démonstration sont déjà fournis. Cette fois-ci, cette limite semble très élevée (qui, parmi nos fidèles lecteurs, ont plus de 1.000 modèles pour représenter l’architecture de leur entreprise ?).
Deux toutes petites jauges, de couleur verte également, rappellent les ratios d’utilisation des objets et des modèles, par rapport à leurs limites. Sans doute passeront-elles au rouge à l’approche des limites ? Un accès direct et rapide aux objets et modèles récemment ouverts est possible par un menu dédié.
Pour créer un nouvel objet, il faut sélectionner son type (61 types différents) et son groupe d’appartenance, c.-à-d. avoir déjà une idée précise de son utilisation ultérieure. L’outil de recherche permet de retrouver facilement un objet ou un modèle. Il est possible d’indiquer un type d’objets uniquement, afin d’obtenir la liste de tous les composants, par exemple, et générer ensuite un diagramme de dépendances.
La sauvegarde des objets et des modèles, sur le cloud donc, est automatique, toutes les 20 modifications par défaut. Si vos données d’architecture sont hautement confidentielles ou si vous devez respecter la souveraineté numérique, il faudra donc préférer l’édition Enterprise payante, que vous pourrez alors installer on-premise.
Traduction partielle en français
Il est possible de choisir le français comme langue d’utilisation. La traduction est de qualité. Certaines listes sont toutefois restées en anglais (propriétés des objets et des modèles). La documentation, un manuel utilisateur de 213 pages au format Acrobat PDF, à télécharger à la première consultation ainsi que les vidéos, disponibles au centre de connaissances en ligne, sont, elles, en anglais uniquement. Ce n’est pas très grave, car il s’agit d’une documentation de référence, à ne consulter qu’en cas de besoin, et de vidéos peu instructives. En effet, ces vidéos trop courtes, réparties en deux catégories Débutant et Expert, répondent essentiellement aux questions Comment, mais pas aux questions Pourquoi.
La documentation, en anglais donc, concerne l’édition complète Enterprise et décrit quelques fonctionnalités qui ne sont pas disponibles dans l’édition communautaire allégée. En effet, l’édition CE d’ADOIT permet essentiellement de Cartographier et Documenter (ce qui constitue la base du travail de l’architecte d’entreprise, bien sûr), tandis que l’édition Enterprise propose en plus de :
- Contrôler et Publier, ce qui a du sens avec cette édition multi-utilisateurs,
pour passer en revue les objets créés par ses collègues, avant de les publier,
- Gouverner et gérer, pour obtenir la big picture de l’entreprise (statistiques,
évaluation des capacités, roadmap).
Forte orientation ArchiMate
Parmi les modèles fournis, figure le métamodèle d’ArchiMate, reproduit ci-dessous. D’autres standards internationaux sont simplement cités dans la documentation : ITIL, COBIT, TOGAF et RiskIT. N.B. ArchiMate est le langage de modélisation recommandé par le cadre d’architecture TOGAF.
Restitutions
35 vues différentes sont proposées par ADOIT:CE. Par défaut, ces vues sont listées par type et dans l’ordre alphabétique :
- Diagrammes de composition et de dépendances,
- Graphiques à barres et à bulles,
- Listes et matrices,
- Rapports bureautiques.
A l’usage, il faudra préférer la liste de ces vues regroupées par couche (Reports by Layer), dans l’ordre top-down. Un type de vue peut être utilisé dans plusieurs couches, ce qui permet à ADOIT:CE de proposer une soixantaine de restitutions :
- Motivation,
- Stratégie,
- Métier*,
- Application*,
- Technologie*,
- Physique
- Implémentation & Migration.
*On retrouve donc, parmi ces 7 couches, 3 couches du POS (Plan d’Occupation des Sols) pour l’Urbanisation du Système d’Information (CIGREF) : seule la couche fonctionnelle entre la couche Métier et la couche Application n’y figure pas.
Cycle de vie des objets
La date de début de validité (facile) et la date de fin de validité (beaucoup plus difficile à estimer) du cycle de vie de chaque objet peuvent être renseignées. Par défaut, tous les objets s’affichent, mais il est possible d’indiquer une date dans le filtre temporel optionnel. Ainsi, en indiquant la date du jour, c’est l’architecture As-Is qui s’affichera, tandis qu’en indiquant une date dans le futur, ce sera l’architecture To-Be. Cette approche, qui ne nécessite qu’un seul référentiel pour stocker les objets du passé, du présent et du futur, est habile. On peut également comparer le modèle To-Be avec le modèle As-Is, mais pour que cette fonctionnalité soit pratique, il faudrait disposer d’un écran encore plus grand.
Contenu de démonstration
Le contenu de démonstration fourni en exemple concerne l’architecture d’une banque fictive « ADOmoney Bank ». 24 modèles répartis dans 4 catégories (Gouvernance, Architecture d’Entreprise, Service Management et Gestion des Risques) sont fournis. Les modèles de la catégorie Architecture d’Entreprise sont répartis en 4 sous-catégories d’architecture : Transformation, Métier, Système d’information et Technologie.
La complexité de cet exemple est similaire à celle d’une architecture réelle. Voici un extrait de l’architecture des composants constituant une application et notamment leurs interfaces. Une vue miniature, mais panoramique (en bas à droite), permet d’ajuster automatiquement l’affichage d’un modèle à la taille de la fenêtre ou de zoomer en avant et en arrière. L’écran de 13 pouces d’un notebook est clairement trop petit pour avoir une vue globale du diagramme.
Vous noterez qu’ADOIT:CE dessine automatiquement des petits ponts sur les connecteurs, lorsque ceux-ci se croisent : cela peut sembler être un détail, mais cette simple fonctionnalité contribue grandement à la clarté des diagrammes.
Evaluation du portefeuille d’applications
Il est possible d’évaluer chaque application du portefeuille, selon trois critères, dans l’exemple ci-dessous, de satisfaction du métier du métier (axe horizontal), de coût (axe vertical) et d’importance stratégique (taille des points).
Gestion des données de référence
Il est possible de faire du Master Data Management : une matrice entre les composants et des objets métiers peut ainsi révéler que plusieurs composants écrivent dans un même objet métier, ce qui peut révéler des conflits, surlignés en orange dans l’exemple ci-dessous.
Importation et exportation
Les objets uniquement peuvent être importés au format Excel, ce qui est, en théorie, utile pour récupérer l’existant. Un classeur « ADOIT 11 ArchiMate Excel Import Template (FR).xlsx » est téléchargeable avec 61 feuilles différentes, une pour chaque type d’objet. Rien n’indique si chaque champ est obligatoire ou facultatif… Plusieurs types d’objets possèdent plus de 500 champs ! En pratique, cela ne sera pas très facile à utiliser.
Chaque modèle est exportable dans un document autonome, au format Acrobat PDF, ou comme un graphique, au format bitmap PNG ou au format vectoriel SVG, pour être inséré dans un document bureautique, au format Word ou PowerPoint par exemple.
La portabilité des données d’un outil vers un autre est un point important également. Il est possible d’importer et d’exporter modèles et objets via des fichiers au format (The Open Group). L’application Archi (www.archimatetool.com) au moins supporte également ce format.
Avantages
ü Rien à installer, toujours la dernière version en ligne
ü Interface utilisateur relativement simple
ü Support complet d’ArchiMate
ü Gratuit pour toujours
ü Nombreuses fonctionnalités, pour une version gratuite
Inconvénients
û Différences entre modèles, rapports, vues et restitutions peu claires
û Rien pour supporter les diagrammes UML
û Pas d’aide méthodologique, lorsque l’on part de rien
û Les connaissances (ressources) ne sont pas en français
N.B. Les diagrammes BPMN sont supportés par l’autre outil ADONIS.
Conclusion
En guise de conclusion, si vous utilisez déjà le langage de modélisation ArchiMate ou si vous envisagez de l’utiliser, n’hésitez pas à essayer cet outil lors d’un vrai projet d’Architecture d’Entreprise, puis à partager vos impressions sous la forme de commentaires à la fin de cet article.
Thierry BIARD
Victor Hugo