Documentation pour des éléments du modèle |
Pour ajouter la documentation d'un élément de modèle à une conception de rapport, ajoutez le mappage de colonne suivant au fichier :
- Nom : documentation
- Expression : getElementsWithStereotype(ownedComment, 'Default::Documentation')[1]/@body
- Type : String
Utilisez un élément de texte dynamique pour cette colonne, et non pas un élément de libellé.
Lorsque vous utilisez du texte dynamique, la documentation dans le rapport est formatée de la même façon que dans le modèle ; lorsque vous utilisez un libellé, des balises HTML sont générées dans le rapport.
La fonction getElementsWithStereotype est incluse dans le produit IBM Rational.
|
Liste des profils qui sont appliqués à un modèle |
Pour un exemple, voir le fichier Profils appliqués dans le rapport de modèle UML vierge (blankUMLModelReport.rptdesign), auquel vous pouvez accéder à partir de la vue Explorateur de rapports.
|
Liste des stéréotypes qui sont appliqués à un élément |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : element
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($element), "self.getAppliedStereotypes()")
- Type : uml:Stereotype
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un élément de modèle.
|
Liste des classes qui sont directement dans un package |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : package
- Mappage de ligne :
- Expression : oclQuery(resolveURI($package)/packagedElement, "self.oclIsKindOf(uml::Class)")
- Type : uml:Class
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un package du modèle.
|
Liste des attributs qui sont dans une classe, avec leur type |
Pour un exemple, voir le fichier des classes avec des attributs dans le rapport de modèle UML vierge (blankUMLModelReport.rptdesign), auquel vous pouvez accéder à partir de la vue Explorateur de rapports.
|
Liste des opérations qui sont dans une classe, avec leur type de retour |
Pour un exemple, voir le fichier des classes avec des attributs dans le rapport de modèle UML vierge (blankUMLModelReport.rptdesign), auquel vous pouvez accéder à partir de la vue Explorateur de rapports.
L'inclusion d'une liste d'opérations dans une classe est similaire à l'inclusion d'une liste d'attributs dans une classe, mais vous utilisez des opérations au lieu d'utiliser des attributs.
|
Liste des paramètres (autres que les paramètres de retour) qui sont dans une opération, avec leur type |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : operation
- Mappage de ligne :
- Expression : oclQuery(resolveURI($operation)/ownedParameter, "self.direction <>
ParameterDirectionKind::return")
- Type : uml:Parameter
- Mappage de colonne : nom_type, type/@name, String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une opération du modèle.
|
Liste des exceptions émises par une opération |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : operation
- Mappage de ligne :
- Expression : resolveURI($operation)/raisedException
- Type : uml:Type
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une opération du modèle.
|
Liste de toutes les classes qui implémentent une interface |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : interface
- Mappage de ligne :
- Expression: oclEvaluate(resolveURI($interface), "InterfaceRealization.allInstances()->select(i
| i.supplier->includes(self))")
- Type : uml:InterfaceRealization
- Mappage de colonne :
- clientName, client[1]/@name,, String
- clientURI, getURI(client[1]), String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une interface du modèle.
|
Liste de toutes les interfaces implémentées par une classe |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : class
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($class), "InterfaceRealization.allInstances()->select(i
| i.client->includes(self))")
- Type : uml:InterfaceRealization
- Mappage de colonne :
- supplierName, supplier[1]/@name, String
- supplierURI, getURI(supplier[1]), String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une classe du modèle.
|
Liste de toutes les classes qui héritent d'une classe |
Pour un exemple, voir le fichier Sous-classes dans le Rapport de métriques de modèle UML (umlModelMetrics.rptdesign). |
Liste de toutes les classes dont une classe hérite |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : class
- Mappage de ligne :
- Expression : resolveURI($class)/superClass
- Type : uml:Classifier
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une classe du modèle.
|
Liste des noms qualifiés complets de toutes les classes avec lesquelles une classe a une association orientée, avec le nom de rôle cible, la visibilité et la multiplicité |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : class
- Mappage de ligne :
- Expression : oclQuery(resolveURI($class)/ownedAttribute, "Association.allInstances()->select(a|a.memberEnd->includes(self))->notEmpty()")
- Type : uml:Property
- Mappage de colonne :
- targetRoleName, @name, String
- visibility, @visibility, String
- multiplicity, concat(concat(@lower,".."), @upper), String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une classe du modèle.
|
Cas d'utilisation associés à un acteur |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : actor
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($actor), "Association.allInstances()->select(a|a.endType->includes(self)
and a.endType->select(t|t.oclIsKindOf(uml::UseCase))->notEmpty())->collect(a|a.endType->select(t|t <>
self))")
- Type : uml:UseCase
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un acteur du modèle.
|
Acteurs associés à un cas d'utilisation |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : usecase
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($usecase), "Association.allInstances()->select(a|a.endType->includes(self)
and a.endType->select(t|t.oclIsKindOf(uml::Actor))->notEmpty()) ->collect(a|a.endType->select(t|t <>
self))")
- Type : uml:Actor
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un cas d'utilisation du modèle.
|
Pour un diagramme de classes, une liste des classes qui sont dans le diagramme |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : diagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($diagram), "self.children->select(c|c.element.oclIsKindOf(uml::Class))->collect(c|c.element)")
- Type : uml:Class
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme du modèle.
|
Pour un diagramme de séquence, une liste des noms et des types d'objets des lignes de vie |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : sequenceDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($sequenceDiagram), "self.element.oclAsType(uml::Interaction).lifeline->collect(l|l.represents)")
- Type : uml:ConnectableElement
Mappage de colonne : - objectName, @name, String
- typeName, type/@name, String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme de séquence du modèle.
|
Pour un diagramme de séquence, pour chaque ligne de vie, les messages qui vont à cette ligne de vie |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : lifeline
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($lifeline), "self.coveredBy->select(c|c.oclIsKindOf(uml::MessageOccurrenceSpecification))->select(m|m.oclAsType(uml::MessageOccurrenceSpecification).event->any(true).oclIsKindOf(uml::ReceiveOperationEvent))->collect(m|m.oclAsType(uml::MessageOccurrenceSpecification).message)")
- Type : uml:Message
- Mappage de colonne :
- messageName, @name, String
- signatureName, signature/@name, String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'une ligne de vie provenant d'un diagramme de séquence du modèle.
|
Pour un diagramme de séquence, une liste des messages du plus haut niveau |
Les messages du plus haut niveau sont les messages envoyés depuis des portes sur l'interaction.
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : sequenceDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($sequenceDiagram), "self.element.oclAsType(uml::Interaction).formalGate->collect(g|g.message)")
- Type : uml:Message
- Mappage de colonne :
- messageName, @name, String
- signatureName, signature/@name, String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme de séquence du modèle.
|
Pour un discriminant structuré, une liste de ports |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : structuredClassifier
- Mappage de ligne :
- Expression : resolveURI($structuredClassifier)/ownedPort
- Type : uml:Port
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un discriminant structuré du modèle.
|
Pour un port, une liste des interfaces fournies |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : port
- Mappage de ligne :
- Expression : resolveURI($port)/provided
- Type : uml:Interface
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un port du modèle.
|
Pour un port, une liste des interfaces requises |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : port
- Mappage de ligne :
- Expression : resolveURI($port)/required
- Type : uml:Interface
Lorsque vous utilisez le fichier dans votre conception de rapport, définissez la valeur du paramètre avec l'URI d'un port du modèle.
|
Pour un diagramme d'activité, une liste de partitions
|
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : activityDiagram
- Mappage de ligne :
- Expression : resolveURI($activityDiagram)/element/partition
- Type : uml:ActivityPartition
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme d'activité du modèle.
|
Pour un diagramme d'activité, une liste de magasins de données |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : activityDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($activityDiagram), "self.element.oclAsType(uml::Activity).node->select(n|n.oclIsKindOf(uml::DataStoreNode))")
- Type : uml:DataStoreNode
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme d'activité du modèle.
|
Pour un diagramme d'activité, une liste de mémoires tampons centrales dont les discriminants ont un stéréotype particulier |
Le stéréotype de ce scénario est "Business Modeling::BusinessWorker"
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : activityDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($activityDiagram), "self.element.oclAsType(uml::Activity).node->select(n|n.oclIsKindOf(uml::CentralBufferNode))->select(c|c.oclAsType(uml::CentralBufferNode).type.isStereotypeApplied(c.oclAsType(uml::CentralBufferNode).type.getApplicableStereotype('Business
Modeling::BusinessWorker')))")
- Type : uml:CentralBufferNode
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme d'activité du modèle.
|
Pour un diagramme d'activité, une liste des types dans les flux d'objets |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : activityDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($activityDiagram), "self.element.oclAsType(uml::Activity).edge->select(e|e.oclIsKindOf(uml::ObjectFlow))")
- Type : uml:ObjectFlow
- Mappage de colonne :
- sourceType, oclEvaluate(source, "self.oclAsType(uml::ObjectNode).type")/@name, String
- targetType, oclEvaluate(target, "self.oclAsType(uml::ObjectNode).type")/@name, String
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme d'activité du modèle.
|
Pour un diagramme d'état, une liste des noms d'état |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : statechartDiagram
- Mappage de ligne :
- Expression : oclEvaluate(resolveURI($statechartDiagram), "self.element.oclAsType(uml::StateMachine).region->collect(r|r.subvertex)")
- Type : uml:State
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un diagramme d'état du modèle.
|
Pour un état d'un diagramme d'état, une liste des transitions vers des états |
Créez un fichier UML avec les caractéristiques suivantes : - Paramètre : state
- Mappage de ligne :
- Expression : resolveURI($state)/outgoing/target
- Type : uml:Vertex
Lorsque vous utilisez le fichier dans une conception de rapport, définissez la valeur du paramètre avec l'URI d'un état du modèle.
|
Images d'un diagramme UML |
Créez un fichier UML avec les caractéristiques suivantes :
- Mappage de ligne :
- Expression : //Diagram, par exemple. Ceci mappe tous les diagrammes depuis le modèle.
- Type : Diagram
- Mappage de colonne : Définissez une colonne pour l'image du diagramme.
La requête de mappage de colonne dépend de la méthode qui, parmi les méthodes suivantes, a été utilisée pour créer les images :
Cette méthode est pour les rapports HTML et pour les autres rapports ayant une taille de page illimitée seulement, et pour les images qui peuvent être affichées par division en mosaïques.
Exemple : getDiagramHtmlImage(".",
$chemin_génération, $largeur_mosaïque, $hauteur_mosaïque)
Lorsque vous écrivez une définition de colonne avec cette requête, attribuez le nom et le type string.
Les images du rapport généré ont la taille d'origine du diagramme et la résolution maximale, mais elles sont divisées en mosaïques de la taille spécifiée dans la requête. Pour plus d'informations sur la fonction, consultez la rubrique "Fonctions XPath supplémentaires pour les fichiers EMF et UML".
Remarque : Après avoir défini le fichier, vous pouvez créer un contrôle Table dans la conception de présentation du rapport, le lier au fichier du diagramme et insérer un contrôle Texte dynamique dans la ligne des détails de la table. Définissez l'expression de texte à row["image"]. Définissez la largeur et la hauteur du contrôle Texte à 100% du parent, de façon à ce que l'image ne soit pas recoupée.
Cette méthode s'applique à tous les formats de rapport, en particulier à ceux avec des tailles de page définies, telles que PDF et Microsoft Word, et aux images qui peuvent être affichées avec une résolution maximale.
Exemple : getDiagramImage(".",
$largeur_résolution_maximale, $hauteur_résolution_maximale)
Lorsque vous écrivez une définition de colonne avec cette requête, attribuez le nom et le type blob.
Pour plus d'informations sur la fonction, consultez la rubrique "Fonctions XPath supplémentaires pour les fichiers EMF et UML".
Après avoir défini le fichier, vous pouvez créer un contrôle Table dans la conception de présentation du rapport, le lier au fichier du diagramme et insérer un contrôle Image dans la ligne des détails de la table. Définissez l'image à Dynamique et attribuez un identificateur URI row["image"]. Assurez-vous de définir la largeur et la hauteur du contrôle Image à 100% du parent, de façon à ce que l'image ne soit pas recoupée.
Pour des informations sur la conception de rapports, voir le Guide pratique de BIRT.
|