IC Cuidando de Sistemas Doentes

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

    IC Cuidando de Sistemas Doentes - Presentation Transcript

    1. Integração Contínua Cuidando de Sistemas Doentes
    2. Quem sou eu • Jefferson Moreira - www.jeffmor.com • Ciência da Computação / Engenharia de Software OO • Desenvolvedor e Coordenador Qualidade de Software da Agence Consultoria. • Desenvolvedor desde 2002 (PHP, Delphi, C++) • Com Java desde 2003 • Instrutor do SENAC • Coordenador do JUG-MS
    3. Objetivo Gerar Software funcionando :D • Confiança no produto • Diagnosticar problemas • Verificar a qualidade do Software. • Redução de Riscos • Automatização de processos repetitivos • Prática dos conceitos. •
    4. Agenda • Histórico Mitos • Testes • Controle de Versão • Processo de Integração Contínua • Servidores • Inspeção e Práticas • Feedback •
    5. Histórico – 80
    6. Histórico – 80 • Anos 80 - década da “caverna” • Ausência de metodologias de desenvolvimento[9] • Programação procedural e estruturada. [9] • Dificuldade de simular relações entre entidades em processos de negócios. [9]
    7. Histórico – 90
    8. Histórico – 90[9] Linguagem UML. • Processos Unificados (UP). • Metodologias Orientadas a Objetos. • Fases bem definidas e controladas. • “Igual” a Engenharia Civil. • Concepção, Elaboração, Construção e • Transição.
    9. Processo Unificado[9] Código complexo. • Manutenção difícil. • Baixa produtividade. • Cronograma sempre atrasado. • Insatisfação de todos. • Documentação defasada, excessiva e • ilegível. • Fracasso no projeto.
    10. Metodologia Ágil [1] • Satisfação do Cliente como prioridade máxima, através da entrega contínua de valor agregado • A principal medida de progresso é software funcionando • Equipes auto-gerenciáveis, indivíduos motivados, comunicação e simplicidade são valores importantes • Melhoria Contínua para maximizar a produtividade e excelência da equipe
    11. Agenda • Histórico • Mitos Testes • Controle de Versão • Integração Contínua • Servidores • Inspeção e Práticas • Feedback •
    12. Bombeiros?
    13. Bombeiros? • Será que desenvolvedores tem que ficar sempre apagando incêndios? • Será que não estamos desrespeitando os nossos sistemas com essa atitute?
    14. Sistemas Doentes • Já viu algum sistema “doente”? • Alguns sistemas são muito dodóis • Já viu algum sistema ser infectado por algum vírus (Desenvolvedor)?
    15. Sistemas como PACIENTES!
    16. Vacina ajuda!
    17. Mas o negócio é T-E-S-T-AR
    18. Escrevendo testes!
    19. Depois eu escrevo o teste
    20. O prazo está apertado. Vamos deixar os testes para a próxima fase!
    21. Na minha máquina funcionou!
    22. Sendo médico
    23. A verdade! Repleto de Best Practices • Muito se fala • Raramente se faz • Casos de teste sempre são deixados para • depois • Quanto mais pressão você sofre, menos testes você escreve.
    24. Agenda • Histórico • Mitos • Testes Controle de Versão • Integração Contínua • Servidores • Inspeção e Práticas • Feedback •
    25. Testes • Essencial para análise de desempenho • Aumento de produtividade dos desenvolvedores • Essencial para refactoring
    26. Ferramentas de teste • JUnit • Selenium, httpUnit, WebDriver (aplicações web) • Cactus (aplicações EJB) • jemmy e Abbot (aplicações Desktop)
    27. Agenda • Histórico • Mitos • Testes • Controle de Versão Integração Contínua • Servidores • Inspeção e Práticas • Feedback •
    28. Controle de Versão CVS • Subversion • ClearCase • Perforce • StarTeam • Git • PVCS, VSS e MKS e etc... •
    29. Agenda Histórico • Mitos • Testes • Controle de Versão • • Integração Contínua • Servidores • Inspeção e Práticas • Feedback
    30. Integração Contínua • Integração contínua consiste em integrar o trabalho diversas vezes ao dia, assegurando que a base de código permaneça consistente ao final de cada integração.
    31. Demonstração do processo
    32. Agenda Histórico • Mitos • Testes • Controle de Versão • Integração Contínua • • Servidores • Inspeção e Prática • Feedback
    33. Impraticável rodar todos os testes a cada alteração
    34. Servidores Hudson • Cruise Control • Continuum • Luntbuild • Anthill • Pulse • Build Forge • Damage Control • Team City • Gump •
    35. [5 ] • Disponibilizado como Open Source pela ThoughtWorks • Implementado em Java • Administração Desktop • Interface um pouco confusa. • Suporte a Java apenas, mas com uma versão dedicada a .NET
    36. [5 ] • Open Source desenvolvido pela Apache Fundation • Desenvolvido em Java • Administração via WEB • Suporte nativo a ANT, Maven 1 e 2 e Shell Script para outras linguagens
    37. • Disponibilizado como Open Source pela Sun. • Facilidade de instalação e utilização. • Muitos plugins. • Suporte 8 idiomas inclusive o Português.
    38. Agenda Histórico • Mitos • Testes • Controle de Versão • Integração Contínua • Servidores • • Inspeção e Prática • Feedback
    39. Go Go Go
    40. Agenda Histórico • Mitos • Testes • Controle de Versão • Integração Contínua • Servidores • Inspeção e Prática • • Feedback
    41. Paciente tratado
    42. Feedback • Difícil enxergar se você é o único desenvolvedor da equipe. • Fundamental para testar. • A grande maioria dos bugs se manifestam já no mesmo dia em que são comitados. • Aumento de produtividade. • Métricas de qualidade aferidas. • Paciente tratado!
    43. Referências [1]http://w w w .m a rtinfo w ler.c om /a rtic les /c ontinuous I nteg ra tio n.htm l [2]http://w w w .im pro veit.c om .br/x p/pra tic a s /integ ra c a o [3]http://w w w .ja m es s hore.c o m /B lo g /C ontinuous -I nteg ra tion- on-a -D olla r-a -D a y.htm l [4]http://ja yflow ers .c o m /jo om la /index .php? optio n=c om _c onten t& ta s k =view & id=26 [5]http://blog .uruba ta n.c om .br [6]http://rfium e.blog s pot.c om /2007/03/tes tes -de-a c eita o -em - a plic a es -s w ing .htm l [7] J a va M a g a zine – C ons truç ã o e T es tes A uto m a tiza dos . A no 4 E diç ã o 62 [8]http://w w w - 128.ibm .c om /developerw ork s /ra tiona l/libra ry/s ep05/lee/ [9]http://w w w .m ilfont.org [10]http://m a ldita c o m edia .blog s po t.c om
    44. Dúvidas?
    45. Copyright Jefferson Moreira www.jeffmor.com jeffmor@gmail.com
    46. Licença Este material está licenciado sob a Licença Creative-Commons • Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil Você pode: • – Copiar, distribuir, exibir e executar a obra – Criar obras derivadas Sob as seguintes condições: • – Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. – Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais. – Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.
    SlideShare Zeitgeist 2009

    + jeffmorjeffmor Nominate

    custom

    377 views, 0 favs, 1 embeds more stats

    Qual software não é "doente"? Todos são ou serã more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 377
      • 340 on SlideShare
      • 37 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds
    • 37 views on http://www.jeffmor.com

    more

    All embeds
    • 37 views on http://www.jeffmor.com

    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