190 likes | 282 Views
Modelos de Processo de Software e X treme P rogramming. MO409 – Engenharia de Software Profa. Eliane Martins. André Drummond RA 992640 Danilo Benzatti RA 980942. Assuntos abordados. Introdução Visão Geral Regras e Práticas Planejando Projetando Codificando Testando Qualidade
E N D
Modelos de Processo de SoftwareeXtreme Programming MO409 – Engenharia de Software Profa. Eliane Martins André Drummond RA 992640 Danilo Benzatti RA 980942
Assuntos abordados • Introdução • Visão Geral • Regras e Práticas • Planejando • Projetando • Codificando • Testando • Qualidade • Configuração de Software • Dificuldades na Vida Real • Conclusões
Introdução • Desenvolvida nos anos 1990 e primeiramente utilizada em março de 1996 por Kent Beck. • Diretrizes • Simplicidade • Comunicação • Coragem • Feedback
Cenários de Teste Clientes Requisitos Iteração Velocidade Plano de Iteração Plano de Entregas Requisitos Bugs Testes de Aceitação Versão Atual Desenvolvimento Novos Requisitos Entrega de Versões Visão Geral
Planejando • Histórias • Plano de Entregas • Pequenas Versões • Velocidade
Planejando (II) • Iterações • Plano de Iteração • Mova as Pessoas • Reuniões Rápidas • Conserte o XP
Projetando • Simplicidade • Metáfora do Sistema • Cartões CRC • Soluções Rápidas • Reestruturação
Codificando • Disponibilidade do Cliente • Padrões de Codificação • Priorize o Teste Unitário • Programação em Pares • Integração de Código • Posse Coletiva do Código • Sem Horas Extras
Testando • Teste Unitário • Bugs • Testes de Aceitação
Qualidade • Mova as Pessoas • Simplicidade • Cartões CRC • Reestruturação • Código Padronizado • Programação em Pares [Willians, 2001] • XP vs CMM [Paulk, 2001]
Configuração de Software [Asklund, 2004] • Aspectos Positivos: • Reuniões Rápidas • Plano de Entregas • Teste Unitário • Testes de Aceitação • Aspectos Negativos • Posse Coletiva do Código • Pequenas Entregas
Dificuldades na Vida Real • Equipes com mais de 20 programadores [Crocker, 2001] • Comprometimento com código existente para manter aplicações existentes; • Longos períodos requeridos para feedback; • Distribuição geográfica de programadores; • Sistemas de grande porte.
Conclusões • XP não tenta prever o futuro • Equipes Pequenas, Requerimentos Vagos, Freqüente Mudanças de Escopo • Organiza o processo de desenvolvimento sem criar burocracias rígidas • Não use Extreme Programming se... • Você já utiliza um processo e os desenvolvedores e clientes estão satisfeitos; • Seus requisitos são realmente fixos;
Referências • http://www.extremeprogramming.org/ • http://www.xispe.com.br/ • [Willians, 2001] Laurie Williams , Richard L. Upchurch, In support of student pair-programming, Proceedings of the thirty-second SIGCSE • [Paulk, 2001] Mark C. Paulk, Extreme Programming from a CMM Perspective, IEEE Software, November/December 2001 • [Asklund, 2004] Ulf Asklund, Lars Bendix, Torbjörn Ekman, Software Configuration Management Practices for eXtreme Programming Teams, Lund Institute of Technology • [Crocker, 2001] Ron Crocker. The 5 reasons XP can't scale and what to do about them, Motorola, Inc.