Estudo: Ciclo de Vida de Software¶
Essa tarefa tem como objetivo compreender o conceito de Ciclo de Vida de Softwa (SDLC), e todas suas etapas, objetivos e princípios.
## Fases do SDLC
O Ciclo de Vida de Software é um conjunto de etapas definidas para orientar o desenvolvimento de um projeto de software, desde a idealização até o resultado final. As fases do SLDC são as seguintes:
1. Planejamento¶
- Define o escopo do projeto;
- Identifica riscos;
- Avalia os recursos disponíveis.
2. Análise de Requisitos¶
- Identificação das necessidades do usuário;
- Definir objetivo do sistema.
3. Projeto¶
- Definir arquitetura e tecnologias que serão utilizadas;
- Estruturar banco de dados e interfaces.
4. Implementação¶
- Desenvolvimento do código;
- Transformar o projeto em um software funcional.
5. Testes¶
- Verificar erros;
- Conferir se todos os requisitos são atendidos.
6. Implantação¶
- Sistema é colocado em produção;
- Software é disponibilizado para usuários.
7. Manutenção¶
- Melhorias e ajustes contínuos;
- Atualizar conforme novas necessidades
Modelos¶
Cascata¶
Consiste em um fluxo linear, organizando uma fase após a outra.
Vantagens¶
- Simples e organizado;
- Fácil de ser gerenciado.
Desvantagens¶
- Inflexível;
- Ruim para corrigir mudanças.
Incremental¶
É uma evolução do modelo cascata, consistindo em uma entrega do sistema em pequenas partes funcionais (incrementos).
Vantagens¶
- Entregas parciais;
- Feedback rápido.
Desvantagens¶
- Gera complexidade na integração.
Iterativo¶
Abordagem baseada em ciclos repetidos de produção, com cada ciclo gerando uma versõa que é refinada progressivamente
Vantagens¶
- Permite uma melhoria contínua do projeto;
- Ajustes frequentes.
Desvantagens¶
- Gera muito retrabalho.
Espiral¶
É uma abordagem que combina elementos das anteriores, focando na análises de riscos e sendo dividida em ciclos.
Vantagens¶
- Excelente para projetos muitos complexos;
- Reduz os riscos.
Desvantagens¶
- Custo muito alto;
- Díficil de ser gerenciado.
Ágil (Scrum)¶
É um modelo específico, divindo o trabalho em curtos perídos (Sprints) e com uma equipe organizada.
Vantagens¶
- Flexibilidade alta;
- Entregas rápidas;
- Feedback constante.
Desvantagens¶
- Requer disciplina da equipe;
- Muito imprevisível.
Boas Práticas¶
- Documentar os requisitos de maneira clara;
- Testes contínuos;
- Revisar o código constantemente;
- Manter comunicação constante com o cliente.
Resumo¶
O Ciclo de Vida de Software é o processo que organiza o desenvolvimento de um software em determinadas etapas direcionadas.
Existem diferentes modelos, cada um com sua vantagem e desvantagem, dependendo o tipo do projeto.