APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA...
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?