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

Foram encontradas 1.013 questões

Q1966312 Engenharia de Software

Julgue o próximo item, relativos ao modelo cascata. 



O modelo cascata é frequentemente inadequado para os casos de desenvolvimento de soluções de software em que há ritmo acelerado e volume intenso de mudanças de características, todavia ele pode servir como um modelo de processo útil em situações nas quais os requisitos são fixos. 

Alternativas
Q1965860 Engenharia de Software
A disciplina de teste de software não busca apenas identificar falhas em um sistema. Ela busca também analisar a qualidade e garantir que o sistema será entregue de forma satisfatória, respeitando aspectos como: requisitos acordados, utilização de padronizações e qualidade do código fonte. Muitos conceitos estão presentes nas diferentes formas como um software pode ser testado. A respeito destes conceitos, analise as afirmativas abaixo e marque alternativa correta.

I. No mundo dos testes chamamos de teste de caixa branca aquele em que o testador tem acesso a estrutura interna da aplicação. Por outro lado, temos o teste de caixa preta. Ele possui tal nome justamente pelo fato do testador desconhecer o conteúdo interno da aplicação.
Il. Também chamado de teste estrutural, o teste de caixa branca possui diversas técnicas. A técnica de caminhos básicos, por exemplo, identifica os percursos de execução do software com o objetivo de garantir que cada um deles seja testado.
III. Os testes de caixa preta são também conhecidos como testes funcionais. São chamados assim pois tem o objetivo de validar saídas de acordo com as entradas, ou seja, garantir que os requisitos funcionais da aplicação estão sendo atendidos.  
Alternativas
Q1965859 Engenharia de Software
O avanço da tecnologia trouxe a possibilidade do desenvolvimento de interfaces com usuários muito mais ricas do que os tradicionais terminais de texto onde a entrada de dados era feita a partir do teclado e os sistemas computacionais retornavam apenas texto como resposta às entrada inseridas. Com o advento das Graphical User Interface (GUI) as interfaces ficaram muito mais ricas e interessantes pois elementos visuais passaram a ser utilizados. Marque a alternativa que indica, corretamente, a vantagem da utilização do conceito de WYSIWYG em aplicativos com interfaces gráficas. 
Alternativas
Q1965856 Engenharia de Software
Marque a alternativa que indica, corretamente, o nome do método de medição de software baseado em uma unidade de medida criada na International Business Machines Corporation (IBM). Este método é questionado por especialistas pelo fato da unidade de medida utilizada ser considerada subjetiva, já que é influenciada pelo ponto de vista do usuário do software que está sendo desenvolvido.  
Alternativas
Q1965853 Engenharia de Software
Em projetos de desenvolvimento de software uma das primeiras importantes decisões que se deve tomar é como gerenciar processos, atividades e tarefas que serão executados durante o ciclo de vida do projeto. O entendimento do funcionamento da interação entre a equipe de desenvolvimento e o cliente é fundamental para o sucesso do projeto. Para definir como devemos gerenciar todas essas questões, existem diversos modelos de clico de vida de software. Cada modelo possui especificidades e pode apresentar vantagens e desvantagens, a depender de características inerentes ao projeto. A respeito dos diferentes modelos de ciclo de vida de um software, analise as afirmativas abaixo e marque alternativa correta.

I. O Modelo cascata tem como principal característica o fato das etapas serem executadas de forma sequencial. Isso demanda, obviamente, um grande planejamento como por exemplo, a definição completa de requisitos antes da implementação.
II. O Modelo Incremental é uma evolução do modelo Cascata. Aqui o projeto é quebrado em módulos. As etapas também são executadas sequencialmente mas focadas apenas no módulo em desenvolvimento no momento. Dessa forma o processo de planejamento se torna menos desafiador pois o cliente recebe os diversos módulos gradualmente.
III. No Modelo Espiral as fases do processo de desenvolvimento representam um volta completa na espiral. Trata-se de um modelo de grande aceitação por parte do cliente dada a sua simplicidade. Recomenda-se fortemente que seja aplicado somente em projetos de pequeno porte, uma vez que o modelo não contempla atividades relacionadas ao gerenciamento de riscos. 
Alternativas
Q1965852 Engenharia de Software
Com o foco no cliente e na rápida entrega de valor, as metodologias ágeis se disseminaram rapidamente pois são uma forma de acelerar as entregas em projetos de software. Elas alcançam tal objetivo estimulando uma gestão de processos que garante rápida reação às mudanças que ocorrem com frequência neste tipo de projeto. Isso é feito com o fracionamento das entregas para o cliente em ciclos menores. À respeito de conceitos e práticas das metodologias ágeis, analise as afirmativas abaixo e marque alternativa correta.

I. Em metodologias ágeis chamamos de sprint ociclo regular de tempo utilizado para a execução de atividades até que um novo planejamento seja realizado.
Il. O Extreme Programming (XP) prega diferentes práticas em desenvolvimento de software. Uma dessas práticas defende que a semana de trabalho não seja superior a 40 horas.
Ill. Em SCRUM o Product Backlog é a lista de tarefas que devemos realizar em um sprint.  
Alternativas
Q1965851 Engenharia de Software
Ciências da Computação é ampla e composta por diversas áreas. Uma das maiores áreas de Ciências da Computação é a de Engenharia de Software. Isso ocorre porque a Engenharia de software cobre diversos aspectos relacionadas às diferentes etapas do ciclo de desenvolvimento de software. Marque a alternativa que indica um item que não faz parte das áreas compreendidas pela Engenharia de Software, de acordo com a versão 3 do Guide to the Software Engineering Body of Knowledge (SWEBOK).  
Alternativas
Q1965827 Engenharia de Software
Nos tempos atuais a utilização de software é essencial na vida de pessoas e empresas. O software é capaz de viabilizar a execução de tarefas que um humano não seria capaz de realizar, mas contribui também tornando mais rápida a execução de tarefas que demorariam horas para serem executadas sem ele. O ponto negativo do software é que pode ser complexo desenvolve-lo. A disciplina de Análise e Projeto Orientados a Objetos busca estudar formas de especificarmos software que será desenvolvido no paradigma orientado a objeto. A respeito da análise e desenvolvimento de software através deste paradigma, analise as afirmativas abaixo e marque alternativa correta.

|. O mecanismo que permite a definição de uma nova classe (subclasse) a partir de uma classe já existente (superclasse) é chamado de herança.
Il. A análise de projetos com paradigma orientado a objeto surgiu após a criação das metodologias ágeis. Essa sucessão ocorreu graças a crise do software que, na década de 70, motivou a criação dos métodos ágeis e estes impulsionaram o paradigma orientado a objeto.
IIl. O polimorfismo é um conceito que deve ser aplicado quando percebemos, durante a análise do projeto, a necessidade de unificarmos atributos comuns às classes que possuem um ancestral comum.  
Alternativas
Q1965811 Engenharia de Software
Machine Leaming é um ramo da ciência da computação que utiliza conceitos das áreas de Estatística, Engenharia e da própria Computação com o objetivo de reconhecer padrões e ensiná-los a uma máquina. Além das áreas citadas, outro aspecto importante para Machine Leaming são os dados. Sem eles não é possível viabilizar o treinamento da máquina. Esses dados devem estar relacionados ao tema para o qual a máquina será treinada. Isso é fundamental pois o objetivo de Machine Learning é permitir que a máquina seja capaz de evidenciar informações que um humano não perceberia facilmente, permitindo, por exemplo, a predição de eventos ou a execução de diagnósticos precisos. A respeito dos fundamentos que envolvem Machine Learning, analise as afirmativas abaixo e marque alternativa correta.

I. No processo de aprendizagem supervisionada o computador recebe um conjunto de dados. Ele encontrará neste conjunto dados de entrada atrelados as saídas esperadas. Neste tipo de aprendizagem o objetivo é encontrar as regras que conseguem mapear aquelas entradas com aquelas saídas. 
II. À aprendizagem por reforço é um tipo de treinamento usado onde enfrentamos um ambiente complexo. Através das tentativas e erro o computador busca uma solução para O problema. Para que a máquina entenda o que são acertos e erros ela receberá recompensas e penalidades durante o processo de busca da solução.
III. Quando o conjunto de dados repassado para o computador possui apenas os valores de saída possíveis (rótulos) mas não conhecemos nada a respeito dos valores das entradas, devemos fazer uso do processo de aprendizagem não supervisionada. Ela foi criada justamente para atender este cenário. Esse aprendizagem envolve complexidades adicionais quando comparada a aprendizagem supervisionada. 
Alternativas
Q1965345 Engenharia de Software

Julgue o item a seguir, relativos aos conceitos de TDD e BDD.



No processo de TDD, o código é desenvolvido em grandes blocos de requisitos do usuário. Cada iteração resulta em um novo teste, que faz parte um conjunto de testes de regressão executado no final do processo de integração.

Alternativas
Q1965321 Engenharia de Software
Julgue o item a seguir, a respeito de reúso de componentes e modelos de processo. 

Uma descrição ideal de um componente de software reutilizável deve ser feita com base no modelo 3C, que significa composição, conteúdo e contexto. 
Alternativas
Q1965283 Engenharia de Software
Para transmitir informações com segurança entre as partes como objetos JSON, um Técnico optou por utilizar JSON Web Tokens (JWTs), que podem ser assinados utilizando um segredo (com o algoritmo HMAC) ou um par de chaves pública/privada usando normalmente os algoritmos 
Alternativas
Q1964709 Engenharia de Software

Julgue o item que se segue, acerca de DevOps.



Os processos envolvidos no DevOps são denominados, respectivamente, de planejar, construir, testar, codificar, operar, avaliar e relatar.

Alternativas
Q1964708 Engenharia de Software

Julgue o item que se segue, acerca de DevOps.



O repositório de artefatos armazena artefatos de construção produzidos por integração contínua e os disponibiliza para implantação automatizada em ambientes de teste, preparação e produção. 

Alternativas
Q1964707 Engenharia de Software

Julgue o item que se segue, acerca de DevOps.



Cada vez que uma alteração na base de código é detectada, é iniciada uma compilação que testa a qualidade do código recém-enviado, alcançando-se, assim, a integração contínua. 

Alternativas
Q1961679 Engenharia de Software
Julgue o item que se segue, relativos a desenvolvimento de sistemas web e metodologias ágeis. 

A tecnologia WebSockets possibilita abrir uma sessão de comunicação interativa entre o browser do lado cliente e um servidor, de modo que haja um canal de comunicação full-duplex entre cliente e servidor por meio de uma única conexão TCP/IP. 
Alternativas
Q1957603 Engenharia de Software

O DevOps faz uso de três pipelines e, em um deles, as alterações realizadas pelos diferentes elementos do grupo são validadas, testadas e integradas ao repositório compartilhado do código fonte da aplicação.


A descrição apresentada corresponde ao Pipeline Continuous

Alternativas
Q1953382 Engenharia de Software
Integração e implantação contínuas (CI/CD) é uma coleção de práticas usadas para integrar e entregar código rapidamente. Usando a prática de 
Alternativas
Q1953381 Engenharia de Software
O NIST Secure Software Development Framework (SSDF) versão 1.1 define práticas recomendadas fundamentais para o desenvolvimento de software seguro e organiza estas práticas em quatro grupos: Preparar a Organização (PO), Proteger o Software (PS), Produzir Software Bem Protegido (PW) e
Alternativas
Q1953252 Engenharia de Software

O “Security Development Lifecycle (SDL)” consiste em um conjunto de práticas que suportam garantia de segurança e requisitos de conformidade. O SDL ajuda os desenvolvedores a criar softwares mais seguros, reduzindo o número e a gravidade das vulnerabilidades no software. Nesse contexto, existem duas abordagens descritas a seguir:


I. Tem como objetivo identificar as vulnerabilidades no seu código-fonte antes de ele ser colocado em produção. É como uma revisão direta do código-fonte. Para isso são usadas técnicas de análise de código estático para procurar problemas sem precisar executar o código.

II. Tem por objetivo testar as interfaces expostas em busca de vulnerabilidades. Dessa forma, o teste é feito de fora para dentro, sendo que, nesse caso, a interface já é o suficiente para que o especialista realize o teste.


As abordagens descritas em I e II são conhecidas pelas siglas:

Alternativas
Respostas
541: C
542: E
543: D
544: A
545: C
546: A
547: C
548: A
549: B
550: E
551: E
552: B
553: E
554: C
555: C
556: C
557: C
558: D
559: A
560: A