Escolar Documentos
Profissional Documentos
Cultura Documentos
BOA PROVA!
A prova é individual e sem consulta.
Leia atentamente as questões.
Questões discursivas podem ser a lápis. Preferência que sejam respondidas à caneta. As
questões de múltipla escolha responder à caneta. Confira se todas as questões foram
respondidas.
Utilize o verso para as respostas. Identifique corretamente as respostas. Responda com muita
clareza estas questões. Cuidado com a ortografia e caligrafia.
02) Sistemas de software podem ser testados em diferentes granularidades. Nas granularidades mais altas,
pode-se ter o teste de entradas e saídas de uma função. Em granularidades mais baixas pode -se testar
até interações complexas de todo um sistema com o usuário. Das alternativas seguintes, q ual delas
ordena, da esquerda para direita, da granularidade mais alta para a mais baixa, os diferentes tipos de
testes?
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
04) A respeito dos testes de software realizados no ciclo de desenvolvimento de um sistema, assinale a
opção correta.
(A) Testes de estresse de um sistema são manualmente realizados durante o desenvolvimento da solução.
(B) Os testes de caixa preta são realizados somente pelos desenvolvedores e devem ser utilizados para validar
os requisitos funcionais do sistema por meio dos testes de caso de uso.
(C) A automatização de testes restringe-se à atividade de implementação, com a criação de testes unitários que
são executados ao final do processo de desenvolvimento.
(D) Os testes denominados caixa branca são frequentemente utilizados pelos analistas com o objetivo de testar
os artefatos e as aderências das regras de negócio ao sistema.
(E) Os testes de aceitação das metodologias tradicionais não constituem uma atividade em separado na
metodologia ágil XP.
07) Os clusters de alta disponibilidade são montados de forma a garantir que seus sistemas permaneçam
ativos por um longo período de tempo e em plena condição de uso. Para um cluster de alta
disponibilidade que está sendo monitorado por um analista, foi verificado qu e o MTBF (Mean Time
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
Between Failures) possui o valor de 980 horas e que o MTTR (Mean Time To Repair) possui o valor de
40 horas. A disponibilidade (%) desse cluster é de, aproximadamente:
(A) 92,16.
(B) 94,00.
(C) 95,92.
(D) 96,08.
(E) 98,04
08) Os testes de aceitação são muitas vezes a última etapa de testes antes de implantar o software em
produção. Seu objetivo maior é verificar se o software está apto para utilização por parte dos usuários
finais, de acordo com os requisitos de implementação definidos. Há três estratégias de implementação
de testes de aceitação: a aceitação formal, a aceitação informal (ou teste alfa) e o teste beta.
Com relação às três estratégias de implementação dos testes de aceitação, é correto afirmar que:
(A) o teste de aceitação informal, ou teste alfa, é conduzido nas instalações do usuário final, geralmente sem a
presença do desenvolvedor;
(B) o teste beta é conduzido na instalação do desenvolvedor por um grupo representativo de usuários finais;
(C) o teste de aceitação formal utiliza todo o conjunto de casos de teste aplicados durante o teste do sistema,
para procurar novos problemas;
(D) o teste beta é focado na busca de defeitos e seu progresso é facilmente medido;
(E) o teste de aceitação formal pode ser realizado de forma automatizada.
09) Trata-se de um teste que desconhece o conteúdo do código fonte. Nesse teste o componente testado é
tratado como uma caixa preta: são fornecidos dados de entrada e o resultado comparado com aquele
esperado e previamente conhecido. Além disso, esse teste pode ser aplicado em diversas fases de
teste. A questão retrata características do teste:
(A) funcional;
(B) de integração;
(C) de desempenho;
(D) de carga;
(E) unitário.
11) Considere:
I. Uma Especificação de Requisitos que reflete todas as decisões que foram tomadas e não
contém cláusulas de pendências. Desta forma, contém todos os requisitos significativos relativos
a funcionalidade, desempenho, restrições de desenho, atributos e interfaces externas, além de
definir as respostas do software para todas as entradas possíveis, válidas e inválidas, em todas
as situações possíveis.
II. Uma Especificação de Requisitos em que todo requisito presente possui apenas uma única
interpretação, aceita tanto pelos desenvolvedores quanto pelos usuários chaves. Em particular,
ela é compreensível para todo o seu público alvo e é suficiente para a especificação dos testes
de aceitação do produto.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
12) Assinale a alternativa que nomeia um dos princípios básicos da segurança da informação garantindo
que a informação não seja alterada durante seu percurso, da origem ao seu destino.
(A) Confiabilidade.
(B) Integridade.
(C) Disponibilidade.
(D) Autenticidade.
(E) Confidencialidade.
15) Um sistema de informação possui um Mean Time to Repair (MTTR) de 8 horas. Sabendo-se que a
disponibilidade desejada para o sistema seja de 99%, o valor mais próximo da confiabilidade requerida
do sistema como medida pelo Mean Time Between Failure (MTBF) deve ser:
(A) 720.
(B) 808.
(C) 910.
(D) 600.
(E) 792.
16) Em qualquer sistema computadorizado, falhas podem ocorrer e devem ser evitadas, ou numa eventual
ação, corrigidas. Assinale a alternativa incorreta.
(A) O objetivo de ponto de recuperação (Recovery Point Objective – RPO) é a idade dos arquivos que devem
ser recuperados do armazenamento em backup para as operações normais com a finalidade de retornar a
operação caso um computador, sistema ou a rede “caia” como resultado de falha de hardware, de
programas ou de comunicação.
(B) O RPO é expresso para trás no tempo (isto é, no passado) a partir do instante em que a falha ocorre e pode
ser especificado em segundos, minutos, horas ou dias.
(C) O RTO é uma função na medida em que a interrupção perturba o funcionamento normal e a quantidade de
perda de receita por unidade de tempo, como resultado do desastre.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
(D) O Objetivo de Tempo para Recuperação (RTO – Recovery Time Objective) é o período de tempo máximo
tolerado durante o qual um computador, sistema, rede ou aplicação pode estar desligado após a ocorrência
de uma falha ou desastre.
(E) MTBR – (Mean Time Between Repair) – é dado como sendo a divisão entre a soma das horas de
indisponibilidade para a operação devido à manutenção (HIM) pelo número de intervenções corretivas no
período (NC).
01) (Vale 0,6) O que é e quais são as técnicas de Programação Defensiva? Explique e exemplifique.
02) (Vale 0,6) O que é e quais são os tipos de Análise Estática? Quais são as motivações para utilizá-la?
Quando devemos aplicá-la? Exemplifique.
01) Vale (1,0) Considere o seguinte exemplo de código fonte (não preste atenção nos detalhes, pois é apenas
um "loren ipsum"):
Resposta:
Considerando o código:
Podemos transformar este trecho de código em um grafo, de maneira simples:
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
A entrada no método "calcular()" conta como um caminho básico. Depois, para cada nó que cria um desvio de
fluxo, somamos mais 1 (nós em preto).
Logo, pela fórmula simplificada de McCabe (*) temos:
V(G) = P + 1
(*) http://www.mccabe.com/pdf/mccabe-nist235r.pdf
Neste caso, temos o valor 4, que é o limite máximo para criação de casos de teste, necessários para cobrir todo
o código.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira
02) (Vale 1,8) A tabela de decisão é uma ferramenta importante quando um conjunto complexo de condições e
ações é encontrado em um componente de software. Elabore uma Tabela de Decisão (completa) considerando o
trecho seguinte, extraído de uma narrativa de processamento para um processo de negócio a saber:
Uma loja de eletroeletrônicos oferece descontos aos seus clientes com base nos seus pontos do cartão-
fidelidade e no valor da compra realizada. Se o cliente não possui cartão fidelidade e gasta até R$ 1.000,00,
recebe 5% de desconto. Nas compras entre R$ 1.000,00 e R$ 10.000 o desconto é de 10% e nas compras
acima de R$ 10.000,00 o desconto é de 15%. Se o cliente possui cartão fidelidade, nas compras até
R$1.000,00, recebe 10% de desconto. Entre R$1.000, 00 e R$ 10.000,00, recebe 10% mais um valor x calculado
com base em sua pontuação. Nas compras acima de R$ 10.000,00, recebe 15%, mais o dobro de x.