Questões de Concurso
Foram encontradas 8.728 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
(1) Insuficiência e/ou problemas de pessoal (2) Cronograma e orçamento não realistas (3) Desenvolvimento das funcionalidades erradas (4) Desenvolvimento de uma interface com o usuário errada (5) Constante mudança de requisitos (6) Problemas com componentes desenvolvidos por terceiros (7) Insuficiência de desempenho
( ) Inspeção; análise de compatibilidade. ( ) Reúso de software; depuração dos requisitos; estimativas detalhadas de esforço e custo. ( ) Simulação; modelagem; instrumentação; ajuste fino. ( ) Prototipação; uso de cenários de uso; caracterização do usuário (funcionalidade, estilo, carga de trabalho). ( ) Políticas de atração de talentos; treinamento; consolidação da equipe. ( ) Uso de abstração e ocultação da informação; desenvolvimento incremental. ( ) Pesquisa com usuários; análise da organização cliente e da missão do produto; participação do cliente na elicitação de requisitos.
A sequência numérica correta de preenchimento dos parênteses, de cima para baixo, é
C1: [A, B, C] C2: [1,2,3,4] C3: [*, !]
Qual a quantidade mínima de testes que devem ser gerados usando a técnica de teste pairwise (combinação de pares)?
(1) Teste de Unidade (2) Teste de Integração (3) Teste de Sistema (4) Teste de Aceitação
( ) Avalia o software com respeito ao projeto de seus subsistemas e detecta suposições errôneas sobre pré e pós-condições para execução de um componente, falhas nas interfaces de comunicação dos componentes do software. ( ) Avalia o software com respeito aos seus requisitos e detecta falhas nos requisitos e na interface com o usuário. ( ) Avalia o software com respeito a sua implementação detalhada e detecta falhas de codificação, algoritmos ou estruturas de dados incorretos ou mal implementados. ( ) Avalia o software com respeito ao seu projeto arquitetural e detecta falhas de especificação, desempenho, robustez e segurança.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
C1 = custo das atividades de verificação e validação. C1 é calculado através dos custos de pessoal, equipamentos, licenças de software e demais recursos gastos em projetos anteriores similares que tiveram atividades de verificação e validação.
C2 = custo dos defeitos não encontrados pelas atividades de verificação e validação executadas durante o desenvolvimento do software. C2 é estimado através dos custos de remoção dos defeitos para o sistema em produção e contabilizando o total de defeitos encontrados pelos usuários.
C3 = custo dos defeitos quando não há atividades de verificação e validação. C3 é estimado usando dados históricos de projetos anteriores similares que não tiveram atividades de verificação e validação. Contabilizam-se os custos de remoção dos defeitos para o sistema em produção e o total de defeitos encontrados pelos usuários.
A partir dessas definições, a aplicação das atividades de verificação e validação é economicamente justificável quando:
Considere o seguinte código.
/ / Se x é null, lança uma exceção do tipo NullPointerException
/ / Se não, retorna o índice do último elemento em x que é igual a y.
/ / Se esse elemento não existe, retorna -1.
public int findLast (int[] x, int y) {
for (int i=x.length-1; i > 0; i --)
{
if (x[i] == y)
return i;
}
return -1;
}
Para o código acima, foi definido o seguinte caso de teste:
x = [3,2,5,3], y = 3
Resposta esperada: 3
É correto afirmar que esse caso de teste
As definições de atributos de qualidade abaixo representam uma meta para todo projeto de software.
_____________ é um atributo de qualidade avaliado levando-se em conta fatores humanos, estética, consistência e documentação como um todo.
_____________ é um atributo de qualidade avaliado medindo-se a frequência e a severidade das falhas, a precisão dos resultados gerados, o tempo médio entre defeitos, a capacidade de se recuperar de uma falha e a previsibilidade do programa.
_____________ é um atributo de qualidade medido considerando a velocidade de processamento, o tempo de resposta, o consumo de recursos, vazão (throughput) e eficiência.
Assinale a alternativa que completa correta e respectivamente as lacunas do texto acima.
Considere as seguintes afirmações sobre Manutenção de Software.
I - Manutenção de software é o processo geral de mudança em um sistema depois de liberado para uso.
II - As pesquisas concordam que a manutenção de software ocupa uma proporção menor dos orçamentos de TI do que o desenvolvimento e, portanto, os esforços durante o desenvolvimento do sistema para produção de um sistema manutenível não reduzem os custos gerais durante a vida útil do sistema.
III - Existem três diferentes tipos de manutenção de software: (1) correção de defeitos; (2) adaptação ambiental (quando algum aspecto do ambiente – tal como hardware, plataforma do sistema operacional ou outro software de apoio – sofre uma mudança); e (3) adição de funcionalidade.
Quais estão corretas?
_____________ são declarações de serviços que o sistema deve fornecer, ou seja, como o sistema deve reagir a entradas específicas e como o sistema deve se comportar em determinadas situações. Em alguns casos, também podem explicitar o que o sistema não deve fazer.
Assinale a alternativa que completa corretamente a lacuna do texto acima.
Há vários modelos de processo de software, sendo que cada um define um fluxo de processo que invoca cada atividade do desenvolvimento de forma diversa. O modelo ____________, algumas vezes chamado ciclo de vida clássico, é um exemplo de processo dirigido a planos, pois deve-se planejar todas as atividades (estágios) do processo antes de começar a trabalhar nelas. Em princípio, o estágio seguinte não deve ser iniciado até que o estágio anterior seja concluído, mas na prática este processo não é um modelo linear simples, envolvendo o feedback de um estágio a outro. Assim os documentos e artefatos produzidos em cada estágio podem ser modificados para refletirem as alterações em cada um deles. Este modelo é consistente com outros modelos de processo de engenharia, e a documentação é produzida em cada estágio do ciclo. Desta forma, o processo torna-se visível e os gerentes podem monitorar o progresso de acordo com o plano de desenvolvimento. Seu maior problema é a divisão inflexível do projeto em estágios distintos e, por isso, deve ser usado apenas quando os requisitos são bem compreendidos e pouco provavelmente venham a ser radicalmente alterados durante o desenvolvimento.
Assinale a alternativa que preenche corretamente a lacuna do texto acima.
Considere as seguintes afirmações sobre prototipação.
I - A prototipação é comumente utilizada como uma técnica que auxilia os interessados, quando os requisitos estão obscuros, a compreender melhor o que está para ser construído, embora possa também ser utilizada como um modelo de processo isolado.
II - Um protótipo é uma versão inicial de um sistema de software, usado para demonstrar conceitos, experimentar opções de projeto e descobrir mais sobre o problema e suas possíveis soluções.
III - Protótipos devem ser executáveis para serem úteis. Deve-se evitar o desenvolvimento de maquetes em papel de interface de usuário, embora sejam baratas e possam ser construídas em poucos dias.
Quais estão corretas?
___________ se preocupa com todos os aspectos do desenvolvimento de sistemas computacionais, incluindo engenharia de hardware, software e processo; e _________ é uma disciplina da engenharia que se preocupa com todos aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.
Assinale a alternativa que completa, correta e respectivamente, as lacunas do texto acima.
Considere as seguintes afirmações sobre processos de software.
I - Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software.
II - Os processos ágeis são uma categoria de processo de software em que o planejamento não é gradativo e, por isso, torna-se mais difícil alterar o processo de maneira que reflita as necessidades de mudança dos clientes.
III - Em organizações nas quais a diversidade de processos de software é reduzida, os processos de software podem ser melhorados pela padronização. Isso possibilita uma melhor comunicação, além de redução no período de treinamento, e torna mais econômico o apoio ao processo automatizado.
Quais estão corretas?
Considere as seguintes afirmações sobre Princípios de Engenharia de Software.
I - São utilizadas diferentes técnicas de engenharia de software para cada tipo de sistema, porque cada software tem características bastante diversas.
II - Uma característica fundamental de um sistema de software é a eficiência, pois o software não deve desperdiçar os recursos do sistema, como memória e ciclos do processador. Eficiência inclui capacidade de resposta, tempo de processamento, uso da memória, etc.
III - Engenheiros de software não devem preocupar-se apenas com questões técnicas, devendo se comportar de forma ética e moralmente responsável, pois têm responsabilidades com a profissão de engenharia e com a sociedade.
Quais estão corretas?
Considere as seguintes afirmações sobre o diagrama de classes da linguagem UML.
I - O diagrama de classes não mostra a natureza dinâmica das comunicações entre os objetos das classes.
II - Os elementos principais do diagrama de classes são caixas, ou seja, ícones que representam classes e interfaces. Cada caixa é dividida em partes horizontais. A parte superior contém o nome da classe. A seção do meio lista os atributos da classe. A terceira seção contém as operações ou comportamentos da classe.
III - A associação entre duas classes indica que há uma relação estrutural entre ambas, não sendo possível indicar o número de objetos de uma classe associados a outra classe.
Quais estão corretas?
Considere as seguintes afirmações sobre a linguagem UML.
I - Diagrama de estado modela os estados de um objeto e as ações executadas, dependendo daqueles estados e das transições entre os estados do objeto.
II - Diagrama de sequência mostra chamadas de método, usando setas horizontais do chamador para o chamado, identificadas com o nome do método e, opcionalmente, inclui seus parâmetros, seus tipos e o tipo de retorno.
III - Casos de uso e o diagrama de casos de uso ajudam a determinar a funcionalidade e as características do software sob o ponto de vista do usuário.
Quais estão corretas?
Considere as seguintes afirmações sobre alguns fundamentos de Análise de Sistemas orientada a objetos.
I - Classe é um conceito orientado a objeto que encapsula dados e abstrações procedurais necessárias para descrever o conteúdo e o comportamento de alguma entidade do mundo real. Podese dizer que classe é uma descrição generalizada que descreve uma coleção de objetos similares.
II - Superclasse é a generalização de um conjunto de classes a ela relacionadas.
III - Subclasse é uma especialização da superclasse. Uma subclasse herda todos os atributos e operações associadas à sua superclasse e não pode incorporar atributos ou operações adicionais específicos.
Quais estão corretas?
Considere as seguintes informações sobre diagramas UML.
I - Diagrama de classes modela classes, incluindo seus atributos, operações, relações e associações com outras classes.
II - Diagrama de classes fornece uma visão estática ou estrutural de um sistema.
III - Diagrama de sequência indica as comunicações dinâmicas entre objetos durante a execução de uma tarefa, mas não mostra a ordem temporal em que as mensagens são enviadas entre os objetos para executar aquela tarefa.
Quais estão corretas?