Questões de Concurso Sobre desenvolvimento de software em engenharia de software

Foram encontradas 1.013 questões

Q847748 Engenharia de Software

Há muitas situações em que é benéfico criar programas que sejam imunes à reversão de código, ou pelo menos, em que esta reversão seja dificultada.


Com relação às técnicas antirreversão, analise as afirmativas a seguir.


I. A penalidade mais significativa para a maioria das técnicas antirreversão de código é um aumento no tempo de execução dos programas.

II. O uso de compressão de código impossibilita o uso de análise dinâmica na engenharia reversa.

III. A encriptação de código é uma das técnicas antirreversão que podem ser aplicadas na criação do código executável.


Está correto o que se afirma em

Alternativas
Q847742 Engenharia de Software

Uma das aplicações da engenharia reversa de software é auditar um programa para avaliar sua segurança, identificando suas possíveis vulnerabilidades.


Relacione as técnicas e ferramentas relativas à engenharia reversa com suas respectivas definições.


1. Descompilador

2. Desmontador

3. Depurador

4. Ofuscador de Código


( ) Programa que converte um programa em código de máquina para linguagem de montagem.

( ) Programa utilizado para obter o código fonte de um programa a partir de seu código executável.

( ) Programa para reduzir a legibilidade de um programa de forma automatizada.

( ) Programa para analisar o comportamento de um programa em linguagem de máquina.


Assinale a opção que mostra a relação correta, de cima para baixo.

Alternativas
Q846255 Engenharia de Software
Para facilitar a detecção de gargalos e oferecer uma Interface visual para depurar os aplicativos AngularJS é interessante instalar o plugin no Google Chrome denominado:
Alternativas
Q842845 Engenharia de Software

É comum que os responsáveis pela implantação de sistemas computacionais baseados em hardware e software não deem a devida importância ao treinamento de usuários para uso adequado e produtivo desses sistemas. No entanto, podem ser identificadas categorias de pessoas que necessitam de treinamento, entre estas, estão os usuários que irão operar o sistema e o suporte que executa a manutenção corretiva e realiza rotinas preventivas.


Com base no texto, depreende-se que o treinamento para uso de sistemas computacionais

Alternativas
Q842836 Engenharia de Software

Considerando o desenvolvimento e a manutenção de sistemas e aplicações de software, marque V para as afirmativas verdadeiras e F para as falsas.


( ) No ciclo de vida tradicional de um software, são fases clássicas: análise, projeto, codificação, testes, evolução e transição.

( ) A construção de protótipos pode servir como um mecanismo para apoiar a validação de requisitos de usuários, isto é, o cliente pode visualizar a aplicação e oferecer feedback ao projetista de software.

( ) O desenvolvimento de aplicações no paradigma orientado a objeto requer o conhecimento de técnicas de delegação e distribuição de responsabilidades, que possibilitam o reuso de código, pois apresentam alto acoplamento e são aderentes aos padrões de projetos.

( ) O processo de desenvolvimento de um sistema pode ser visualizado conceitualmente como particionado em duas etapas: na primeira, conhecer o domínio do problema, “o que o sistema deve fazer?”, na segunda, criar a solução no domínio da aplicação, “como o sistema deve ser feito”.


Assinale a sequência correta.

Alternativas
Q839359 Engenharia de Software

Considere que uma equipe está trabalhando no desenvolvimento de um software com base em práticas e métricas ágeis e, em uma dada Sprint, a situação é apresentada pelo quadro abaixo.


Imagem associada para resolução da questão


Neste cenário é correto afirmar que

Alternativas
Q836993 Engenharia de Software

Considere as etapas a seguir:


1. Após os testes serem executados com sucesso, é iniciado o processo para implementar a próxima parte da funcionalidade.

2. É implementada a funcionalidade e novamente executado o teste. Isso pode envolver a refatoração do código existente para melhorá-lo e adicionar um novo código sobre o que já foi desenvolvido.

3. É executado o teste juntamente com todos os outros testes implementados.

4. É escrito um teste para a funcionalidade. Este teste é implementado como um teste automatizado.

5. É identificado o incremento de funcionalidade necessário, que normalmente deve ser pequeno e implementável em poucas linhas de código.


A sequência de etapas que devem ser seguidas no desenvolvimento dirigido a testes (TDD – Test Driven Development) é corretamente definida por

Alternativas
Q836991 Engenharia de Software

Considere a frase a seguir:


O ..., é baseado na ideia de desenvolver uma implementação inicial, expô-la aos comentários dos usuários e continuar por meio da criação de várias versões até que um sistema adequado seja desenvolvido. Atividades de especificação, desenvolvimento e validação são intercaladas, e não separadas, com rápido feedback entre todas as atividades. Um dos problemas deste modelo, sob o ponto de vista do gerenciamento, é a falta de visibilidade do processo.


A lacuna deve ser preenchida corretamente por

Alternativas
Q835401 Engenharia de Software
Tendo em vista que, no desenvolvimento de um software, é possível implementar de diversas formas a interface com o usuário, assinale a opção correta.
Alternativas
Q835378 Engenharia de Software
Um gestor de desenvolvimento de software ficou responsável por avaliar a qualidade de determinado software. Nessa avaliação, ele utilizou atributos categorizados em características, como, por exemplo, a funcionalidade. Para essa característica — funcionalidade —, o usuário do software pode utilizar como métricas as subcaracterísticas
Alternativas
Q834063 Engenharia de Software
O acompanhamento de todo o processo de vida útil de uma aplicação, seja a construção de novos softwares ou alterações nos softwares já existentes, integrando todas as fases da engenharia de software – como análise de requisitos, modelagem de arquitetura, desenvolvimento de código, gerenciamento de mudanças, gerenciamento de testes e gerenciamento de versões de produtos realizados – com as necessidades do mercado, é conhecido pela sigla em inglês:
Alternativas
Q834061 Engenharia de Software
No Ciclo de Desenvolvimento do TDD (Test-Driven Development), utiliza-se a estratégia que aplica três palavras-chaves (em inglês), que é denominada:
Alternativas
Q827391 Engenharia de Software

Seja o seguinte texto sobre um projeto de TI:

“A equipe de desenvolvimento de software da Companhia de Saneamento de um estado da federação decidiu realizar a implantação de um processo de trabalho que permita o desenvolvimento de suas aplicações de forma organizada e estruturada, com as atividades e resultados definidos. Desta forma, foi formada uma equipe que teve como objetivo realizar a modelagem e a definição dos processos internos necessários para o desenvolvimento de seus softwares

São atividades imprescindíveis neste processo interno

Alternativas
Q819306 Engenharia de Software

As principais vantagens de se utilizar um sistema de controle de versão, como o SVN, para rastrear as alterações feitas durante o desenvolvimento de software são:

Analise as afirmativas abaixo e assinale a alternativa correta.

(1) Controle do histórico.

(2) Trabalho em equipe.

(3) Marcação e resgate de versões estáveis.

(4) Ramificação de projeto.

Alternativas
Q810404 Engenharia de Software

Dadas as afirmativas acerca das metodologias de desenvolvimento de software,


I. Muitos processos modernos de desenvolvimento de software, tais como RUP e XP, adotam o modelo de desenvolvimento conhecido como espiral.

II. O modelo espiral possui a vantagem de ser iterativo e incremental, porém possui a limitação de não ter atividade de análise de riscos.

III. Apesar de ser um modelo pouco iterativo, o modelo em cascata é indicado para projetos pequenos e que tenham requisitos estáveis e bem definidos.


verifica-se que está(ão) correta(s)  

Alternativas
Ano: 2013 Banca: FCC Órgão: DPE-RS Prova: FCC - 2013 - DPE-RS - Analista - Informática |
Q807359 Engenharia de Software
A equipe de TI da empresa A desenvolveu um software onde os requisitos iniciais foram razoavelmente bem definidos, porém, devido ao escopo geral do trabalho de desenvolvimento, o uso de um processo de software puramente linear não pôde ser utilizado, optando-se por combinar elementos dos fluxos de processos lineares e paralelos. Durante o processo de desenvolvimento foi liberada uma série de versões que ofereciam, progressivamente, maior funcionalidade para o cliente à medida que cada versão era entregue. A primeira versão entregue contemplava o atendimento aos requisitos básicos, porém, muitos recursos complementares foram entregues em versões posteriores. Após a primeira versão ser entregue, usada e avaliada pelo cliente, foi realizado um planejamento para que a entrega da versão seguinte já considerasse a modificação na versão essencial para melhor se adequar às necessidades do cliente e a entrega de recursos e funcionalidades adicionais. Esse processo foi repetido após a liberação de cada versão, ate que o software estivesse completo. Nota-se no texto que o modelo de processo utilizado pela equipe de TI da empresa A teve seu foco voltado para a entrega de um produto operacional em cada versão. As primeiras versões foram partes do produto final que realmente possuíam capacidade para atender aos usuários e oferecer uma plataforma para a avaliação O texto permite concluir que foi utilizado o modelo de processo
Alternativas
Q794276 Engenharia de Software

A modularização de um sistema de software permite decompor um sistema em subsistemas menores. A esse respeito, considere as possíveis vantagens dessa prática.

1. Permite a reutilização de subsistemas em outras aplicações desenvolvidas.

2. Possibilita o desenvolvimento dos subsistemas em paralelo.

3. Ajuda a manter a coesão de cada subsistema. 4. Ajuda a diminuir o acoplamento geral entre cada subsistema.

De uma forma geral, no desenvolvimento de software, são de fato vantagens da modularização:

Alternativas
Q794186 Engenharia de Software
Sobre desenvolvimento baseado em componentes e desenvolvimento orientado a testes é INCORRETO afirmar:
Alternativas
Q792274 Engenharia de Software
O modelo de processo de desenvolvimento de software que enfatiza a estreita relação entre as atividades de testes e as demais fases do processo de desenvolvimento é denominado modelo
Alternativas
Q791441 Engenharia de Software
O controle sobre as modificações nos projetos de desenvolvimento de sistemas computacionais faz parte da engenharia de software e se constituem geralmente em um modelo prescritivo. Escolha a alternativa correta que indica modelos prescritivos segundo Pressan (2010, p.38):
Alternativas
Respostas
761: D
762: A
763: A
764: A
765: C
766: B
767: E
768: A
769: A
770: C
771: C
772: A
773: D
774: E
775: D
776: B
777: E
778: D
779: C
780: B