Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodologias de Desenvolvimento de Software - Coggle Diagram
Metodologias de Desenvolvimento de Software
Manifesto Ágil
Colaboração com o cliente
é mais importante do que negociação de contratos.
Indivíduos e interações
são mais importantes que processos e ferramentas.
Métodos ágeis focam em simplicidade, software funcional no início das iterações, flexibilidade e intensa comunicação tanto internamente quanto com clientes.
Software funcionando
é mais importante do que documentação completa e
detalhada.
Adaptação a mudanças
é mais importante do que seguir o plano inicial.
Metodologias ágeis
Métodos de desenvolvimento de software ágil aplicam desenvolvimento
iterativo e incremental, planejamento adaptativo
, flexibilidade e rápida resposta para mudanças.
Planejamento
Adaptativo
Planejamento adaptativo é adequado para desenvolvimento de novos
produtos.
Requisitos são escritos para um contexto e ambiente específico que estão
em constante mudança.
Desenvolvimento de novos produtos solicita um certo grau de pesquisa,
inovação e criatividade.
A tecnologia envolvida exige ferramentas que podem estar ou em
desenvolvimento ou estabilização.
Desenvolvimento Incremental
É uma estratégia de planejamento estagiado em que várias partes do sistema são desenvolvidas em paralelo, e integradas quando completas.
Desenvolvimento iterativo
É uma estratégia de planejamento de retrabalho em que o tempo de revisão e melhorias de partes do sistema é pré-definido.
Modelos de processo (Ciclo de vida do Software)
Modelo Sequencial Linear( Clássico ou Cascata)
Organiza o processo em uma sequência linear de fases.
É utilizado quando os requisitos são muito bem definidos.
O modelo de ciclo de vida em cascata foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados hoje em dia. Este consiste basicamente num modelo linear em que cada passo deve ser completado antes que o próximo passo possa ser iniciado.
Ajuda a explicar o processo de desenvolvimento aos clientes (simples e fácil).
Ajuda os desenvolvedores a descrever o que precisam
fazer (útil);
Modelo de prototipação
Consiste em montar um sistema experimental rapidamente e sem muitos gastos para submetê-lo à avaliação de usuários finais.
Desenvolvimento Rápido de Aplicação - RAD
É o modelo sequencial linear mas que enfatiza um desenvolvimento extremamente rápido.
O desenvolvimento rápido de aplicação é adequado para construção de aplicações em curto espaço de tempo, utilizando o método incremental da prototipação, com o ciclo extremamente curto de desenvolvimento.
Modelo Espiral
Engloba as melhores características Modelo Sequencial Linear com o da Prototipação, adicionando um novo elemento: a ANÁLISE DOS RISCOS.
Usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos.
Modelo incremental
O modelo incremental entrega uma série de versões chamadas de incrementos, que fornecem progressivamente mais funcionalidade para os clientes à medida que cada incremento é entregue
Desenvolvimento Formal de Sistemas
O desenvolvimento formal de sistemas é uma abordagem do desenvolvimento de software que tem algo em comum com o modelo Sequencial Linear, mas cujo processo de desenvolvimento tem como base a transformação matemática formal de uma especificação de sistemas em um programa executável.
Desenvolvimento Orientado a Reuso
Na maioria dos projetos de software, ocorre algum reuso de software. Isso, em geral, acontece informalmente, quando as pessoas que trabalham no projeto conhecem projetos ou códigos similares àquele exigido.
Essa abordagem orientada a reuso conta com uma ampla base de componentes de softwares reutilizáveis.
Modelo em Cascata ou
Sequencial Linear
Analise de
requisitos
As funções, as restrições e os objetivos do sistema são estabelecidos por meio da consulta aos usuários do sistema.
Deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos.
Os requisitos (para o sistema e para o software) são documentados e revistos com o Cliente.
Projeto de
software
Realiza todo o planejamento.
São realizados os testes e as estimativas do desenvolvimento e criados os cronogramas para posterior acompanhamento do desenvolvimento do software.
Define a arquitetura do sistema geral. É a tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie.
Implementação
Escreve os códigos, as interfaces com os clientes, a arquitetura do software e a estrutura de dados, para atender a todas as regras de negócio levantadas na primeira fase. Recomenda-se realizar testes unitários nos módulos durante essa fase.
Testes
O teste se concentra nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas.
Se concentra também nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
Implantação
O sistema é instalado e colocado em operação.
Manutenção
Normalmente, é a fase mais longa do processo, pois tratará do suporte ao cliente, resolvendo os problemas quando o cliente der o feedback e implementando novos requisitos conforme
necessidade.