Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Gerar produtos de trabalho de design a partir de modelos

Como usar os relatórios BIRT com o Rational Software Architect

Shashi B. Pahwa, IT Architect, IBM
author photo
Shashi Pahwa é arquiteto de J2EE certificado pela Sun com 11 anos de experiência no uso de IBM Rational Software Architect, UML 2, BIRT e desenvolvimento de plug-in. Ele trabalha no Global Business Service, Gurgaon como arquiteto de aplicativos do setor público. É mestre em ciência da computação pela Maharishi Dayanand University, Rohtak Índia.
Shishir Narain, IT Architect, IBM
Shishir Narain photo
Shishir Narain é especialista de TI mestre certificado pelo Open Group com qualificações avançadas em produtos de middleware da IBM. Ele trabalha no IBM Lab Services para WebSphere nos Laboratórios de software da Índia, em Gurgaon. Tem 12 anos de experiência com o desenvolvimento de soluções para diversos clientes. Tem um mestrado de tecnologia do Indian Institute of Technology, Kanpur.

Resumo:  Produtos de trabalho com design desatualizados são um grande desafio para a fase de desenvolvimento e manutenção. Este artigo mostra como podemos gerar produtos de trabalho de design a partir de modelos de design do Rational Software Architect (RSA) usando Business Intelligence and Reporting Tools (BIRT) fornecido pelo Eclipse. Isso permite que a equipe de modelagem se concentre no design dos modelos em vez de produzir os produtos de trabalho. A geração dos produtos de trabalho é tão fácil quanto clicar em um botão, após a criação do relatório BIRT.

Data:  17/Nov/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  533 visualizações
Comentários:  


Muitas organizações estão percebendo a importância fundamental do design e da modelagem no desenvolvimento de aplicativos. Esses modelos de design servem como uma visão compartilhada de um aplicativo para as equipes de negócio e de desenvolvimento. Os modelos de design também são responsáveis pela geração de código de todo código padrão, permitindo assim um rápido desenvolvimento.

Embora esses modelos capturem com precisão os aspectos do design, eles não apresentam as descrições encontradas em produtos de trabalho de design típicas. Para ajudar a tornar esses produtos de trabalho mais abrangentes, os designers precisam prepará-los manualmente copiando das ferramentas de design e adicionando explicações. Esse esforço é intenso e, além disso, qualquer alteração no design força os designers a criar manualmente o produto de trabalho novamente.

Neste tutorial, mostraremos como gerar dinamicamente os artefatos de design dos modelos RSA usando os relatórios BIRT. Business Intelligence and Reporting Tools (BIRT) é um sistema de relatório de software livre com base em Eclipse para aplicativos da web, especialmente os que têm base em Java e Java EE. O Rational Software Architect inclui BIRT, o que oferece recursos para ajudá-lo a produzir um relatório que inclui conteúdo selecionado de modelos UML.

Ao usar os relatórios para gerar dinamicamente os documentos de design, é possível manter o modelo e os artefatos de design sincronizados sem qualquer esforço extra.

Pré-requisitos

  • RSA 7.5.5
  • Uma boa compreensão dos modelos UML e do BIRT
  • Conhecimento de XML/XPath

O exemplo de projeto, o modelo e o relatório servem para fins ilustrativos e para auxiliar a compreensão da geração de relatórios BIRT a partir de RSA. O exemplo de projeto e o modelo não têm precisão técnica.

O tutorial cobre somente os conceitos importantes sobre os relatórios BIRT e como é possível usá-los para modelos UML.

Exemplo de projeto

O exemplo de projeto descreve um site fictício parecido com o IBM developerWorks, que é uma rede profissional e centro de recurso técnico ao qual os autores podem enviar artigos. Os artigos são revisados a fim de estabelecer uma precisão técnica e padronizar o conteúdo do site. Os artigos são identificados em tópicos diferentes por autores e revisores. Os assinantes do website podem ver os artigos e filtrá-los de acordo com os tópicos.

Para ver o projeto dwSubscriptions, importe o archive para o RSA. A Figura 1 representa o modelo do exemplo de projeto:


Figura 1. Modelo de design para o projeto


O modelo de exemplo do projeto contém as seguintes partes:

Activity diagram
Um diagrama que descreve o fluxo de eventos de um caso de uso e o que precisa ser feito pelo sistema para fornecer um valor a um ator. Ele é composto por uma sequência de tarefas que juntas produzem algo para o ator. O fluxo de eventos é composto por um fluxo básico e um ou mais fluxos alternativos.
 
Component diagram
Esse diagrama descreve os relacionamentos de uso que existem entre as diversas unidades de implantação. Seu objetivo é mostrar as dependências que o software tem sobre os outros componentes de software no sistema, como bibliotecas de software.
 
Domain model
Esse modelo descreve diversas entidades, seus atributos e relacionamentos. Também descreve as restrições que regem a integridade dos elementos de modelo que formam o domínio do problema.
 
Interaction diagram
Esse diagrama representa o comportamento interno do sistema. Mostra como os objetos colaboram enviando mensagens e retornando respostas uns para os outros.
 
State chart diagram
Esse diagrama representa o comportamento ou ciclo de vida de uma única classe. É uma projeção de todos os diagramas de interação para uma única classe. Descreve os seguintes comportamentos:
  • Estados que podem ser alcançados.
  • Estímulo externo (eventos, mensagens, repostas) que causa uma mudança no estado.

Saída do exemplo de design

O arquivo SampleDesignArtifact.pdf no archive é um exemplo de saída que desejamos. Usando essa saída, demonstraremos como o relatório BIRT pode ser gerado a partir de modelos UML. Analise esse exemplo, junto com os modelos de design para entender os requisitos do relatório BIRT.

Modelo estático para conteúdo do texto
O artefato é composto por elementos de design do modelo RSA e por conteúdo de texto estático que descreve o modelo.

Para gerenciar facilmente o texto estático, criamos o projeto dwStaticModel e o incluímos no archive do tutorial. O projeto espelha os requisitos para o conteúdo estático.

Figura 2. Modelo de design para conteúdo estático


Revise o projeto, especialmente a documentação para cada pacote.


Figura 3. Seção de documentação do pacote

Visualização maior da Figura 3.

Esta documentação é usada para gerar o conteúdo estático para o relatório.


Preparação do relatório

A primeira coisa que fazemos é criar um projeto de relatório chamado developerWorks e um novo relatório chamado dwReport.rptdesign

A criação de um relatório BIRT é formada pelas seguintes etapas:

  • Definição da conexão com as origens de dados.
  • Definição das consultas que gerarão os conjuntos de dados para o relatório.
  • Definição do layout dos elementos de dados.

Definição das origens de dados

Os dados do relatório estão em dois projetos separados: dwSubscriptions e dwStaticModel; portanto, precisamos criar as origens de dados para cada projeto.

  1. Abra a visualização Data Explorer .
  2. Clique com o botão direito do mouse em Data Sources e selecione New Data Source.

Figura 4. Criando uma nova origem de dados


  1. Escolha uma Origem de dados UML e insira o nome da origem de dados como StaticDataSource na caixa de texto Data Source Name
  2. Clique em Next.

A nova Origem de dados UML é exibida.


Figura 5. Especificando o metamodelo UML para o relatório


  1. Especifique a origem de dados executando as seguintes etapas:
    1. Escolha Instance Models-> Add
    2. Selecione Browse Workspace…->dwStaticModel -> dwStaticModel.emx
    3. Confirme a escolha em Ok -> Ok -> Finish
  2. O metamodelo padrão da origem de dados é UML 2.1.0 e a notação é 1.0.1.

O UML 2.1.0 ajuda a desenvolver conjuntos de dados para classes, pacotes e nível de propriedade. A notação ajuda a criar conjuntos de dados para componente, interação, atividade e diagramas de estado

Use essas etapas novamente para adicionar outra origem de dados DynamicDataSource e aponte-a para o arquivo dwSubscriptions.emx .

Definição dos conjuntos de dados

A próxima etapa é criar consultas a serem usadas nos relatórios. Primeiro, criaremos um relatório a partir do texto estático.

Conjuntos de dados para o modelo estático

Criaremos conjuntos de dados para cada pacote sob o modelo estático. Começaremos criando um conjunto de dados para os Pacotes Activity Diagrams.


Figura 6. Criando um novo conjunto de dados


  1. Nesta visualização do Data Explorer, selecione Data Set > New Data Set
  2. Selecione Static Data Sourcee insira ActivityStaticDataSet como o nome do conjunto de dados.
  3. Clique em Next. A tela Row Mapping é exibida.

O objetivo desta etapa é extrair a documentação que escrevemos para o pacote Activity Diagrams. Sabemos que o arquivo de modelo está em um arquivo XML. O RSA tem um assistente que o ajuda a criar consultas que podem ser usadas com esse XML.


Figura 7. Extraindo as informações de um modelo


  1. Na seção Browse, escolha o modelo UML. Em seguida, selecione o pacote e clique no botão próximo de Row Query Expression. Digite uml:Package.
  2. Edite a linha de consulta para //Package[@name='Activity Diagrams']

A expressão XPath significa "Mostre-me todos os pacotes cujo nome seja Activity Diagrams."

Se você quiser aprender um pouco mais sobre os modelos UML, consulte a seção Recursos deste artigo a fim de obter documentações e o pacote org.eclipse.uml2.uml.

  1. Clique em Next. A tela Column Mapping é exibida.

Agora precisamos obter os atributos necessários para as linhas que capturamos na etapa anterior. Por padrão, o atributo de primeiro nível do tipo selecionado será exibido (pacote neste cenário).

  1. Mapeie as seguintes colunas a partir do modelo UML:
    1. Name with @name
    2. Documentation with ownedComment/@body

Figura 8. Mapeando as colunas


  1. Clique em Finish.
  2. Para ver se o conjunto de dados está correto, selecione Preview Results. Você deve obter resultados como os exibidos na Figura 9.

Figura 9. Resultados da consulta


Repita essas etapas novamente para os seguintes pacotes que restam no modelo estático:

  • Domain Model
  • Component Relationship
  • Introduction
  • Interaction
  • StateChart

Certifique-se de que o nome do pacote esteja correto na tela Row Mapping consultando o nome do pacote especificado no projeto Static Model dwStaticModel.

Importante: o pacote de introdução no conteúdo estático tem subpacotes. Qual será o Row Query para as subseções como Description, Identification etc.? Deixamos isso como um exercício para o leitor. Também é possível consultar o exemplo de relatório anexado para a resposta dessa consulta.

Complete todos os conjuntos de dados para o conteúdo estático. Na próxima subseção, criaremos o conjunto de dados para os modelos de design.

Conjuntos de dados para modelos de design

Para criar um novo parâmetro de relatório, selecione Outline view ->Report Parameters -> New Parameter. Passaremos o nome do pacote como um parâmetro para o relatório.


Figura 10. Criando parâmetros de relatório


Agora criaremos um novo conjunto de dados chamado DomainModelClassDataSet e o usaremos para obter todas as classes associadas ao nome do pacote que está sendo passado como um parâmetro para o relatório.

  1. Na primeira tela do assistente Query Parameters, adicione um novo parâmetro chamado packageName.
  2. Clique em Next.

Figura 11. Especificando parâmetros para o conjunto de dados


O parâmetro de consulta ajuda a externalizar a consulta. Isso ajuda a gerar relatórios personalizados, com base nos parâmetros de entrada passados para o relatório.

  1. Na tela Row Mapping, navegue por 'UML Model' e selecione Package como expressão

Figura 12. Extraindo informações do modelo


  1. Mude a expressão de linha de consulta para suportar o seguinte parâmetro de consulta //Package[@name=$packageName]/Class; e selecione Class como o tipo.

Figura 13. Fornecendo expressão para a consulta


  1. Forneça o seguinte mapeamento de coluna

Figura 14. Mapeamento de coluna para o conjunto de classe dinâmico



Figura 15. Criando parâmetros para a consulta


Para vincular o parâmetro do relatório a esse conjunto de dados, selecione Linked To Report Parameter e atribua o parâmetro packageName .


Figura 16. Vinculando o relatório e os parâmetros de consulta


Estamos terminando a criação do conjunto de dados usando o modelo UML. Na próxima seção, criaremos outro conjunto de dados usando o modelo de notação UML.

Conjunto de dados para os diagramas de interação

Para criar um conjunto de dados para os diagramas de interação, escolha o modelo de notação na guia Row Mapping.


Figura 17. Escolhendo o modelo de notação para o mapeamento de linha


  • Na caixa de texto Row Query Expression, insira getDiagrams(//Collaboration[@name='ArticleInteractions']/Interaction) e notation:Diagram.

Observação: essa expressão significa "Mostre-me todos os diagramas de todas as Colaborações cujo nome seja ArticleInteractions. Além disso, os diagramas estão abaixo de Interaction."

Com o modelo de notação, é possível consultar facilmente as imagens usando a função getDiagrams . Essa linha de consulta nos mostra os diagramas de interação. Estamos interessados nas informações exibidas na Figura 18.


Figura 18. Mapeamento da coluna para notação


Use as etapas anteriores nesta seção para completar o assistente.

O modelo de notação pode ser usado em outros casos em que precisamos de diagramas. Consulte o relatório no exemplo de archive para ver como criamos o restante dos conjuntos de dados.

Agora que temos o conjunto de dados e a origem de dados, podemos criar o relatório, o que envolve a criação do layout, colocar os elementos do relatório no relatório e configurar as origens de dados.

Criação do layout do relatório

Não descrevemos o layout do relatório detalhadamente, pois isso está fora do escopo deste artigo. Consulte o relatório em anexo para obter detalhes do layout.

Para esse exemplo, usamos os conjuntos de dados que criamos neste artigo e o conhecimento básico de BIRT para criar o relatório. Outras considerações de layout do relatório como cabeçalho e rodapé, página principal diferente, imagens, índices podem ser usadas para dar uma aparência mais polida ao relatório.


Executando o relatório

Nesta seção, descreveremos como podemos executar o relatório e verificar se o relatório de saída corresponde aos nossos requisitos.


Figura 19. Executando o relatório


Crie uma nova configuração e escolha as seguintes opções para gerar o relatório PDF.


Figura 20. Criando as configurações do relatório


Defina os parâmetros para o relatório.


Figura 21. Configurando os parâmetros de tempo de execução para o relatório



Resumo

Geramos artefatos de design a partir de modelos RSA usando relatórios do BIRT. Além da discussão sobre UML e modelos de Notação, também praticamos as etapas para a criação das fontes de dados e dos conjuntos de dados.



Downloads

DescriçãoNomeTamanhoMétodo de download
File for articlePI_0612.zip37KBHTTP
Sample output design artifact work productsSampleDesignArtifact.pdf360KBHTTP

Informações sobre métodos de download          Obtenha o Adobe® Reader®


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre os autores

author photo

Shashi Pahwa é arquiteto de J2EE certificado pela Sun com 11 anos de experiência no uso de IBM Rational Software Architect, UML 2, BIRT e desenvolvimento de plug-in. Ele trabalha no Global Business Service, Gurgaon como arquiteto de aplicativos do setor público. É mestre em ciência da computação pela Maharishi Dayanand University, Rohtak Índia.

Shishir Narain photo

Shishir Narain é especialista de TI mestre certificado pelo Open Group com qualificações avançadas em produtos de middleware da IBM. Ele trabalha no IBM Lab Services para WebSphere nos Laboratórios de software da Índia, em Gurgaon. Tem 12 anos de experiência com o desenvolvimento de soluções para diversos clientes. Tem um mestrado de tecnologia do Indian Institute of Technology, Kanpur.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=774610
ArticleTitle=Gerar produtos de trabalho de design a partir de modelos
publish-date=11172011

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).