Arquitetura de Software

João Arthur Brunet
Computação @ UFCG

Objetivos


Os alunos de Arquitetura e Urbanismo vivenciam os conceitos teóricos através de análise e visitas a elementos concretos, como prédios, praças, ciclovias, entre outros. Utilizando essa metáfora clichê, eu vou empregar o mesmo na disciplina de Arquitetura de Software. Nós vamos sair por aí (via github) estudando e dissecando a implementação de padrões arquiteturais em projetos opensource populares e reconhecidamente bem arquitetados.

Além disso, vamos promover encontros com arquitetos de software em que eles apresentarão casos concretos no modelo “problema -> solução arquitetural”.

Portanto, neste curso, as aulas teóricas serão apenas guias para as atividades práticas, que envolvem identificação de padrões arquiteturais, stakeholders e decisões/regras arquiteturais, documentação arquitetural, utilização e construção de métricas para avaliar a arquitetura, entre outras atividades.

Ao final deste curso você será capaz de:

  • Debater sobre diferentes definições de arquitetura de software;
  • Descrever a arquitetura de sistemas utilizando o modelo C4 e o modelo de visões arquiteturais;
  • Identificar, compreender e escrever sobre os principais estilos e padrões arquiteturais;
  • Compreender, aplicar e propor métodos de avaliação arquitetural.

Este curso exige de você:

  • Capacidade de trabalhar em equipe;
  • Proatividade para identificar projetos open source, participar da comunidade e contribuir concretamente via Pull Requests;
  • Tempo de dedicação para leitura e escrita;
  • Tempo de dedicação para preparação e apresentação de relatórios.