Questões de Concurso
Sobre desenvolvimento de software em engenharia de software
Foram encontradas 1.080 questões
I. GitHub oferece fluxo de trabalho inicial de CI (Integração Contínua) para uma série de linguagens e estruturas. II. A Integração Contínua é uma prática que recomenda que os commits sejam adiados o máximo possível, evitando tráfego de rede. III. O GitHub permite personalizar e compartilhar fluxos de trabalho.

Coluna 1 1. Single Responsibility Principle (Princípio de responsabilidade única). 2. Open-Closed Principle (Princípio aberto/fechado). 3. Liskov Substitution Principle (Princípio de substituição de Liskov). 4. Interface Segregation Principle (Princípio de segregação de interface). 5. Dependency Inversion Principle (Princípio de inversão de dependência).
Coluna 2 ( ) Classe não deve ser obrigada a implementar métodos e interfaces que não serão utilizadas. ( ) Depende de abstrações e não de implementações. ( ) Uma classe deve ter uma e apenas uma razão para mudar. ( ) Objetos devem estar disponíveis para extensão, mas fechados para modificação. ( ) Uma subclasse deve ser substituível por sua superclasse.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
São modelos de desenvolvimento que integram o processo do ciclo de vida de um software seguro:
I. Modelo espiral.
II. Modelo cascata.
III. Modelo interativo.
IV. Modelo ágil.
Quais estão corretas?
Coluna 1 1. Metodologia estruturada. 2. Metodologia orientada a objetos.
Coluna 2 ( ) O modelo de desenvolvimento desenhado para atender às necessidades do desenvolvimento nessa metodologia é o Processo Unificado.
( ) A UML foi definida como padrão para documentação de projetos dessa metodologia.
( ) Nessa metodologia de desenvolvimento, o sistema é visualizado no modelo entrada-processosaída, onde os dados são considerados separadamente das funções.
( ) Nessa metodologia, o mundo real é composto por objetos os quais protegem a sua estrutura de dados junto ao seu comportamento funcional.
( ) Existe uma clara separação entre funções e dados, em que as primeiras são ativas e implementam a lógica da aplicação, enquanto os dados são entidades de informação passivas, normalmente estruturados em repositórios.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
Coluna 1 1. Gerenciamento de sessão. 2. Segurança de comunicação. 3. Segurança de banco de dados. 4. Configuração do sistema.
Coluna 2 ( ) Implemente criptografia para a transmissão de todas as informações confidenciais. ( ) Gere um novo identificador em qualquer reautenticação no sistema. ( ) Defina quais métodos HTTP, Get ou Post o aplicativo suportará e se será tratado diferentemente nas páginas do aplicativo. ( ) Localize os identificadores somente no cabeçalho do cookie HTTP. ( ) Armazene as strings de conexão criptografadas e em um arquivo de configuração separado.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
I. Os produtos ADLM focam na parte do desenvolvimento do ciclo de vida de software. II. Se concentra em atividades de planejamento e governança do ciclo de vida de desenvolvimento de software (SDLC). III. Engloba o gerenciamento do ciclo de vida da aplicação (ALM) como parte do seu escopo de atuação.
I. O Git trabalha com uma estrutura de árvores em três níveis: work directory, stage (ou index) e head. II. O comando git commit serve para enviar as alterações locais a um repositório remoto. III. O comando git pull é equivalente ao comando git fetch seguido do comando git merge. IV. O comando git reset serve para desfazer alterações, sem alterar a referência head. V. O comando git checkout pode ser utilizado para trocar de uma branch para outra.
Analise o diagrama de sequência a seguir.
VALENTE, M. T. Engenharia de Software Moderna: princípios e práticas para desenvolvimento de software com produtividade. 2020.
De acordo com o diagrama, assinale a alternativa correta.
O desenvolvimento de software envolve um conjunto de atividades de produção que estão sujeitas a falhas humanas. Para se reduzir o risco de entrega de um produto de software com falhas ou defeitos, é necessário que o processo de desenvolvimento de software seja acompanhado por uma atividade de garantia de qualidade. Na garantia de qualidade, um elemento crítico é a atividade de teste de software, destinada a descobrir os erros, falhas ou defeitos do software antes do seu uso, bem como mostrar que os requisitos do produto de software foram cumpridos e que ele faz o que é proposto a fazer. Considerando as abordagens e técnicas empregadas no teste de software analise as asserções a seguir.
I. Uma das abordagens do teste de software concentra-se nos requisitos funcionais do software, que procuram derivar conjuntos de condições de entrada, que permitam avaliar todos os requisitos funcionais do software. Os métodos empregados nessa abordagem procuram identificar funções incorretas ou ausentes, erros de interfaces, erros nas estruturas de dados ou no acesso a bancos de dados externos, erros de desempenho e erros de inicialização e término.
II. Uma técnica empregada para avaliação dos requisitos funcionais é o Teste de Caminho Básico, o qual possibilita o exame de detalhes procedimentais do projeto por meio da definição de um conjunto básico de caminhos de execução. A partir deste conjunto básico, são derivados casos de testes, garantindo executar cada instrução do programa pelo menos uma vez durante a atividade de teste.
III. O particionamento de equivalência é uma técnica que se concentra em testes de estruturas de controle. Essa técnica divide o domínio de entrada de um programa em classes de dados, a partir das quais os casos de testes são derivados. Ela baseia-se numa avaliação de classes de equivalência para uma condição de entrada, sendo que uma classe representa um conjunto de estados válidos e inválidos para as condições de entrada.
IV. A complexidade ciclomática é uma métrica de software que proporciona uma medida quantitativa da complexidade lógica de um programa. Essa métrica pode ser utilizada em algumas abordagens de testes de software, como no método de teste de caminho básico, onde o valor computado pode definir um limite máximo para o número de testes que deve ser realizado para garantir que todas as instruções sejam executadas ao menos uma vez.
São corretas apenas as asserções