A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Software: Estudos de Caso

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Software: Estudos de Caso"— Transcrição da apresentação:

1 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.

2 1. Palavra-chave em contexto: enunciado

3 1. Palavra-chave em contexto: exemplo

4 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.

5 1. Palavra-chave em contexto: programa principal/subrotinas com dados compartilhados
Master Input Circular Shift Alphabetizer Output Lines Index Alphabetized index Input medium Output medium Acesso direto na memória Chamada de subrotina I/O

6 Pontos fortes: Pontos fracos:
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.

7 1. Palavra-chave em contexto: tipos abstratos de dados
Master Input Output Alphabetizer Circular Shift Lines Input medium Output medium Chamada de subrotina I/O

8 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.

9 1. Palavra-chave em contexto: invocação implícita
Master Input Circular Shift Alphabetizer Output I n s e r t I n s e r t Lines Output medium Input medium Lines Invocação implícita Chamada de subrotina I/O

10 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.

11 1. Palavra-chave em contexto: canais e filtros
Input medium Input Circular Shift Alphabetizer Output Output medium Canal (Pipe) I/O

12 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.

13 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.

14 2. Software para instrumentação (osciloscópio): modelo orientado a objetos
Formato da onda Sinais Medidas ...

15 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?

16 2. Software para instrumentação (osciloscópio): modelo em camadas
hardware digitalização manipulação visualização Interface com usuário

17 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.

18 2. Software para instrumentação (osciloscópio): modelo de canais e filtros
Acoplar Adquirir To-X-Y Clip sinal tempo Forma da onda Subsistema de Gatilhos Medir medida

19 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.

20 2. Software para instrumentação (osciloscópio): modelo de canais e filtros modificado
acoplamento Tipo, taxa trans tamanho Acoplar Adquirir To-X-Y Mostrar sinal tempo Forma da onda Subsistema de Gatilhos Medir medida

21 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.


Carregar ppt "Arquitetura de Software: Estudos de Caso"

Apresentações semelhantes


Anúncios Google