Documentação para elementos de modelo |
Para incluir a documentação para um elemento de modelo a um design de relatório, inclua o seguinte mapeamento da coluna no conjunto de dados:
- Nome: documentation
- Expressão: getElementsWithStereotype(ownedComment, 'Default::Documentation')[1]/@body
- Tipo: String
Utilize um elemento de texto dinâmico para esta coluna, não um elemento de rótulo.
Quando você utiliza o texto dinâmico, a documentação no relatório é formatada da mesma maneira que no modelo; ao utilizar um rótulo, as tags HTML são geradas no relatório.
A função getElementsWithStereotype está incluída com o produto IBM Rational.
|
Lista de perfis aplicados a um modelo |
Para obter um exemplo, consulte Conjunto de Dados de Perfis Aplicados no Relatório de Modelo UML em Branco (blankUMLModelReport.rptdesign),
que você pode acessar da visualização Explorador de Relatório.
|
Lista de estereótipos aplicados a um elemento |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: element
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($element), "self.getAppliedStereotypes()")
- Tipo: uml:Stereotype
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um elemento de modelo.
|
Lista de classes que estão diretamente em um pacote |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: package
- Mapeamento da Linha:
- Expressão: oclQuery(resolveURI($package)/packagedElement, "self.oclIsKindOf(uml::Class)")
- Tipo: uml:Class
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um pacote no modelo.
|
Lista de atributos que estão em uma classe com seus tipos |
Para obter um exemplo, consulte o conjunto de dados de Classes com Atributos no Relatório de Modelo UML em Branco (blankUMLModelReport.rptdesign),
que você pode acessar da visualização Explorador de Relatório.
|
Lista de operações que estão em uma classe, com seus tipos de retorno |
Para obter um exemplo, consulte o conjunto de dados de Classes com Atributos no Relatório de Modelo UML em Branco (blankUMLModelReport.rptdesign),
que você pode acessar da visualização Explorador de Relatório.
A inclusão de uma lista de operações em uma classe é semelhante à inclusão de uma lista de atributos em uma classe, mas são utilizadas as operações, e não os atributos.
|
Lista de parâmetros (além de “return”) que estão em uma operação, com seus tipos |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: operation
- Mapeamento da Linha:
- Expressão: oclQuery(resolveURI($operation)/ownedParameter, "self.direction <>
ParameterDirectionKind::return")
- Tipo: uml:Parameter
- Mapeamento da Coluna: typeName, type/@name, String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma operação no modelo.
|
Lista de exceções que uma operação lança |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: operation
- Mapeamento da Linha:
- Expressão: resolveURI($operation)/raisedException
- Tipo: uml:Type
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma operação no modelo.
|
Lista de todas as classes que implementam uma interface |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: interface
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($interface), "InterfaceRealization.allInstances()->select(i
| i.supplier->includes(self))")
- Tipo: uml:InterfaceRealization
- Mapeamento da Coluna:
- clientName, client[1]/@name,, String
- clientURI, getURI(client[1]), String
Ao utilizar o conjunto de dados no seu design de relatório, configure o valor de parâmetro para o URI de uma interface no modelo.
|
Lista de todas as interfaces que uma classe implementa |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: class
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($class), "InterfaceRealization.allInstances()->select(i
| i.client->includes(self))")
- Tipo: uml:InterfaceRealization
- Mapeamento da Coluna:
- supplierName, supplier[1]/@name, String
- supplierURI, getURI(supplier[1]), String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma classe no modelo.
|
Lista de todas as classes que herdam de uma classe |
Para obter um exemplo, consulte o conjunto de dados de Subclasses no Relatório de Métrica de Modelo UML (umlModelMetrics.rptdesign). |
Lista de todas as classes da qual uma classe herda |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: class
- Mapeamento da Linha:
- Expressão: resolveURI($class)/superClass
- Tipo: uml:Classifier
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma classe no modelo.
|
Lista de todos os nomes completos de todas as classes com as quais uma classe tem uma associação direta, com o nome da função de destino, visibilidade e multiplicidade |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: class
- Mapeamento da Linha:
- Expressão: oclQuery(resolveURI($class)/ownedAttribute, "Association.allInstances()->select(a|a.memberEnd->includes(self))->notEmpty()")
- Tipo: uml:Property
- Mapeamento da Coluna:
- targetRoleName, @name, String
- visibility, @visibility, String
- multiplicity, concat(concat(@lower,".."), @upper), String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma classe no modelo.
|
Casos de uso associados a um agente |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: actor
- Mapeamento da Linha:
- Expressão: 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))")
- Tipo: uml:UseCase
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um agente no modelo.
|
Agentes associados a um caso de uso |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: usecase
- Mapeamento da Linha:
- Expressão: 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))")
- Tipo: uml:Actor
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um caso de uso no modelo.
|
Para um diagrama de classe, uma lista de classes que estão no diagrama |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: diagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($diagram), "self.children->select(c|c.element.oclIsKindOf(uml::Class))->collect(c|c.element)")
- Tipo: uml:Class
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama no modelo.
|
Para um diagrama de seqüência, uma lista de nomes e tipos de objetos das linhas de vida |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: sequenceDiagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($sequenceDiagram), "self.element.oclAsType(uml::Interaction).lifeline->collect(l|l.represents)")
- Tipo: uml:ConnectableElement
Mapeamento da Coluna: - objectName, @name, String
- typeName, type/@name, String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de seqüência no modelo.
|
Para um diagrama de seqüência, para cada linha de vida, quais mensagens vão para essa linha de vida |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: lifeline
- Mapeamento da Linha:
- Expressão: 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)")
- Tipo: uml:Message
- Mapeamento da Coluna:
- messageName, @name, String
- signatureName, signature/@name, String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma linha de vida de um diagrama de seqüência no modelo.
|
Para um diagrama de seqüência, uma lista de somente mensagens de nível superior |
As mensagens de nível superior são mensagens enviadas de portas na interação.
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: sequenceDiagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($sequenceDiagram), "self.element.oclAsType(uml::Interaction).formalGate->collect(g|g.message)")
- Tipo: uml:Message
- Mapeamento da Coluna:
- messageName, @name, String
- signatureName, signature/@name, String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de seqüência no modelo.
|
Para um classificador estruturado, uma lista de portas |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: structuredClassifier
- Mapeamento da Linha:
- Expressão: resolveURI($structuredClassifier)/ownedPort
- Tipo: uml:Port
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um classificador estruturado no modelo.
|
Para uma porta, uma lista de interfaces fornecidas |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: port
- Mapeamento da Linha:
- Expressão: resolveURI($port)/provided
- Tipo: uml:Interface
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de uma porta no modelo.
|
Para uma porta, uma lista de interfaces necessárias |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: port
- Mapeamento da Linha:
- Expressão: resolveURI($port)/required
- Tipo: uml:Interface
Ao utilizar o conjunto de dados no seu design de relatório, configure o valor do parâmetro para o URI de uma porta no modelo.
|
Para um diagrama de atividade, uma lista de partições
|
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: activityDiagram
- Mapeamento da Linha:
- Expressão: resolveURI($activityDiagram)/element/partition
- Tipo: uml:ActivityPartition
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de atividade no modelo.
|
Para um diagrama de atividades, uma lista de armazéns de dados |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: activityDiagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($activityDiagram), "self.element.oclAsType(uml::Activity).node->select(n|n.oclIsKindOf(uml::DataStoreNode))")
- Tipo: uml:DataStoreNode
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de atividade no modelo.
|
Para um diagrama de atividade, uma lista de buffers centrais cujos classificadores têm um estereótipo específico |
O estereótipo neste cenário é
"Modelagem de Negócios::BusinessWorker"
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: activityDiagram
- Mapeamento da Linha:
- Expressão: 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')))")
- Tipo: uml:CentralBufferNode
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de atividade no modelo.
|
Para obter um diagrama de atividade, uma lista de tipos nos fluxos de objeto |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: activityDiagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($activityDiagram), "self.element.oclAsType(uml::Activity).edge->select(e|e.oclIsKindOf(uml::ObjectFlow))")
- Tipo: uml:ObjectFlow
- Mapeamento da Coluna:
- sourceType, oclEvaluate(source, "self.oclAsType(uml::ObjectNode).type")/@name, String
- targetType, oclEvaluate(target, "self.oclAsType(uml::ObjectNode).type")/@name, String
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de atividade no modelo.
|
Para um diagrama de estado, uma lista de nomes de estado |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: statechartDiagram
- Mapeamento da Linha:
- Expressão: oclEvaluate(resolveURI($statechartDiagram), "self.element.oclAsType(uml::StateMachine).region->collect(r|r.subvertex)")
- Tipo: uml:State
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um diagrama de estados no modelo.
|
Para um diagrama de estado, uma lista de transições para estados |
Crie um conjunto de dados de UML com as seguintes características: - Parâmetro: state
- Mapeamento da Linha:
- Expressão: resolveURI($state)/outgoing/target
- Tipo: uml:Vertex
Ao utilizar o conjunto de dados em um design de relatório, configure o valor de parâmetro para o URI de um estado no modelo.
|
Imagens de diagrama UML |
Crie um conjunto de dados de UML com as seguintes características:
- Mapeamento da Linha:
- Expressão: //Diagram, por exemplo. Isso mapeia todos os diagramas do modelo.
- Tipo: Diagram
- Mapeamento da coluna: Defina uma coluna para a imagem do diagrama.
A consulta de mapeamento da coluna depende de qual método, entre os métodos a seguir, será utilizado para criar as imagens:
Este método se destina apenas a relatórios HTML e outros relatórios com tamanho de página ilimitado e para imagens que podem ser reproduzidas por divisão em blocos.
Exemplo: getDiagramHtmlImage(".",
$genPath, $tileWidth, $tileHeight)
Ao gravar uma definição de coluna com esta consulta, designe o nome e a string para o
tipo.
As imagens no relatório gerado têm o tamanho original do diagrama e a resolução completa, mas são divididos em blocos do tamanho especificado na consulta. Para obter informações adicionais sobre a função, consulte o tópico "Funções XPath Adicionais para Conjuntos de Dados de EMF e UML".
Nota: Depois de definir o conjunto de dados, é possível criar um controle de Tabela no design de layout do relatório, ligá-lo ao conjunto de dados do diagrama e inserir um controle de Texto Dinâmico na linha de detalhe da tabela. Configure a expressão de texto row["image"].
Configure a largura e a altura do controle de texto como 100% do pai para que a imagem não fique cortada.
Este método se destina a todos os formatos de relatório, especialmente os com tamanhos de página definidos como PDF e Microsoft® Word e para imagens que possam ser reproduzidas com uma resolução máxima.
Exemplo: getDiagramImage(".",
$maxResWidth, $maxResHeight)
Ao gravar uma definição de coluna com esta consulta, designe o nome e o blob para o tipo.
Para obter informações adicionais sobre a função, consulte o tópico "Funções XPath Adicionais para Conjuntos de Dados de EMF e UML".
Depois de definir o conjunto de dados, é possível criar um controle de Tabela no design de layout do relatório, ligá-lo ao conjunto de dados do diagrama e inserir um controle de Imagem na linha de detalhe da tabela. Configure a imagem como Dinâmica e atribua um URI de row["image"]. Verifique se a largura e a altura do controle de imagem estão configurados como 100% do pai para que a imagem não fique cortada.
Para obter informações sobre a criação de design de relatórios, consulte o Guia de Campo para o
BIRT.
|