Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia de Software
Grupo nº 03
Turma: A – M
Período: Regular
Ano académico: 3º
Ano lectivo: 2022/2023
Grupo nº 02
O Docente:
Turma: A – M
Período: Regular Eng. António Makumbi
Ano académico: 2º
Ano lectivo: 2021/2022
Caxito, Janeiro de 2023
O
Escola Superior Pedagógica do Bengo
DEPARATAMENTO DE ENSINO, INVESTIGAÇÃO DE CIÊNCIAS EXACTAS
Curso de Licenciatura em Ensino de Informática
Engenharia de Software
Autores
Diolinda Nicolau
Florença Sonde
Francisco Alberto
Gabriel Canombo
Garcia Diazambo
Ismael Voza
Laurindo Moisés
Matondo Paulino
Rosa Raúl
INTRODUÇÃO ........................................................................................................ 1
Conclusão ................................................................................................................ 10
Bibliografia .............................................................................................................. 11
INTRODUÇÃO
1
1. Programação Extrema XP
2
1.1. Conceito da Programação Extrema
O “XP” vem dando certo nas empresas, pois com ele são criados softwares de melhor
qualidade e com um investimento menor, mas para que isso aconteça é obedecida uma série
de princípios, valores e práticas que divergem totalmente da forma tradicional de se produzir
software.
1.1.1. Princípios
• Auto- semelhança
• Benefício Mútuo
• Diversidade
Essa prática sugere que os desenvolvedores da equipe possuam ideias diferentes, pois
na hora de resolver um determinado problema, cada um possa apresentar um ponto de vista
diferente e assim escolher a melhor solução para a resolução do problema.
3
• Falha
• Humanismo
• Melhoria
as ferramentas.
4
1.3. Valores da Metodologia XP
• Simplicidade
• Comunicação
Se o código for complexo, você deve fazer um esforço para torná-lo inteligível. O
código a autodocumentação é mais confiável do que os comentários, pois estes logo
5
eles ficam desatualizados com o código à medida que ele é modificado. Só deve ser
comentado o que não vai mudar, por exemplo o objetivo da uma classe ou a
funcionalidade de um método. Os testes de unidade são outra maneira de
comunicação, pois descrevem o desenho das classes e os métodos aos quais mostrar
exemplos concretos de como usar sua funcionalidade.
• Comentários (Feedback)
À medida que o cliente é integrado no projeto, a sua opinião sobre o estado do projeto
é conhecida em tempo real.
Ao realizar ciclos muito curtos após os quais os resultados são mostrados, minimiza
a necessidade de refazer peças não conformes e ajuda o programador que foca no que é mais
importante. Considere os problemas decorrentes de ciclos muito longos.
Meses de trabalho podem ser jogados fora devido a mudanças nos critérios do cliente
ou mal-entendidos por parte da equipe de desenvolvimento. O código também é uma fonte
de feedback graças ao ferramentas de desenvolvimento. Por exemplo, os testes de unidade
informam sobre o estado de saúde do código. Executar testes de unidade com frequência
permite descobrir bugs devido a mudanças recentes no código.
• Coragem
Muitas das práticas envolvem coragem. Uma delas é sempre projetar e agende para
hoje e não para amanhã. Este é um esforço para evitar ficam atolados no design e exigem
muito tempo e trabalho para implementar tudo o mais no projeto. A coragem permite
desenvolvedores que se sintam à vontade para reconstruir seu código sempre que necessário.
6
Isso significa revisar o sistema existente e modificá-lo, se necessário mudanças futuras serão
mais facilmente implementadas. Outro exemplo de bravura é saber quando descartar código:
coragem para remover código-fonte obsoleto, sem não importa quanto esforço e tempo foram
investidos na criação desse código. Também, bravura significa persistência: um programador
pode ficar sem avançar em um problema complexo por um dia inteiro, e então resolvê-lo
rapidamente um dia em seguida, somente se for persistente.
Um projeto XP atravessa algumas fases durante o seu ciclo de vida. Essas fases são
compostas de várias tarefas que são executadas, denominadas: exploração, planejamento
inicial, iterações do release, produção, manutenção e morte.
A fase de planejamento inicial: deve ser usada para que os clientes concordem em
uma data para lançamento do primeiro release. O planejamento funciona da seguinte forma:
Os programadores, juntamente com o cliente, definem as estórias (use case simplificados) a
serem implementadas e as descrevem em cartões. Os programadores assinalam uma certa
dificuldade para cada estória e, baseados na sua velocidade de implementação, dizem quantas
estórias podem implementar em uma iteração. Depois, os clientes escolhem as estórias de
maior valor para serem implementadas na iteração – isso é chamado planejamento de
iteração.
8
• Testador: é o responsável por apoiar o cliente a escolher e escrever os testes
funcionais, além de assegurar a execução e reportagem dos problemas identificados
nos testes funcionais.
• Acompanhador (tracker): é a consciência da equipe responsável por reportar as
métricas do projeto promovendo visibilidade sobre a acuidade das estimativas e
progresso do projecto.
• Técnico (coach): assimila grande parte das responsabilidades de um gerente de
projetos de software, é responsável por identificar problemas e resolve-los para que
a equipe possa trabalhar da melhor forma, não requer conhecimento técnico profundo.
Vantagens:
• Programação organizada.
• Menor índice de erros.
• Satisfação do programador.
Desvantagens:
9
Conclusão
Após a realização do presente trabalho, foi possível passar vários conceitos sobre a
metodologia de desenvolvimento de software Programação Extrema XP e é claro, focando a
prática da programação em par. Com o estudo de caso realizado, foi possível demonstrar os
benefícios e desvantagens dessa prática e ela se mostrou mais positiva do que negativa.
Práticas como a troca de ideias, inspeção do código, disseminação de conhecimento se
mostraram eficientes durante o estudo de caso.
Lembrando que esse trabalho não prova que a programação XP é a melhor solução
para se trabalhar em uma empresa e sim dá indícios de que ela pode vir a funcionar em um
ambiente de trabalho, porém isso vai depender muito do grupo e pessoas que a empresa tiver,
pessoas que não se relacionam em grupo, que são individualistas, dificilmente conseguirão
trabalhar com a programação em par.
10
Bibliografia
11