Questões de Concurso
Sobre conceitos básicos em engenharia de software em engenharia de software
Foram encontradas 334 questões
Coluna 1
1. Contínua. 2. Dinamicamente contínua. 3. Descontínua.
Coluna 2
( ) Um produto totalmente novo que altera todo e qualquer padrão de utilização por parte do consumidor.
( ) Modifica produtos já existentes, mas sem quebrar os padrões de utilização preestabelecidos pelo consumidor.
( ) Não altera os padrões atuais, mas possui um impacto maior sobre o produto.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Nesse projeto, o aspecto que diz respeito especificamente ao conceito de IoT (Internet das Coisas) é
Em relação a arquiteturas e tecnologias de sistemas de informação, julgue o item subsecutivo.
Na arquitetura orientada a serviço, promove-se geralmente a criação de serviços altamente especializados, com granularidade fina e com a maximização da reutilização para a maior eficiência do sistema.
A engenharia de software foi criada para substituir a “arte de programação”, dando, assim, maior segurança de sucesso e terminalidade ao desenvolvimento de sistemas. Com base nessa informação, julgue o item a seguir.
A engenharia de software envolve uma abordagem sistemática para a concepção, o desenvolvimento, a manutenção e a evolução de sistemas de software, utilizando métodos, ferramentas e processos para garantir a qualidade, a eficiência e a escalabilidade do produto.
Considerando este tema, avalie as afirmativas a seguir.
I. A análise de sentimentos pode ser tratada como um problema de classificação de textos, onde é importante definir se o texto é objetivo ou subjetivo. Textos subjetivos são os de principal interesse nesse campo de pesquisa.
II. A análise de sentimentos pode ser usada para a identificação de avaliações falsas em sites de e-commerce. Uma limitação para essa aplicação é a dificuldade de obtenção de dados para treinamento de modelos, uma vez que a marcação manual de avaliações com opiniões falsas ou enganosas é muitas vezes difícil.
III. Um exemplo de algoritmo supervisionado de análise de sentimentos para avaliações de produtos pode ser resumido nos seguintes passos: extração de frases com padrões predeterminados de opinião; cálculo de um indicador de orientação de cada frase; obtenção da orientação média da avaliação como um todo; e determinação se é positiva ou negativa.
Está correto o que se afirma em
Com relação à Engenharia de Software, julgue o item.
Os níveis de CMMI visam avaliar e melhorar os processos de uma organização ou setor, como a gestão de TI. Ele apresenta 5 níveis: Inicial, Gerenciado, Definido, Quantitativamente Gerenciado e Otimizado.
I - Engenharia de software é uma disciplina de engenharia que se preocupa com todos os aspectos da produção de software.
II - Os atributos essenciais de um bom software são a funcionalidade, portabilidade e usabilidade.
III - Os engenheiros de software devem se preocupar apenas com as questões técnicas relacionadas aos softwares, especialmente os aspectos relacionados à eficiência de software.
De acordo com Sommerville (2011):
PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 8 ed. Porto Alegre: AMGH Editora, 2016. 940 p.
Analise as sentenças abaixo baseadas na obra de Sommerville:
(SOMMERVILLE, Ian. Engenharia de Software. 9 ed. São Paulo: Pearson Prentice Hall, 2011, p. 3 a 5)
I - A Engenharia de software tem por objetivo apoiar o desenvolvimento profissional de software, mais do que a programação individual. Ela inclui técnicas que apoiam especificação, projeto e evolução de programas, que normalmente não são relevantes para o desenvolvimento de software pessoal.
II - Se você está escrevendo um software que outras pessoas usarão e no qual outros engenheiros farão alterações, então você provavelmente deve fornecer, além do código do programa, informação e documentação adicional.
III - A característica de qualidade de um software profissional implica fundamentalmente no que o software faz: valoriza o comportamento do software enquanto ele está executando, a estrutura e a organização dos programas do sistema e, por fim, a documentação associada, o que se resume à atenção aos atributos de software que denominamos funcionais ou de qualidade.
IV - A Engenharia de software se preocupa exclusivamente com os processos técnicos do desenvolvimento de software. Ela se ocupa em obter resultados de qualidade documentados e verificáveis, por meio de processos ótimos, estruturados e padronizáveis.
Estão CORRETAS a(s) afirmação(ões):
(1) Analista
(2) Designer
(3) Engenheiro de Software
(4) Gerente de Projeto
(5) Programador
( ) Profissional responsável por selecionar e frequentemente detalhar os métodos de planejamento, administração e produção que serão adotados. Este especialista monitora e analisa o progresso de todos os projetos da organização para assegurar que os procedimentos definidos sejam cumpridos de maneira produtiva e eficaz. Se alterações forem necessárias nos métodos vigentes, ele as detecta e implementa, assegurando que a equipe incorpore tais ajustes. Ele está constantemente reexaminando e aprimorando esses processos.
( ) Profissional responsável por supervisionar um projeto específico, assegurando que os prazos, orçamento, escopo e metas de qualidade sejam atendidos no desenvolvimento do produto. Ele adere às práticas estabelecidas no processo de engenharia e verifica a aplicação dessas práticas pelos desenvolvedores. Se necessário, ele comunica ao engenheiro de software sugestões para aprimorar o processo.
( ) Na sua essência, trata-se de um profissional encarregado de entender o problema associado ao sistema a ser criado, pela coleta e modelagem dos requisitos. Portanto, cabe a ele identificar as necessidades do cliente, como gerenciar vendas, comissões, produtos e assim por diante.
( ) É o profissional responsável pela indicação da melhor tecnologia para ser utilizada para produzir um sistema executável para elas. Em seguida, ele deve oferecer uma resposta às demandas do cliente, como, por exemplo, recomendar uma plataforma web com um banco de dados central que possa ser acessado via dispositivos móveis, entre outras possibilidades.
( ) É o profissional responsável pela construção do produto final. Deve possuir conhecimentos sólidos acerca da linguagem e o ambiente de programação, além de conhecer minimamente testes e depuração de software.
Relacione a primeira coluna com a segunda, de acordo com Wazlawich (2019, p. 5):
(WAZLAWICH, Raul Sidnei. Engenharia de Software: Conceitos e Práticas. 2. ed. Rio de Janeiro: Elsevier, 2019.)
Considere as seguintes sentenças sobre Engenharia de Software:
I - Engenharia de software é uma disciplina de engenharia que se preocupa com todos os aspectos da produção de software.
II - Software é o código fonte contido em um ou mais programas, escritos em uma determinada linguagem. Sua documentação não é considerada software.
III - As ideias básicas da engenharia de software são aplicáveis apenas aos sistemas de softwares desenvolvidos recentemente.
De acordo com Sommerville (2011), é correto o que se afirma:
(SOMMERVILLE, Ian. Engenharia de Software. 9 ed. São Paulo: Pearson Prentice Hall, 2011.)
Em relação a fase de geração de código de um compilador, considere as afirmativas abaixo:
I - O problema de gerar código objeto ótimo para determinado programa fonte é indecidível.
II - A geração de um programa em linguagem de máquina realocável, frequentemente denominado módulo objeto, permite que os subprogramas sejam compiladores separadamente. Um conjunto de módulos objeto realocáveis podem ser carregados para execução por um editor de ligação.
III - A arquitetura do conjunto de instruções da máquina alvo tem um impacto significativo sobre a dificuldade de construir um bom gerador de código que produza código de alta qualidade. As arquiteturas de máquina alvo mais comuns são: a RISC (reduced instruction set computer), a CISC (complex instruction set computer) e as baseadas em pilha.
IV - Uma arquitetura RISC (reduced instruction set computer) normalmente possui muitos registradores, instruções de três endereços, modos de endereçamentos simples e uma arquitetura do conjunto de instruções relativamente simples.
Assinale a alternativa que apresenta apenas afirmações corretas:
Uma das fases de um compilador é a geração de código. A respeito dessa fase considere as afirmativas abaixo:
I - Um gerador de código é composto por três tarefas principais, a saber: seleção de instrução, alocação e atribuição de registrador e escalonamento de instruções.
II - A seleção de instruções compreende a escolha de instruções apropriadas da arquitetura alvo para implementar os comandos da representação intermediária. Uma solução para esse problema é realizar a seleção de instruções por reescrita de árvore.
III - O escalonamento de instruções envolve a decisão a respeito da ordem em que a execução das instruções deve ser escalonada. Uma abordagem para resolver esse problema é o uso do algoritmo Sethi–Ullman.
IV - A alocação e atribuição de registrador decidem quais valores devem ser mantidos em registradores e quais registradores usar. Para resolver esse problema pode-se adotar estratégias de alocação de registradores por coloração de grafos.
Assinale a alternativa que apresenta apenas afirmações corretas:
Em relação à etapa de geração e otimização de código intermediário de um compilador, analise as alternativas a seguir, assinalando V, se verdadeiras, ou F, se falsas.
( ) Uma representação intermediária normalmente é alguma combinação de uma notação gráfica e código de três endereços.
( ) Uma representação intermediária pode ser uma linguagem de alto nível ou pode consistir em estruturas de dados internas que são compartilhadas pelas fases do compilador.
( ) Árvores de sintaxe é uma das possíveis representações intermediárias utilizadas por um compilador. As árvores de sintaxe normalmente durante as análises léxica e semântica.
( ) A fase de otimização de código independente das arquiteturas de máquina alvo faz algumas transformações no código intermediário com o objetivo de produzir um código melhor. Em geral, melhor significa mais rápido. Pode-se, também, otimizar outros objetivos, tais como: menor consumo de memória ou de energia.
( ) Uma das desvantagens da aplicação da fase de geração de código intermediário é a possibilidade de realização de otimização e a tradução do código para diversas máquinas.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é: