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