Buscar

Arquitetura de Software e Projeto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

questão numero 1:
No que diz respeito à visão “+1” do referido modelo, esta corresponde à visão de
caso de uso, isto é, um resumo dos casos de uso mais significativos sob o ponto de vista
arquitetural; uma síntese das realizações de casos de uso. A visão de caso de uso retrata
uma história comum que agrupa o entendimento das outras quatro visões e a forma
como elas se inter-relacionam (LARMAN, 2007).
questão 2
Analise as seguintes assertivas sobre o papel do arquiteto de software quanto à veracidade – V para VERDADEIRO, ou F para FALSO:
 
I. Apenas competências técnicas devem ser consideradas para um arquiteto de software.
II. Ao longo do projeto arquitetural, os arquitetos precisam tomar uma série de decisões estruturais que influenciam diretamente o desenvolvimento do produto de software.
III. O arquiteto projeta a arquitetura do sistema como um todo, já que ele é o responsável por tomar decisões sobre quais subsistemas (componentes ou módulos) devem compor o software e quais devem ser as interfaces entre esses subsistemas.
As assertivas I, II e III são, RESPECTIVAMENTE.
F V V
questao 3
I. A arquitetura de software fornece uma representação que simplifica a comunicação entre os stakeholders.
II. A arquitetura de software evidencia logo no começo do projeto as decisões que podem causar um impacto profundo nas atividades seguintes de engenharia de software.
III. A arquitetura de software define um modelo arquitetural relativamente extenso e complexo sobre como é a estrutura do software e como seus componentes vão interagir.
As assertivas I, II e III são, RESPECTIVAMENTE.
V V F
questao 4
PERGUNTA 1
Leia a afirmação sobre o modelo de visões arquiteturais 4+1.
No que diz respeito à visão ‘+1’ do referido modelo, esta corresponde à ______________________. Essa visão retrata uma história comum que agrupa o entendimento das outras quatro visões e a forma como elas se inter-relacionam.
 
Assinale a alternativa que preenche, de forma CORRETA, a lacuna.
 
	a.	
 visão de caso de uso
	b.	
 visão física
 
	c.	
 visão de desenvolvimento
	d.	
visão lógica
	e.	
 visão de processo
 
0,15 pontos 
PERGUNTA 2
Analise as seguintes assertivas sobre o papel do arquiteto de software quanto à veracidade – V para VERDADEIRO, ou F para FALSO:
 
I. Apenas competências técnicas devem ser consideradas para um arquiteto de software.
II. Ao longo do projeto arquitetural, os arquitetos precisam tomar uma série de decisões estruturais que influenciam diretamente o desenvolvimento do produto de software.
III. O arquiteto projeta a arquitetura do sistema como um todo, já que ele é o responsável por tomar decisões sobre quais subsistemas (componentes ou módulos) devem compor o software e quais devem ser as interfaces entre esses subsistemas.
 
As assertivas I, II e III são, RESPECTIVAMENTE.
	a.	
 V, V, F.
	b.	
 F, V, V.
	c.	
 V, F, F.
	d.	
 V, V, V.
	e.	
 F, F, F.
0,15 pontos 
PERGUNTA 3
Analise as seguintes assertivas sobre arquitetura de software quanto à veracidade – V para VERDADEIRO, ou F para FALSO:
 
I. A arquitetura de software fornece uma representação que simplifica a comunicação entre os stakeholders.
II. A arquitetura de software evidencia logo no começo do projeto as decisões que podem causar um impacto profundo nas atividades seguintes de engenharia de software.
III. A arquitetura de software define um modelo arquitetural relativamente extenso e complexo sobre como é a estrutura do software e como seus componentes vão interagir.
 
As assertivas I, II e III são, RESPECTIVAMENTE.
	a.	
 V, F, F.
	b.	
 V, V, F.
	c.	
 V, V, V.
	d.	
 F, F, F.
 
	e.	
F, V, V.
0,15 pontos 
PERGUNTA 4
Leia atentamente as informações sobre as atividades do modelo geral de projeto de software contidas nas colunas “A” e “B” para, em seguida, assinalar a alternativa que reúne as correspondências CORRETAS entre as informações nessas contidas.
 
Coluna A:
I. A estrutura geral do software e os componentes (módulos ou subsistemas) principais são identificados, inclusive seus relacionamentos e a forma como eles serão distribuídos.
II. As interfaces entre os componentes do sistema são definidas, sendo que a especificação dessas interfaces deve ser explícita.
III. Buscas por componentes reutilizáveis são realizadas e, não havendo componentes apropriados, novos componentes de software são projetados.
IV. As estruturas de dados do software são definidas, além da forma de representação dessas estruturas em um banco de dados.
 
Coluna B:
1. Atividade de projeto de banco de dados
2. Atividade de projeto de interface
3. Atividade de projeto de componentes
4. Atividade de projeto de arquitetura
 I-4; II-2; III-3; IV-1.
 O diagrama de classes de análise representa os objetos (conceitos) do domínio de negócio e seus devidos relacionamentos.
II. O diagrama de classes de projeto enfatiza os objetos de software e a colaboração entre eles. As classes exibem seus atributos e operações, sendo cada uma dessas propriedades especificada com seu tipo e visibilidade.
III. O diagrama de classes é utilizado somente durante o projeto para expressar os principais conceitos do software, representando a estrutura das classes.
PERGUNTA 2:
Coluna A:
Operação
Mensagem
Estado
Coluna B:
O objeto recebe um estímulo solicitando que ele realize alguma tarefa.
Refere-se ao conjunto de valores dos atributos do objeto em um determinado momento.
Define uma ação que um objeto sabe realizar quando é solicitado.
A sequência CORRETA desta associação é: C. I-3; II-1; III-2.
PERGUNTA 3
Leia a afirmação sobre o projeto (design) de software.
A importância do projeto (design) de software pode ser resumida em uma única palavra: _QUALIDADE.
Analise as seguintes assertivas sobre a transformação das classes de análise para classes de projeto quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. O diagrama de classes de análise representa os objetos (conceitos) do domínio de negócio e seus devidos relacionamentos.
II. O diagrama de classes de projeto enfatiza os objetos de software e a colaboração entre eles. As classes exibem seus atributos e operações, sendo cada uma dessas propriedades especificada com seu tipo e visibilidade.
III. O diagrama de classes é utilizado somente durante o projeto para expressar os principais conceitos do software, representando a estrutura das classes.
As assertivas I, II e III são, RESPECTIVAMENTE:
v v v
O aspecto dinâmico de uma colaboração entre objetos define a troca de mensagens entre eles e a reação aos eventos de sistema iniciados pelos atores.
O aspecto estático de uma colaboração define como o sistema está estruturado internamente para que as funcionalidades externamente visíveis sejam executadas e os respectivos resultados exibidos.
Os aspectos dinâmicos e estáticos são independentes, não havendo colaborações entre si.
v v f
Analise as seguintes assertivas sobre a transformação das classes de análise para classes de projeto quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. O diagrama de classes de análise representa os objetos (conceitos) do domínio de negócio e seus devidos relacionamentos.
II. O diagrama de classes de projeto enfatiza os objetos de software e a colaboração entre eles. As classes exibem seus atributos e operações, sendo cada uma dessas propriedades especificada com seu tipo e visibilidade.
III. O diagrama de classes é utilizado somente durante o projeto para expressar os principais conceitos do software, representando a estrutura das classes. ERRADO
I. Os padrões ajudam os desenvolvedores a reutilizar projetos bem-sucedidos na realização de novos projetos.
II. Os melhores arquitetos e programadores sabem que uma coisa que elesdevem fazer é resolver cada problema a partir de princípios elementares ou até mesmo do zero.
III. Um padrão é uma solução para um problema, portanto, ele precisa identificar o problema de forma clara, explicar como ele soluciona tal problema e em quais circunstâncias ele funciona ou não. Os padrões ensinam com base em exemplos.
v f v
PERGUNTA 1
Analise as seguintes assertivas sobre padrões quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. Os padrões ajudam os desenvolvedores a reutilizar projetos bem-sucedidos na realização de novos projetos.
II. Os melhores arquitetos e programadores sabem que uma coisa que eles devem fazer é resolver cada problema a partir de princípios elementares ou até mesmo do zero.
III. Um padrão é uma solução para um problema, portanto, ele precisa identificar o problema de forma clara, explicar como ele soluciona tal problema e em quais circunstâncias ele funciona ou não. Os padrões ensinam com base em exemplos.
 
As assertivas I, II e III são, RESPECTIVAMENTE.
 
	a.	
 F, V, F.
	b.	
 V, F, F.
	c.	
 V, F, V.
	d.	
 F, V, V.
	e.	
 V, V, F.
 
0,175 pontos 
PERGUNTA 2
Leia atentamente às informações sobre níveis distintos de reuso de software e o que está relacionado em cada nível, contidas nas colunas “A” e “B” para, em seguida, assinalar a alternativa que reúne as correspondências CORRETAS entre as informações nessas contidas.
 
Coluna A:
Nível de abstração.
Nível de objeto.
Nível de componente.
Nível de sistema.
 
Coluna B:
Em muitas situações, você precisa adaptar e ampliar o componente adicionando um código próprio.
Os padrões de projeto e de arquitetura são formas de representar o conhecimento abstrato para reutilização.
Muitos sistemas comerciais são construídos dessa maneira, em que sistemas genéricos denominados COTS (Commercial Off-The-Shelf), também chamados de sistemas ou componentes de prateleira, são adaptados e reusados.
Para implementar esse tipo de reuso, você precisa encontrar bibliotecas adequadas e descobrir se os objetos e métodos oferecem a funcionalidade que está buscando
I - 2/ II -4/ III - 1/ IV - 3
I. Padrões de projeto e frameworks de componente são formas de reuso de nível de abstração.
II. Framework é uma miniarquitetura reutilizável que serve como base para, e a partir da qual, outros padrões de projeto podem ser aplicados.
III. Os padrões são semiprontos, isso significa que sempre temos de finalizá-los e adaptá-los ao nosso ambiente.
v v v
. Durante a atividade de descoberta e avaliação do software é realizada uma busca de componentes e sistemas que fornecem a funcionalidade exigida.
II. Durante a atividade de especificação de requisitos, requisitos são adaptados para refletir os componentes disponíveis, e a especificação do sistema de software é redefinida.
III. Durante a atividade de adaptação e integração dos componentes, componentes reutilizáveis podem ser modificados ou novos componentes podem ser desenvolvidos com o intuito de fazer a integração destes ao sistema de software.
As assertivas I, II e III são, RESPECTIVAMENTE.
f v v - ERREI
Padrões de projeto e frameworks de componente são formas de reuso de nível de abstração.
II. Framework é uma miniarquitetura reutilizável que serve como base para, e a partir da qual, outros padrões de projeto podem ser aplicados.
III. Os padrões são semiprontos, isso significa que sempre temos de finalizá-los e adaptá-los ao nosso ambiente.
Projetar software orientado a objetos não é uma atividade simples, mas projetar software orientado a objetos de forma reutilizável é uma atividade menos complexa.
O projeto (design) precisa ser específico para o problema a ser resolvido, e, ao mesmo tempo, ele precisa ser genérico o suficiente para contemplar problemas e requisitos futuros, buscando também evitar o reprojeto, ou ao menos minimizá-lo.
Os desenvolvedores de sistemas de software orientados a objetos mais experientes entendem que um projeto reutilizável e flexível é difícil, talvez impossível de ser obtido corretamente da primeira vez, pois antes mesmo de um projeto estar terminado, os desenvolvedores costumam reutilizá-lo diversas vezes, modificando-o a cada vez que é usado. 
F V V
I. A intenção de um estilo ou padrão arquitetural é contemplar questões relacionadas às decisões de projeto de arquitetura.
II. Por conta da estreita relação entre os requisitos não funcionais e a arquitetura do software, o estilo e a estrutura da arquitetura particular a ser escolhida para um software devem depender dos requisitos funcionais do sistema de software.
III. Para decompor unidades estruturais do software, é preciso decidir sobre a estratégia para a decomposição de componentes em subcomponentes. F V V
. O padrão de arquitetura cliente-servidor é utilizado quando os dados em um banco de dados compartilhado têm de ser acessados a partir de um único local. Como os servidores podem ser replicados, eles também podem ser utilizados quando a carga em um sistema for variável.
II. A principal vantagem do padrão de arquitetura cliente-servidor é que os servidores podem ser distribuídos em rede. A funcionalidade geral (por exemplo, um serviço de impressão) pode estar disponível para todos os clientes e não precisa ser implementada por todos os serviços.
III. As desvantagens do padrão de arquitetura cliente-servidor são: cada serviço é um único ponto de falha, e, portanto, é suscetível a ataques de negação de serviço, ou a falhas no servidor. O desempenho pode ser imprevisível porque depende da rede e também do sistema. Podem surgir problemas de gerenciamento se os servidores forem de propriedade de organizações diferentes. F V V
. Os padrões arquiteturais capturam a essência de uma arquitetura comumente usada no desenvolvimento de diferentes sistemas de software. Ao tomar decisões sobre a arquitetura de um software, é significativo conhecer determinados padrões, bem como saber onde eles podem ser adotados e quais são suas vantagens e desvantagens.
II. Um padrão arquitetural pode ser pensado como uma descrição abstrata, estilizada, de boas práticas experimentadas e testadas em diferentes sistemas e ambientes, portanto, um padrão de arquitetura deve descrever uma organização sistêmica bem-sucedida com base em experiências obtidas do histórico de desenvolvimento de produtos de software.
III. Dentre os diversos padrões arquiteturais adotados no desenvolvimento de software, alguns são frequentemente usados na construção de diferentes tipos de sistema de software e capturam os bons princípios de projeto de arquitetura, podendo citar aqui os seguintes padrões: Factory Method, Adapter e Composite. V V F
A _ARQUITETURA ORIENTADA A SERVIÇOS__é um padrão de arquitetura para o desenvolvimento de sistemas distribuídos onde os componentes do sistema de software são serviços autônomos executados em computadores distribuídos.
	
Analise as seguintes assertivas sobre estilos e padrões arquiteturais quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. A intenção de um estilo ou padrão arquitetural é contemplar questões relacionadas às decisões de projeto de arquitetura.
II. Por conta da estreita relação entre os requisitos não funcionais e a arquitetura do software, o estilo e a estrutura da arquitetura particular a ser escolhida para um software devem depender dos requisitos funcionais do sistema de software.
III. Para decompor unidades estruturais do software, é preciso decidir sobre a estratégia para a decomposição de componentes em subcomponentes. ERREI
I. Os componentes arquiteturais são módulos que compõem o software e que não podem ser substituídos.
II. Os componentes arquiteturais devem encapsular a implementação, revelando apenas as interfaces de comunicação.
III. Na perspectiva de arquitetura de software, os componentes são elementos funcionais que possuem o papel de ajudar a atingir os objetivos e os requisitosdo sistema a ser construído, sendo capazes de se comunicar com outros componentes e entidades que podem existir dentro ou fora das fronteiras do sistema de software. V V V
I. Os conectores arquiteturais são elementos, vistos também como componentes mais simples, que realizam a comunicação entre os componentes por meio de interfaces estabelecidas, possibilitando assim que esses componentes realizem as interações devidamente.
II. São exemplos de conectores arquiteturais: chamadas de métodos (Call/Return), Remote Name System (RMI), Remote Procedure Call (RPC), Hyper-Text Transfer Protocol (HTTP) e Open Database Connectivity (ODBC).
III. Os conectores arquiteturais atendem aos requisitos funcionais exigidos para o software. V V F
. Os atributos de qualidade descrevem capacidades, serviços e comportamentos do sistema de software.
II. Uma vez que os atributos de qualidade já indicam o quão bem o software satisfaz às necessidades dos stakeholders, esses atributos não precisam ser mensurados nem testados.
III. Para atingir os atributos de qualidade, é importante tomar decisões arquiteturais que implicam em vantagens e desvantagens (trade-offs), causando consequências para o projeto. V F V
I. Tanto a arquitetura lógica quanto a física podem ser representadas visualmente com notações UML.
II. Sob o aspecto dinâmico e comportamental, a arquitetura lógica pode ser retratada por meio do diagrama de classes e do diagrama de pacotes. Já a arquitetura física pode ser representada através dos diagramas de implementação, ou seja, diagrama de componentes e de implantação.
III. A UML possui dois grupos de diagramas, sendo um para representar os elementos estáticos e estruturais e outro para representar os elementos dinâmicos e comportamentais do software. v f v
	
Analise as seguintes assertivas sobre componentes arquiteturais quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. Os componentes arquiteturais são módulos que compõem o software e que não podem ser substituídos.
II. Os componentes arquiteturais devem encapsular a implementação, revelando apenas as interfaces de comunicação.
III. Na perspectiva de arquitetura de software, os componentes são elementos funcionais que possuem o papel de ajudar a atingir os objetivos e os requisitos do sistema a ser construído, sendo capazes de se comunicar com outros componentes e entidades que podem existir dentro ou fora das fronteiras do sistema de software.
Resposta Selecionada:	
c. V, V, V. errada
As arquiteturas de software são extraídas dos requisitos das organizações e seus
modelos de negócio, da experiência dos arquitetos da organização, bem como das próprias técnicas de projeto (design) predominantes naquele ambiente. Técnicas que visem
o projeto, construção e avaliação de arquiteturas são importantes para compreender
os atributos de qualidade no contexto de uma arquitetura, como também para construir arquiteturas que satisfaçam a esses atributos de qualidade (BASS; CLEMENTS;
KAZMAN, 2003)
Leia a afirmação sobre requisitos e arquitetura de software.
As arquiteturas de software são extraídas dos requisitos das organizações e seus modelos de negócio, da experiência dos arquitetos da organização, assim como das próprias técnicas de projeto (design) predominantes naquele ambiente. Técnicas que visem o projeto, construção e avaliação de arquiteturas são importantes para compreender os _atributos de qualidade__ no contexto de uma arquitetura, como também para construir ____arquitetura_________ que satisfaçam a esses atributos de qualidade.c.	
 I-1; II-2; III-4; IV-3.
 Os padrões Front Controller e View Helper visam resolver problemas de interface do usuário.
II. Os padrões de projeto Façade e Adapter visam resolver problemas de arquitetura.
III. Os padrões MVC e Cliente-Servidor visam resolver problemas de dados/conteúdo. v v f
Analise as seguintes assertivas sobre análise e design arquitetural quanto à veracidade – V para VERDADEIRO, ou F para FALSO.
 
I. Uma das decisões arquiteturais que devemos fazer é quanto à estrutura do sistema do software, ou seja, como os elementos arquiteturais estarão organizados para implementar os requisitos exigidos para o produto de software, mas sem se preocupar com as restrições que interferem na maneira como essa arquitetura será implementada utilizando uma plataforma de desenvolvimento.
II. A abordagem de projeto baseado em padrões permite identificar e reusar padrões de software existentes e aplicá-los de forma personalizada na construção do sistema.
III. Uma tabela pode ser criada para classificar e organizar os padrões de software selecionados para a construção do sistema.
 
As assertivas I, II e III são, RESPECTIVAMENTE.
Resposta Selecionada:	
b. V, V, F. errada
Leia atentamente as informações sobre os atributos de qualidade identificados no estudo de caso e suas descrições nas colunas “A” e “B” para, em seguida, assinalar a alternativa que reúne as correspondências CORRETAS entre as informações nessas contidas.
 
Coluna A:
I. Modificabilidade.
II. Interoperabilidade.
III. Usabilidade.
IV. Testabilidade.
 
Coluna B:
1. O cálculo do frete precisa ser validado.
2. O cliente precisa ter uma melhor experiência de uso.
3. O pagamento será realizado por meio de um serviço externo.
4. O cálculo de desconto no pedido pode ser alterado no futuro.
Resposta Selecionada:	
c. I-1; II-2; III-4; IV-3. errada

Outros materiais