Arquitetura de software é o estudo da organização global dos sistemas de software bem como do relacionamento entre seus subsistemas e componentes. Ela serve como uma estrutura que permite o entendimento de componentes de um sistema e seus inter-relacionamentos, especialmente daqueles atributos que são consistentes ao longo do tempo e de implementações. Lamentavelmente, arquiteturas de software recebem pouco ou nenhum tratamento sistemático na maioria dos cursos de Ciência da Computação, tanto no nível de graduação quanto de pós-graduação. Pouco ou nada tem sido feito no sentido de desenvolver habilidades para entender as arquiteturas existentes bem como desenvolver novas. Com objetivo de atender a essas necessidades, este livro apresenta os modelos emergentes de arquitetura de software bem como as práticas atuais e, também, examina como desenvolver sistemas do ponto de vista arquitetural.Os seguintes tópicos são abordados pelo livro:Arquitetura de software Estilos arquiteturais Requisitos arquiteturais Análise arquitetural Projeto arquitetural Arquiteturas de domínio específico Arquiteturas de interface com o usuário Avaliação arquitetural de um sistema de informações Avaliação arquitetural de um sistema de telecomunicações