Curso: Arquitetura de Software
Carga Horária: 30h
Modalidade: Presencial
Turno/Horário: Segunda, Quarta e Sexta | 08h às 12h
Período: 22/10/2025 a 05/11/2025
Professor (a): Rodrigo Rocha
Informações em: https://bit.ly/Cursos-Outubro-Tomorrow-UFBA
Inscrição em: https://tomorrow.app.ic.ufba.br/
NÍVEL DO CURSO
Intermediário
OBJETIVOS DO CURSO
Capacitar os participantes para compreender conceitos e paradigmas relacionados a arquitetura de software.
OBJETIVOS ESPECÍFICOS:
- Compreender o papel, as responsabilidades e as soft skills de um arquiteto de software.
- Dominar os princípios fundamentais de design de software e sua aplicação na arquitetura.
- Diferenciar e aplicar estilos arquiteturais (Monólito, Camadas, Microservices, Event-Driven, etc.).
- Escolher e justificar a escolha de estilos e tecnologias arquiteturais com base em requisitos não-funcionais (desempenho, escalabilidade, segurança, etc.).
- Compreender as tendências modernas e práticas de DevOps (CI/CD, Observabilidade) que impactam a arquitetura.
PRÉ-REQUISITO OBRIGATÓRIO:
Ter conhecimento em pensamento computacional ou lógica de programação em outras linguagens, além de dominar programação orientada a objetos com Java.
POR QUE DEVO FAZER ESTE CURSO?
Em um mercado de tecnologia cada vez mais competitivo e complexo, a simples capacidade de codificar não é mais suficiente para quem almeja impacto real e crescimento na carreira. Este curso de Arquitetura de Software foi desenhado para ser o seu divisor de águas, transformando sua perspectiva de desenvolvedor para arquiteto. Você evoluirá de "como implementar uma funcionalidade" para "como estruturar um sistema inteiro", aprendendo a tomar decisões estratégicas que definem a robustez, a escalabilidade e o sucesso de longo prazo de um produto. Esta é a habilidade que diferencia profissionais técnicos sênior e líderes, abrindo portas para as posições mais desafiadoras e bem-remuneradas da área.
Imagine a confiança de poder justificar suas escolhas técnicas, de antecipar problemas de desempenho antes mesmo de uma linha de código ser escrita, e de liderar discussões de design com clareza e autoridade. Este curso não é apenas sobre teorias abstratas; é extremamente prático, equipando você com um arsenal de padrões, estilos e ferramentas modernas — de Microservices e Event-Driven Architecture a DevOps e modelagem C4 — para enfrentar os problemas do mundo real. Se você quer parar de apenas seguir ordens técnicas e começar a defini-las, construindo um legado de software eficiente e elegante, esta é a sua oportunidade crucial de dar o próximo passo.
QUEM PODE FAZER ESTE CURSO?
Pessoas da área de tecnologia que já dominam a linguagem de programação Java e desejam aprofundar seus conhecimentos nos diversos conceitos e paradigmas relacionados a arquitetura de software: alunos de graduação e estudantes de cursos técnicos e profissionalizantes; profissionais de tecnologia da informação; desenvolvedores de software que já programam em Java. Esse curso não é recomendado para profissionais de outras áreas ou entusiastas na área de tecnologia, que não dominem programação orientada a objetos com Java.
EMENTA
Fundamentos. Requisitos Não-Funcionais. Trade-offs Arquiteturais. Princípios S.O.L.I.D. Princípios de Design de Módulos. Padrões de Projeto. Padrões Arquiteturais de Decomposição. Arquitetura em Camadas (N-Camadas) vs. Arquitetura Monolítica. Arquitetura Orientada a Serviços (SOA) vs. Microservices. Design de serviços. Arquitetura Orientada a Eventos (Event-Driven Architecture - EDA). Arquiteturas Reativas. Tópicos Avançados e Práticas Modernas: Design para Escalabilidade, Design para Resilência, Segurança na Arquitetura, Integração de DevOps e Arquitetura.
SOBRE O PROFESSOR
Rodrigo é professor adjunto do Instituto de Computação da UFBA e pesquisador na área de Engenharia de Software. Ele já desenvolveu diversos aplicativos, publicados na App Store (iOS) e no Google Play (Android), e ensina desenvolvimento de aplicativos móveis para alunos de graduação desde 2012.




