03.07.2013 Views

Engenharia de Software ? Projeto de Arquitetura ... - Cavalcanti.pro.br

Engenharia de Software ? Projeto de Arquitetura ... - Cavalcanti.pro.br

Engenharia de Software ? Projeto de Arquitetura ... - Cavalcanti.pro.br

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Engenharia</strong> <strong>de</strong> <strong>Software</strong> – <strong>Projeto</strong> <strong>de</strong> <strong>Arquitetura</strong><<strong>br</strong> />

Prof. MSc Wagner Siqueira Cavalcante<<strong>br</strong> />

1.1. Explique as três vantagens <strong>de</strong> <strong>pro</strong>jetar e documentar explicitamente uma arquitetura <strong>de</strong> software:<<strong>br</strong> />

Comunicação <strong>de</strong> stakehol<strong>de</strong>rs:<<strong>br</strong> />

a) Isto estabelece a necessida<strong>de</strong> <strong>de</strong> criação <strong>de</strong> meios <strong>de</strong> comunicação (como wi-fi por exemplo) para<<strong>br</strong> />

os stakehol<strong>de</strong>rs.<<strong>br</strong> />

b) Isto <strong>pro</strong>picia que os canais <strong>de</strong> comunicação existentes sejam mais a<strong>pro</strong>priados aos stakehol<strong>de</strong>rs.<<strong>br</strong> />

c) Isto cria um canal <strong>de</strong> comunicação colaborativo entre os stakehol<strong>de</strong>rs.<<strong>br</strong> />

Análise <strong>de</strong> sistemas:<<strong>br</strong> />

a) Isto permite que os sistemas tenham melhor condição <strong>de</strong> serem analisados em qualquer momento<<strong>br</strong> />

da vida do software.<<strong>br</strong> />

b) Ainda em um estário inicial, isto cria a possibilida<strong>de</strong> <strong>de</strong> melhores <strong>de</strong>cisões <strong>de</strong> <strong>pro</strong>jeto após a análise<<strong>br</strong> />

da arquitetura<<strong>br</strong> />

c) Isto faz com que o Analista <strong>de</strong> Sistemas, no momento específico <strong>de</strong> <strong>Projeto</strong>, <strong>de</strong>termine métodos,<<strong>br</strong> />

critérios e metodologias para a implementação e <strong>de</strong>fina os gráficos que o cliente <strong>de</strong>ve validar.<<strong>br</strong> />

Reuso em larga escala:<<strong>br</strong> />

a) A arquitetura <strong>de</strong> cada sistema é absolutamente peculiar e, por isto, permite que o código seja<<strong>br</strong> />

largamente usado.<<strong>br</strong> />

b) Quando há requisitos similares, sistemas distintos po<strong>de</strong>m ser <strong>de</strong>senvolvidos usando o mesmo<<strong>br</strong> />

mo<strong>de</strong>lo <strong>de</strong> arquitetura.<<strong>br</strong> />

c) Apenas subsistemas <strong>de</strong> um sistema po<strong>de</strong>m ser reusados em larga escala <strong>de</strong>ntro do próprio sistema.<<strong>br</strong> />

1.2. O mo<strong>de</strong>lo <strong>de</strong> repositório:<<strong>br</strong> />

a) Usa a re<strong>de</strong> (ou Internet) como meio <strong>de</strong> comunicação entre os subsistemas<<strong>br</strong> />

b) Controla toda a comunicação entre os subsistemas<<strong>br</strong> />

c) Compartilha todos os dados em um banco <strong>de</strong> dados acessível por todos os subsistemas<<strong>br</strong> />

d) Cada subsistema tem, necessariamente, o seu próprio banco <strong>de</strong> dados, através dos quais se<<strong>br</strong> />

comunica com os outros subsistemas.<<strong>br</strong> />

e) Permite a comunicação entre os subsistemas através <strong>de</strong> um banco <strong>de</strong> dados compartilhado ou por<<strong>br</strong> />

troca <strong>de</strong> mensagens com bancos <strong>de</strong> dados em cada subsistema.<<strong>br</strong> />

1.3. O mo<strong>de</strong>lo cliente-servidor:<<strong>br</strong> />

a) Usa a re<strong>de</strong> (ou Internet) como meio <strong>de</strong> comunicação entre os subsistemas<<strong>br</strong> />

b) Controla toda a comunicação entre os subsistemas<<strong>br</strong> />

c) Compartilha todos os dados em um banco <strong>de</strong> dados acessível por todos os subsistemas<<strong>br</strong> />

d) Cada subsistema tem, necessariamente, o seu próprio banco <strong>de</strong> dados, através dos quais se<<strong>br</strong> />

comunica com os outros subsistemas.<<strong>br</strong> />

e) Permite a comunicação entre os subsistemas através <strong>de</strong> um banco <strong>de</strong> dados compartilhado ou por<<strong>br</strong> />

troca <strong>de</strong> mensagens com bancos <strong>de</strong> dados em cada subsistema.


1.4. O mo<strong>de</strong>lo <strong>de</strong> máquina abstrata:<<strong>br</strong> />

<strong>Engenharia</strong> <strong>de</strong> <strong>Software</strong> – <strong>Projeto</strong> <strong>de</strong> <strong>Arquitetura</strong><<strong>br</strong> />

Prof. MSc Wagner Siqueira Cavalcante<<strong>br</strong> />

a) Usa a re<strong>de</strong> (ou Internet) como meio <strong>de</strong> comunicação entre os subsistemas.<<strong>br</strong> />

b) Controla toda a comunicação entre os subsistemas através <strong>de</strong> uma base <strong>de</strong> dados única.<<strong>br</strong> />

c) Compartilha todos os dados em uma máquina abstrata acessível por todos os subsistemas.<<strong>br</strong> />

d) Cada camada po<strong>de</strong> ser concebida como uma máquina abstrata, cuja linguagem <strong>de</strong> máquina é<<strong>br</strong> />

<strong>de</strong>finida pelos serviços fornecidos por aquela camada.<<strong>br</strong> />

e) É assim <strong>de</strong>finida por se tratar <strong>de</strong> uma espécie <strong>de</strong> máquina, cujos dados são abstraídos do mini<<strong>br</strong> />

mundo real e convertidos em uma camada, chamada máquina abstrata.<<strong>br</strong> />

1.5. Escolha as afirmativas corretas:<<strong>br</strong> />

a) Em mo<strong>de</strong>los <strong>de</strong> controle centralizados, as <strong>de</strong>sisões <strong>de</strong> controle são geralmente <strong>de</strong>terminadas pelos<<strong>br</strong> />

valores <strong>de</strong> algumas variáveis <strong>de</strong> estado do sistema.<<strong>br</strong> />

b) Os mo<strong>de</strong>los orientados a eventos são regidos pelos eventos gerados externamente.<<strong>br</strong> />

c) Um evento <strong>de</strong> um mo<strong>de</strong>lo orientado a evento po<strong>de</strong> ou não ser binário, e po<strong>de</strong> ser um sinal que po<strong>de</strong><<strong>br</strong> />

assumir uma gama <strong>de</strong> valores ou uma entrada <strong>de</strong> comando baseados em um menu.<<strong>br</strong> />

d) Um mo<strong>de</strong>lo orientado a interrupção é a<strong>pro</strong>priado a um sistema <strong>de</strong> tempo real.<<strong>br</strong> />

e) O mo<strong>de</strong>lo pipelining é a<strong>de</strong>quado às ativida<strong>de</strong>s interativas.<<strong>br</strong> />

f) Mo<strong>de</strong>los <strong>de</strong> <strong>br</strong>oadcast são eficazes na integração <strong>de</strong> sistemas distribuídos em diferentes<<strong>br</strong> />

computadores da re<strong>de</strong>.<<strong>br</strong> />

g) Mo<strong>de</strong>los orientados a interrupções são a<strong>de</strong>quados aos sistemas <strong>de</strong> tempo real com requisitos<<strong>br</strong> />

rigorosos <strong>de</strong> tempo.<<strong>br</strong> />

h) Em mo<strong>de</strong>los <strong>de</strong> controle centralizados, as <strong>de</strong>sisões <strong>de</strong> controle são geralmente <strong>de</strong>terminadas pelas<<strong>br</strong> />

ocorrências dos eventos e suas transformações.<<strong>br</strong> />

i) Os mo<strong>de</strong>los orientados a eventos são regidos pelos eventos gerados pela interrupção do Sistema.<<strong>br</strong> />

j) Um evento <strong>de</strong> um mo<strong>de</strong>lo orientado a evento <strong>de</strong>ve ser binário, e correspon<strong>de</strong> a uma chamada <strong>de</strong><<strong>br</strong> />

interrupção.<<strong>br</strong> />

k) Um mo<strong>de</strong>lo orientado a interrupção é a<strong>pro</strong>priado a um sistema em que o tempo <strong>de</strong> resposta é<<strong>br</strong> />

prioritário.<<strong>br</strong> />

l) O mo<strong>de</strong>lo pipelining é a<strong>de</strong>quado às ativida<strong>de</strong>s interativas.<<strong>br</strong> />

m) Mo<strong>de</strong>los <strong>de</strong> <strong>br</strong>oadcast são eficazes na integração <strong>de</strong> sistemas distribuídos em diferentes<<strong>br</strong> />

computadores da re<strong>de</strong>.<<strong>br</strong> />

n) Mo<strong>de</strong>los orientados a interrupções não são a<strong>de</strong>quados aos sistemas <strong>de</strong> tempo real com requisitos<<strong>br</strong> />

rigorosos <strong>de</strong> tempo.


<strong>Engenharia</strong> <strong>de</strong> <strong>Software</strong> – <strong>Projeto</strong> <strong>de</strong> <strong>Arquitetura</strong><<strong>br</strong> />

Prof. MSc Wagner Siqueira Cavalcante<<strong>br</strong> />

2.1. Descreva alguns conflitos entre algumas arquiteturas, consi<strong>de</strong>rando os requisitos não funcionais <strong>de</strong><<strong>br</strong> />

<strong>de</strong>sempenho, <strong>pro</strong>teção, segurança, disponibilida<strong>de</strong> e facilida<strong>de</strong> <strong>de</strong> manutenção.<<strong>br</strong> />

2.2. Descreva o mo<strong>de</strong>lo <strong>de</strong> organização <strong>de</strong> sistema, baseado em repositório.<<strong>br</strong> />

2.3. Cite dois gêneros <strong>de</strong> sistemas que são a<strong>de</strong>quados ao mo<strong>de</strong>lo <strong>de</strong> repositório.<<strong>br</strong> />

2.4. Descreva o mo<strong>de</strong>lo <strong>de</strong> organização <strong>de</strong> sistema, baseado na estrutura cliente-servidor.<<strong>br</strong> />

2.5. Cite dois gêneros <strong>de</strong> sistemas que são a<strong>de</strong>quados ao mo<strong>de</strong>lo cliente-servidor.<<strong>br</strong> />

2.6. Descreva o mo<strong>de</strong>lo <strong>de</strong> organização <strong>de</strong> sistema, baseado em camadas.<<strong>br</strong> />

2.7. Cite dois gêneros <strong>de</strong> sistemas que são a<strong>de</strong>quados ao mo<strong>de</strong>lo <strong>de</strong> camadas.<<strong>br</strong> />

2.8. Compare as vantagens e <strong>de</strong>svantagens entre os mo<strong>de</strong>los <strong>de</strong> repositório, cliente-servidor e camadas.<<strong>br</strong> />

2.9. Caracterize as arquiteturas orientada a objetos e a pipelining orientada a funções.<<strong>br</strong> />

2.10. Destaque as vantagens e <strong>de</strong>svantagens entre as arquiteturas orientada a objetos e pinelining orientada a<<strong>br</strong> />

funções.<<strong>br</strong> />

2.11. Quanto ao controle centralizado, quais as diferenças entre o mo<strong>de</strong>lo chamada-retorno e o gerenciador?<<strong>br</strong> />

2.12. Quanto aos sistemas orientados a eventos, quais as diferenças entre o <strong>br</strong>oadcast e os orientados a<<strong>br</strong> />

interrupções?<<strong>br</strong> />

2.13. Quais conceitos <strong>de</strong> organização <strong>de</strong> sistema, estilos <strong>de</strong> <strong>de</strong>composição modular e mo<strong>de</strong>los <strong>de</strong> controle um<<strong>br</strong> />

sistema <strong>de</strong> controle aéreo utiliza?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!