⚙️ Engenharia de Software

Cap 03: As Atividades do Processo

Para que um software seja produzido e mantido em escala corporativa, são necessárias diversas etapas coordenadas chamadas de Processo de Software. Independente do modelo escolhido (Ágil ou Tradicional), as engrenagens fundamentais permanecem as mesmas. 🛡️🧩

🎯 Objetivo do Capítulo

Dominar as quatro atividades universais da engenharia de software, compreendendo como cada uma se traduz em tarefas técnicas e ferramentas no dia a dia de um desenvolvedor moderno.


🏢 O Cenário Corporativo (TecProExpress)

Na TecProExpress, um novo projeto de Rastreamento de Carga em Tempo Real foi aprovado. Antes de começar a codificar, a diretoria exige saber como o time vai garantir que o sistema não quebre após cada atualização.

"Seu papel é estruturar o ciclo de vida deste projeto, garantindo que as etapas de Especificação, Implementação, Validação e Evolução estejam conectadas através de uma esteira automatizada de CI/CD."


🧠 As Quatro Atividades Fundamentais

Segundo Sommerville (2011), todo processo de software de sucesso roda estas 4 engrenagens essenciais:

AtividadeDescrição Corporativa e Tecnológica
EspecificaçãoO cliente define o que o sistema faz. Criamos a lista de Requisitos Funcionais e Não-Funcionais.
Projeto e ImplementaçãoO software ganha vida. Planejamento de Entities, Interfaces REST e codificação pura em Java.
ValidaçãoGarantia de que o sistema funciona e não tem bugs. Uso de JUnit 5, Mockito e Testes de Integração.
EvoluçãoAdição de novas funcionalidades e correções, mantendo o sistema vivo e atualizado na Nuvem.

📊 Visualizando a Interação


🔍 Detalhamento das Atividades

1. Especificação (Requisitos)

É o "Contrato" do que será construído. Na TecProExpress, uma falha aqui pode custar milhões. Se o requisito diz "A API deve suportar 10.000 requests/s", o arquiteto precisa planejar a infraestrutura para isso.

2. Projeto e Implementação

Aqui definimos as camadas do sistema (Controller, Service, Repository). O foco é transformar a lógica de negócio em código limpo (Clean Code) e escalável.

3. Validação (Testes)

Não basta o código rodar na máquina do desenvolvedor. Ele precisa passar por testes automatizados que provam que o sistema é resiliente.

Dica:Dica Sênior: Nunca envie um Pull Request sem testes unitários. Na TecProExpress, a Validação automatizada é o que impede que um erro de estagiário derrube o faturamento da empresa. 🛡️

4. Evolução (Manutenção)

O software nunca está "pronto". Ele está sempre em evolução para atender novas leis, novas tecnologias ou novas necessidades do mercado.


🚀 Rumo à Agilidade

Embora as atividades sejam as mesmas, a forma como as executamos muda. No modelo Ágil, essas atividades acontecem em ciclos muito curtos (Sprints), permitindo correções de rota rápidas.


💡 Checkpoint de Lógica

Importante:Reflexão Profissional: Se você pular a etapa de Validação para entregar o código mais rápido para o cliente, o que acontecerá na etapa de Evolução daqui a 6 meses? (Resposta: A Evolução será lenta e perigosa, pois cada mudança nova poderá quebrar partes do sistema que você não testou antes). 🧠🛡️
Copyright © 2026