Índice:
- Definição - O que significa o Modelo de Ciclo de Vida de Desenvolvimento de Software (SDLC)?
- Techopedia explica o Modelo de Ciclo de Vida de Desenvolvimento de Software (SDLC)
Definição - O que significa o Modelo de Ciclo de Vida de Desenvolvimento de Software (SDLC)?
Um modelo de ciclo de vida de desenvolvimento de software (SDLC) é uma estrutura conceitual que descreve todas as atividades em um projeto de desenvolvimento de software, do planejamento à manutenção. Esse processo está associado a vários modelos, cada um incluindo uma variedade de tarefas e atividades.
O desenvolvimento de software é uma atividade complicada que requer identificação adequada de requisitos, sua implementação e implantação de software. No entanto, as atividades não param por aí. Após a distribuição do software, a manutenção adequada deve ser fornecida em tempo hábil.
Este termo também é conhecido como modelo de processo de desenvolvimento de software.
Techopedia explica o Modelo de Ciclo de Vida de Desenvolvimento de Software (SDLC)
As principais atividades de desenvolvimento de software incluem:
- Extração de requisitos: O cliente tem uma vaga idéia do que é necessário. Após uma análise completa dos requisitos e das etapas de planejamento para atingir o objetivo, a idéia abstrata do cliente é posta em prática por um grupo de engenheiros de software.
- Descrição do software: descreve que o software é a próxima etapa do processo.
- Representação abstrata do sistema: É criada para confirmar que atende aos requisitos do produto e faz interface com outros produtos de software, juntamente com o hardware subjacente.
- Requisitos do cliente: implementado através do código programado por engenheiros de software.
- Teste de código: o código é testado para garantir que esteja livre de bugs e atenda aos requisitos do cliente.
- Documentação do projeto interno: Para manutenção e aprimoramento futuro do produto.
- Manutenção: É realizada para alterar a arquitetura do sistema de acordo com as necessidades futuras. Isso pode exigir a adição de código ou alteração do código existente.
O processo de desenvolvimento acima é simplificado por uma série de modelos. A equipe de desenvolvimento seleciona o melhor modelo adequado. Os diferentes modelos são:
- Modelo em cascata: os desenvolvedores declaram os requisitos, analisam-nos, determinam uma solução e estruturam uma arquitetura de software, representação de interface e detalhes algorítmicos. Em seguida, eles desenvolvem o código, testam o código, implantam o software e o mantêm. Embora o método em cascata seja fácil de entender e defina a estabilidade dos requisitos, pode dar uma falsa impressão de não oferecer muita participação do cliente. O principal problema desse modelo é que o requisito para corrigir erros deve ser conhecido antecipadamente e em um estágio inicial. Caso contrário, todo o processo pode continuar na direção errada, o que poderia impactar negativamente o custo de produção.
- Modelo em forma de V: é uma variação do modelo em cascata. Ele enfatiza a verificação e validação do produto. Todas as entregas são testáveis e o progresso é rastreado por marcos. O teste é implementado paralelamente à fase de desenvolvimento.
- Modelo de protótipo: um protótipo é desenvolvido na fase de requisitos e avaliado pelos usuários finais. Com base no feedback do usuário, os desenvolvedores alteram o protótipo para atender aos requisitos do usuário. Embora esse modelo finalize os requisitos com facilidade, seu uso no ambiente de produção pode resultar em problemas de qualidade, fazendo com que o processo de correção continue para sempre.
- Modelo em espiral: utiliza os modelos em cascata e protótipo. Ele adiciona linguagens de programação de quarta geração, prototipagem rápida de desenvolvimento de aplicativos e análise de risco ao modelo em cascata. Os requisitos do sistema são projetados e um design preliminar do sistema é criado. Um protótipo inicial é projetado e testado. Com base na avaliação dos resultados do teste, um segundo protótipo é criado. Protótipos subsequentes são construídos para garantir a satisfação do cliente. O sistema é criado com base no protótipo final. O sistema final é avaliado e testado. Embora esse modelo reduza o risco em grande parte, ele pode não atender ao orçamento e é aplicado de maneira diferente para cada aplicativo.
- Modelo SDLC iterativo e incremental: especifica e implementa uma parte do software, que é revisada e os requisitos adicionais adicionados e implementados em grupos. Cada versão entrega um produto operacional, apresentando aos clientes funcionalidades importantes primeiro, reduzindo os custos de entrega inicial. O risco de alterar os requisitos é bastante reduzido e os clientes podem responder a cada build. Apesar de seus pontos fortes, este modelo requer um bom planejamento e definição precoce do sistema completo e totalmente funcional. Também requer interfaces de módulo bem definidas.
- Modelo de desenvolvimento ágil: é usado para aplicativos de tempo crítico em organizações que empregam métodos disciplinados. Acelera as fases do ciclo de vida e reduziu o escopo.
- Modelo de caixa mágica: é um modelo de desenvolvimento de aplicativo da Web. É a maneira mais rápida de concluir o projeto com o mínimo de erros, pois oferece a chance de alterar as estruturas de código e banco de dados.