50
Arquitetura de Software Compreendendo o livro Software Architecture in Practice Len Bass et al., Addison-Wesley, 3rd edition, 2013 Fábio Nogueira de Lucena Instituto de Informática (UFG) 2017

Arquitetura de Software EXPLICADA

Embed Size (px)

Citation preview

Page 1: Arquitetura de Software EXPLICADA

Arquitetura de SoftwareCompreendendo o livro

Software Architecture in PracticeLen Bass et al., Addison-Wesley, 3rd edition, 2013

Fábio Nogueira de LucenaInstituto de Informática (UFG)2017

Page 2: Arquitetura de Software EXPLICADA

Direitos autorais

Slides produzidos a partir do conteúdo do livro

Software Architecture in PracticeLen Bass, Paul Clements e Rick KazmanAddion-Wesley, 3rd edition, 2013.

Page 3: Arquitetura de Software EXPLICADA

Direitos autorais

As imagens contidas nos slides foram obtidas via Google Search, com a opção avançada de direitos autorais definidas para

noncommercial reuse

Page 4: Arquitetura de Software EXPLICADA

O que é arquitetura de software?

Páginas 3-24

Page 5: Arquitetura de Software EXPLICADA

Sistemas de software são construídos para satisfazer objetivos de negócio de organizações.

Page 6: Arquitetura de Software EXPLICADA

Objetivo de negócio

Business goal define o propósito pelo qual um sistema é construído.

A arquitetura é projetada parasatisfazer esse propósito.

Page 7: Arquitetura de Software EXPLICADA

Objetivo de negócio fomentarequisito de qualidade (arquitetural)...

Ampliar a presença no mercado

Software mais “rápido” e “mais eficiente”.

Page 8: Arquitetura de Software EXPLICADA

Objetivos

(negócio)Software

Arquitetura de Software

Page 9: Arquitetura de Software EXPLICADA

Arquitetura de Software é meio

Objetivos do negócio

Implementaçãodo software

Arquitetura de Software

Requisitos Projeto Construção

Page 10: Arquitetura de Software EXPLICADA

Visão funcional

Definir a Arquitetura de Software

Requisitos

Conhecimento; Experiência; “Plágio”; Intuição; Restrições; ...

Representação daArquitetura de Software

Processo definido por

Page 11: Arquitetura de Software EXPLICADA

Arquitetura de Software

Requisitos(entrada)

Projeto arquitetural(processo)

Documentação da arquitetura(saída)Documentação pode ser utilizada para a implementação ou para a avaliação.

Page 12: Arquitetura de Software EXPLICADA

Uma arquitetura de software pode ser...

Documentada

Projetada

Analisada

Page 13: Arquitetura de Software EXPLICADA

O que éarquitetura de software?

Page 14: Arquitetura de Software EXPLICADA

Como “pensar” uma solução de software?

Page 15: Arquitetura de Software EXPLICADA

Como analisar ou entender uma solução existente?

Page 16: Arquitetura de Software EXPLICADA

O que é arquitetura de software?

“É o conjunto de estruturas, compostas de elementos e dasrelações entre eles.”

Page 17: Arquitetura de Software EXPLICADA

Quais são os tipos de estruturas?

Módulos

Componente-e-conector

Alocação

Page 18: Arquitetura de Software EXPLICADA

Módulos

Page 19: Arquitetura de Software EXPLICADA

Módulo

Divide o sistema em unidade de implementação

Possui uma responsabilidade computacional

Define a unidade de trabalho de equipes de programação

Unidade estática (ênfase está na divisão da funcionalidade do sistema)

Exemplos

Banco de dados

Regras de negócio

Interface com o usuário, ...

Page 20: Arquitetura de Software EXPLICADA

Módulo

Registra as decisões acerca de como o sistema será estruturado como um conjunto de unidades de código e dados.

Um módulo é uma classe, camadas ou simples divisão da funcionalidade, cada um deles uma unidade de implementação.

Page 21: Arquitetura de Software EXPLICADA

Questões que são respondidas por módulos

Quais as principais responsabilidades atribuídas a cada módulo?

Qual a relação de uso entre os módulos?

Qual a relação de herança entre os módulos?

Qual a relação de composição entre os módulos?

Page 22: Arquitetura de Software EXPLICADA

Módulos(exemplos)

Divisão de responsabilidade, uso, decomposição

Page 23: Arquitetura de Software EXPLICADA

Módulos (exemplo) (1/18)

HealthDB(camadas)

Page 24: Arquitetura de Software EXPLICADA

Módulos (exemplo) (2/18)

HealthDB

Page 25: Arquitetura de Software EXPLICADA

Módulos (exemplo) (3/18)

Page 26: Arquitetura de Software EXPLICADA

Módulos (exemplo) (4/18)

Page 27: Arquitetura de Software EXPLICADA

Módulos (exemplo) (5/18)

Page 28: Arquitetura de Software EXPLICADA

Módulos (exemplo) (6/18)

Page 29: Arquitetura de Software EXPLICADA

Módulos (exemplo) (7/18)

Page 30: Arquitetura de Software EXPLICADA

Módulos (exemplo) (8/18)

Page 31: Arquitetura de Software EXPLICADA

Módulos (exemplo) (9/18)

Page 32: Arquitetura de Software EXPLICADA

Módulos (exemplo) (10/18)

Page 33: Arquitetura de Software EXPLICADA

Módulos (exemplo) (11/18)

Page 34: Arquitetura de Software EXPLICADA

Módulos (exemplo) (12/18)

Page 35: Arquitetura de Software EXPLICADA

Módulos (exemplo) (13/18)

Page 36: Arquitetura de Software EXPLICADA

Módulos (exemplo) (14/18)

Page 37: Arquitetura de Software EXPLICADA

Módulos (exemplo) (15/18)

Page 38: Arquitetura de Software EXPLICADA

Módulos (exemplo) (16/18)

Imagem obtida dehttps://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

Page 39: Arquitetura de Software EXPLICADA

Módulos (exemplo) (17/18)

Imagem obtida dehttps://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

Page 40: Arquitetura de Software EXPLICADA

Módulos (exemplo) (18/18)

Page 41: Arquitetura de Software EXPLICADA

Módulos(exemplos)

Classes (típicas de análise e projeto orientado a objetos)

Page 42: Arquitetura de Software EXPLICADA

Módulos (exemplo) (1/4)

Page 43: Arquitetura de Software EXPLICADA

Módulos (exemplo) (2/4)

Page 44: Arquitetura de Software EXPLICADA

Módulos (exemplo) (3/4)

Page 45: Arquitetura de Software EXPLICADA

Módulos (exemplo) (4/4)

Page 46: Arquitetura de Software EXPLICADA

Módulos(exemplos)

Modelo de dados

Page 47: Arquitetura de Software EXPLICADA

Módulos (exemplo) (18/18)

Page 48: Arquitetura de Software EXPLICADA

Módulos (exemplo) (18/18)

Page 49: Arquitetura de Software EXPLICADA

Módulos (exemplo) (18/18)

Page 50: Arquitetura de Software EXPLICADA

Módulos (exemplo) (4/4)