O que é SDLC

Há um jantar planejado em sua casa da fazenda. Quando você começará a planejar isso? Qual é a abordagem que você seguirá? Você estará perguntando sobre o número de convidados que vão participar da grande festa? E você vai preparar um cardápio delicioso (digamos Arquitetura)? Você começará a preparar a comida e, uma vez cozida, irá testá-la, não é? (Apenas para verificar se há um sabor na sua comida). Espero que tenhamos dado uma idéia básica do que estamos tentando explicar aqui, vamos pular para o nosso tópico. Um ciclo de vida de desenvolvimento de software (SDLC) é uma abordagem definida e uma série de etapas que são seguidas para o desenvolvimento de qualquer software, a fim de atender ou exceder a expectativa definida ou os requisitos do cliente.

Tipos de fases no SDLC

Existem várias fases no ciclo de vida do software, que são fornecidas abaixo:

  • Fase de exigência
  • Fase de análise
  • Fase de desenho
  • Fase de desenvolvimento
  • Fase de teste
  • Fase de Implantação e Manutenção

Fase de exigência:

Este é o primeiro e fundamental passo no ciclo de vida do desenvolvimento de software. Começa com a coleta dos requisitos de clientes ou clientes. Na maioria das organizações, esse papel é assumido pelos analistas de negócios. Os Analistas de Negócios interagem com os clientes, organizam reuniões diárias, documentam os requisitos em Especificações de Requisitos de Negócios (ou Especificações Simples de Negócios) e entregam o requisito final documentado à equipe de desenvolvimento. É de responsabilidade dos analistas de negócios que todos os detalhes sejam capturados e documentados e também para garantir que todos compreendam claramente os requisitos do cliente.

Fase de análise:

Depois que a fase de coleta de requisitos estiver concluída, a próxima tarefa é analisar os requisitos e obtê-lo aprovado pelo cliente. Isso é obtido através da especificação de requisitos de software (SRS), que consiste em todos os requisitos reunidos e desenvolvidos durante a fase de coleta de requisitos. Essa fase é realizada principalmente por gerentes de projeto, analistas de negócios e consultores.

Fase de desenho:

Depois que a fase de análise termina, vem a necessidade de apresentar a arquitetura mais precisa, robusta, eficiente e econômica do produto que precisa ser desenvolvida. Geralmente, mais de um projeto é proposto nesta fase e o melhor é selecionado com base em diferentes parâmetros, como robustez, durabilidade, cronograma, custo-benefício e muito mais! A arquitetura de design diferente é geralmente documentada em Design Document Specification ou DDS. Esta fase consiste em 2 abordagens de design:

  • Design de baixo nível : Essa tarefa é executada pelos desenvolvedores sênior, onde eles especificam a função de cada módulo da arquitetura do produto que deve ser desenvolvido.
  • Design de alto nível : essa tarefa é executada por arquitetos / arquitetos sênior, onde eles projetam diferentes arquiteturas possíveis do produto que deve ser desenvolvido.

Fase de desenvolvimento:

Essa fase é onde a implementação real das linguagens de programação e das diferentes estruturas está sendo utilizada para o desenvolvimento do produto. Nesta fase, todos os desenvolvedores estão envolvidos. Os desenvolvedores devem seguir certos padrões e diretrizes de codificação predefinidos; eles devem concluir os módulos do projeto dentro do prazo definido para o projeto. Essa fase também é a mais longa e uma das fases mais críticas do ciclo de vida de desenvolvimento de software. Esta fase está documentada como um documento de código fonte (SCD).

Fase de teste:

Quando a fase de desenvolvimento estiver concluída, o próximo passo é testar o software desenvolvido. O software desenvolvido é enviado para a equipe de teste, onde eles realizam diferentes tipos de teste completamente no software e procuram defeitos. Se algum defeito for encontrado, a equipe de teste registra e documenta que é novamente enviado à equipe de desenvolvimento para remoção de erros. Essa função é assumida por testadores de software e analistas de qualidade da empresa. A equipe de teste deve garantir que cada componente do software esteja livre de erros e funcione conforme o esperado.

Fase de Implantação e Manutenção:

Após o término da fase de teste, a primeira versão do software é implantada e entregue ao cliente para uso. Depois que o cliente começa a usar o software desenvolvido, existe o escopo de correção de bugs que não foi detectado durante a fase de teste, pois quando um grande grupo de usuários finais começa a usar o software, pode haver alguma probabilidade de que alguns casos-limite tenham sido perdidos. Também há espaço para atualizar o software com versões mais recentes e patches e tecnologias de segurança mais recentes. E, finalmente, também há espaço para aprimoramento do software, adicionando mais recursos ao software existente.

Modelos SDLC populares:

Existem muitos modelos SDLC diferentes, projetados para implementação no processo de desenvolvimento de software. Os mais importantes e populares são:

  • Modelo Cachoeira
  • Modelo Iterativo
  • Modelo em espiral
  • Modelo V

Modelo Cachoeira:

No modelo em cascata, todo o processo de desenvolvimento de software é dividido em fases em que a saída de uma fase atua como entrada para a próxima fase. A próxima fase começa apenas quando a fase anterior é concluída.

Modelo Iterativo:

Esse modelo começa com um conjunto menor de requisitos e não precisa do contexto completo da especificação do produto para iniciar o processo SDLC. Esse processo é repetitivo e, a cada iteração do processo SDLC, é feita uma versão mais recente do software. Cada iteração pode entre 2-6 semanas. Cada iteração desenvolve um componente separado nessa abordagem. Este modelo também requer um recurso de modo que o modelo em cascata.

Modelo espiral:

Esse modelo é uma combinação dos modelos Cachoeira e Espiral e funciona de maneira iterativa. Com base no risco envolvido no projeto, este modelo orienta a equipe a adotar elementos de um ou mais modelos SDLC, como um modelo em cascata ou iterativo. Aqui, o ciclo de vida do software é dividido em partes menores e novas funcionalidades podem ser adicionadas ao software, mesmo nos estágios finais do SDLC.

Modelo V:

O modelo V é basicamente uma expansão para o modelo em cascata, onde as fases de teste e desenvolvimento são planejadas em paralelo. Um lado consiste na fase de verificação, enquanto o outro consiste na fase de validação que é finalmente unida pela codificação. O próximo estado inicia apenas quando o estado anterior é concluído.

Artigos recomendados

Este foi um guia para o que é o SDLC. Aqui discutimos os vários tipos de SDLC com os modelos populares de SDLC. Você também pode consultar os seguintes artigos para saber mais -

  1. Desenvolvimento de Software vs Desenvolvimento Web
  2. Ciclo de vida de defeitos em testes de software
  3. Etapas únicas para criar modelos financeiros (software, tipos)
  4. Introdução ao desenvolvimento de software