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 -
- Desenvolvimento de Software vs Desenvolvimento Web
- Ciclo de vida de defeitos em testes de software
- Etapas únicas para criar modelos financeiros (software, tipos)
- Introdução ao desenvolvimento de software