Ir para o conteúdo

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.