Buscar

AO2_ Paradigmas de Linguagens de Programação

Prévia do material em texto

21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 1/15
AO2
Entrega 26 jun em 23:59 Pontos 6 Perguntas 10
Disponível 21 jun em 0:00 - 26 jun em 23:59 6 dias Limite de tempo Nenhum
Instruções
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 23 minutos 6 de 6
 As respostas corretas estão ocultas.
Pontuação deste teste: 6 de 6
Enviado 21 jun em 18:55
Esta tentativa levou 23 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que
você clique em "FAZER O QUESTIONÁRIO", no final da página.
0,6 / 0,6 ptsPergunta 1
“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
 
https://famonline.instructure.com/courses/15500/quizzes/59688/history?version=1
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 2/15
Em um projeto de software, a escolha de linguagens de programação
envolve diretamente 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 na tomada dessa decisão?
Avalie as afirmações abaixo:
 
I. A primeira questão são os requisitos do projeto, se for algo
obrigatório a tecnologia precisa suportar e executar, 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.
Selecione a opção correta.
 I e III, apenas. 
 II e III, apenas. 
 I, II e III. 
 II, apenas. 
 I e II, apenas. 
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 3/15
Esta alternativa está correta, pois apenas as afirmações I e II
estão corretas.
Os projetos que utilizam 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.
0,6 / 0,6 ptsPergunta 2
O Project Management Body of Knowledge (PMBOK) é um guia, que
contém um conjunto de práticas para gestão de projetos reconhecido
internacionalmente. Foi organizado pelo instituto Project Management
Institute (PMI). É o guia mais utilizado no mundo, quando o assunto é
gestão de projetos.
 
Considerando as informações apresentadas, avalie as afirmações a
seguir:
 
I. Segundo o PMBOK, projeto é um empreendimento único com datas
de início e fim definidas, que tem como objetivo criar um produto ou
serviço também únicos.
II. O PMBOK apresenta 5 grupos de processos: Processos de
Inicialização, de Planejamento, de Execução, de Controle e de
Encerramento.
III. O PMBOK é organizado em 10 áreas de conhecimento: escopo,
tempo, custo, risco, recursos humanos, qualidade, aquisições,
integração, comunicações e partes interessadas.
 
É correto o que se afirma em:
 I e III apenas 
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 4/15
 II apenas 
 I, II e III. 
Alternativa correta, pois as asserções I, II e III, são verdadeiras. 
Segundo o PMBOK, projeto é um empreendimento único com 
datas de início e fim definidas, que tem como objetivo criar um 
produto ou serviço também únicos. Apresenta como processos de 
gestão de projetos os processos de Inicialização, de 
Planejamento, de Execução, de Controle e de Encerramento. E 
finalmente, foi organizado em 10 áreas de conhecimento: escopo, 
tempo, custo, risco, recursos humanos, qualidade, aquisições, 
integração, comunicações e partes interessadas.
 I e II apenas. 
 II e III apenas 
0,6 / 0,6 ptsPergunta 3
Leia o texto:
 
Você foi designado para gerir um novo projeto da sua empresa.
O projeto implementará um produto pioneiro no mercado, sendo que
os requisitos do projeto ainda não estão bem definidos, porém, você já
foi informado que não poderá gastar muito tempo no levantamento de
tais requisitos. Pelo que você conversou com o solicitante,
aparentemente, os módulos serão bem independentes entre si. A boa
notícia, é que o usuário estará disponível para atuar no projeto de
forma muito próxima à equipe de desenvolvimento. O ponto mais
reforçado pelo solicitante do projeto, é que o desenvolvimento precisa
ser muito rápido, para que não se perca o timing de lançamento do
produto. Outra boa notícia, é que não há restrições quanto ao tamanho
da equipe, foi informado que você poderá criar até mais de uma equipe
para atuar no projeto.
 
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 5/15
A primeira coisa que você precisará fazer é definir o ciclo de vida a ser
utilizado no desenvolvimento do projeto.
Considerando as informações acima, e os conteúdos vistos, assinale a
opção correta.
 
O ciclo de vida a ser selecionado é o Cascata que é uma sequência
das fases, em que cada fase só começa quando a anterior termina.
 
O ciclo de vida a ser selecionado é o Espiral que faz uma abordagem
cíclica das fases do processo, e cada iteração ou volta é dedicada a
uma fase do processo de vida de um software.
 
O ciclo de vida a ser selecionado é a Prototipagem que gera um
exemplar do sistema com base no entendimento dos requisitos
levantados com o cliente.
 
O ciclo de vida a ser selecionado é o Incremental, onde o trabalho é
agrupado em módulos, que serão priorizados e desenvolvidos,
passando por pequenos cascatas.
 
O ciclo de vida a ser selecionado é o RAD que é um ciclo de vida
incremental, iterativo, com forte paralelismo de atividades e
incrementos desenvolvidos ao mesmo tempo, por equipes diferentes.
Alternativa correta, pois o RAD é um ciclo de vida incremental, 
iterativo, com forte paralelismo de atividades e incrementos 
desenvolvidos ao mesmo tempo, por equipes diferentes. É 
geralmente utilizado quando o projeto implementará um produto 
pioneiro no mercado, com requisitos que não estão bem 
definidos, mas que o usuário pode estar próximo à equipe de 
desenvolvimento. Neste ciclo de vida há uma compressão nas 
fazes de requisitos e implantação. Só é possível utilizar este ciclo 
de vida quando os módulos são independentes entre si, assim 
como quando é possível ter equipes trabalhando paralelamente 
no mesmo projeto.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 6/15
0,6 / 0,6 ptsPergunta 4
Leia o Texto:
Engenharia de Software é a criação e a utilização de sólidos princípios
de engenharia a fim de obter softwares econômicos, confiáveis e que
trabalhem eficientemente. É também a aplicação de uma abordagem
sistemática, disciplinada e quantificável para o desenvolvimento,
operação e manutenção de software. Utiliza uma estrutura em
camadas que deve se apoiar em um compromisso organizacional com
a qualidade. A engenharia de software compreende processo,técnicas
de gestão, técnicas de modelagem e o uso de ferramentas e
principalmente, pessoas.
 
O Swebok aborda a Engenharia de Software por meio de 10 áreas de
conhecimento. Destas 10 áreas, pode-se dizer que estão diretamente
relacionadas ao desenvolvimento efetivo do software as áreas
 
requisitos, design, construção, teste e manutenção de software, assim
como a área de qualidade.
Alternativa correta. As áreas de conhecimento da Engenharia de 
Software são: requisitos, design, construção, teste e manutenção, 
qualidade, processo e gerência da Engenharia de Software, assim 
como gerencia de configuração e ferramentas / métodos. Porém, 
aquelas que estão diretamente ligadas ao desenvolvimento do 
software são: requisitos, design, construção, teste e manutenção 
de software, assim como a área de qualidade de Software.
 distribuído, cliente servidor, três camadas, SOA e web servisse. 
 requisitos, cascata, design, construção, prototipagem e teste. 
 
definição de objetivos, análise de riscos, desenvolvimento, validação e
planejamento da próxima fase.
 cascata, incremental, evolutivo, RAD, prototipagem e espiral. 
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 7/15
0,6 / 0,6 ptsPergunta 5
“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.htm
Acesso em: 12 de outubro de 2019.
 
Qual dessas definições explica melhor o paradigma declarativo?
 O paradigma declarativo é baseado ações. 
 O paradigma declarativo são linguagens apenas de marcação. 
 
O paradigma declarativo é baseado apenas na lógica e suas
funcionalidades.
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 é uma linguem de script na Web. 
 
O paradigma declarativo é utilizado apenas em linguagens de baixo
nível.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 8/15
0,6 / 0,6 ptsPergunta 6
“Arquitetura baseada em componentes descreve uma abordagem da
engenharia de software para estrutura e desenvolvimento de sistemas.
Apesar de uma certa complexidade para gerir esse tipo de ambiente,
na arquitetura baseada em componentes o foco está na decomposição
da estrutura da funcionalidade individual ou componente lógico dele
expondo 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.
Considerando o texto acima e o conteúdo visto sobre componentes,
avalie as seguintes asserções e a relação proposta entre elas:
 
I. A utilização de componentes permite que o sistema final seja tratado
como vários “minissistemas”.
 
PORQUE
 
II. A utilização de componentes diminui a complexidade do sistema,
permitindo que cada componente tenha como foco uma única
funcionalidade.
 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.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 9/15
Esta alternativa está correta. As asserções I e II são proposições 
verdadeiras, e a II é uma justificativa da I, pois o desenvolvimento 
baseado em componentes permite que o sistema final seja 
tratado como vários “minissistemas”, isso diminui a complexidade, 
permitindo que cada componente empregado seja focado em 
apenas uma funcionalidade ou um conjunto de funcionalidades 
semelhantes.
 
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.
0,6 / 0,6 ptsPergunta 7
“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.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 10/15
 
II. PMBOK, guia utilizado para projetos em geral. É considerado
essencial para o gerenciamento no geral, onde aborda as áreas de
conhecimentos necessárias 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 e III, apenas. 
 I e II, apenas. 
Alternativa Correta.
As afirmações I e II estão corretas, pois os guias essenciais são o
SWEBOK que é especializado em engenharia de software, e o
PMBOK que é o guia de gerenciamento de projetos em geral.
A afirmação III está incorreta, pois o BABOK apesar de ser um
guia ótimo e, pode fazer parte de projeto, não é essencial.
 I e III, apenas. 
 II, apenas. 
 I, II e III. 
0,6 / 0,6 ptsPergunta 8
“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.”
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 11/15
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.
 
A respeito das asserções, assinale a opção correta:
 
 
As asserções I e II são proposições verdadeiras, e a II é uma
justificativa da I.
 
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa da I
 As asserções I e II são proposições falsas. 
 
A asserção Ié uma proposição verdadeira, e a II é uma proposição
falsa.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 12/15
 
A asserção I é uma proposição falsa, e a II é uma proposição
verdadeira.
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.
0,6 / 0,6 ptsPergunta 9
“Programação imperativa é um paradigma de programação que
descreve a computação como ações, enunciados ou comandos que
mudam o estado (variáveis) de um programa. Muito parecido com o
comportamento imperativo das linguagens naturais que expressam
ordens, programas imperativos são uma sequência de comandos para
o computador executar. O nome do paradigma Imperativo, está ligado
ao tempo verbal imperativo, onde o programador diz ao computador:
faça isso... Este paradigma de programação se destaca pela
simplicidade, uma vez que todo ser humano, ao se programar, o faz
imperativamente, baseado na ideia de ações e estados, quase como
um programa de computador.”
 
Disponível em:
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperati
 (https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa)
. Acesso em: 04/06/2020
 
Considerando as informações apresentadas, avalie as afirmações a
seguir:
 
I. A programação imperativa possui três aspectos elementares: tipos,
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_imperativa
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 13/15
variáveis e valores.
II. A ordem dos comandos determina a sequência de tempo no
programa.
III. Os ramos no programa são decididos por condições através de
variáveis.
IV. O programa tem uma sequência, porém a cada if (ou condição) que
tiver no programa, um caminho diferente será percorrido dentro do
programa.
 
É correto o que se afirma apenas em:
 I e II e IV. 
 I, II e III. 
 I, II, III e IV. 
Alternativa correta, pois as afirmações I, II, III e IV estão corretas.
Na programação imperativa, há três aspectos elementares: tipos,
variáveis e valores. A ordem dos comandos determina a
sequência de tempo no programa, programa tem uma sequência,
porém a cada if (ou condição) que tiver no programa, um caminho
diferente será percorrido dentro do programa, em outras palavras,
os ramos no programa são decididos por condições através de
variáveis.
 I e III. 
 II e III e IV. 
0,6 / 0,6 ptsPergunta 10
“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”.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 14/15
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 é uma arquitetura que organiza a capacidade de distribuir
serviços expondo e consumindo funcionalidades como um serviço.
Alternativa correta.
SOA é uma arquitetura que organiza a capacidade de distribuir
serviços expondo e consumindo funcionalidades como um
serviço. Os serviços podem ser disponibilizados por muitos
domínios, o importante é a maneira que serão disponibilizados
esses serviços, no caso, do SOA é feito com Web Services. São
soluções modulares e fracamente acopladas.
 
SOA é um estilo arquitetural baseado na divisão de tarefas para uma
aplicação ou sistema em reutilização individual e objetos
autossuficientes.
 
SOA é um padrão de projeto que representa um conjunto de Web
Services.
 
O SOA é uma metodologia é pouco utilizada 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.
21/06/2021 AO2: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/15500/quizzes/59688 15/15
Pontuação do teste: 6 de 6

Continue navegando