Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… ·...
Transcript of Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… ·...
![Page 1: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/1.jpg)
Fernando Castor e Paulo BorbaFernando Castor e Paulo Borba
Documentação de Arquiteturas de Software
![Page 2: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/2.jpg)
Fonte: http://www.recife.pe.gov.br/cidade/projetos/mapas/mapa0.jpg
![Page 3: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/3.jpg)
![Page 4: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/4.jpg)
Fontes: http://banco.agenciaoglobo.com.br/Imagens/Preview/ 200803/d0a553a0-ce18-4dc4-97e7-79c058db89c9.jpg e http://imagens.portaisdamoda.com.br/gal83_13146lis.jpg
![Page 5: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/5.jpg)
Fonte: http://www.recife.pe.gov.br/cidade/projetos/mapas/index.html
![Page 6: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/6.jpg)
Fonte: http://www.transportes.gov.br/bit/estados/port/pe.htm
![Page 7: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/7.jpg)
Fonte: http://www.pebodycount.com.br/ocorrencia/ocorrenciaGrafico.php
![Page 8: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/8.jpg)
http://docs.google.com/Doc?docid=0Aeq-cxjLYT32ZGRicGpuYl8zM3d0cDI0NmRr&hl=en
![Page 9: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/9.jpg)
É difcil entender um sistema complexo em sua totalidade!
Fonte: http://www.learningwonders.com/cart/images/T/humanbody04.jpg
![Page 10: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/10.jpg)
Sistemas de sofware modernos são extremamente complexos
As arquiteturas de tais sistemas refetem essa complexidade
Como documentá-las?
![Page 11: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/11.jpg)
Documentação de Arquiteturas
• Documenta-se visões– Não se documenta a arquitetura “inteira”
• A escolha das visões a documentar depende– Da informação que se deseja
documentar/comunicar– Das análises que serão feitas– Do público alvo
![Page 12: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/12.jpg)
Fonte: Philippe Kruchten: The 4+1 View Model of Architecture. IEEE Software 12(6): 42-50 (1995)
![Page 13: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/13.jpg)
Por que Documentar a Arquitetura?
Engenheiros de Requisitos
Projetstas dos Módulos
Testadores
Gerentes
Clientes
Novos arquitetos
Responsáveis por manutenção
Desenvolvedores de outros sistemas
![Page 14: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/14.jpg)
O que Documentar?
• Visões– Forças/Requisitos/Restrições
– Decisões de projeto
– Informação estrutural
– Comportamento (interações em tempo de execução)
– Interfaces
• Relacionamentos entre visões
![Page 15: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/15.jpg)
![Page 16: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/16.jpg)
Existem vários tpos de visões!
Quais usar? E por quê?
![Page 17: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/17.jpg)
Visões de Módulos
Fonte: http://www.heydaycreative.com/_images/portfolio/port-cad.jpg
![Page 18: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/18.jpg)
Visões de Módulos
• Mostram o sistema em termos de unidades de desenvolvimento– E dependências entre elas
• Camadas, Uso, Decomposição, Generalização
• Evidenciam diversas característcas importantes
![Page 19: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/19.jpg)
Visões de módulos evidenciam...
• facilidade de manutenção/extensão
• facilidade de compreensão
• facilidade de substtuição
• reuso
• portabilidade
• divisão de esforço de desenvolvimento
![Page 20: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/20.jpg)
Módulos na UML
Fonte: Software Architecture in Practice, 2ª ed.
![Page 21: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/21.jpg)
Diagramas Esquemátcos
Fonte: http://www.eclipse.org/proposals/subversive/architecture.GIF
![Page 22: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/22.jpg)
Fonte: “Trading Obliviousness for Modularity with Cooperative Aspect-oriented Programming”, de Kevin Hoffman e Patrick Eugster. Submetido para publicação.
Matrizes de Estrutura de Projeto
![Page 23: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/23.jpg)
Verifcando Habilidades• Para representar sua arquitetura do
Google Wave, foram usadas visões de módulos?–O que foi representado (ou poderia
ser)?–Qual notação foi empregada?
![Page 24: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/24.jpg)
Visões de Componentes e Conectores
Fonte: http://img386.imageshack.us/i/devastatorvj6.jpg/#q=devastator%20transformers
![Page 25: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/25.jpg)
Visões de Componentes e Conectores
• Estrutura do sistema em tempo de execução• Conectores (interações) representados de
forma explícita• Comunicação (adaptadores distribuídos)
• Coordenação (mediadores)
• Conversão (adaptadores)
• Facilitação (balanceamento de carga)
![Page 26: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/26.jpg)
Úteis para Analisar...
• Desempenho• vazão, latência e uso de recursos
• Confabilidade • Disponibilidade• Protocolos de interação• Escalabilidade
![Page 27: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/27.jpg)
Documentando Componentes e Conectores
• UML– Apenas a partr da versão 2.0
• Diagramas de blocos
• Notações formais
![Page 28: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/28.jpg)
Um exemplo usando UML
http://docs.google.com/Doc?docid=0Aeq-cxjLYT32ZGRicGpuYl8zM3d0cDI0NmRr&hl=en
![Page 29: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/29.jpg)
Um exemplo usando UML
http://docs.google.com/Doc?docid=0Aeq-cxjLYT32ZGRicGpuYl8zM3d0cDI0NmRr&hl=en
![Page 30: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/30.jpg)
Arquitetura Filtros e Canos na UML
![Page 31: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/31.jpg)
Diagrama de Blocos do AcmeStudio
Devem ter pelo menos uma sintaxe bem definida(idealmente uma semântica também)
![Page 32: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/32.jpg)
Comportamento dos Elementos
![Page 33: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/33.jpg)
import families\AlteredLayeredFam.acme;System Normal-Bank : AlteredLayeredFam = new AlteredLayeredFam extended with { Component MySql : layerT = new layerT extended with { Property handlesAsynchRequests : boolean = false; Property layerLevel : int = 10; Property multThreaded : boolean = false; Port lowerPort : sendRequestT = new sendRequestT extended with { Property protocol : requestProtocolT = PC << default : requestProtocolT = PC; >>; ... }; ... }; Connector connMySqlPersistence = { Role r = { ... }; ... }; ...}
Especifcação Parcial em ACME
![Page 34: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/34.jpg)
Visões de Alocação
![Page 35: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/35.jpg)
Visões de Alocação
• Relacionam elementos do sistema a elementos externos (não-sofware)
– Muito diferentes entre si
• Clarifcam questões como:
– Alocação dos componentes de sofware aos de hardware
– Alocação das tarefas de desenvolvimento aos membros da equipe
– Alocação de módulos ao ambiente de desenvolvimento• Relacionado com gerenciamento de confguração
• Infuenciam vários atributos de qualidade
![Page 36: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/36.jpg)
Há problemas nesta visão de implantação?(ou é algum outro tpo de visão?)
http://www.cin.ufpe.br/~fcf3/apresentacoes/Arquitetura-Google-Wave-Parte2.ppt
![Page 37: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/37.jpg)
E nesta?
Fonte: http://my-svn.assembla.com/svn/google_wave_architecture/GoogleWave_appr2.ppt
![Page 38: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/38.jpg)
Visão de Implantação
Fonte: http://www.agilemodeling.com/artifacts/deploymentDiagram.htm
Notação padrão::Diagramas de implantação da UML
Alternativa:Diagramas de blocos/caixas/íconesmais simples
![Page 39: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/39.jpg)
Visão de Atribuição de Trabalho
• Arquitetura auxiliando o gerenciamento do projeto
– Objetvo do desenvolvimento modular
– Útl para gerenciamento de recursos e realização de estmatvas
• Mapeamento de módulos do sistema a humanos
• Útl mesmo quando se adota componentes OTS
![Page 40: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/40.jpg)
Um Exemplo de Visão de Atribuição de Trabalho
Segment Module Coordinator
WaveProvider
WaveServerCore José Dihego
MessageUpdater Ademir
WaveClient Javascript Client Davi
Communication Subsystem
Host and Remote API Provider Adauto
WaveletProcessor
Conflict Manager Rafael
Transformation Engine Paulo
![Page 41: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/41.jpg)
Verifcando HabilidadesSua descrição da arquitetura do Google Wave inclui visões de alocação?
- Caso a resposta seja ``não'', por que não?
•O que você quis mostrar com elas? - Auxiliam na análise de algum atributo de
qualidade do sistema?
![Page 42: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/42.jpg)
Interfaces
![Page 43: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/43.jpg)
Interfaces na Arquitetura (1)
• Conceito mais amplo que nas LPs– Indicam pontos de interação direta com um
elemento– Não necessariamente
procedimentos/métodos/funções– Que tpo de coisa uma interface assim
poderia especifcar?
• Fenômenos e eventos visíveis externamente
![Page 44: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/44.jpg)
Interfaces na Arquitetura (2)
• Funcionam em duas direções– Interfaces providas– Interfaces requeridas
• As requeridas especifcam– Recursos dos quais um elemento depende
• Ex. A API JDBC
– Suposições que faz sobre outros elementos• Exs. Esquema de banco de dados, sequência de
operações, modelo de interação
![Page 45: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/45.jpg)
Representando Interfaces Grafcamente
• Em geral, dêem preferência às Opções 1 e 2
Fonte: Sofware Architecture in Practce, 2nd ed, 2003.
![Page 46: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/46.jpg)
1. Identificação da Interface
2. Recursos providos• Sintaxe• Semântica/restrições (pré- e pós-condições)
3. Tipos de dados usados• Principalmente os definidos internamente
4. Erros sinalizados
5. Recursos requeridos e Suposições• Erros tratados
6. Escolhas de projeto e justificativas
7. Guia de uso
Adaptado do modelo proposto em Documenting Software Architectures, Addison-Wesley, 2003.
![Page 47: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/47.jpg)
Documentando Entre Visões
![Page 48: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/48.jpg)
Três Elementos Cruciais (da documentação entre visões)
• Como a documentação está organizada
• O que é a arquitetura
• Por que a arquitetura é assim
![Page 49: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/49.jpg)
Modelo para Documentação Entre Visões
![Page 50: Documentação de Arquiteturas de Softwarefcf3/Arquitetura de Software/Documentacao_Arqui… · import families\AlteredLayeredFam.acme; System Normal-Bank : AlteredLayeredFam = new](https://reader033.fdocumentos.tips/reader033/viewer/2022060801/6085bbea200908215b2e706b/html5/thumbnails/50.jpg)
Obrigado!Obrigado!Dúvidas e comentários:Dúvidas e comentários: [email protected]@[email protected]@cin.ufpe.br