Fases e modelos do ciclo de vida de desenvolvimento de software (SDLC)

O que é SDLC?

SDLC é um processo sistemático de construção de software que garante a qualidade e correção do software construído. O processo SDLC visa produzir software de alta qualidade que atenda às expectativas do cliente. O desenvolvimento do sistema deve ser concluído no prazo e custo pré-definidos. SDLC consiste em um plano detalhado que explica como planejar, construir e manter software específico. Cada fase do ciclo de vida do SDLC tem seu próprio processo e resultados que alimentam a próxima fase. SDLC significa Ciclo de Vida de Desenvolvimento de Software e também é conhecido como ciclo de vida de desenvolvimento de aplicativos.

Por que SDLC?

Aqui estão os principais motivos pelos quais o SDLC é importante para o desenvolvimento de um sistema de software.

  • Ele oferece uma base para planejamento, programação e estimativa de projetos.
  • Fornece uma estrutura para um conjunto padrão de atividades e resultados
  • É um mecanismo para rastreamento e controle de projetos
  • Aumenta a visibilidade do planejamento do projeto para todas as partes interessadas envolvidas no processo de desenvolvimento
  • Aumente e melhore a velocidade de desenvolvimento
  • Melhor relacionamento com o cliente
  • Ajuda você a diminuir o risco do projeto e as despesas gerais do plano de gerenciamento do projeto

 

Fases SDLC

Todo o processo SDLC está dividido nas seguintes etapas do SDLC:

Fases SDLC
Fases SDLC
  • Fase 1: Coleta e análise de requisitos
  • Fase 2: Estudo de viabilidade
  • Fase 3: Design
  • Fase 4: Codificação
  • Fase 5: Teste
  • Fase 6: Instalação/Implantação
  • Fase 7: Manutenção

Neste tutorial, expliquei todas essas fases do ciclo de vida de desenvolvimento de software

Fase 1: Coleta e análise de requisitos

O requisito é a primeira etapa do processo SDLC. É conduzido pelos membros seniores da equipe com contribuições de todas as partes interessadas e especialistas do setor. Planejando para o garantia de qualidade requisitos e o reconhecimento dos riscos envolvidos também é feito nesta fase.

Esta fase dá uma imagem mais clara do escopo de todo o projeto e das questões, oportunidades e diretrizes previstas que desencadearam o projeto.

O estágio de coleta de requisitos precisa que as equipes obtenham requisitos detalhados e precisos. Isso ajuda as empresas a finalizar o cronograma necessário para finalizar o trabalho desse sistema.

Fase 2: Estudo de viabilidade

Assim que a fase de análise de requisitos for concluída, a próxima etapa do sdlc é definir e documentar as necessidades de software. Este processo é conduzido com a ajuda do documento 'Especificação de Requisitos de Software', também conhecido como documento 'SRS'. Inclui tudo o que deve ser concebido e desenvolvido durante o ciclo de vida do projeto.

Existem principalmente cinco tipos de verificações de viabilidade:

  • Econômico: Podemos concluir o projeto dentro do orçamento ou não?
  • Legal: Podemos lidar com este projeto como legislação cibernética e outras estruturas/conformidades regulatórias.
  • Operaviabilidade de operação: Podemos criar operações que são esperadas pelo cliente?
  • técnica: Precisa verificar se o sistema de computador atual pode suportar o software
  • Horário: Decida se o projeto pode ser concluído dentro do cronograma determinado ou não.

Fase 3: Design

Nesta terceira fase, os documentos de design do sistema e do software são preparados de acordo com o documento de especificação de requisitos. Isso ajuda a definir a arquitetura geral do sistema.

Esta fase de design serve como entrada para a próxima fase do modelo.

Existem dois tipos de documentos de design desenvolvidos nesta fase:

Design de alto nível (HLD)

  • Breve descrição e nome de cada módulo
  • Um esboço sobre a funcionalidade de cada módulo
  • Relacionamento de interface e dependências entre módulos
  • Tabelas de banco de dados identificadas junto com seus elementos-chave
  • Diagramas de arquitetura completos junto com detalhes de tecnologia

Design de baixo nível (LLD)

  • Lógica funcional dos módulos
  • Tabelas de banco de dados, que incluem tipo e tamanho
  • Detalhe completo da interface
  • Resolve todos os tipos de problemas de dependência
  • Listagem de mensagens de erro
  • Entradas e saídas completas para cada módulo

Fase 4: Codificação

Terminada a fase de design do sistema, a próxima fase é a codificação. Nesta fase, os desenvolvedores começam a construir todo o sistema escrevendo o código usando a linguagem de programação escolhida. Na fase de codificação, as tarefas são divididas em unidades ou módulos e atribuídas aos diversos desenvolvedores. É a fase mais longa do processo do Ciclo de Vida de Desenvolvimento de Software.

Nesta fase, o desenvolvedor precisa seguir certas diretrizes de codificação predefinidas. Eles também precisam usar ferramentas de programação como compilador, interpretadores, depurador para gerar e implementar o código.

Fase 5: Teste

Assim que o software estiver concluído e implantado no ambiente de teste. A equipe de testes começa a testar a funcionalidade de todo o sistema. Isso é feito para verificar se todo o aplicativo funciona de acordo com a necessidade do cliente.

Durante esta fase, a equipe de controle de qualidade e de teste pode encontrar alguns bugs/defeitos que comunicam aos desenvolvedores. A equipe de desenvolvimento corrige o bug e envia de volta ao controle de qualidade para um novo teste. Esse processo continua até que o software esteja livre de bugs, estável e funcionando de acordo com as necessidades de negócios desse sistema.

Fase 6: Instalação/Implantação

Assim que a fase de teste do software terminar e nenhum bug ou erro permanecer no sistema, o processo final de implantação será iniciado. Com base no feedback dado pelo gerente de projeto, o software final é lançado e verificado quanto a problemas de implantação, se houver.

Fase 7: Manutenção

Depois que o sistema for implantado e os clientes começarem a usar o sistema desenvolvido, ocorrem três atividades seguintes

  • Correção de bugs – bugs são relatados devido a alguns cenários que não foram testados
  • Upgrade – Atualizando o aplicativo para as versões mais recentes do Software
  • Aprimoramento – Adicionando alguns novos recursos ao software existente

O foco principal desta fase do SDLC é garantir que as necessidades continuem a ser atendidas e que o sistema continue a funcionar de acordo com a especificação mencionada na primeira fase.

Modelos SDLC populares

Aqui estão alguns dos modelos mais importantes de Ciclo de Vida de Desenvolvimento de Software (SDLC):

Modelo cascata em SDLC

A cascata é um modelo SDLC amplamente aceito. Nesta abordagem, todo o processo de desenvolvimento de software é dividido em várias fases do SDLC. Neste modelo SDLC, o resultado de uma fase atua como entrada para a próxima fase.

Este modelo SDLC exige muita documentação, com fases anteriores documentando o que precisa ser executado nas fases subsequentes.

Modelo Incremental em SDLC

O modelo incremental não é um modelo separado. É essencialmente uma série de ciclos em cascata. Os requisitos são divididos em grupos no início do projeto. Para cada grupo, o modelo SDLC é seguido para desenvolver software. O processo do ciclo de vida do SDLC é repetido, com cada versão adicionando mais funcionalidades até que todos os requisitos sejam atendidos. Neste método, cada ciclo atua como fase de manutenção da versão anterior do software. A modificação do modelo incremental permite a sobreposição dos ciclos de desenvolvimento. Depois disso, o ciclo subsequente pode começar antes que o ciclo anterior seja concluído.

Modelo V em SDLC

Neste tipo de teste e desenvolvimento do modelo SDLC, a fase é planejada em paralelo. Portanto, há fases de verificação do SDLC do lado e fase de validação do outro lado. O V-Model se junta à fase de codificação.

Modelo Ágil em SDLC

A metodologia ágil é uma prática que promove a interação contínua de desenvolvimento e teste durante o processo SDLC de qualquer projeto. No método Agile, todo o projeto é dividido em pequenas construções incrementais. Todas essas compilações são fornecidas em iterações e cada iteração dura de uma a três semanas.

Modelo Espiral

O modelo espiral é um modelo de processo orientado ao risco. Este modelo de teste SDLC ajuda a equipe a adotar elementos de um ou mais modelos de processo, como cascata, incremental, cascata, etc.

Este modelo adota os melhores recursos do modelo de prototipagem e do modelo cascata. A metodologia espiral é uma combinação de prototipagem rápida e simultaneidade em atividades de design e desenvolvimento.

Modelo do Big Bang

O modelo Big Bang concentra-se em todos os tipos de recursos no desenvolvimento e codificação de software, com nenhum ou muito pouco planejamento. Os requisitos são compreendidos e implementados quando surgem.

Este modelo funciona melhor para projetos pequenos com equipes de desenvolvimento menores que trabalham juntas. Também é útil para projetos acadêmicos de desenvolvimento de software. É um modelo ideal onde os requisitos são desconhecidos ou a data final de lançamento não é fornecida.

Resumo

  • O Ciclo de Vida de Desenvolvimento de Software (SDLC) é um processo sistemático de construção de software que garante a qualidade e correção do software construído
  • O SDLC completo é Ciclo de Vida de Desenvolvimento de Software ou Ciclo de Vida de Desenvolvimento de Sistemas.
  • SDLC em engenharia de software fornece uma estrutura para um conjunto padrão de atividades e resultados
  • Sete estágios diferentes do SDLC são 1) Coleta e análise de requisitos 2) Estudo de viabilidade: 3) Projeto 4) Codificação 5) Teste: 6) Instalação/Implantação e 7) Manutenção
  • Os membros seniores da equipe conduzem o análise de requisitos fase
  • A fase de Estudo de Viabilidade inclui tudo o que deve ser projetado e desenvolvido durante o ciclo de vida do projeto
  • Na fase de Design, os documentos de design do sistema e software são preparados de acordo com o documento de especificação de requisitos
  • Na fase de codificação, os desenvolvedores começam a construir todo o sistema escrevendo o código usando a linguagem de programação escolhida.
  • O teste é a próxima fase realizada para verificar se todo o aplicativo funciona de acordo com a necessidade do cliente.
  • A instalação e a implantação começam quando o teste de software a fase terminou e nenhum bug ou erro foi deixado no sistema
  • Correção de bugs, atualização e ações de engajamento abordadas na face de manutenção
  • Cachoeira, Incremental, Ágil, modelo V, Espiral, Big Bang são alguns dos modelos SDLC populares em engenharia de software
  • SDLC em teste de software consiste em um plano detalhado que explica como planejar, construir e manter software específico