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

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

Produtividade em Desenvolvimento de Software e Geração Automática de Código Fabíola Guerra Nakamura Vitor Alcântara Batista.

Apresentações semelhantes


Apresentação em tema: "Produtividade em Desenvolvimento de Software e Geração Automática de Código Fabíola Guerra Nakamura Vitor Alcântara Batista."— Transcrição da apresentação:

1 Produtividade em Desenvolvimento de Software e Geração Automática de Código Fabíola Guerra Nakamura Vitor Alcântara Batista

2 Agenda  Motivação  Aumento de Produtividade no Desenvolvimento de Software  Teoria da Geração de Código  Vantagens e Desvantagens  Demonstração

3 Motivação  A Lei de Acumulação Capitalista – Karl Marx  Mais Valia (ou lucro): é a diferença entre o que o trabalhador agrega ao processo produtivo pelo valor que é pago a ele. O lucro só é obtido através da exploração do trabalhador pelos proprietários dos meios de produção.

4 Motivação  A Lei de Acumulação Capitalista – Karl Marx  O acréscimo de capital devido à mais valia faz crescer na mesma proporção a demanda por força de Trabalho;  Se a força de trabalho não aumenta junto com a demanda, os salários são aumentados, o que causa a redução da mais valia e conseqüentemente a redução da acumulação de capital.

5 Motivação  A Lei de Acumulação Capitalista – Karl Marx  Portanto, a produtividade do trabalho social se torna a mais relevante alavanca da acumulação capitalista.

6 Motivação  Economia de Escala Unidades fabricadas Custo Unitário + Produtividade

7 Aumento da produtividade no desenvolvimento de SW  Alguns meios de aumentar a produtividade:  Processo de Desenvolvimento de Software  Clima Organizacional adequado  Sistema de Recompensas  Uso de Ferramentas Case  Reutilização de Bibliotecas  Uso de geração de código

8 Processo de Desenvolvimento de Software

9 Clima Organizacional Adequado  Empresas precisam de pessoas capacitadas e motivadas  Recomendações:  Manter equipes pequenas (< 10)  Líderes das equipes devem ser admirados pela qualificação técnica  As equipes devem conter membros que tenham skills complementares

10 Sistema de Recompensa  Recomendações:  Utilização de critérios objetivos  Recompensas individuais, por equipes e para toda a organização  Recompensar não só a produtividade em si, mas também a aplicação de novas tecnologias e melhorias na infra-estrutura e no processo

11 Uso de Ferramentas Case  Facilidade de modelagem  Validação semântica dos modelos  Automação de testes  Documentação automática  Geração de parte do código da aplicação

12 Geração de Código  Técnica de construir códigos utilizando programas  Vão scripts simples até programas complexos que transformam modelos lógicos em aplicações completas  Saída é um código que seria escrito a mão

13 Geração de Código  Geradores Ativos  Geram códigos que não são modificados ou são modificados em locais especiais que são preservados quando o código é re- criado  São rodados múltiplas vezes no mesmo código de saída conforme o desenho de entrada ou o gerador muda.

14 Geração de Código  Geradores Passivos  Geram códigos uma vez  Os códigos gerados são modificados pelo desenvolvedor  Provêm um aumento de produtividade inicial

15 Geração de Código  Fluxo Convencional  Editar -> compilar -> testar  Fluxo de geradores ativos:  Rodar o gerador -> compilar -> testar  Se encontrar problema modificar modelo ou código de entrada do gerador e gerar novamente  Fluxo de geradores passivos  Rodar gerador -> editar -> compilar -> testar  Se encontrar problema seguir fluxo convencional

16 Geração de Código  Aplicações mais comuns:  Acesso a banco de dados  Interface com usuário  A geração automática reduz erros.  Para estas aplicações um gerador pode prover código para várias plataformas.

17 Geração de Código  Vantagens  Qualidade  Consistência  Produtividade  Abstração

18 Geração de Código  Desvantagens  Documentação  Educação  Manutenção  Complexidade

19 Geração de Código  Caracterização de geradores  Tipos de Entrada  Códigos  Modelos abstratos  Tipos de Saída  Código de entrada com código adicional  Código novo que implementa parcialmente o desenho e que necessita ser estendido  Código completo

20 Geração de Código  Preocupações  Experiências anteriores sem sucesso  Geradores tentam fazer coisas demais  A qualidade do código de saída pode ser ruim  Substituir desenvolvedores  Muito complexos  Não tem manutenção

21 Geração de Código  Verificar condições favoráveis de utilização  Não deve substituir um desenho sólido de orientação a objetos

22 Geração de Código  Verificar se é possível utilizar um gerador de código  Definir como automatizar o processo  Procurar o gerador que cumpra os requisitos necessários.

23 Geração de Código

24 Demonstração  Vídeo Vídeo

25 Perguntas


Carregar ppt "Produtividade em Desenvolvimento de Software e Geração Automática de Código Fabíola Guerra Nakamura Vitor Alcântara Batista."

Apresentações semelhantes


Anúncios Google