Prévia do material em texto
1/7 Arquitetura de software Professor(a): Anderson da Silva Marcolino (Doutorado) 1) 2) Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! Alternativas: V - F - F - V - V. F - V - V - F - F. V - F - V - V - F V - V - F - V – F CORRETO F – V – F – V – F. Código da questão: 75258 A Linguagem de Modelagem Unificada (UML) foi criada para representar elementos de software orientados a _________. Como o paradigma de programação orientada a objetos favorece, em especial, a _________, torna-se essencial no contexto do desenvolvimento de software na atualidade. No contexto da etapa de _________, a UML é empregada para apresentar _________ de análise, sendo _________ e comportamental. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Objetos; reutilização; estrutural; visões; análise. Objetos; estrutural; reutilização; visões; análise. Objetos; reutilização; análise; visões; estrutural. CORRETO Visões; reutilização; análise; objetos; estrutural. Objetos; estrutural; reutilização; visões; análise. Resolução comentada: A primeira, a segunda e a quarta afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Terceira – Arquitetura cliente- servidor abrange soluções web ou móveis, assim, a interface é executada no cliente, enquanto as funcionalidades que enviam ou recebem informações são executadas no servidor. Quarta – O padrão e modelo arquitetural em camadas facilita ou favorece a criação de soluções como market places on-line, arquitetura de máquinas virtuais, interfaces de programação de aplicação (APIs). Resolução comentada: 2/7 3) 4) Código da questão: 75260 A linguagem de modelagem unificada (UML) foi criada para permitir a modelagem de diferentes diagramas que especificam um software, sob diferentes perspectivas. Sobre os diagramas de classes e os elementos gráficos da UML envolvidos, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Os diagramas de classes da UML representam objetos do mundo real, por meio de elementos gráficos que possuem características e ações. ( ) Um diagrama de classes pode apresentar níveis de representação menos ou mais detalhados, visão micro ou macro, respectivamente. ( ) Os diagramas de classes podem apresentar a multiplicidade que indica como serão realizadas as interações entre objetos, mais especificamente, se tais associações ocorrem com quantidade específica de objetos. ( ) A associação de “0..1”, zero ou um indica que um objeto pode se associar a nenhum ou, no máximo um único objeto. ( ) A associação de “1..*”, um ou muitos indica que um objeto pode se associar a apenas um único objeto. Assinale a alternativa que contenha a sequência correta de V e F: Alternativas: F - V - V - F - F. F – V – F – V – F. V - F - F - V - V. V - F - V - V - F. CORRETO V - V - F - V – F. Código da questão: 75261 Uma arquitetura de software é concretizada a partir de diversas atividades no contexto da Engenharia de Software que se divide, na literatura, em cinco processos bem estabelecidos para condução do desenvolvimento de software. Sobre os processos do desenvolvimento de software, assinale a alternativa correta. Alternativas: O processo de testes está ligado diretamente ao desenvolvimento e corresponde a fase em que o produto de software, já em produção, é testado pelos usuários finais. No processo de desenvolvimento, temos a utilização dos artefatos criados no processo de análise e projeto para a concepção da solução. CORRETO No processo de manutenção, temos a correção dos problemas identificados no processo de testes. O processo de análise corresponde à análise dos requisitos e das decisões tecnológicas para o desenvolvimento. No processo referente ao projeto, temos a criação dos diagramas de casos de uso, em especial, que refletem os requisitos funcionais. A UML foi criada para representar elementos de software orientados a objetos. Como o paradigma de programação orientada a objetos favorece, em especial, a reutilização, torna-se essencial no contexto do desenvolvimento de software na atualidade. No contexto da etapa de análise, a UML é empregada para apresentar visões de análise, sendo estrutural e comportamental. Resolução comentada: A primeira, a terceira e a quarta afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Segunda – Um diagrama de classes pode apresentar níveis de representação menos ou mais detalhados, visão macro ou micro, respectivamente Quinta – O padrão e modelo arquitetural em camadas facilita ou favorece a criação de soluções como market places on-line, arquitetura de máquinas virtuais, interfaces de programação de aplicação (APIs). Resolução comentada: 3/7 5) 6) Código da questão: 75259 Alternativas: I, II e IV, apenas. CORRETO I, II e V, apenas II, III e IV, apenas. III, IV e V, apenas. I, III e IV, apenas. Código da questão: 75257 As arquiteturas modelo-visão-controle e cliente-servidor se diferem, em especial, para estrutura em que os componentes estão organizados. Sobre a organização destes componentes nessas arquiteturas, leia e associe as duas coluna O processo de projeto cria artefatos, baseados no processo de análise, que busca analisar os requisitos, sem envolver decisões tecnológicas. Já na fase de desenvolvimento, que utiliza os artefatos da análise e projeto, temos a integração direta com a fase de testes, que corresponde aos testes unitários e de integração, entre outros, para avaliar se o software pode ser entregue ao usuário final, ou seja, ir para a produção. Finalmente, a fase de manutenção corresponde a um momento posterior, em que, após o uso pelos usuários, identificam-se mudanças de negócio ou melhorias que devem ser aplicadas. Resolução comentada: A alternativa I é correta, já que serviços, na SOA são de maior granularidade e concentra um número maior de funcionalidades. A alternativa II, é correta pois, geralmente, quando está se migrando de uma arquitetura de serviços para microsserviços, podemos nos deparar com arquiteturas híbridas. A III é incorreta, visto que, na SOA, a grande vantagem de tal modelo está na facilidade em se gerir e disponibilizar os serviços, que é maior do que na arquitetura de microsserviços. A IV é correta, visto que realmente os microsserviços são componentes que formam uma estrutura modular, sendo um dos padrões mais utilizados na atualidade, já que permite melhor escalabilidade e baixo acoplamento. A V, é incorreta, já que na verdade a maior dificuldade em uma arquitetura de microsserviços é organizá-los e gerenciá-los 4/7 Assinale a alternativa que traz a associação correta entre as duas colunas Alternativas: I-A; II-C; III-B. I-C; II-B; III-A. I-B; II-C; III-A. I-C; II-A; III-B. I-B; II-A; III-C. CORRETO Código da questão: 75256 Resolução comentada: A camada visa apresenta a interface, assim como a camada cliente do modelo cliente-servidor, contudo, a fonte de informações para a visão vem da camada controle, enquanto, na arquitetura cliente-servidor, as informações são provenientes do servidor. 5/7 7) 8) Alternativas: I-B; II-C; III-A. I-C; II-A; III-B. I-A; II-C; III-B. I-C; II-B; III-A. CORRETO I-B; II-A; III-C. Código da questão: 75262 Uma arquitetura de software deve possuir e atender diferentes requisitos de qualidade de software. O _________ é necessário para estabelecer uma arquitetura precisa, propícia para evolução e utilização, de modo a atender os usuários. Já a _________ garante que o software possa ser escalável de modo rápido e preciso, facilitando sua _________. Finalmente, a _________ garante que o software possa ser modificado Resolução comentada:Refinamento dos requisitos trata da análise de cada requisito e sua adequação para poder ser transcrito. Especificação das Interfaces corresponde a uma das fases de projeto, onde definem-se as funcionalidades e as agregam em componentes, facilitando a reutilização e criação do produto final. Decomposição do produto em componentes que deverão ter as especificações de quais interfaces estão relacionados, possibilitando que executem o comportamento esperado e previsto no contexto de executarem suas funções esperadas. I. Refinamento dos requisitos. C. Trata da análise de cada requisito e sua adequação para poder ser transcrito, na fase de projeto, em diagramas que possam ser, posteriormente, utilizados para o desenvolvimento. II. Especificação das interfaces. B. Os diferentes componentes estabelecidos deverão ter as especificações de quais interfaces estão relacionados, possibilitando que executem o comportamento esperado e previsto no contexto de executarem suas funções esperadas. III. Decomposição do produto em componentes. A. Corresponde a uma das fases de projeto, onde definem-se as funcionalidades e as agregam em componentes, facilitando a reutilização e criação do produto final. Início da descrição. O quadro é formado por duas colunas e três linhas. A primeira coluna traz três opções: 1. Refinamento dos requisitos; 2. Especificação das interfaces; e 3. Decomposição do produto em componentes. A segunda coluna traz também três opções: C. Trata da análise de cada requisito e sua adequação para poder ser transcrito, na fase de projeto, em diagramas que possam ser, posteriormente, utilizados para o desenvolvimento; B. Os diferentes componentes estabelecidos deverão ter as especificações de quais interfaces estão relacionados, possibilitando que executem o comportamento esperado e previsto no contexto de executarem suas funções esperadas; A. Corresponde a uma das fases de projeto, onde definem-se as funcionalidades e as agregam em componentes, facilitando a reutilização e criação do produto final. Fim da descrição. 6/7 9) facilmente, a fim de garantir sua evolução e melhoria contínua, mediante solicitações dos usuários. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Desempenho; escalabilidade; utilização; flexibilidade. CORRETO Desempenho; flexibilidade; escalabilidade; utilização. Flexibilidade; desempenho; escalabilidade; utilização. Desempenho; escalabilidade; flexibilidade; utilização. Escalabilidade; desempenho; flexibilidade; utilização. Código da questão: 75254 Os diferentes tipos de representação e diagramas da UML tem itens que são exibidos especificamente em cada uma das representações. Sobre as diferentes visões dos digramas da UML para uma arquitetura, leia e associe as duas colunas. I. Diagrama de implantação. A. Este diagrama apresenta as interações e troca de mensagens, por meio da chamada dos métodos das classes. II. Diagrama de componentes. B. Este diagrama apresenta cada um dos pontos tidos como nós, que representam a estrutura física a qual elementos, conhecidos como componentes, serão mantidos e instalados. III. Diagrama de sequência. C. Este diagrama apresenta as relações entre os elementos que executam funcionalidades ou possuem comportamentos similares no contexto do código, as interfaces e como são utilizados pelo usuário, no produto já finalizado. Início da descrição. O quadro é formado por duas colunas e três linhas. A primeira coluna traz três opções: I. Diagrama de Implantação.; II. Diagrama de Componentes.; e III. Diagrama de Sequência. A segunda coluna traz também três opções: A. Este diagrama apresenta as interações e troca de mensagens, por meio da chamada dos métodos das classes; B. Este diagrama apresenta cada um dos pontos tidos como nós, que representam a estrutura física a qual elementos, conhecidos como componentes, serão mantidos e instalados.; e C. Este diagrama apresenta as relações entre os elementos que executam funcionalidades ou possuem comportamentos similares no contexto do código, as interfaces e como são utilizados pelo usuário, no produto já finalizado. Fim da descrição. Assinale a alternativa que traz a associação correta entre as duas colunas: Alternativas: I-C; II-A; III-B. I-C; II-B; III-A. I-A; II-C; III-B. I-B; II-A; III-C. I-B; II-C; III-A. CORRETO Resolução comentada: O desempenho é necessário para estabelecer uma arquitetura precisa, propícia para evolução e utilização, de modo a atender os usuários. Já a escalabilidade, garante que o software possa ser escalável de modo rápido e preciso, facilitando sua utilização. Finalmente, a flexibilidade garante que o software possa ser modificado facilmente, a fim de garantir sua evolução e melhoria contínua, mediante solicitações dos usuários. Resolução comentada: 7/7 10) Código da questão: 75267 Uma arquitetura de software representa decisões de análise e projeto para representar um software a ser desenvolvido. Sua criação é fundamental para garantir o sucesso na implementação da solução. Sobre as vantagens de adotar padrões e estilos arquiteturas de software, assinale a alternativa correta. Alternativas: A escolha de uma arquitetura resultará no atendimento a aspectos como a performance, facilidade de gerenciamento e escalabilidade. A escolha de uma arquitetura é menos importante que a seleção de uma linguagem de programação atual, que garantirá maior qualidade. A escolha de uma arquitetura resultará no atendimento a aspectos como performance e qualidade apenas. A escolha de uma arquitetura resultará no atendimento a aspectos como a performance, qualidade, facilidade de manutenção e escalabilidade. CORRETO A escolha de uma arquitetura resultará no atendimento a aspectos como facilidade de manutenção e escalabilidade somente. Código da questão: 75253 Diagrama de sequência apresenta as interações e troca de mensagens, por meio da chamada dos métodos das classes. Diagrama de componentes apresenta as relações entre os componentes, interfaces e como estes são utilizados pelo usuário. Diagrama de implantação apresenta os nós de estrutura física, onde os componentes serão instalados. I. Diagrama de implantação. B. Este diagrama apresenta cada um dos pontos tidos como nós, que representam a estrutura física a qual elementos, conhecidos como componentes, serão mantidos e instalados. II. Diagrama de componentes. C. Este diagrama apresenta as relações entre os elementos que executam funcionalidades ou possuem comportamentos similares no contexto do código, as interfaces e como são utilizados pelo usuário, no produto já finalizado. III. Diagrama de sequência. A. Este diagrama apresenta as interações e troca de mensagens, por meio da chamada dos métodos das classes. Início da descrição. O quadro é formado por duas colunas e três linhas. A primeira coluna traz três opções: I. Diagrama de Implantação.; II. Diagrama de Componentes.; e III. Diagrama de Sequência. A segunda coluna traz também três opções: B. Este diagrama apresenta cada um dos pontos tidos como nós, que representam a estrutura física a qual elementos, conhecidos como componentes, serão mantidos e instalados.; C. Este diagrama apresenta as relações entre os elementos que executam funcionalidades ou possuem comportamentos similares no contexto do código, as interfaces e como são utilizados pelo usuário, no produto já finalizado.; A. Este diagrama apresenta as interações e troca de mensagens, por meio da chamada dos métodos das classes. Fim da descrição. Resolução comentada: A escolha de uma arquitetura de software resulta no atendimento de diversos aspectos relacionados ao software, em especial, a performance, qualidade, facilidade de manutenção e escalabilidade. A escolha de uma linguagem de programação deve ser realizada considerando a arquitetura, logo, a arquitetura é mais importante que a escolha da linguagem em si. Arquivos e Links