Programação Extrema
Transcrição
Programação Extrema
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Programação Extrema Laboratório de Programação Extrema (Equipe de Desenvolvimento e Documentação do Projeto) Prof. Mauro Lopes Programação Extrema – Prof. Mauro Lopes 1 - 17 31 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Objetivos • Iremos aqui iniciar a construção de um pequeno sistema de software de forma colaborativa utilizando XP. Abordaremos as práticas da metodologia e as práticas de programação que trazem agilidade ao desenvolvimento de software. Abordaremos desde tópicos técnicos como testes automatizados, design patterns, refatoração e o processo de build até a integração contínua e o uso de controle de versão. Além disso, falaremos dos valores ágeis, das reuniões diárias, jogo do planejamento, métricas de qualidade de código e controle geral do processo de desenvolvimento. Programação Extrema – Prof. Mauro Lopes 2 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Plano de Aula • A Equipe de Desenvolvimento – – – – – Gerente de Projeto Coach Analista de Teste Redator Técnico Desenvolvedor • A Documentação do Projeto – – – – – Por que documentar ? Até que ponto documentar ? O uso incorreto da documentação Quando documentar ? Quais documentos compõem a documentação do XP ? Programação Extrema – Prof. Mauro Lopes 3 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Uma equipe que utilize XP é composta por pessoas que exerçam ao menos os seguintes papéis: – Gerente de Projeto – Analista de Teste – Redator Técnico – Desenvolvedor Programação Extrema – Prof. Mauro Lopes 4 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Gerente de Projeto – O Gerente de Projeto é responsável principalmente pelo relacionamento da equipe de desenvolvimento com o cliente; – Ele é responsável por reportar ao cliente o andamento da equipe; – O Gerente do Projeto deve servir como filtro para a equipe de desenvolvimento – evitar aspectos administrativos e burocráticos; – Responsável pelo contato com as pessoas que a equipe precisa (cliente), prover equipamentos, softwares, itens de escritório, etc; – Gerente do Projeto e o Coach devem estar alinhados; – Um grande problema: Gerente com visão baseado nos processos tradicionais !!! Programação Extrema – Prof. Mauro Lopes 5 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Coach – O papel do Coach é assegurar que equipe respeite e utilize diariamente os valores e práticas do XP; – “O processo de desenvolvimento ágil deve atuar fortemente sobre o comportamento das pessoas que formam a equipe” – responsabilidade do Coach. – Por isso é necessário alguém que atue verificando diariamente o andamento da equipe mostrando eventuais erros que venham acontecendo; – O Coach possui bastante conhecimento técnico e conhece profundamente o processo de desenvolvimento ágil; – O Coach é quem orienta o desenvolvimento e é o responsável técnico pelo sistema. Programação Extrema – Prof. Mauro Lopes 6 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Analista de Teste – O Analista de Teste é responsável por testar e garantir a qualidade do sistema; – Deve ajudar o cliente a escrever os testes de aceitação e deve assegurar que o sistema esteja respeitando todos eles; – Uma Equipe de desenvolvimento não pode deixar de ter este profissional, isso evita erros catastróficos no processo; – Um Analista de Testes não pode ser um desenvolvedor (influenciado pela codificação ou ter visões tendenciosas). Este deve ter uma visão mais próximo do cliente; – Analista de Testes = Redator Técnico (ser a mesma pessoa) – estas ações podem ser compartilhadas; Programação Extrema – Prof. Mauro Lopes 7 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Redator Técnico – O Redator Técnico é responsável por manter as documentações do sistema devidamente atualizadas; – Evita que desenvolvedores se envolvam fortemente com documentação (codificar, codificar, codificar...) – Para gerar a documentação o Redator deve trabalhar em sintonia com os desenvolvedores e com o cliente; – A documentação deve refletir bem o código e os processos de negócios que serão apoiados pelo sistema; Programação Extrema – Prof. Mauro Lopes 8 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA A Equipe de Desenvolvimento • Desenvolvedor – É a pessoa que analisa, projeta e codifica o sistema; – Dentro do XP não há divisão entre analista, projetista, programadores, etc; – Cada desenvolvedor exerce estes diferentes papeis em diversos momentos do projeto; – Naturalmente existem desenvolvedores com níveis diferentes de habilidade. Geralmente estas diferenças são minimizadas através das práticas do XP (programação em pares, etc); – Em uma equipe inicial de desenvolvedores XP, o papel do Coach é fundamental. Programação Extrema – Prof. Mauro Lopes 9 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Documentação do Projeto • Por que documentar ? – Softwares complexos são desenvolvidos por diversas pessoas; – A manutenção é um evento comum no processo de desenvolvimento de sistemas; – E durante a manutenção volta-se diversas vezes ao código, seja para fazer correções de problemas que não foram identificados ao longo do desenvolvimento seja para acrescentar novas funcionalidades, ou para alterar as já existentes; – O desenvolvedor deverá compreender o código para alterá-lo de forma segura e rápida; – A documentação é importante pois dará suporte ao desenvolvedor mesmo que este não tenha participado do desenvolvimento do Sistema. Programação Extrema – Prof. Mauro Lopes 10 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Documentação do Projeto • Até que ponto documentar ? – O XP considera que o código é o principal elemento de um projeto de software; – No entanto um projeto de software não produz apenas código, teremos testes de unidade, testes de aceitação, documentações entre outros; – Documentar não é o objetivo principal do projeto. O tempo que se gasta documentando poderia ser usado para codificação; – Porém não se deve cometer excessos e nem omissões; – A Refatoração, código coletivo e de programação em par fazem com que o código gerado seja mais limpo que o normal; – Importante: As práticas são importantes mas não eliminam a necessidade de documentar, apenas reduz o esforço. Programação Extrema – Prof. Mauro Lopes 11 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Documentação do Projeto • O uso incorreto da documentação – Alguns projetos tem total ausência de documentação: projetos pequenos ou então totalmente caóticos; – Os Processos Tradicionais recomendam a criação de inúmeros artefatos ao longo do desenvolvimento; – Esta prática é herança de uma visão em que o custo de uma alteração no software cresce exponencialmente; – No entanto temos: A Evolução das ferramentas de desenvolvimento contra a baixa evolução das ferramentas de documentação; – Um grande problema: Dificuldade em manter documentação atualizada e consistente com o código; – Como confiar em um documento que não reflete a realidade ? Programação Extrema – Prof. Mauro Lopes 12 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Documentação do Projeto • Quando documentar ? – O XP produz a documentação de forma diferente. Ele documenta apenas o mínimo necessário antes de chegar ao código; – A documentação do XP descreve aquilo que foi efetivamente codificado. Ele não descreve aquilo que se espera que seja codificado – como em um processo tradicional; – No Processo Tradicional documentamos bastante antes de chegar até o código, no XP não; – Documentar depois de codificar é perigoso. Deve-se concluir a documentação de uma iteração ainda dentro da iteração; – Documentar não pode ser deixado para o final do projeto; – Como a iteração é um espaço pequeno gerando pouca funcionalidade -> pouca documentação. Programação Extrema – Prof. Mauro Lopes 13 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Documentação do Projeto • Documentos que compõe a documentação do XP – – – – – – – – – – – Estória Testes de Aceitação Testes de Unidade Javadoc Modelo de Classes Modelo de Dados Processos de Negócio Manual do Usuário Acompanhamento diário Acompanhamento do Projeto Fotos Programação Extrema – Prof. Mauro Lopes 14 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Perguntas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva Programação Extrema – Prof. Mauro Lopes 15 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Próxima Aula... • Laboratório de Programação Extrema: Usando o GIT Programação Extrema – Prof. Mauro Lopes 16 -17 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA Referências • Materiais avulsos da Internet e o Livro Extreme Programming, Vinicius Manhães Teles, 1ª Edição - Editora Novatec, 316 páginas. Programação Extrema – Prof. Mauro Lopes 17 -17
Documentos relacionados
Programação Extrema
Objetivos • Iremos aqui iniciar a construção de um pequeno sistema de software de forma colaborativa utilizando XP. Abordaremos as práticas da metodologia e as práticas de programação que trazem ag...
Leia maisAula 13
Usando o MySql ADO.NET Provider • MySqlConnection: Representa a conexão a uma instância que possui uma fonte de dados MySQL; • MySqlCommand: Representa os comandos SQL a serem executados em uma fon...
Leia mais