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:
- 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