Estudos Caso Arquit
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
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.
1. Palavra-chave em contexto: programa principal/subrotinas com dados compartilhados Master
Input
Circular Shift
Lines
Alphabetizer
Index
Output
Alphabetized index Output medium Input medium
Acesso direto na memória
Chamada de subrotina
I/O
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.
1. Palavra-chave em contexto: tipos abstratos de dados
Master
Input
Output
Lines
Input medium
Circular Shift
Chamada de subrotina
I/O
Alphabetizer
Output
medium
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