Arquitetura de Software EXPLICADA
-
Upload
fabio-nogueira-de-lucena -
Category
Technology
-
view
223 -
download
1
Transcript of Arquitetura de Software EXPLICADA
![Page 1: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/1.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/2.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/3.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/4.jpg)
O que é arquitetura de software?
Páginas 3-24
![Page 5: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/5.jpg)
Sistemas de software são construídos para satisfazer objetivos de negócio de organizações.
![Page 6: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/6.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/7.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/8.jpg)
Objetivos
(negócio)Software
Arquitetura de Software
![Page 9: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/9.jpg)
Arquitetura de Software é meio
Objetivos do negócio
Implementaçãodo software
Arquitetura de Software
Requisitos Projeto Construção
![Page 10: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/10.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/11.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/12.jpg)
Uma arquitetura de software pode ser...
Documentada
Projetada
Analisada
![Page 13: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/13.jpg)
O que éarquitetura de software?
![Page 14: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/14.jpg)
Como “pensar” uma solução de software?
![Page 15: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/15.jpg)
Como analisar ou entender uma solução existente?
![Page 16: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/16.jpg)
O que é arquitetura de software?
“É o conjunto de estruturas, compostas de elementos e dasrelações entre eles.”
![Page 17: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/17.jpg)
Quais são os tipos de estruturas?
Módulos
Componente-e-conector
Alocação
![Page 18: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/18.jpg)
Módulos
![Page 19: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/19.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/20.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/21.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/22.jpg)
Módulos(exemplos)
Divisão de responsabilidade, uso, decomposição
![Page 23: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/23.jpg)
Módulos (exemplo) (1/18)
HealthDB(camadas)
![Page 24: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/24.jpg)
Módulos (exemplo) (2/18)
HealthDB
![Page 25: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/25.jpg)
Módulos (exemplo) (3/18)
![Page 26: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/26.jpg)
Módulos (exemplo) (4/18)
![Page 27: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/27.jpg)
Módulos (exemplo) (5/18)
![Page 28: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/28.jpg)
Módulos (exemplo) (6/18)
![Page 29: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/29.jpg)
Módulos (exemplo) (7/18)
![Page 30: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/30.jpg)
Módulos (exemplo) (8/18)
![Page 31: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/31.jpg)
Módulos (exemplo) (9/18)
![Page 32: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/32.jpg)
Módulos (exemplo) (10/18)
![Page 33: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/33.jpg)
Módulos (exemplo) (11/18)
![Page 34: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/34.jpg)
Módulos (exemplo) (12/18)
![Page 35: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/35.jpg)
Módulos (exemplo) (13/18)
![Page 36: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/36.jpg)
Módulos (exemplo) (14/18)
![Page 37: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/37.jpg)
Módulos (exemplo) (15/18)
![Page 38: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/38.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/39.jpg)
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](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/40.jpg)
Módulos (exemplo) (18/18)
![Page 41: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/41.jpg)
Módulos(exemplos)
Classes (típicas de análise e projeto orientado a objetos)
![Page 42: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/42.jpg)
Módulos (exemplo) (1/4)
![Page 43: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/43.jpg)
Módulos (exemplo) (2/4)
![Page 44: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/44.jpg)
Módulos (exemplo) (3/4)
![Page 45: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/45.jpg)
Módulos (exemplo) (4/4)
![Page 46: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/46.jpg)
Módulos(exemplos)
Modelo de dados
![Page 47: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/47.jpg)
Módulos (exemplo) (18/18)
![Page 48: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/48.jpg)
Módulos (exemplo) (18/18)
![Page 49: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/49.jpg)
Módulos (exemplo) (18/18)
![Page 50: Arquitetura de Software EXPLICADA](https://reader035.fdocumentos.com/reader035/viewer/2022062316/58ece9691a28abdb6f8b467f/html5/thumbnails/50.jpg)
Módulos (exemplo) (4/4)