APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA...

Post on 21-Apr-2015

106 views 1 download

Transcript of APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA...

APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA

DE FÓRMULAS

Autores: Autores: Rafael HornungRafael Hornung

Simone Nasser MattosSimone Nasser MattosClovis Torres FernandesClovis Torres Fernandes

5º CONTECSI5º CONTECSI06/06/200806/06/2008

Sumário

1. Objetivos da Apresentação

2. Subframework de Domínio para Validação de Fórmulas

3. Metodologia Utilizada

4. Conclusões

5. Melhoras Necessárias

6. Algumas Referências Bibliográficas

1. Objetivos da Apresentação

Demonstrar o subframewok de domínio para validação sintática de fórmulas matemáticas.

Demonstrar a metodologia que foi aplicada para o seu desenvolvimento.

Sumário Sumário

1. Objetivos da Apresentação1. Objetivos da Apresentação

2. Subframework Desenvolvido

Construído usando o processo dirigido por responsabilidades.

Analisa sintaticamente a fórmula utilizando-se de algoritmos de Análise Léxica e Sintática.

Apresenta mensagem de erro detalhada no caso de encontrar alguma inconsistência na fórmula.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

2. Subframework Desenv.2. Subframework Desenv.

O que é um Framework

Este subframework pode ser considerado um framework, se analisado individualmente.

Um framework é um conjunto de classes que interagem formando uma aplicação semi-completa e reutilizável.

Possui a finalidade de resolver problemas comuns existentes em várias aplicações específicas.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

2. Subframework Desenv.2. Subframework Desenv.

3. Metodologia Utilizada

A metodologia utilizada para o desenvolvimento do subframework é a proposta por Matos e Fernandes.

Aborda a determinação dos pontos de estabilidade e flexibilidade no início do projeto.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Definir o Domínio:

Uma fórmula é uma representação simbólica de uma informação, composta por expressões matemáticas.

Expressões matemáticas são formadas pela iteração entre números operadores, variáveis e sinais gráficos.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Compreender Aplicação Exemplo:

Axion, Eigenmath, Maxima e Yacas.

Ferramentas gratuitas.

Todas as ferramentas possuem métodos particulares para validação de fórmulas.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Compreender Aplicação Exemplo:

Então por quê criar esse subframework? Mensagens incompletas. Mensagens em língua não

nativa. Não há possibilidade de

alteração das mensagens. Não foram projetadas para

permitir o reúso.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Projetar Framework de Domínio:

Formado por duas Subfases: Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Definir Framework Base e de Aplicação:

Elaboração da modelagem do subframework.

Diagrama de Classes.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Implementar o Framework

Linguagem:Java.

Ferramentas Utilizadas:Eclipse;Omondo;JFlex;CUP.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Implementar o Framework

A abordagem escolhida para realizar a análise nas fórmulas é a mesma utilizada por compiladores.

Análise Léxica; Expressões Regulares.

Análise Sintática. Gramática.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Expressões Regulares.

Gramática.

Implementar o Framework

^ Expoente a - z Letras de a até z (Concatenados ou não)

* Multiplicação A - Z Letras de A até Z (Concatenados ou não)

/ Divisão 0 - 9 Números de 0 até 9 (Concatenados ou não)

+ Adição ( ) Parêntese

- Subtração , Vírgula

= Igualdade _ Underscore

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste. Expressão

para Teste:a!a

Instanciar o Framework:

Instanciação de uma aplicação teste.

Expressão para Teste:

a++a

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste.

Expressão para Teste:

a+a

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste para um outro domínio.

Adição do Operador Função ‘ ! ’

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Instanciar o Framework:

Instanciação de uma aplicação teste para um outro domínio.

Adição do Operador Função ‘ ! ’ Expressão

para Teste:a!a

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

3. Metodologia Utilizada

Fases do Desenvolvimento:Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

Validar o Framework:

A sua validação será realizada no framework FRAMEMK, que está em fase de desenvolvimento no GPES.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

3. Metodologia Utilizada3. Metodologia Utilizada

4. Conclusões

Desenvolvimento baseado em uma análise comparativa de domínio.

Possibilidade do reúso.

Desenvolvimento de novas aplicações com base no subframework.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

Metodologia UtilizadaMetodologia Utilizada

4. Conclusões4. Conclusões

5. Melhoras Necessárias

Validação em outros domínios.

Desenvolvimento de uma interface que facilite essa validação.

Comparação entre essa e outras abordagens para a análise de fórmula.

Sumário Sumário

Objetivos da ApresentaçãoObjetivos da Apresentação

Subframework DesenvolvidoSubframework Desenvolvido

Metodologia UtilizadaMetodologia Utilizada

ConclusõesConclusões

5. Melhoras Necessárias5. Melhoras Necessárias

6. Algumas Referências Bibliográficas

GAMMA, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. New York: Addison-Wesley, 1994. 424p.

GPES. Grupo de Pesquisa de Engenharia de Software. Disponível em <http://www.pg.utfpr.edu.br/coinf/gpes/> acesso em 09-nov-2007.

JOHNSON, R. E.; FOOTE, B. Designing Reusable Classes. Journal of the Object-Oriented Programming, v.1, n.2, p.22-35, 1988.

MATOS, S. N.; FERNANDES, C.T. Defining the Architectural Design of Framework through a Group of Subframework Created from Frozen and Hot Spots. In: International Conference on Software Engineering Advances, 2006, Tahiti. Proceedings IEEE Computer Society Press, 2006.

TALIGENT. Building object-oriented frameworks. A Taligent White Paper. 1994.

YASSIN, A., FAYAD, M. E. Application frameworks: A survey. In: FAYAD, M. E., JOHNSON, R. E. Domain-Specific Application Frameworks: Frameworks Experience by Industry. New York: John Wiley & Sons, 2000. Cap. 29 p.615-632.

Perguntas?