Usando o SoDA na geração automática de
Documentos e Relatórios
Universidade Estadual de Campinas
Faculdade de Engenharia Mecânica
Departamento de Projeto Mecânico
Wallace Gusmão Ferreira, Eng. Mec.
Marco Lúcio Bittencourt, Ph.D.
COMET- Computational Mechanics Tools Group
http:\\www.fem.unicamp.br\~comet
Universidade Estadual de Campinas
Faculdade de Engenharia Mecânica
Departamento de Projeto Mecânico
Sumário
• Introdução;
• Conceitos básicos;
• Personalizando modelos;
Sumário
Introdução
O SoDA é uma ferramenta CASE (Engenharia de Software
Auxiliada por Computador) do Rational Unified Process
(RUP) que tem como função básica obter informações de
diversas fontes (domínios) e usá-las na geração automática de
documentos e relatórios durante um processo de
desenvolvimento de software, através de modelos que podem ser
personalizados.
Introdução
Iniciando o SoDA
O SoDA não possui uma interface gráfica própria. As
funcionalidades do SoDA podem ser acessadas através do
Microsoft Word ou de macros previamente definidas na
ferramentas do RUP (Rose, RequisitePro, etc.)
Conceitos Básicos
Iniciando o SoDA
O SoDA pode ser iniciado de três maneiras:
• Através de macros em programas do RUP;
• Utilizando o tutorial Getting Started Wizard no menu do
SoDA pelo atalho da área de trabalhos;
• Criando um novo documento do Word com o modelo
“soda.dot”.
Conceitos Básicos
Iniciando o SoDA
Quando um novo documento baseado no “soda.dot” é criado no
Word ou um documento pré-exeistente é aberto, um menu
“SoDA” é habilitado na barra de ferramentas, permitindo acessar
suas funcionalidades.
Conceitos Básicos
Obtenção de Informações
A obtenção de informações é baseada em conceitos de
Orientação por Objetos. O SoDA define o conceito de Domínio.
Cada domínio representa uma fonte de informações que se
deseja documentar, por exemplo um modelo do Rose, um
projeto do RequisitePro ou o próprio Sistema de Arquivos do
Windows.
Conceitos Básicos
Obtenção de Informações
As informações nos domínios são representadas de maneira
genérica por classes, atributos e relações.
Exemplos de classes do Sistema de Arquivos do Windows
podem ser os diretórios ou os arquivos.
Já no Rose exemplos de classe podem ser os modelos de
usecases ou os diagramas de classes.
O SoDA permite a geração de documentos e relatórios
utilizando vários domínios simultaneamente.
Conceitos Básicos
Geração de Documentos
O SoDA permite que a geração e a manutenção das informações
contidas nos documentos seja consistente.
Se as informações forem alteradas ou exculídas nos domínios
fontes, os documentos podem ser gerados novamente, sendo
automaticamente atualizados.
Outra característica é que informações extras (comentários,
formatos, diagramas e figuras) podem ser inseridas nos
documentos e o SoDA permite que estes dados também sejam
gerenciados.
Conceitos Básicos
Documentos e Relatórios
Uma desvantagem desse processo interativo e consistente de
obtenção de informações e geração de documentos é o excessivo
custo computacional.
Em função disso o SoDA faz uma diferenciação entre
Documentos e Relatórios.
Os Documentos contém as informações obtidas nos domínios
fonte e as informações extras incluídas pelo usuário.
Já os Relatórios são documentos simplificados contendo apenas
as informações dos domínios fonte.
Conceitos Básicos
Documentos e Relatórios
A diferenciação entre documentos e relatórios permite o
processo de geração seja menos lento.
Como o SoDA não precisa gerenciar as informações extras nos
relatórios, a sua geração é menos lenta.
A recomendação é que os documentos sejam gerados apenas em
fases finais do processo e os relatórios sejam gerados em fases
intermediárias.
Conceitos Básicos
Modelos de Relatórios
O SoDA disponibiliza diversos modelos de relatórios que são
sugeridos pelo RUP.
Entretanto esses modelos podem ser amplamente personalizados
pelo usuário. Novos modelos também podem ser criados.
Ao contrário dos modelos do Word (*.dot) os modelos do
SoDA são documentos (*.doc) contendo macros que permitem a
obtenção de informações dos domínios e a geração dos
relatórios.
Personalizando Modelos
Modelos Padrão
Alguns modelos de relatórios disponibilizados pelo SoDA são:
• ClassesAttrsOps.doc: uma lista de todas as classes em um
modelo do Rose contendo atributos e relações;
• LogicalViewFull.doc: uma lista de todos os módulos (packages)
em um modelo do Rose, incluindo todas as classes em cada
módulo, seus atributos e relações, divididos em públicos,
protegidos e privados;
Personalizando Modelos
Modelos Padrão
• DocsReqts.doc: uma lista de todos os requerimentos em um
projeto do RequisitePro e os atributos dos requerimentos
presentes em cada documento;
• ReqtsAttrs.doc: uma lista de todos os requerimentos e seus
atributos em um projeto do RequisitePro.
Personalizando Modelos
Comandos do SoDA
•
•
•
•
Cada modelo de relatórios do SoDA é formado por um conjunto
de comandos “ocultos”. Esses comandos não aparecem na
impressão do documento.
O SoDA utiliza 4 comandos básicos:
OPEN;
REPEAT;
DISPLAY e
LIMIT.
Personalizando Modelos
Comando OPEN
O comando OPEN é utilizado para identificar um um objeto
particular em um domínio fonte. Ou seja, cria um acesso direto a
um determinado objeto.
O OPEN pode acessar por exemplo:
• Diretórios ou arquivos do Sistema de Arquivos do Windows;
• Um modelo do Rose;
• Um projeto do RequisitePro.
Personalizando Modelos
Comando REPEAT
Repete todas as informações pertinentes a uma determinada
classe de objetos.
Permite documentar de maneira uniforme um conjunto de
objetos similares. Por exemplo, cada classe em em modelo do
Rose será documentada da mesma maneira (Atributos, relações,
etc.) seguindo uma mesma seqüência.
Personalizando Modelos
Comando DISPLAY
Insere os atributos do objeto acessado no documento que está
sendo gerado (cópia das informações).
O comando DISPLAY permite inserir no documento:
• Textos (descrições, comentários, etc);
• Gráficos (diagramas, figuras, etc).
Personalizando Modelos
Comando LIMIT
Funciona como um operador condicional. Define critérios para a
inclusão de atributos de objetos em um documento. Retorna um
valor TRUE ou FALSE, de modo que uma seção no documento
pode ser gerada ou não.
Personalizando Modelos
Comandos do SoDA
O SoDA utiliza outros comandos complementares como o
LINK, que serve para definir uma ligação direta (hiperlink)
entre o documento e o domínio fonte e o MASTER, que é um
comando interno do SoDA, usado para identificar qual comando
LINK está associado com um comando REPEAT particular.
O comando LIMIT pode ser complementado com os comandos
OTHERWISE e OMIT em função do resultado condicional
retornado em LIMIT.
Personalizando Modelos
Fluxo Básico de Geração de Documentos
Quando um documento ou relatório é gerado o SoDA percorre
os domínios em busca das informações a serem geradas com
base nos comandos inseridos no modelo. Esse processo segue o
seguinte fluxo de execução:
• O SoDA utiliza os argumentos do comando OPEN para
estabelecer um acesso a determinados objetos do domínio
referenciado;
Personalizando Modelos
Fluxo Básico de Geração de Documentos
• Para cada objeto retornado pelo comando REPEAT é criada
uma seção no documento;
• O comando DYSPLAY faz uma cópia do conteúdo especificado
em seus argumentos no documento gerado;
• Com base no comando LIMIT as seções podem ser criadas,
excluídas ou substituídas no documento gerado.
Personalizando Modelos
Gerenciando Comandos
Os comando no modelo podem ser adicionados, modificados ou
excluídos de duas maneiras:
• Diretamente no texto do modelo;
• Interativamente, através de caixas de diálogo disponibilizadas
pelo SoDA.
Personalizando Modelo
Exemplo de Modelo
Ao abrir o DocRqts.doc, o seguinte texto é visualizado:
Project: <Project.Name>
Document: <Document.Name>
<Document.Description>
– Requirement: <Requirement.FullTag>
<Requirement.Text>
Personalizando Modelos
Gerenciando Comandos
Acesso direto aos comandos ocultos através de “duplo clique”
do mouse:
[OPEN] C: project:ReqPro:CProject:RQSfilename = req.rqs
Project:[DISPLAY] <Project.Name> [ENDDISP]
[RPEAT]Document: [DISPLAY] <Document.Name>
[ENDDISP]
[DISPLAY] <Document.Description> [ENDDISP]
[RPEAT]Requirement: [DISPLAY] <Requirement.FullTag>
[ENDDISP] [DISPLAY] <Requirement.Text> [ENDDISP]
Personalizando Modelos
Gerenciando Comandos
Através de caixas de diálogo:
Personalizando Modelos
Definindo Domínios
O SoDA permite o acesso aos seguintes domínios:
•
•
•
•
•
File System Domain;
RequisitePro Domain;
Rose Domain;
SQA Domain;
Word Domain.
Personalizando Modelos
Definindo Domínios
•
•
•
•
•
•
Cada domínio tem suas classes, atributos e relações que podem
se acessados através dos comandos do SoDA. No caso do
RequisitePro Domain, as seguintes classes são disponíveis:
ReqPro Project Class;
ReqPro Document Class;
ReqPro Requirement Class;
ReqPro Attribute Class;
ReqPro DocumenteType Class;
ReqPro RequierementType Class;
Definindo Domínios
•
•
•
•
ReqPro User Class;
ReqPro UserGroup Class;
ReqPro ProjectRevision Class;
ReqPro Document Revision Class;
Cada classe por sua vez tem seus atributos e relações
particulares que podem ser acessados através dos comandos do
SoDA.
Personalizando Modelos
Definindo Domínios
No caso da ReqPro Project Class os seguintes atributos e
relações estão disponívies disponíveis:
Atributos:
• Description (text);
• Name (text).
Relações:
• Author (Class User);
• Documents (Class Document);
• Requirements (Class Requirement).
Personalizando Modelos
Tutoriais e Caixas de Diálogo
O SoDA disponibiliza também vários tutoriais e caixas de
diálogo, para facilitar o processo de criação,
personalização e manutenção de modelos, entre eles:
Tutoriais:
• Getting Started Wizard (Tutorial de Inicialização ao
SoDA);
• Template Wizard (Criação e modificação de Modelos);
• RequisitePro Wizard (Criação de modelos do
RequisitePro );
Personalizando Modelos
Tutoriais e Caixas de Diálogo
E as caixas de diálogo:
• Generate Dialog Box (Geração de Relatórios e
Documentos)
• “Commands” Dialog Box (Edição de comandos do
SoDA);
• Edit Links Dialog Box (Edição de Links entre os modelos
);
Personalizando Modelos
Download

SoDA - Faculdade de Engenharia Mecânica