arquitetura de software: estudos de caso
DESCRIPTION
Arquitetura de Software: Estudos de Caso. Objetivo: Ilustrar como princípios de arquitetura podem aumentar o entendimento de sistemas de software. Avaliar diferentes soluções para um mesmo problema. 1. Palavra-chave em contexto: enunciado. 1. Palavra-chave em contexto: exemplo. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/1.jpg)
Arquitetura de Software:Estudos de Caso
Objetivo:– Ilustrar como princípios de arquitetura podem
aumentar o entendimento de sistemas de software.
– Avaliar diferentes soluções para um mesmo problema.
![Page 2: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/2.jpg)
1. Palavra-chave em contexto: enunciado
![Page 3: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/3.jpg)
1. Palavra-chave em contexto: exemplo
![Page 4: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/4.jpg)
1. Palavra-chave em contexto: objetivo
Analisar diferentes arquiteturas com respeito às seguintes considerações de projeto:– Mudança no algoritmo de processamento (ex: shifts nas linhas
podem ser feitos em cada linha lida, em todas as linhas após terem sido lidas, ou por demanda);
– Mudança na representação dos dados;
– Mudança na funcionalidade (extensibilidade);
– Performance (espaço e tempo);
– Grau de reuso.
![Page 5: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/5.jpg)
1. Palavra-chave em contexto: programa principal/subrotinas com dados
compartilhados
Master
OutputAlphabetizerCircular ShiftInput
Alphabetizedindex
IndexLines
Output medium
Input medium
Acesso direto na memória
Chamada de subrotinaI/O
![Page 6: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/6.jpg)
1. Palavra-chave em contexto: programa principal/subrotinas com dados
compartilhados
Pontos fortes:– Dados podem ser representados de forma eficiente (boa
performance), pois são compartilhados.
– A extensibilidade é permitida por meio da adição de um novo componente, acessando os dados compartilhados.
Pontos fracos:– Uma mudança na estrutura dos dados irá afetar todos os módulos.
– Mudanças no algoritmo de processamento não são fáceis.
– Devido à forte dependência dos dados, os módulos não são facilmente reusáveis.
![Page 7: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/7.jpg)
1. Palavra-chave em contexto: tipos abstratos de dados
Master
Output
Circular Shift
Input
AlphabetizerLines
Output medium
Input medium Chamada de subrotina
I/O
![Page 8: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/8.jpg)
1. Palavra-chave em contexto: tipos abstratos de dados
Pontos fortes:– Em cada módulo, tanto o algoritmo como o formato interno dos
dados podem ser modificados sem afetar os outros módulos.
– Reuso é melhor suportado, pois cada módulo não precisa conhecer detalhes internos dos outros módulos.
– A performance não é tão boa quanto a anterior, pois o fluxo de dados é provavelmente maior.
Ponto fraco:– A extensibilidade implica modificação dos módulos ou adição de
um novo módulo.
![Page 9: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/9.jpg)
1. Palavra-chave em contexto: invocação implícita
Master
Output
Lines
Input
LinesOutput mediumInput medium
Chamada de subrotina
Inssert
Circular Shift Alphabetizer
I/O
Invocação implícita
Inssert
![Page 10: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/10.jpg)
1. Palavra-chave em contexto: invocação implícita
Características:– Tão logo os dados são modificados, outras computações são
invocadas implicitamente. Existe um “line storage” para “input” e outro para “shifts”.
Ponto forte:– A representação dos dados pode ser modificada sem afetar os
módulos.
Ponto fraco:– É difícil controlar a ordem de processamento dos módulos
invocados implicitamente.
![Page 11: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/11.jpg)
1. Palavra-chave em contexto: canais e filtros
Input medium InputCircular
Shift
Output medium
OutputAlphabetizer
Canal (Pipe)
I/O
![Page 12: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/12.jpg)
1. Palavra-chave em contexto: canais e filtros
Pontos fortes:– Suporta reuso já que cada filtro pode funcionar isoladamente
desde que receba o “stream” que está esperando.
– Novas funções podem ser adicionadas inserindo novos filtros no lugar apropriado.
– O algoritmo de processamento de cada filtro pode ser modificado.
Pontos fracos:– É impossível modificar o sistema para funcionar interativamente.
– Os dados têm que ser completamente copiados de um filtro para outro.
![Page 13: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/13.jpg)
2. Software para instrumentação (osciloscópio)
Sistema de instrumentação que recebe sinais elétricos e mostra figuras numa tela;
Osciloscópio também executa medidas sobre estes sinais e mostra-as numa tela.
![Page 14: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/14.jpg)
2. Software para instrumentação (osciloscópio):modelo orientado a objetos
Osciloscópio
MedidasSinaisFormato da onda ...
![Page 15: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/15.jpg)
2. Software para instrumentação (osciloscópio):modelo orientado a objetos
Problema:– Confusão sobre o particionamento. Ex: as
medidas devem ser associadas com os tipos de dados sendo medidos, ou representadas externamente? Quais são os objetos que a interface com o usuário interage?
![Page 16: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/16.jpg)
2. Software para instrumentação (osciloscópio): modelo em camadas
hardware
digitalização
manipulaçãovisualização
Interface com usuário
![Page 17: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/17.jpg)
2. Software para instrumentação (osciloscópio): modelo em camadas
Problema:– Em osciloscópios reais, os usuários precisam
afetar diretamente funções em todos os níveis. Ou seja, a interação não se dá apenas com o último nível.
![Page 18: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/18.jpg)
2. Software para instrumentação (osciloscópio): modelo de canais e filtros
Acoplar Adquirir To-X-Y Clip
MedirSubsistemade Gatilhos
sinal
Forma da onda
medida
tempo
![Page 19: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/19.jpg)
2. Software para instrumentação (osciloscópio): modelo de canais e filtros
Problema:– Não fica claro como o usuário interage com o
sistema.
![Page 20: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/20.jpg)
2. Software para instrumentação (osciloscópio): modelo de canais e filtros modificado
Acoplar Adquirir To-X-Y Mostrar
MedirSubsistemade Gatilhos
sinal
Forma da onda
medida
tempo
acoplamento Tipo, taxa trans tamanho
![Page 21: Arquitetura de Software: Estudos de Caso](https://reader036.vdocuments.com.br/reader036/viewer/2022062301/56815058550346895dbe58be/html5/thumbnails/21.jpg)
2. Software para instrumentação (osciloscópio): modelo de canais e filtros modificado
Problemas:– Performance, devido à grande transferência de
dados;– Filtros lentos podem atrasar o processamento
do sistema.