Modelos SDLC - Evolução

Um modelo de Ciclo de Vida de Desenvolvimento de Software (SDLC) é uma estrutura que descreve as atividades realizadas em cada estágio de um projeto de desenvolvimento de software.

Em um Ciclo de Vida de Desenvolvimento de Software, as atividades são realizadas em cinco fases -

  • Requirements Gathering- São reunidos os requisitos para um software a ser desenvolvido. Esses requisitos estarão em um idioma que seja compreendido pelo cliente / usuário. Terminologia específica de domínio é recomendada.

  • Analysis - Os requisitos coletados são analisados ​​do ponto de vista da implementação e as especificações do software são escritas para cobrir tanto os requisitos funcionais quanto os não funcionais.

  • Design - Esta fase envolve chegar à arquitetura de software e especificações de implementação com base na tecnologia escolhida para o desenvolvimento.

  • Construction - Nesta fase, o código é desenvolvido, testado na unidade, integrado, testado na integração e o build é produzido.

  • Testing- O teste funcional do software construído é feito nesta fase. Isso também inclui o teste de requisitos não funcionais.

Existem duas abordagens para realizar essas atividades -

  • Prescriptive - Os modelos SDLC que fornecerão maneiras de realizar as atividades de uma maneira prescrita, conforme definido pela estrutura.

  • Adaptive- Os modelos SDLC que vão te dar flexibilidade na execução das atividades, com certas regras que precisam ser seguidas. Os métodos ágeis geralmente seguem essa abordagem, com cada um tendo suas regras. No entanto, seguir uma abordagem adaptativa ou ágil não significa que o software seja desenvolvido sem seguir qualquer disciplina. Isso levaria ao caos.

Você precisa entender que não podemos dizer que um modelo SDLC específico é bom ou ruim. Cada um deles tem seus próprios pontos fortes e fracos e, portanto, são adequados em determinados contextos.

Quando você escolhe um modelo SDLC para o seu projeto, você precisa entender -

  • Contexto da sua organização
  • Seu contexto de tecnologia
  • Composição de sua equipe
  • Seu contexto de cliente

Por exemplo, se o desenvolvimento de software for previsível, você pode usar uma abordagem prescritiva. Por outro lado, se o desenvolvimento de software é imprevisível, ou seja, os requisitos não são totalmente conhecidos, ou a equipe de desenvolvimento não tem exposição prévia ao domínio ou tecnologia atual, etc., então a abordagem adaptativa é a melhor escolha.

Nas seções a seguir, você entenderá os modelos SDLC mais prevalentes que são desenvolvidos durante a execução de projetos de desenvolvimento de software em toda a indústria. Você também conhecerá os pontos fortes e fracos de cada um deles e em que contextos eles são adequados.