Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouFrancisco Nery Alterado mais de 9 anos atrás
1
Guilherme Pires Gustavo Royer Chaurais Orientação: Olinto José Varela Furtado Banca: José Eduardo De Lucca e Ricardo Azambuja Silveira
2
Cada vez mais Pessoas capazes de desenvolver seu próprio software Produtividade Evolução natural Muitos conceitos atuais tentam Em vez de escrevermos código compreensível pelo computador, faremo-lo entender o que queremos de uma maneira inteligível por nós
3
Novo paradigma a substituir a Orientação a Objetos Possibilidade de mais pessoas poderem construir seu software Aumento da compreensão e, portanto, da produtividade no desenvolvimento Fortemente baseado em Domain Specific Languages
4
00010371803200717370000000000000000000000000000000000000 10112345 LUIZ INÁCIO DA SILVA31032007000019450000 10254321 FERNANDO HENRIQUE CARDOSO31032007000200030000 10312121 ITAMAR FRANCO31032007000112350000 90317370000000000000000000000000000000000000000000000000
5
procedure LeiaLinha(const Linha: TLinha); begin if PegaCaracteres(Linha, 0, 1) = 0 then //HEADER begin NroBanco := PegaCaracteres(Linha, 2, 3); DataGeracao := PegaCaracteres(Linha, 8, 8); HoraInicioGeracao := PegaCaracteres(Linha, 17, 4); end else if PegaCaracteres(Linha, 0, 1) = 1 then //REGISTRO begin NSR := PegaCaracteres(Linha, 4, 5); NomeCliente := PegaCaracteres(Linha, 9, 28); DataVencto := PegaCaracteres(Linha, 37, 8); ValorAPagar := PegaCaracteres(Linha, 45, 8); end; else if PegaCaracteres(Linha, 0, 1) = 9 then //TRAILER begin NroRegistros := PegaCaracteres(Linha, 2, 2); HoraTerminoGeracao := PegaCaracteres(Linha, 4, 4); end;
6
LER LINHA Se linha for HEADER NroBanco inicia em 2, contando 3 caracteres, DataGeracao inicia em 8, contando 8 caracteres, HoraGeracao inicia em 17, contando 4 caracteres. Se linha for REGISTRO NSR inicia em 4, contando 5 caracteres, NomeCliente inicia em 9, contando 28 caracteres, DataVencto inicia em 37, contando 8 caracteres, ValorAPagar inicia em 45, contando 8 caracteres.
7
Quem de nós (desenvolvedores) nunca imaginou uma tarefa que pudesse ser automatizada e seu resultado fosse código fonte? Problema: sistema para setor imobiliário Solução procurar uma DSL para o domínio Caso exista Utilizá-la Caso contrário Criamos uma Resultado final: código construído por uma ou mais Domain Specific Languages focados em uma plataforma/framework.
8
Estudo de caso em sistema para Cálculo de Folhas de Pagamento Desenvolvimento de duas versões: Orientada a Objetos Language Oriented Posterior análise comparativa
9
Versão Orientada a Objetos Linguagem de Programação: C# Ambiente de Desenvolvimento: Microsoft Visual Studio 2005 Metodologia Utilizada: Test-Driven Development Versão Language Oriented Ferramenta para construção de DSLs : Microsoft DSL Tools
10
Versão Orientada a Objetos Módulos resultantes PayrollCalc PayrollTests PayrollInterface PayrollCalc.Regras PayrollCalc.Exportadores
12
Versão Language Oriented Linguagens construídas/utilizadas Payrule – Regras Payxport - Exportadores
13
Vídeo de Exemplo
21
Geração de Código Final em LOP Raramente um programa executável será resultante Ferramentas Utilizadas O Microsoft DSL Tools é baseado em diagramas gráficos Talvez para a linguagem Payxport seria mais fácil utilizarmos um ambiente baseado em texto
22
LOP torna muito mais fácil a compreensão sobre o programa escrito Muito facilmente alguém que possua conhecimentos em Cálculos de Folha de Pagamento poderia realizar uma alteração nas Regras Tempo para a construção de um projeto Language Oriented Conhecimento sobre metodologia e ferramenta de desenvolvimento das DSLs Documentação e exemplos disponíveis Pré-existência das linguagens envolvidas
23
Necessita amadurecimento Facilita a compreensão por qualquer pessoa Agiliza o processo Caso não seja com esse nome, muitos conceitos estarão presentes no próximo paradigma Previsões Padrões para desenvolvimento de DSLs Diferença bastante grande entre programador de Domain Specific Languages e desenvolvedor de sistemas Empresas especializadas na construções desse tipo de linguagem
24
Domain-specific language approach to modelling UI architecture of mobile telephony systems (Lee, J.-S.; Chae, H.S.) Using domain specific languages to instantiate object-oriented frameworks (Fontoura, M.; Braga, C.; Moura, L.; Lucena, C.) A domain-specific language approach to programmable networks (G. Muller; J.L. Lawall; S. Thibault; R.E. Voel Jensen)
25
Construção de ferramenta para a elaboração de Domain Specific Languages Utilização de uma DSL por não-programadores Desenvolvimento de padrões para construção e uso de DSLs
26
Orientandos Guilherme Pires Gustavo Royer Chaurais Orientação Olinto José Varela Furtado Banca José Eduardo De Lucca Ricardo Azambuja Silveira
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.