Rômulo Bendini Madalena Orientador : Prof. Everaldo Artur Grahl -...

Preview:

Citation preview

SOFTWARE DE INTEGRAÇÃO DA FERRAMENTA CASE RATIONAL ROSE COM O BANCO DE DADOS

JASMINE

Acadêmico : Rômulo Bendini Madalena

Orientador : Prof. Everaldo Artur Grahl

Roteiro da Apresentação

• Introdução• Objetivo do Trabalho• Orientação a Objetos• UML• Ferramenta CASE Rational Rose• MDL – Model• Banco de Dados Jasmine• Linguagem ODQL• Contexto atual do Tema

Roteiro da Apresentação

• Desenvolvimento do Trabalho• Requisitos principais do Problema a ser trabalhado• Especificação do Software• Técnicas e Ferramentas utilizadas• Apresentação da Especificação• Implementação• Técnicas e Ferramentas utilizadas• Operacionalidade da Implementação• Resultados e Discussão• Conclusão• Extensões

Introdução�A Orientação a Objetos é uma técnica de desenvolvimentode software que utiliza abstração para dissimular a tarefa de Programação

�A UML é uma linguagem para especificação, visualização, construção e documentação de modelos de sistema de Software.

� A ferramenta CASE Rational Rose fornece suporte a UML

�O Jasmine possui uma interface simples e integrada, para desenhode banco de dados a aplicações, fazendo integral uso dos recursosda UML.

Objetivo do trabalho

�Um software de geração de código para o banco Jasmine a partir dos arquivos gerados pela ferramenta CASE Rational Rose

� Obter o diagrama de classe a partir do arquivo MDL

�Traduzir os dados obtidos para a linguagem ODQL

Orientação a Objetos

�A Orientação a Objetos traz vários benefícios no desenvolvimentoe manutenção de software.

UML�Uma notação padronizada para especificação de software

Ferramenta CASE Rational Rose

�Uma ferramenta de apoio ao processo de desenvolvimento de software, não a solução mágica para os problemas da área.

MDL - Model

�As especificações na linguagem de modelagem MDL permitemrecuperar o projeto orientado a objeto do sistema na ferramentaRational Rose

Arquivo texto do MDL(object Class "Gente"

quid "3A390AA50050"class_attributes (list class_attribute_list

(object ClassAttribute "Rg"quid "3A390AD80294")

(object ClassAttribute "nome"quid "3A390AE0026C")

(object ClassAttribute "endereço"quid "3A390AE50082")

(object ClassAttribute "fone"quid "3A390AE50090")

(object ClassAttribute "CPF"quid "3A390AEA0046")))

(object Class "Professor"quid "3A390AA9005A"superclasses (list inheritance_relationship_list

(object Inheritance_Relationshipquid "3A390B370348"supplier "Gente"quidu "3A390AA50050"))

class_attributes (list class_attribute_list(object ClassAttribute "carteira trabalho"

quid "3A390B0B015E")(object ClassAttribute "salário"

quid "3A390B11000A")))

Banco de Dados Jasmine

�O BDOO Jasmine incorpora uma série de classes pré-definidas para exploração de recursos multimídia comovídeo, som, coordenadas espaciais, mapas, além dos tipos dedados tradicionais dos SGBDR.

Linguagem ODQL�A linguagem ODQL é um componente muito importantepara a operabilidade do banco Jasmine, pois nesta linguagemvocê manipula qualquer objeto, classes, instâncias e métodos.

Contexto atual do Tema

�Protótipo de software para a geração de código CDL atravésdo repositório da ferramenta CASE System Architect, trabalho realizado pelo Danilo (1999).

� Software para geração de código fonte a partir do repositórioda ferramenta CASE System Architect, trabalho realizado peloMarcos Aurélio (2000).

Código Fonte ODQL

defaultCF t;defineClass Gente{

instance:String Rg;String nome;String endereço;String fone;String CPF;

};

defaultCF t;defineClass Professor super: Gente{

instance:String carteiratrabalho;String salário;

};

buildClass t::Gente t::Professor t;

Desenvolvimento do Trabalho

Requisitos principais do Problema a ser Trabalhado�Facilitar a migração de uma especificação gerada pelo CASE Para um banco BDOO.

�As informações sobre o diagrama de classe gerada pelo CASERational Rose estão contida na linguagem Object Petal.

�O banco Jasmine tem internamente um compilador para a linguagem ODQL.

Especificação do Software

� Para especificar o Software foi realizado o Diagrama de Uso,Diagrama de Classe e o Diagrama de Seqüência.

� A especificação foi baseada na notação UML.

Técnicas e Ferramentas Utilizadas

� Para especificar o protótipo foi utilizado a ferramenta CASERational Rose.

� Foi adotado a notação UML para a especificação do Protótipo.

Apresentação da especificação

�Diagrama de Uso

Gerar Codigo ODQL

Ler arquivo MDL

Analista

�Diagrama de Classe

TRole

Name : StringSupplier : StringCardinality : String

Create( )GetSupplier( )GetName( )

1

0..*

1

TRRFile

FLine : IntegerFCountAbreParenteses : IntegerFCountFechaParenteses : IntegerSL : TStringListDictionary : TDictionarySLODQL

GetObjectName( )CountToken( )DeleteSubStr( )ReadMethods( )ReadSuperClasse( )ReadAttributes( )ReadAssociations( )ReadParameters( )ReadDependencys( )Destroy( )ReadClasses( )IsValid( )Create( )RetiraCifrao( )ODQLGeneration( )

1..*

1

0..*TAssociation

Name : StringRoleA : RoleRoleB : Role

Create( )

1

0..*

1 0..*

TDependency

Name : StringSupplier : StringSupplierCardinality : StringClientCardinality : String

Create( )GetSupplier( )GetName( )

1

TDictionary

Associations : AssociationClasses : Classe

Create( )Destroy( )LiberaMemoria( )

1

1..*

1

0..*

1..*

1

0..*

1..*

TClasse

Name : StringSuperClass : StringSuperClassRelationName : StringAttributes : AttributeMethods : MethodDependencys : Dependency

Create( )Destroy( )GetName( )GetSuperClass( )

1 0..*

1

1..*

0..* TMethod

Name : StringRetorno : String = VoidVisible : StringParameters : Attribute = TList.Create

Create( )Destroy( )GetResult( )GetName( )

1

0..*

TAttribute

Name : StringTipo : StringVisible : String

Create( )GetTipo( )GetName( )GetDefault( )

1..*

0..*

�Diagrama de Seqüência – Ler Arquivo MDL

Analista : AnalistaDictionaty : TDictionary

RRFile : TRRFile

Classes : TClasse

Association : TAssociation

Role : TRole Dependency : TDependency

Attibute : TAttribute

Method : TMethod

Create ( Create (

IsValid (

LiberaMemoria (

ReadClasses ( Create (

Create (

Create (

Create (

Create (

Create (

ReadMethods (Classe)

ReadAttributes

ReadDependencys

ReadAssociations (Dictionary)

RetiraCifrao (String)

�Diagrama de Seqüência – Gerar Código ODQL

: Analista : TRRFile : TClasse : TAttribute : TMethod : TRole : TDependency

ODQLGeneration (String, String) GetName ( )

GetSuperClass ( )

GetTipo ( )

GetName ( )

GetDefault ( )

GetResult ( )

GetName ( )

GetTipo ( )

GetName ( )

GetSupplier ( )

GetName ( )

GetSupplier ( )

GetName ( )

GetName ( )

GetName ( )

Implementação Técnicas e Ferramenta Utilizada

�Para a confecção do Software foi utilizado a Ferramenta Delphi 5.0com a linguagem de programação Object Pascal.

� foi utilizado uma programação orientado a Objeto com o auxilio datécnica UML.

� Para obtenção dos dados desejados do diagrama de classe foi utilizado tokens para ler o arquivo MDL.

�Foi utilizado a BNF da linguagem ODQL para se basear e compararcom o código gerado pelo software.

Operacionalidade da Implementação

�O processo para a geração do código fonte pelo Software estádividido em três partes.

•Criação do diagrama de classe pelo CASE Rational Rose• geração do código fonte através do Software.•Compilar o arquivo gerado pelo Banco Jasmine.

� Para a criação do diagrama de classe precisa configurar o RationalRose para o método Unificado.

Configuração do Rational Rose

Diagrama de Classe do Estudo de Caso

Tela da árvore das classes e o arquivo MDL

Tela da árvore das associações entre as classes do estudo de caso

Tela da classe família dentro do software

Tela do código ODQL

Tela do prompt do NT para execução do arquivo BAT

Executar o Banco Jasmine

Tela para entrar em uma conexão

Tela do Jasmine Class Browser

Resultadose Discussão

� Algumas limitações do protótipo

� Para a implementação da interface, leitura e armazenamentode informações foi utilizado a ferramenta Delphi 5.0 junto com a Linguagem de programação Object Pascal.

�Leitura do arquivo MDL da Ferramenta CASE Rational Rose

�Foi implementada a orientação a objetos para dar suporte aarmazenamento dos dados obtidos pelo arquivo fonte MDLe para a geração do código fonte ODQL.

Conclusões

�O protótipo conseguiu atingir o seu objetivo principal

�A ferramenta CASE Rational Rose tem um repositório em umArquivo texto chamado Object Petal (MDL)

�A configuração e a conexão do Banco de Dados Jasmine é muitoFácil, mesmo sendo restrita a sua documentação

�Em relação a outros trabalhos já desenvolvidos nesta linha pode-se comentar que este trabalho seguiu os objetivos pretendidospelo trabalho do Kramel (2000)

�Já em relação ao trabalho de Wehrmeister (2001), o mesmo se mostrou mais amplo porque permite a geração para qualquer linguagem

�Uma das vantagens do trabalho é a integração da Ferramenta CASE Rational Rose para o BDOO Jasmine, porque dá maior suporte ao analista que, apenas precisa especificar qualquer aplicação que por sua vez gera a base de dados para o bancoJasmine.

Extensões

�Para extensões deste trabalho sugere-se:

• especificar uma metalinguagem para ler a BNF do ODQL• possibilitar que o protótipo crie os métodos ao nível de classe e ao nível de coleção• possibilitar também que o usuário possa criar as própriasprocedures em ODQL para que o banco Jasmine compile para já incorporar nas classes criadas

Recommended