O ciclo de vida de desenvolvimento de sistemas (CVDS), do inglês systems development life cycle (SDLC),
em engenharia de sistemas, sistemas de informação e engenharia de software, é um processo de criação
ou alteração de sistemas de informação,[1] e os modelos e metodologias que as pessoas utilizam para
desenvolver esses sistemas. Em engenharia da computação, o conceito de SDLC sustenta muitos tipos de
metodologias de desenvolvimento de software. Estas metodologias formam a estrutura (framework) para
o planejamento e controle da criação de um sistema de informação:[2] o processo de desenvolvimento de
software.
Visão geral
O Ciclo de Vida de Desenvolvimento de Sistemas pode ser descrito ao longo do espectro desde o ágil ao
iterativo e sequencial. Metodologias ágeis, como XP e Scrum, focam em processos leves que permitem
mudanças rápidas ao longo do ciclo de desenvolvimento. Metodologias iterativas, como o Rational Unified
Process e o método de desenvolvimento de sistemas dinâmicos, focam no escopo de projeto limitado e na
ampliação ou melhoria de produtos através de várias iterações. Modelos sequenciais ou big-design-up-
front (BDUF), como o modelo em cascata, focam em planejamento completo e correto para conduzir
grandes projetos e nos riscos para resultados bem sucedidos e previsíveis. Outros modelos, como o
desenvolvimento Anamórfico, tendem a se concentrar em uma forma de desenvolvimento que é
conduzido pelo escopo do projeto e iterações adaptativas do desenvolvimento de recursos.
Em gerenciamento de projetos, um projeto pode ser definido tanto com um ciclo de vida do projeto (CVP)
e um CVDS, durante o qual ocorrem ligeiramente diferentes atividades. De acordo com Taylor (2004), "o
ciclo de vida do projeto abrange todas as atividades do projeto, enquanto que o ciclo de vida de
desenvolvimento de sistemas centra-se na realização dos requisitos do produto".[5]
Implementação ocorre após o sistema ter passado satisfatoriamente por testes de aceitação. O sistema é
transferido do ambiente de desenvolvimento para o ambiente de produção. O sistema antigo (se existir)
deve migrar para o novo.
Manutenção refere-se a todas as atividades relacionadas a um sistema depois que ele é implementado.
Deve incluir atividades tais como a correção de software que não funcione corretamente, a adição de
novos recursos aos sistemas em resposta às novas demandas dos usuários,...