A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho Orientador: Prof. M. Sc. Marum Simão Filho.

Apresentações semelhantes


Apresentação em tema: "Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho Orientador: Prof. M. Sc. Marum Simão Filho."— Transcrição da apresentação:

1 Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho Orientador: Prof. M. Sc. Marum Simão Filho

2 Agenda Introdução Padrões de Projeto Facade Interpreter Strategy DSL - Domain-Specifc Language DDD - Domain-Driven Design DSL - Domain-Specifc Language Exemplos de DSL Tipos de DSL 20 de abril de 20142

3 Agenda Aplicando Padrões de Projeto no Desenvolvimento de DSL Domínio Modelo Aplicando padrões de Projeto Aspectos de Implementação DSL e os Padrões de Projeto Facade Interpreter Strategy Conclusões e Trabalhos Futuros 20 de abril de 20143

4 Introdução Motivação Implementação de uma DSL; Utilização de Padrões de Projeto. Objetivo Aplicar e analisar a utilização de Padrões de Projeto na construção de uma ferramenta que implementa DSL. 20 de abril de 20144

5 Padrões de Projeto Cada padrão descreve um problema no nosso ambiente e o cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca fazê-lo da mesma maneira (Alexander, 1979). Conceito: são descrições de boas soluções aplicadas recorrentemente para resolver problemas específicos. 20 de abril de 20145

6 Padrões de Projeto Alguns Elementos Nome Problema Solução Conseqüências Classificações Finalidade Criacionais, Comportamentais e Estruturais Escopo Objeto e Classe 20 de abril de 20146

7 Padrão de Projeto Facade Conceito: Fornece uma interface que unifica um conjunto de outras interfaces de um mesmo sistema. Motivações: Redução da complexidade, que torna o projeto livre de maiores dependências, minimizando as comunicações; Organização e controle; Facilita manutenção. 20 de abril de 20147

8 Padrão de Projeto Facade Figura 1 – Entendendo o padrão Façade (GAMMA et al., 2006, p. 179) 20 de abril de 20148

9 Padrão de Projeto Interpreter Conceito: Dada uma linguagem, definir uma representação para a sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças dessa linguagem (GAMMA et al, 2006, p. 186). Motivações: Resolver problemas de mapeamento de expressões recorrentes onde os termos podem ser mapeados. 20 de abril de 20149

10 Padrão de Projeto Interpreter Figura 2 – Estrutura do Padrão Interpreter (GAMMA et al, 2006, p. 234) 20 de abril de

11 Padrão de Projeto Strategy Conceito: define famílias de algoritmos e as torna passíveis de comunicação, permitindo que o algoritmo possa variar, independente dos clientes que o utilizam. Motivações: Quando é necessário permitir que o algoritmo que será executado possa ser escolhido em tempo de execução; Estratégia não utiliza herança como fator principal. 20 de abril de

12 Padrão de Projeto Strategy Figura 3 – Estrutura do padrão Strategy (GAMMA et al, 2006, p. 294) 20 de abril de

13 DSL - Domain-Specific Languages Desenvolvimento de Software mais próximo do cliente DDD - Domain-Driven Design Domínio Modelo DSL - Domain-Specific Language Tipos: Interna Externa 20 de abril de

14 SQL DSL - Domain-Specific Languages Figura 3 – Exemplo de DSL Externa – SQL 20 de abril de

15 Aplicando Padrões de Projeto Estudo de Caso: Aplicativo para recebimento de resultados de análises clínicas. Domínio: Laboratórios de Análises Clínicas. Modelo: Baseado em um diagrama de fluxo de dados. 20 de abril de

16 Aplicando Padrões de Projeto Modelo: Figura 4 – Modelo do Estudo de Caso 20 de abril de

17 Aplicando Padrões de Projeto 20 de abril de Padrão de Projeto Facade Motivações Complexidade nas instruções de leitura de arquivos; Número de funções utilizadas no processo; Objetivos Compreensão do perito do domínio; Manutenção do código; Regras de Negócio envolvidas;

18 Aplicando Padrões de Projeto Padrão de Projeto Interpreter SÍMBOLOSSIGNIFICADO --Muito Abaixo do Normal -Abaixo do Normal NormNormal +Acima do Normal ++Muito Acima do Normal Tabela 1 – Exemplo de Aplicação do Padrão Interpreter 20 de abril de

19 Aplicando Padrões de Projeto 20 de abril de Padrão de Projeto Strategy Motivação Formas diferentes de salvar os arquivos tratados; Possibilidade de alteração em tempo de execução. Objetivo Tornar flexível a forma de geração dos arquivos.

20 Aplicando Padrões de Projeto 20 de abril de Aspectos de Implementação DSL e a Linguagem de Programação Vantagens da utilização dos Padrões de Projeto Facade Necessidade de novos níveis de abstração Interpreter DSL Externas Utilização com cautela Strategy Flexibilidade Criação de níveis de Abstração

21 Conclusões e Trabalhos Futuros Conclusões Necessidade de criação de Níveis de Abstração; Padrões de Projeto => Novos Níveis de Abstração; Flexibilidade de Desenvolvimento; Confiança sobre o código escrito. Trabalhos Futuros Análise comparativa de técnicas de desenvolvimento; Desenvolvimento de padrões mais específicos para DSL; Técnicas de construção de modelo do Domínio. 20 de abril de

22


Carregar ppt "Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho Orientador: Prof. M. Sc. Marum Simão Filho."

Apresentações semelhantes


Anúncios Google