











































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Trabalho sobre métodos ágeis do prof. Marcelo Duduchi, Fatec SP.
Tipologia: Slides
1 / 51
Esta página não é visível na pré-visualização
Não perca as partes importantes!












































Prof. MarceloProf. MarceloProf. MarceloProf. Marcelo DuduchiDuduchiDuduchiDuduchi Adriano PadilhaAdriano Padilha André Luis Ribeiro de AlencarAndré Luis Ribeiro de Alencar FábioFábio GoiaGoia WalidWalid MradMrad
Em 2001 , através de Kent Beck e 16 profissionais de softwareEm 2001 , através de Kent Beck e 16 profissionais de software conhecidos como a “Aliança Ágil”conhecidos como a “Aliança Ágil”
A engenharia de software ágil combina uma filosofia e umA engenharia de software ágil combina uma filosofia e um conjunto de diretrizes de desenvolvimentoconjunto de diretrizes de desenvolvimento A filosofia encoraja a satisfaçãoA filosofia encoraja a satisfaçãoA filosofia encoraja a satisfaçãoA filosofia encoraja a satisfação do cliente e a entrega incrementaldo cliente e a entrega incremental do software logo de iníciodo software logo de início As diretrizes de desenvolvimentoAs diretrizes de desenvolvimento enfatizam a entrega emenfatizam a entrega em contraposição à análisecontraposição à análise e a ao projetoe a ao projeto
É feita por engenheiros de software e demais interessadosÉ feita por engenheiros de software e demais interessados no projeto (gerentes, clientes e usuários finais)no projeto (gerentes, clientes e usuários finais) É importante porque o ambiente moderno de negócios éÉ importante porque o ambiente moderno de negócios é apressado e mutável e exige isto do desenvolvimento deapressado e mutável e exige isto do desenvolvimento deapressado e mutável e exige isto do desenvolvimento deapressado e mutável e exige isto do desenvolvimento de softwaresoftware As atividades básicas como comunicação com o cliente,As atividades básicas como comunicação com o cliente, planejamento, modelagem, construção, entrega e avaliaçãoplanejamento, modelagem, construção, entrega e avaliação fazem parte do desenvolvimento ágilfazem parte do desenvolvimento ágil O único produto realmente importante é um incremento deO único produto realmente importante é um incremento de software operacional entregue na data combinadasoftware operacional entregue na data combinada
5.5. Construção de projetos em torno de indivíduos motivados.Construção de projetos em torno de indivíduos motivados. ForneçaForneça--lhes o ambiente e apoio que precisam e confie quelhes o ambiente e apoio que precisam e confie que eles farão o trabalhoeles farão o trabalho 6.6. O método mais eficiente e efetivo de levar informação paraO método mais eficiente e efetivo de levar informação para e dentro de uma equipe de desenvolvimento é a conversae dentro de uma equipe de desenvolvimento é a conversae dentro de uma equipe de desenvolvimento é a conversae dentro de uma equipe de desenvolvimento é a conversa face a faceface a face 7.7. Software funcionando é a principal medida de progressoSoftware funcionando é a principal medida de progresso 8.8. Processos ágeis promovem desenvolvimento sustentável.Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem serOs patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamentecapazes de manter um ritmo constante indefinidamente
9.9. Atenção contínua à excelência técnica e ao bom projetoAtenção contínua à excelência técnica e ao bom projeto facilitam a agilidadefacilitam a agilidade
As primeiras idéias sobre o XP surgiram por volta de 1980As primeiras idéias sobre o XP surgiram por volta de 1980
O primeiro trabalho sobre o assunto foi esrito por KENTO primeiro trabalho sobre o assunto foi esrito por KENT BECK em 1999BECK em 1999 Trabalho subseqüentes escritos por:Trabalho subseqüentes escritos por:
Extreme Programming (XP)Extreme Programming (XP) nn Figura1Figura
Extreme Programming (XP)Extreme Programming (XP)
Inicia criando um conjunto de histórias que descrevem asInicia criando um conjunto de histórias que descrevem as características e funcionalidades requeridascaracterísticas e funcionalidades requeridas Cada história é escrita pelo cliente e colocada em umCada história é escrita pelo cliente e colocada em umCada história é escrita pelo cliente e colocada em umCada história é escrita pelo cliente e colocada em um cartão de indexação o qual atribui um valor para cadacartão de indexação o qual atribui um valor para cada história com base no valor global do negóciohistória com base no valor global do negócio Membros da equipe avaliam as historias e atribuem custosMembros da equipe avaliam as historias e atribuem custos em semanas de desenvolvimento caso necessite de maisem semanas de desenvolvimento caso necessite de mais de três semanas para desenvolver uma história é sugeridode três semanas para desenvolver uma história é sugerido ao cliente dividir a história em histórias menoresao cliente dividir a história em histórias menores
Após a entrega da primeira versão do software, é calculadaApós a entrega da primeira versão do software, é calculada a velocidade do projeto.a velocidade do projeto.
O xp segue rigorosamente o principio Kis(keep it simpleO xp segue rigorosamente o principio Kis(keep it simple – – mantenha a simplicidade)mantenha a simplicidade) Extreme Programming (XP)Extreme Programming (XP)
Implementar a história como esta escrita, nem maisImplementar a história como esta escrita, nem mais nem menosnem menosnem menosnem menos Encoraja o uso de cartõesEncoraja o uso de cartões CRC(ClassCRC(Class-- ResponsabilityResponsability – – Colaborator) para raciocinarColaborator) para raciocinar em projetos de softwaresem projetos de softwares orientados a objetosorientados a objetos
Caso um problema difícil é encontrado no projeto,Caso um problema difícil é encontrado no projeto, recomenda a criação imediata e implementação de umrecomenda a criação imediata e implementação de um protótipo operacional para que seja avaliado, com intençãoprotótipo operacional para que seja avaliado, com intenção de diminuir o risco na implementação real.de diminuir o risco na implementação real. Extreme Programming (XP)Extreme Programming (XP) nn ProjetoProjeto de diminuir o risco na implementação real.de diminuir o risco na implementação real. Encoraja a refabricação, processo de aperfeiçoamento daEncoraja a refabricação, processo de aperfeiçoamento da estrutura interna do software (limpeza de códigoestrutura interna do software (limpeza de código – – modificar e simplificar), sem que altere o comportamentomodificar e simplificar), sem que altere o comportamento externo do software. Ocorre tanto antes quanto depois queexterno do software. Ocorre tanto antes quanto depois que a codificação começa.a codificação começa.
Extreme Programming (XP)Extreme Programming (XP) nn CodificaçãoCodificação Ao invés de avançar para codificação após oAo invés de avançar para codificação após o desenvolvimento das histórias, desenvolva uma sériedesenvolvimento das histórias, desenvolva uma série de testes unitários que exercitarão cada uma dasde testes unitários que exercitarão cada uma das histórias que devem ser incluídas na versão atualhistórias que devem ser incluídas na versão atualhistórias que devem ser incluídas na versão atualhistórias que devem ser incluídas na versão atual Uma vez completado o código éUma vez completado o código é submetido ao teste unitáriosubmetido ao teste unitário