Prévia do material em texto
0.6 / 0.6 ptsPergunta 1 “É um paradigma onde a execução do código é determinada pelo disparo de eventos. Existem rotinas responsáveis por capturar estes eventos e executar determinados comportamentos que são respostas a estes eventos. Ou seja, a ocorrência de um evento pode provocar uma reação que pode ser uma ação (ou um conjunto delas) a ser tomada. ” GONTIJO, Lucas. Programação Orientada a Eventos: entenda o que é. Disponível em: https://www.zup.com.br/blog/programacao-orientada-a-eventos. Acesso em: 08 de outubro de 2019. Adaptado. A programação orientada a eventos é um paradigma de programação que não segue um fluxo de controle, sua aplicabilidade acontece a interações a eventos externos. Qual dessas situações esse tipo de paradigma e aplicável. I. Esse tipo de paradigma é utilizado por processo externos que disparam um método para que haja um evento. II. No paradigma, toda ação vem de alguma indicação externa, principalmente se considerar botões e interfaces gráficas. III. Os eventos são causados pelos métodos, uma ação interna que ocorre quando um método chama funções dele mesmo. I e III, apenas II e III, apenas II, apenas I, II e III. I e II, apenas. Correto!Correto! Alternativa correta, pois apenas as afirmações I e II estão corretas. Afirmações I e II são corretas, esse tipo de paradigma orientado a eventos é um paradigma de programação que que é necessária alguma ação como apertar um botão, que é feito normalmente nas interfaces gráficas no front- end. 0.6 / 0.6 ptsPergunta 2 “Arquitetura baseada em componentes descreve uma abordagem da engenharia de software para estrutura e desenvolvimento de sistemas. O foco está na decomposição da estrutura da funcionalidade individual ou componente lógico dele expondo bem definido a interface de comunicação contendo seus métodos, eventos e propriedades. Isso provê um alto nível de abstração, estrutura principal da orientação a objetos, não focando em questões de protocolos de comunicação e compartilhamento de estado.” BACCARO, Marco. Arquitetura baseada em Componentes. Disponível em: https://marcobaccaro.wordpress.com/2010/10/05/arquitetura-baseada-em- componentes/. Acesso em 17 de outubro de 2019. Adaptado. Em uma aplicação distribuída utilizando servidor Web em um projeto de software, uma equipe quer utilizar uma arquitetura de componentes para aproveitamento de código. Considerando os requisitos envolvidos, qual seria a melhor situação: I. A utilização de componentes deve ser utilizada em projetos de software com paradigmas que suportem portabilidade. PORQUE II. Nesse tipo de projeto os componentes são reutilizados e são objetos manipulados de acordo com a necessidade, normalmente utilizado o paradigma de linguagem orientada a objeto. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Correto!Correto! Esta alternativa está correta, pois as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Em um projeto que utilize componentes alguns itens devem ser considerados como a portabilidade e a utilização de programação orientada a objetos, por manipular os objetos de maneira adequada e aproveitamento de código. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 0.6 / 0.6 ptsPergunta 3 “O middleware é o software que se encontra entre o sistema operacional e os aplicativos nele executados. Funcionando de forma essencial como uma camada oculta de tradução, o middleware permite a comunicação e o gerenciamento de dados para aplicativos distribuídos. Muitas vezes, o middleware é chamado de “encanamento”, uma vez que ele conecta dois aplicativos para que os dados e bancos de dados possam ser facilmente transportados através do “cano”. AZURE, Microsoft. O que é middleware? Disponível em: https://azure.microsoft.com/pt-br/overview/what-is-middleware/. Acesso em: 17 de outubro de 2019. Adaptado Em um projeto de software, a escolha de linguagens de programação envolve diretamente com as necessidades do projeto, requisitos e regras de negócios. Imagine que nesse projeto será preciso utilizar duas tecnologias distintas, provavelmente duas linguagens de programação diferentes para desenvolver um software distribuído, especificamente na Web. O que seria mais importante considerar para poder criar uma possibilidade para tomada de decisão: I. A primeira questão são os requisitos do projeto, se for algo obrigatório a tecnologia precisa suportar e interagir por algum meio a troca de informações, por exemplo utilizar um middleware ou algo que satisfaça. II. Nesse caso, a integração das tecnologias é essencial para que o projeto tenha sucesso, recursos como middleware seria ideal. III. O projeto precisa utilizar uma tecnologia capaz de interagir com uma plataforma e linguagem de programação, normalmente não há um meio de troca de dados com diferentes tecnologias. I, II e III. I e III, apenas. I e II, apenas. Correto!Correto! Esta alternativa está correta, pois apenas as afirmações I e II estão corretas. Os projetos que utilizem sistemas distribuídos muitas vezes necessitam trocar informações com outras tecnologias, como Java com C. Porém, às vezes há diversos tipos de linguagens e, para esse propósito, o middleware deve ser adotado, sendo possível a integração de tecnologias. II e III, apenas. II, apenas. 0.6 / 0.6 ptsPergunta 4 “Como a programação declarativa é baseada em dados imutáveis, ela expressa a lógica de uma computação sem descrever exatamente seu fluxo de controle. Dentro do paradigma declarativo, podemos identificar outros paradigmas, como o funcional, o lógico e a programação restritiva. ” VIEIRA, Leandro F. Paradigmas de Programação: Uma Abordagem Comparativa. Disponível em: https://leandromoh.gitbooks.io/tcc-paradigmas-de- programacao/2_paradigmas_imperativo_e_declarativo/22_paradigma_declarativo.html. Acesso em: 12 de outubro de 2019. Qual dessas definições explica melhor o paradigma declarativo? O paradigma declarativo é utilizado apenas em linguagens de baixo nível. O paradigma declarativo é uma linguem de script na Web. O paradigma declarativo é baseado apenas na lógica e suas funcionalidades. Correto!Correto! Alternativa correta. O paradigma declarativo é um tipo de programação funcional, lógica e restritiva. a programação é levada a um nível mais alto de abstração, onde o programador pode concentrar-se em descrever o resultado o que deve ser computado, e não necessariamente como esse resultado deve ser computado. O paradigma declarativo é baseado ações. O paradigma declarativo são linguagens apenas de marcação. 0.6 / 0.6 ptsPergunta 5 TEXTO 1: “Requisitos são, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). De forma mais geral um requisito é uma condição necessária para satisfazer um objetivo. ” DEVMEDIA. Introdução a Requisitos de Software. Disponível em: https://www.devmedia.com.br/introducao-a-requisitos-de-software/29580. Acesso em: 17 de outubro de 2019. TEXTO 2: Em um projeto de software, o estudo de viabilidade é realizado para verificar se as necessidades do usuário podem ser atendidas pelo software. Entretanto, no decorrer do projeto, foi identificado mudanças de requisitos que deverão ser refletidas no software. Verifique as asserções a seguir e a relação entre elas: I. A decisão deve ser tomada junto com o cliente, mudanças no software envolvem custos e tempo. PORQUE II. Uma das variáveis a se considerar é o tempo. Se for possível, mudar o software incluindo os novos requisitos, a alteração poderá ser realizada. As asserções I e II são proposiçõesverdadeiras, e a II não é uma justificativa da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Correto!Correto! Alternativa correta, pois as asserções I e II são proposições verdadeiras, mas a II não é justificativa da I. Qualquer decisão deve ser tomada junto com o cliente, principalmente porque envolve custos. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições falsas. 0.6 / 0.6 ptsPergunta 6 “Quem já trabalha com BPMN pode exportar o seu modelo para BPEL fazendo algumas alterações no modelo, como a definição dos serviços externos ou internos para cada uma das atividades. A especificação BPEL define a sintaxe e semântica da linguagem BPEL, que contém uma variedade de construções de fluxo de processo.” DEVMEDIA. Introduzindo Business Process Execution Language (BPEL). Disponível em: https://www.devmedia.com.br/introduzindo-business-process- execution-language-bpel/28679. Acesso em 17 de outubro de 2019. Adaptado. Há muitas situações em que a engenharia de software precisa identificar erros ou melhorar os processos de negócio que envolve software, alguns projetos de software utilizam BPEL (Business Process Execution Language) e outros BPMN (Business Process Model and Notation), sendo que a ferramenta mais adequada seria: I. Implementar Socket, sendo uma ferramenta de fácil uso para o desenvolvedor e todos envolvidos na equipe e não é considerada complexa como BPMN. PORQUE II. Utilizar BPMN para ter um modelo de mapeamento de processo parcial ou completo do sistema, assim adaptando ou reformulando o software se necessário. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Correto!Correto! Alternativa correta, a asserção I é uma proposição falsa, e a II é uma proposição verdadeira. O BPEL é utilizado para especificação de processo de negócios, assim como BPMN é uma linguagem para a especificação de processos de negócios executáveis. Porém, é considerado uma linguagem mais complexa, requer um conhecimento técnico maior que o BPMN. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. 0.6 / 0.6 ptsPergunta 7 “O acoplamento representa o nível de dependência entre recursos ou serviços. Imagina que uma empresa possui um serviço para consulta de Pessoas, que por sua vez utiliza o modelo de dados recebido para fazer uma consulta no sistema da Receita Federal do Brasil. Se porventura o sistema da RFB ficar inoperante, o serviço da empresa se torna inútil até que o sistema da RFB volte à atividade. ” NEVES, Raphael Oliveira. SOA: princípios de projetos orientados a serviço. Disponível em:https://www.profissionaisti.com.br/2017/05/soa-principios-de- projetos-orientados-a-servico/. Acessado em 17 de outubro de 2019. Adaptado. Algumas empresas precisam disponibilizar serviços pela Web, e uma das maneiras mais utilizadas é o uso de Web Services (Serviços na Web). Esse tipo de arquitetura é considerado de fraco acoplamento e é conhecido como SOA (Arquitetura Orientada a Serviços), e o que isso implica na utilização desse tipo de paradigma em um projeto de software que precisa disponibilizar serviços pela Web: I. Em projetos que utilizam Web Services para disponibilizar serviços normalmente é conhecida como SOA, onde o fraco acoplamento dos componentes é uma vantagem. II. SOA é utilizado apenas com BPEL e BPMN para disponibilizar serviços dentro do processo de negócio. III. SOA é um tipo de arquitetura que traz vantagens por disponibilizar os serviços separados, facilitando o acesso aos serviços com Web Services. I e II, apenas I e III, apenas. Correto!Correto! Esta alternativa está correta, pois apenas as afirmações I e III estão corretas. A vantagem de utilizar SOA é a disponibilidade de serviços para serrem consumidas por clientes de maneira pouco acoplada, trazendo independência dos serviços, tendo um melhor controle e manutenção. II e III, apenas I, II e III. II, apenas 0.6 / 0.6 ptsPergunta 8 “SOA é uma filosofia de TI que visa facilitar a integração entre sistemas, orientando a criação e a disponibilização de soluções modulares e fracamente acopladas baseadas no conceito de serviços”. CORDEIRO, Eduardo B. Arquitetura Orientada a Serviços. Disponível em: http://blog.iprocess.com.br/2012/10/soa-arquitetura-orientada-a-servicos/. Acessado em 17 de outubro de 2019. Adaptado. Qual dessas opções descrevem melhor o entendimento da arquitetura SOA? SOA é um padrão de projeto que representa um conjunto de Web Services. Uma arquitetura que organiza a capacidade de distribuir serviços e que tem um controle de diferentes domínios de propriedade. Correto!Correto! Alternativa correta. Os serviços podem ser disponibilizados por muitos domínios, o importante é a maneira que será disponibilizado esses serviços, no caso, do SOA é feito com Web Services. SOA é uma tecnologia utilizado para negócios que precisam ter requisitos de sistemas disponibilizado por servidores Web container. O SOA é uma metodologia é pouco utilizado por empresas que precisam disponibilizar serviços pela Web. É um estilo de arquitetura procedural, que não podem disponibilizar os serviços de forma acoplada, apenas servem para negócios interoperáveis. 0.6 / 0.6 ptsPergunta 9 “Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas em um processo, os artefatos, as restrições que se aplicam a ele e os papéis das pessoas que o aprovam. ” SOMMERVILLE, Ian. Engenharia e Software, 2011. Na produção de software, é necessário realizar diversos processos. Dependendo dos requisitos e modelo a ser utilizado, o software pode seguir rumos diferentes, porém, em projetos críticos com alto custo e pouco tempo, o modelo mais utilizado pode ser: I. O modelo Incremental, pois ele escalona as atividades de especificação, desenvolvimento e validação, que ocorrem simultaneamente. PORQUE II. O modelo cascata, inclui as atividades de especificação, desenvolvimento, validação e evolução. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II não é uma justificativa da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Correto!Correto! Esta alternativa está correta, pois as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Os dois modelos podem ser utilizados, depende da escolha que a equipe vai tomar considerando os requisitos, principalmente o tempo e os custos. Deve ser escolhido um dos dois modelos, a asserção II utiliza como base o modelo I. 0.6 / 0.6 ptsPergunta 10 “O SWEBOK apresenta a Engenharia de Software como um conjunto de áreas de conhecimentos necessários para se trabalhar com desenvolvimento de software, desde a codificação em si até a gestão de projetos. ” FARNESE, Augusto Campos. Entenda o SWEBOK, principal referência na Engenharia de Software. Disponível em: http://igti.com.br/blog/swebok- referencia-na-engenharia-de-software/. Acesso em: 18 de outubro de 2019. Adaptado. Qual desses guias podem ser considerados de uso essencial ao criar projetos de software? I. SWEBOK, guia para engenharia de software. Os processos e modelos são abordados nesse guia voltado para o processo de desenvolvimento de projetos. II. PMBOK, guia utilizado para projetos em geral. Éconsiderado essencial para o gerenciamento no geral, onde aborda as áreas de conhecimentos necessário para projetos e pode ser utilizado junto com outros guias. III. BABOK, guia de conhecimento para análise de negócio. É considerado essencial em todos os projetos de software que envolva um produto comercial, é um dos principais guias utilizado no desenvolvimento de software. II, apenas. II e III, apenas. I, II e III. I e III, apenas. I e II, apenas. Correto!Correto! Alternativa Correta. Os guias essenciais é o SWEBOK que é especializado em engenharia de software, e o PMBOK que é o guia de gerenciamento de projetos em geral. Pontuação do teste: 6 de 6