Software Architecture normalmente se refere às estruturas maiores de um sistema de software e trata de como vários processos de software cooperam para realizar suas tarefas. Software Designrefere-se às estruturas menores e trata do design interno de um único processo de software. Ao final deste tutorial, os leitores desenvolverão uma compreensão sólida dos conceitos de arquitetura de software e conceitos de design e estarão em posição de escolher e seguir o modelo certo para um determinado projeto de software.
Este tutorial foi desenvolvido para todos os profissionais de software, arquitetos e engenheiros de projeto de sistema sênior. Gestores de equipes de arquitetura também serão beneficiados com este tutorial.
Não há pré-requisito exato para este tutorial. Qualquer profissional de software pode seguir este tutorial para ter uma visão geral de como os aplicativos e produtos de software de alta qualidade são projetados.