Software em Construção: Do Conceito ao Fim da Vida (e Além!)
O que é um ciclo de vida do software?
Assim como qualquer construção, o desenvolvimento de software segue etapas estruturadas para garantir qualidade, entregas dentro do prazo e do orçamento estabelecidos, redução dos riscos do projeto e para atender às expectativas do cliente durante e depois da produção. Os processos decorrido desde o momento da concepção de um software até sua obsolescência é chamado Ciclo de Vida do Desenvolvimento de Software (em inglês - SDLC - Software Development life Cycle ).
Quais são as etapas do ciclo de vida do software?
Planejamento e Análise de Requisitos
Esta é a fase que vai alinhar a equipe sobre o que está sendo construído, o que ele deve realmente fazer e por quê. Nesta fase são identificadas, coletadas e documentadas as expectativas, funcionalidades, restrições, o público alvo, regra de negócio.
Projeto do Sistema (Design de software)
Nesta fase é definido “como” o software será construído evitando confusão e sobreposição de tarefas. É hora de analisar os requisitos e identificar as melhores soluções para estruturar o software, quais partes se comunicam, quais serão as tecnologia, ferramentas e padrões de arquitetura utilizadas, identificar os desafios técnicos antes do início da codificação, tornando-os mais fáceis de gerir em cada passo. Além disso, são criados protótipos para analisar a experiência do usuário e identificar problemas de usabilidade e outros detalhes importantes do software .
Implementação (Codificação)
É nesta etapa que o software de fato é estruturado e toma forma, é a concretização do “como” com base no “o que”, respeitando padrões de codificação, boas práticas.
O software é construído peça a peça, muitas vezes em ciclos curtos e específicos que permitem testes, feedback e ajustes frequentes.
É feita também a documentação do código que permite que novos membros se integrem rapidamente.
Testes e Verificação
É a fase em que o produto é testado antes de chegar aos usuários finais. O software é validado para garantir que atende ao que o cliente deseja , funciona corretamente em diferentes cenários e se está livre de falhas críticas antes do lançamento. Os testes irão depender do tipo e necessidade de projeto.
Implantação e Distribuição
O software é implantado no ambiente de produção e disponibilizado aos usuários finais.
Essa fase envolve configuração da infraestrutura, automatiza a implementação e define estratégias de reversão para possíveis falhas.
Manutenção e Suporte
Essa etapa garante a continuidade do funcionamento e evolução do sistema ao longo do tempo com ajustes, correções, coleta feedback dos usuários e com o suporte ajudando no uso e tirando dúvidas.
Modelo de ciclo de vida
Não se trata de uma metodologia única, há várias abordagens diferentes de desenvolvimento de software, todas diferentes o suficiente para poder atender às necessidades de uma organização.
Alguns exemplos de modelo de ciclo de vida do desenvolvimento de software:
Modelo em Cascata
- Linear e sequencial
- Ideal quando os requisitos do projeto estão claros, bem definidos e dificilmente vão mudar durante o desenvolvimento
- Cada fase é concluída antes de passar para a seguinte e não é possível voltar atrás depois que uma fase é concluída.
Modelo iterativo
- Flexível e adaptável
- Ideal quando o escopo do projeto não está totalmente definido desde o início
- É criada uma versão simples do software e a cada ciclo, é planejado, desenvolvido e testado melhorias ou novas funções, tornando o produto cada vez melhor aos poucos.
Modelo espiral
- Foca na identificação e mitigação de riscos a cada ciclo.
- Ideal para projetos de alto risco ou super complexos.
- Em cada ciclo que inclui (planeamento, análise de risco, engenharia e avaliação), um conjunto de requisitos é desenvolvido e os riscos são avaliados. O processo se repete, adicionando funcionalidades aos poucos.
Modelos Ágeis
- Foco na interação com o cliente e na adaptação a mudanças.
- Ideal para projetos com requisitos que mudam frequentemente.
- Projeto é dividido em sprints de 2 a 4 semanas, onde as equipes desenvolvem, testam e coletam feedback continuamente, mesmo em fases avançadas do projeto.
Existe diferença de custo em cada etapa ?
O Relatório Chaos e a obra de Dean Leffingwell informam que quase 50% dos erros de software resultam de requisitos mal definidos ou incompletos. Além disso, corrigir esses defeitos é mais caro que outros tipos, com 70 a 85% dos custos de retrabalho associados a eles.(STICKYMINDS, s.d.).
Fonte: Adaptada de Leffingwell (1997)
Conclusão:
O Ciclo de vida do software garante que todos os desenvolvedores e partes interessadas tenham uma compreensão clara do “porquê” do projeto e da direção que devem seguir para alcançar o objetivo comum. Cada fase define tarefas específicas, atribui funções claras e estabelece resultados tangíveis, para que todos os envolvidos se mantenham na mesma página e conheçam o seu trabalho, além de mitigar custos futuros.
Estudante de Engenharia de Software na Jala, sempre buscando aprender mais sobre tecnologia, programação e como criar soluções que fazem a diferença. Fora do mundo dos códigos, é apaixonada por comida e não perde um reality show de culinária porque nem só de código vive o desenvolvedor.

Comentários
Postar um comentário