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

Apresentações semelhantes


Apresentação em tema: "Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho"— Transcrição da apresentação:

1 Aplicando Padrões de Projeto no Desenvolvimento de DSL: Um estudo de caso
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 DSL - Domain-Specifc Language
Facade Interpreter Strategy DSL - Domain-Specifc Language DDD - Domain-Driven Design Exemplos de DSL Tipos de DSL 26 de março de 2017

3 Agenda Conclusões e Trabalhos Futuros
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 26 de março de 2017

4 Introdução Motivação Objetivo 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. 26 de março de 2017

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. 26 de março de 2017

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

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. 26 de março de 2017

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

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. 26 de março de 2017

10 Padrão de Projeto Interpreter
Figura 2 – Estrutura do Padrão Interpreter (GAMMA et al, 2006, p. 234) 26 de março de 2017

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. 26 de março de 2017

12 Padrão de Projeto Strategy
Figura 3 – Estrutura do padrão Strategy (GAMMA et al, 2006, p. 294) 26 de março de 2017

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 26 de março de 2017

14 DSL - Domain-Specific Languages
SQL Figura 3 – Exemplo de DSL Externa – SQL 26 de março de 2017

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. 26 de março de 2017

16 Aplicando Padrões de Projeto
Modelo: 26 de março de 2017 Figura 4 – Modelo do Estudo de Caso

17 Aplicando Padrões de Projeto
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; 26 de março de 2017

18 Aplicando Padrões de Projeto
Padrão de Projeto Interpreter SÍMBOLOS SIGNIFICADO -- Muito Abaixo do Normal - Abaixo do Normal Norm Normal + Acima do Normal ++ Muito Acima do Normal Tabela 1 – Exemplo de Aplicação do Padrão Interpreter 26 de março de 2017

19 Aplicando Padrões de Projeto
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. 26 de março de 2017

20 Aplicando Padrões de Projeto
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 26 de março de 2017

21 Conclusões e Trabalhos Futuros
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. 26 de março de 2017

22 OBRIGADO!!!


Carregar ppt "Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho"

Apresentações semelhantes


Anúncios Google