Escolar Documentos
Profissional Documentos
Cultura Documentos
DESENVOLVIMENTO DE SISTEMAS
ATIVIDADE DE PORTFÓLIO
ATIVIDADE DE PRODUÇÃO TEXTUAL
Juazeiro-BA
2010
ATIVIDADE DE PORTFÓLIO
ATIVIDADE DE PRODUÇÃO TEXTUAL
Juazeiro-BA
20-10-2010
SUMARIO
1 – INTRODUÇÃO
2- CONCEITO
3- DESENVOLVIMENTO SOFTWARE
3.1 Processo de Desenvolvimento de Software Sistematizado
3.1.1 Fases do Desenvolvimento de Software
3.1.1.1 Fase de Definição
3.1.1.2 Fase de Desenvolvimento
3.1.1.3 Fase de Manutenção
3.2 MODELOS DE PROCESSO DE SOFTWARE
3.2.1Modelo Sequencial Linear
3.2.2Modelo de Prototipagem
3.2.3Modelo RAD – Rapid Application Development
3.3 MODELOS DE PROCESSOS EVOLUCIONÁRIOS
3.3.1 Modelo Incremental
3.3.2 Modelo Espiral
3.4 METODOLOGIAS DE DESENVOLVIMENTO TRADICIONAIS OU “PESADAS
3.4.1 RUP – Rational Unified Process
3.5 METODOLOGIAS DE DESENVOLVIMENTO ÁGEIS OU LEVES
3.5.1 Extreme Programming – XP
3.5.2 Feature driven development – FDD
3.5.2.1 SCRUM
4 – CONCLUSÃO
5- REFERENCIAS
INTRODUÇÃO
Este trabalho propõe uma análise comparativa de duas frentes
destas metodologias, as tradicionais, que têm como característica a grande
quantidade de documentos gerados, “atrasando” o desenvolvimento do projeto, e as
metodologias ágeis, que se opõem às tradicionais evitando, sempre que possível, a
documentação e focando a codificação do projeto.
Simplicidade
• Tentar sempre desenvolver a solução mais simples possível.
• Muitos projetos perdem muito tempo quando os desenvolvedores destinam
muito tempo desenvolvendo uma solução genérica.
• A solução deve responder simplesmente um requisito do usuário.
• Algumas funcionalidades podem nunca vir a serem utilizadas.
Comunicação
• Canal aberto de comunicação entre a equipe de desenvolvimento e com os
usuários.
• A comunicação é chave para o sucesso.
Feedback
• Feedback possibilita que o software evolva
• “Pergunte ao software, não a um documento”
• Feedback precisa ser:
Cedo (pra gente descobrir logo se está fazendo a coisa correta)
Concreto (feedback oriundo do código)
Constante (o ciclo de desenvolvimento tem que ser curto)
Coragem
Refatoramento
• Refatorar é melhorar o código sem alterar sua funcionalidade
• Antes de uma mudança, você refatora o código para que a mudança seja
simples de fazer
• Refatoração continua possibilita manter um design legal, mesmo com
mudanças freqüentes
Testes automáticos
Programação em pares
• Se a revisão de código é legal, vamos fazê-la o tempo todo
• Em XP, programação é feita em pares, pares mudam com relativa rapidez
(em dias)
• Programação em pares favorece comunicação e aprendizado
• Mas, você precisa estabelecer um padrão de codificação
• Há casos de redução no tempo de desenvolvimento com programação em
pares
Estórias do usuário
3.5.2.1 SCRUM
Scrum é um processo para construir software incrementalmente em
ambientes complexos, onde os requisitos não são claros ou mudam com muita
freqüência.
O objetivo do scrum é fornecer um processo conveniente para
projetos e desenvolvimento orientado a objetos.
A metodologia é baseada em princípios semelhantes aos de XP:
equipes pequenas, requisitos pouco estáveis ou desconhecidos, e iterações curtas
para promover visibilidade para o desenvolvimento.
Scrum divide o desenvolvimento em sprints de 30 dias. equipes
pequenas, de até 7 pessoas, são formadas por projetistas, programadores,
engenheiros e gerentes de qualidade. As equipes trabalham em cima de
funcionalidade (os requisitos, em outras palavras) definidas no início de cada sprint.
A equipe toda é responsável pelo desenvolvimento desta funcionalidade.Todo dia, é
feita uma reunião de 15 minutos onde o time expões à gerência o que será feito no
próximo dia, e nestas reuniões os gerentes podem levantar os fatores de
impedimento, e o progresso geral do desenvolvimento.
Todos respondem às perguntas:
• O que você realizou desde a última reunião?
• Quais problemas você enfrentou?
• Em que você trabalhará até a próxima reunião?
• Crystal/clear
• Dynamic systems development method (dsdm)
• Adaptive software development (asd)
Conclusão
O desafio futuro das metodologias ágeis é encontrar maneiras de
eliminar alguns de seus pontos fracos, como a falta de análise de riscos, sem torná-
las metodologias pesadas. Na XP não existe a preocupação formal em fazer a
análise e o planejamento de riscos. Como riscos acontecem normalmente em
projetos de desenvolvimento de software, este é um ponto negativo da XP. Deve-se,
portanto, procurar implementar uma estratégia de gestão de riscos sem tornar a
metodologia muito complexa. Outro desafio é como usar essas metodologias ágeis
em grandes empresas e equipes, uma vez que normalmente essas metodologias
são baseadas em equipes pequenas. Neste caso, pelo menos é necessário resolver
os problemas de comunicação internos na equipe, uma vez que é comum em
grandes empresas os funcionários estarem separados geograficamente.
Apesar do interesse crescente no uso das metodologias ágeis, ainda
faltam casos de sucesso de seu uso em projetos grandes e críticos. Quanto mais
organizações usem as metodologias ágeis, melhores serão os resultados empíricos
em termos de vantagens, desvantagens, riscos e procedimentos para sua adoção
nas organizações.
Mesmo assim, os resultados iniciais em termos de qualidade,
confiança, datas de entrega e custo são promissores.
Como a Web é um ambiente de desenvolvimento dinâmico e com
mudanças constantes, as metodologias tradicionais orientadas a documentação são
menos adequadas que as metodologias ágeis. Uma idéia a ser implantada
futuramente neste projeto de pesquisa é a integração da XP com outras
metodologias ágeis, como a Scrum. Neste caso, os aspectos de planejamento e
gerenciamento de projeto da Scrum serão integrados com as práticas da XP.
REFERENCIAS:
- PRESSMAN, ROGER S., Engenharia de Software- (6 Edição), São Paulo, Ed.
McGrawhill, 2006.
- pt.wikipedia.org/.../Desenvolvimento_ágil_de_software – Acesso em 18/10/2010
- SOMMERVILLE, IAN.,
- PERINI, LUIS CLAUDIO - HISATOMI, MARCO IKURO – BERTO, WAGNER LUIZ.
Engenharia de Software - Livros didáticos - Unopar Virtual.
- improveit.com.br/xp/manifesto_agil – Acesso em 15/10/2010
- www.cci.unama.br/margalho/portaltcc/.../oscar.PDF