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

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

Guilherme Pires Gustavo Royer Chaurais Orientação: Olinto José Varela Furtado Banca: José Eduardo De Lucca e Ricardo Azambuja Silveira.

Apresentações semelhantes


Apresentação em tema: "Guilherme Pires Gustavo Royer Chaurais Orientação: Olinto José Varela Furtado Banca: José Eduardo De Lucca e Ricardo Azambuja Silveira."— Transcrição da apresentação:

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

11

12  Versão Language Oriented  Linguagens construídas/utilizadas  Payrule – Regras  Payxport - Exportadores

13 Vídeo de Exemplo

14

15

16

17

18

19

20

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


Carregar ppt "Guilherme Pires Gustavo Royer Chaurais Orientação: Olinto José Varela Furtado Banca: José Eduardo De Lucca e Ricardo Azambuja Silveira."

Apresentações semelhantes


Anúncios Google