Ciclo de Vida do Desenvolvimento de Software
O ciclo de vida do desenvolvimento de software (SDLC) é a sequência de fases de ponta a ponta pelas quais um sistema de software progride, desde a concepção inicial e requisitos até o design, construção, teste, implantação e eventual desativação.
Definition
O ciclo de vida do desenvolvimento de software é uma estrutura organizada que divide o desenvolvimento de software em fases definidas, cada uma com critérios de entrada e saída, entregáveis e atividades, utilizada para planejar, controlar e fundamentar a produção e evolução do software.
Scope
Este tópico abrange as fases canônicas do SDLC de planejamento, análise de requisitos, design, implementação, teste, implantação e manutenção; os modelos padrão que organizam essas fases (cascata, modelo V, incremental, iterativo, espiral); os artefatos produzidos em cada fase; e os padrões de processo do ciclo de vida, como ISO/IEC/IEEE 12207.
Core questions
- Quais fases compõem o ciclo de vida e quais artefatos cada uma produz?
- Como diferentes modelos de ciclo de vida organizam e iteram essas fases?
- Quais critérios de entrada e saída governam a transição entre as fases?
- Como o ciclo de vida se estende além da entrega para a operação, manutenção e desativação?
Key theories
- Estrutura de ciclo de vida faseada
- O desenvolvimento é decomposto em fases discretas (requisitos, design, implementação, teste, implantação, manutenção), cada uma com entregáveis definidos e portões de revisão, fornecendo uma base para planejamento, estimativa e controle.
- Mapeamento de verificação do modelo V
- O modelo V emparelha cada fase construtiva com uma fase de teste correspondente (unidade, integração, sistema, aceitação), tornando a verificação e validação contrapartes explícitas da especificação e do design.
Clinical relevance
Um ciclo de vida bem definido melhora a previsibilidade, rastreabilidade e controle de qualidade, apoia a estimativa de custos e cronogramas, e é frequentemente exigido por regimes de aquisição e regulatórios que requerem processos de desenvolvimento auditáveis.
Evidence & guidelines
A ISO/IEC/IEEE 12207:2017 é o principal padrão internacional que define os processos do ciclo de vida do software e é amplamente referenciada em contratos e sistemas de qualidade.
History
A noção de um conjunto ordenado de fases de desenvolvimento foi formalizada no final dos anos 1960 e 1970, à medida que os projetos se tornavam grandes demais para uma construção ad hoc; modelos subsequentes adicionaram iteração e gerenciamento de riscos, enquanto os esforços de padronização produziram a ISO/IEC 12207 nos anos 1990 e suas revisões posteriores.
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- O SDLC é o mesmo que o modelo em cascata?
- Não. O SDLC é o conjunto geral de fases pelas quais o software passa; o modelo em cascata é uma forma particular de ordenar essas fases sequencialmente. Modelos ágeis, iterativos e em espiral percorrem as mesmas fases fundamentais em ordens e cadências diferentes.
- O ciclo de vida termina na implantação?
- Não. Operação, manutenção e eventual desativação são fases integrais do ciclo de vida; na maioria dos sistemas, a manutenção e a evolução dominam o custo total e abrangem o período mais longo do ciclo de vida.