Archive

Apparence d’élément dans un diagramme Enterprise Architect

sparx enterprise architect 12

Nombreux sont ceux qui souhaitent améliorer la lisibilité de leurs modèles par l’ajout d’images, normalisées et compréhensibles par tous, dans les diagrammes.

Enterprise Architect offre de nombreuses possibilités pour changer la représentation des éléments de modélisation (classe, activité, acteur, composant..) présents sur un diagramme.

Il est possible d’ajouter des images issues du presse-papier, ou d’utiliser les images contenues dans la bibliothèque d’images du projet, ou encore de rattacher une image à un stéréotype, ou enfin gérer cette personnalisation via la création d’un shapescript intégré ou non à un mdg (Model Driven Generation).

Lire la suite…

Générer des livrables complets avec Enterprise Architect en utilisant des Master et Model Documents

Après avoir créé des templates de documents simple avec Enterprise Architect, et après avoir utilisé les <<Templates Fragments>> nous allons aborder l’utilisation des <<Model Document>> et <<Master Document>>.

La création de templates de documents comme nous l’avons vu dans les articles précédents nous contraint à structurer la génération autour de la notion d’élément. Il s’avère donc  difficile voire impossible, même avec les fragments de templates, d’avoir un livrable contenant des types d’éléments différents (ex : acteurs, cas d’utilisation, classes,…)  correctement mis en page.

Pour pallier à cette difficulté, Enterprise Architect met à disposition la notion de Model Document, structure rattachée à un template de document et pouvant contenir plusieurs packages à générer.

  (Articles réalisés avec la version 10.0.1009 de l’outil.)

Première partie, création d’un <Model Document>

Pour pouvoir utiliser les objets <Model Document>, je créé un diagramme <Documentation> rubrique <Extented>.

A l’aide de la Toolbox je créé un ou plusieurs <Model Document >.

Ensuite  j’ouvre la vue  <Tagged Values> (Menu <View>) et pour chacun des <Model Document> je sélectionne un template de document (préalablement créé et accessible dans la liste déroulante <RTF Template>).

Une fois les templates .rtf rattachés à chaque <Model Document>, j’effectue un glisser/déposer des packages qui m’intéressent depuis l’explorateur de projet vers chacun des <Model Document> (les packages apparaissent alors comme des attributs de la classe <Model Document>.

Ensuite il est possible de générer séparément chacun des livrables en sélectionnant un <Model  Document> et en appuyant  sur la touche <F8> puis en cliquant sur le bouton <Generate>.

Pour générer les différents types d’éléments structurés dans les <Model Document> dans un seul livrable, Enterprise Architect propose une alternative : le <Master Document>.

Deuxième partie, création d’un <Master Document>

Le master document est en fait un package contenant les <Model document>.

Ce <Master Document> possède lui aussi un template rtf  qui peut contenir par exemple une page de présentation et une table des matières.

Pour générer le livrable complet, sélectionner le package <Master Document>, appuyer sur la touche F8 et cliquer sur le bouton <Generate>.

Categories: UML / Enterprise Architect Tags:

Comment créer avec Enterprise Architect un template de document contenant des filtres sur des éléments

Après avoir créé des templates de documents simple avec Enterprise Architect, nous allons aborder la création de « Template Fragments » pour réaliser des générations avec requêtes.

Pour faire une génération conditionnelle sur un type d’élément ou de package, Enterprise Architect propose de créer des requêtes à l’aide du <Query Builder> (onglets <Element Filters> et <Other Filters). 

Cependant souvent ces filtres ne suffisent pas. Enterprise Architect permet maintenant d’ajouter des morceaux de templates

(Articles réalisés avec la version 10.0.1009 de l’outil.)

 

Pour commencer je créé un nouveau template de document en cochant la case <Mark Template as a Fragment>, je valide.

Dans l’éditeur de documents j’ouvre la boite de dialogue des options du document (avec le menu contextuel <File>/<Document Options>)

Je vais dans l’onglet <Custom Query> (radio bouton <Custom SQL>) et j’écris une requête sql me permettant de récupérer les acteurs secondaires d’un cas d’utilisation

Je termine ma requête en comparant l’élément en cours avec celui de ma requête.
Exemple :  T_Object.Object_ID=#OBJECTID# (où T_Object correspond à un cas d’utilisation) ;
puis je valide pour fermer la boite de dialogue.

Dans l’éditeur je coche la case à cocher <Custom>
Puis entre les drapeaux j’insère mes champs. (A l’aide du menu contextuel  <insert Custom Field> et je saisis  le nom des champs de ma requête (par exemple je saisis <Nom> quand dans ma requête j’avais saisi – ‘Select Acteur.Nom From T_Object as Acteur’-)

custom >

Acteur participant Description
Nom Description

< custom

La prochaine fois nous aborderons des documents plus complexes (contenant plusieurs types d’éléments) réalisés à l’aide de  <master> et <model document>.

Categories: UML / Enterprise Architect Tags:

Comment créer simplement un template pour générer un document avec Enterprise Architect

La dernière fois nous avons vu comment utiliser simplement un template pour générer un document avec Enterprise Architect, nous allons voir aujourd’hui comment créer notre propre template.

Les outils de modélisation, dont Enterprise Architect, sont très souvent critiqués sur leur module de génération de documentation (considéré généralement comme complexe, incomplet et peu performant). Nous allons voir en fait que la création et la génération de rapports et autres documents est possible et même assez simple à réaliser avec Enterprise Architect.

(Article réalisé avec la version 10.0.1009 de l’outil.)

 

 

Ouvrons la fenêtre de création de template à l’aide du menu <Project>/<Documentation>/<Document Template Designer>.

La fenêtre de création de template contient un explorateur et un éditeur de texte. L’explorateur contient l’ensemble des éléments structurant un projet Enterprise Architect et l’éditeur va permettre d’insérer du texte et des champs.
 
1ère étape : création du template

Je clique sur l’icône <New Template> pour faire apparaître la boîte de création de template et me permettre de cocher les cases qui jusqu’à présent étaient grisées.

Je donne ensuite un nom à mon template et je valide.
 
2e étape : Insertion de la structure

Je souhaite Créer un document de cas d’utilisation avec leurs scénarios, exigences, pré et post conditions et diagrammes associés.
Je coche alors les cases correspondant aux éléments que je veux incorporer dans mon document.
Je commence par cocher <Package> pour générer l’arborescence des packages

Je constate que quand je coche une case, EA insère un marqueur de début et de fin dans le document. (Pour le marqueur <package>, EA coche automatiquement <Child package> – ce qui permettra une génération récursive-).

package >
[right-click-to-insert-Package-field(s)]
child packages >
< child packages
< package
 

Puis je sélectionne la ligne contenant le texte <[right-click-to-insert-Package-field(s)]> et avec le menu contextuel (clique droit de la souris) <Insert Filed>/…. J’insère le champ qui m’intéresse ; par exemple le nom du package.

Ensuite je peux lui affecter un style, je sélectionne la ligne <Pkg.Name> (en faisant attention de ne pas sélectionner les marqueurs) et dans la liste déroulante des styles je choisis <Heading 1>.

Je rajoute le champ <Notes> sous le <package Name> pour insérer la note du package.
 
Puis je coche <Element,> (nous pouvons constater que la case à cocher <Child Elements> est cochée par défaut)  j’insère le stéréotype, le nom et la note de l’élément comme pour le package.

Je procède ensuite de la même façon pour insérer les diagrammes présents sous les packages.

package >
{Pkg.Name}
{Pkg.Notes}
diagram >
{Diagram.Name}
{Diagram.DiagramImg}
{Diagram.Notes}
< diagram
element>
{Element.Stereotype} {Element.Name}
{Element.Notes}
child elements >
< child elements
< element
child packages >
< child packages
< package

 
3ème étape : Création de tableaux

Pour les pré et post conditions je crée des tableaux. Je coche d’abord <Constraint-Pre> et <Constraint-Post>.

Entre les marqueurs de début et fin à l’aide du menu contextuel je sélectionne le menu <Table> / <Insert Table>.

J’indique 2 lignes et 3 colonnes dans la boite de dialogue <New Table Parameters> et je valide.

Dans la première  ligne j’écris les entêtes Nom, Note et Statut.
Je sélectionne cette ligne d’entêtes et à l’aide du menu contextuel <Table>/<Cell Color…>, je sélectionne un fond gris.

Dans la deuxième ligne j’insère les champs <Name>, <Notes> et <Status>.

Il est impératif de supprimer la ligne ajoutée automatiquement sous le tableau pour éviter d’avoir un espace entre chaque ligne du tableau.

 

constraint-pre >

Nom

Notes

Statut

{ElemConstraintPre.Name} {ElemConstraintPre.Notes} {ElemConstraintPre.Status}

< constraint-pre>

 
Puis je fais de même pour insérer les exigences internes et externes au cas d’utilisation. (Les exigences internes sont créées à partir de la rubrique <Requirements> du cas d’utilisation et les exigences externes sont des éléments de type <Requirement> reliés à l’aide d’un lien de réalisation avec le cas d’utilisation).

Pour les scénarios, si j’utilise l’onglet description, pour écrire mes étapes de scénarios, seuls le nom et la note suffisent ; si par contre j’utilise les scénarios structurés alors je crée de nouveau un tableau dans lequel j’insère principalement les champs <Step> (numéro de l’étape) et <Action>.

Pour les scénarios alternatifs et d’exceptions, je coche la case <Exception>, et j’insère les champs <Step>, <Type> (si je veux préciser alternatif ou exception), <Name> et<Join> (pour indiquer l’étape de retour dans le scénario nominal).

Faire attention au fait que la numérotation des étapes est imposée par EA et que le nom de chaque alternative est inséré dans les étapes du nominal.

scenario >
{ElemScenario.Scenario}
{ElemScenario.Notes}
structured scenarios >

{Scenario_Structured.Step} {Scenario_Structured.Type} {Scenario_Structured.Action}

exception >

({Exception.Type}){Exception.Step} {Exception.Name} (retour étape {Exception.Join})

< exception
< structured scenarios
< scenario

Attention : si vous décochez un élément dans l’explorateur, les marqueurs seront supprimés avec le texte inséré entre eux.

La prochaine fois nous verrons comment insérer des éléments reliés (comme les acteurs par exemple) à l’aide de <Template Fragments>.

Comment utiliser simplement un template pour générer un document avec Enterprise Architect

Vous êtes utilisateurs de l’outil de modélisation Enterprise Architect, je vous propose une petite série d’articles pour vous aider à utilisateur le générateur de documents de l’outil. (Articles réalisés avec la version 10.0.1009 de l’outil.)

Première partie, rappel sur la génération avec un template de document existant.

Si par exemple je souhaite générer un document sur une modélisation de cas d’utilisation.

Je sélectionne le package contenant les cas d’utilisation et accède à la boite de dialogue de génération de documents à l’aide du raccourci F8.

Ensuite je choisis le template qui correspond à ma génération (ici UseCaseTemplate). Je vérifie la destination de mon livrable (dans la partie Output to File) et génère le document en cliquant sur le bouton <Generate>.

Deuxième partie, je filtre ma génération

Dans mon document généré, je constate que les informations détaillées sur des éléments comme des activités et actions sont ajoutées alors que seuls les cas d’utilisation m’intéressent. Je retourne alors dans la boite de génération de documents.

Je sélectionne l’onglet <Options> et puis tous les types d’éléments à exclure, exceptés <Actor> et <UseCase> qui sont les seuls qui m’intéressent.

Je peux aussi filtrer ma génération en fonction d’une phase, d’un statut ou d’une date de création d’élément si besoin.

Troisième partie, je complète les filtres de ma génération

Je souhaite maintenant ne générer que les cas d’utilisation qui possèdent une description. Je souhaite aussi ne générer que les sous packages du package sélectionné.

Il me suffit de cocher les cases correspondantes.

Si je souhaite réaliser un filtrage avancé (par exemple en fonction d’un stéréotype), j’utilise alors l’onglet <Element Filters> pour créer le bon filtre. Nous aborderons cette fonctionnalité plus tard.

Quatrième partie, je paramètre mon template pour ne pas avoir à refaire les manipulations de filtrage à chaque génération.

Si je ferme la boîte de dialogue de génération de documents et que je l’ouvre à nouveau, je constate qu’aucun de mes paramétrages n’a été sauvegardé, alors plutôt que de cocher à chaque génération les cases qui m’intéressent, je choisis de dupliquer le template proposé par sparx pour pouvoir le modifier.

Depuis l’onglet <Generate>, dans la liste déroulante je sélectionne <new template>.

Je sélectionne ensuite le template que je veux dupliquer, je lui donne un nom, puis je valide.

EA ouvre alors un éditeur de texte, contenant tous les éléments du template, nous y reviendrons plus tard.

Pour l’instant à l’aide du menu contextuel dans la page, je sélectionne le menu <File>/<Document Options> et dans cette boîte de dialogue je procède aux filtrages comme fait précédemment.

Je sauvegarde le nouveau template en cliquant sur la petite disquette et je ferme la boîte de dialogue.

Ensuite je sélectionne à nouveau mon package, j’utilise le raccourci F8 et cette fois je sélectionne dans la liste déroulante le template que je viens de créer (au passage je constate que mon template n’est pas entouré de parenthèses contrairement aux templates de sparx). Si je vérifie les onglets <Options> et <Advanced>, je constate alors que mon paramétrage a été sauvegardé.

La prochaine fois nous aborderons la création de notre propre template de document