Principes de conception

Gaphor existe depuis plusieurs années. Au cours de ces années, nous (les développeurs de Gaphor) avons appris plusieurs choses sur la façon de le construire. Gaphor vise à être facilement accessible aux utilisateurs novices tout en restant un outil utile pour les utilisateurs plus expérimentés.

Gaphor n’est pas un éditeur ordinaire. C’est un environnement de modélisation. Cela implique qu’il y a un langage qui sous-tend les modèles. Les langages obéissent à des règles et Gaphor essaie de suivre ces règles.

La facilité d’utilisation est très importante. Lorsque vous découvrez Gaphor, il doit être facile de s’y retrouver. Une connaissance minimale de l’UML devrait au moins vous permettre de créer un diagramme de classes.

_images/bf6c3c3b-81b2-11ee-ad01-a85e451ea141.svg

Orientations

Pour aider les utilisateurs, Gaphor doit fournir des conseils dans la mesure du possible.

Aide aux relations

Le diagramme présente une caractéristique qui consiste à griser tous les éléments auxquels une relation ne peut pas être établie. Cela vous aide à décider où une relation peut être établie. Vous pouvez toujours mélanger différents éléments, mais nous essayons de simplifier autant que possible la création de modèles cohérents.

Maintenir la synchronisation du modèle

Une partie importante de la modélisation consiste à concevoir un système sous forme d’abstractions et à être capable de les expliquer à d’autres. Au fur et à mesure que les systèmes deviennent plus complexes, il est important de présenter la conception (le modèle) sous forme de diagrammes.

Gaphor veille à ce que le modèle soit en phase avec les diagrammes. Ainsi, les éléments inutilisés peuvent être automatiquement supprimés du modèle s’ils ne figurent plus dans aucun de ces derniers.

Hors de votre chemin

Lors de la modélisation, vous devez vous concentrer sur votre problème ou votre solution, et non sur l’outil. Gaphor essaie de rester hors de votre chemin autant que possible. Il ne vous harcèle pas avec des messages d’erreur parce que le modèle n’est pas « correct ».

Éviter les boîtes de dialogue

En prenant les mesures nécessaires et en évitant tout contact avec les utilisateurs, Gaphor parvient à limiter l’apparition de boîtes de dialogue.

Gaphor doit vous permettre de faire ce qui est raisonnable (voir ci-dessus) et ne pas vous faire perdre le fil avec toutes sortes de questions.

Notifier les changements

Lorsque Gaphor effectue une action qui n’est pas directement visible, vous verrez une notification. Cela peut par exemple concerner un élément retiré indirectement du modèle. Cela ne provoquera pas de dialogues, mais vous informera simplement de la situation par une notification dans l’application. Si vous ne souhaitez pas ce changement, cliquez sur undo.

Équilibré

Bien que Gaphor implémente une bonne partie du modèle UML 2, il n’est pas complet. Notre objectif est de trouver le bon équilibre entre les fonctionnalités afin de satisfaire à la fois les modélisateurs experts et novices.

Continuité

Un modèle créé doit pouvoir être utilisé à l’avenir. Gaphor le reconnaît. Nous nous soucions de la compatibilité.

Compatibilité ascendante

Gaphor est capable de charger des modèles remontant à Gaphor 1.0. Il est important qu’un outil permette toujours le chargement de modèles plus anciens.

Multiplateforme

Nous avons déployé d’importants efforts pour garantir la prise en charge de Gaphor sur les principales plateformes : Windows, macOS et Linux. Si le modèle doit être partagé, il est essentiel que Gaphor soit disponible sur toutes les plateformes. Il serait terrible de devoir utiliser un système d’exploitation spécifique pour ouvrir un modèle.

Jusqu’à présent, nous ne prenions pas en charge la quatrième plate-forme majeure (le Web). Les applications natives offrent une meilleure expérience utilisateur une fois installées. Mais cela pourrait changer.

Interaction avec l’utilisateur

Gaphor a été écrit à l’origine sous Linux. Il utilise GTK comme boîte à outils pour l’interface utilisateur. Cela implique en quelque sorte que Gaphor suit les GNOME Human Interface Guidelines (HIG). Gaphor est également une application multiplateforme. Nous essayons de rester proches des GNOME HIG, mais nous essayons de ne pas introduire des concepts qui ne sont pas disponibles sous Windows et macOS.

Les composants de l’interface utilisateur ne sont pas générés. Nous avons constaté que la génération d’interfaces utilisateur (comme le font de nombreux outils de modélisation d’entreprise) n’offre pas une expérience utilisateur optimale. Nous voulons que les utilisateurs se servent régulièrement de Gaphor, c’est pourquoi nous voulons que cet outil soit agréable à utiliser et facile à regarder.

Quoi d’autre ?

Sur le plan technique, les principes suivants sont également applicables :

  • Idempotence Permet d’appliquer la même opération plusieurs fois. Cela ne devrait pas affecter le résultat.

  • Piloté par les événements. Gaphor est une application destinée aux utilisateurs. Elle réagit aux actions de l’utilisateur. Elle utilise un système de distribution d’événements interne (ou « bus d’événements ») pour les acheminer aux parties intéressées. Tout le monde peut écouter les événements.