Produtividade em Desenvolvimento de Software e Geração Automática de Código

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Produtividade em Desenvolvimento de Software e Geração Automática de Código - Presentation Transcript

    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 con s truir 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
        • G eram códigos que não são modificados o u 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
        • G eram 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 modifica r modelo ou código de entrada do gerador e gera r 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:
        • A cesso a banco de dados
        • I nterface 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
        • M u ito 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
    25. Perguntas
    SlideShare Zeitgeist 2009

    + elliando diaselliando dias Nominate

    custom

    314 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 314
      • 314 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories