ALERJ/2017 – Comentários da Prova de Engenharia de Software (TI)
Fala, pessoal.
Eu achei a prova de um nível bastante tranquilo. Muitas coisas que nós falamos na revisão de sexta-feira caíram na prova e eu espero que tenham os ajudado. Vamos aos comentários…
46. Um sistema está sendo desenvolvido por uma empresa terceirizada para apoiar as vendas de um mercado varejista da Grande São Paulo denominado “Mendes Sá Colão”. Após o desenvolvimento do sistema, a empresa terceirada deverá passar o código fonte para a área de TI da “Mendes Sá Colão”, que passará a ser a necessidade de que o sistema, caso ocorra uma falha, se recupere de forma automática e rapidamente. Nesse caso, os atributos de qualidade do sistema com maior peso são:
- Portabilidade e confiabilidade;
- Manutenibilidade e confiabilidade;
- Portabilidade e Eficiência;
- Confiabilidade e Usabilidade;
- Manutenibilidade e eficiência.
Comentário:
Galera, sempre que uma equipe desenvolve um código-fonte e o repassa para que outra equipe passe a mantê-lo, há um risco manutenibilidade. Por que? Porque o código pode conter “gambiarras”, pode estar pouco comentado, pode ter baixa qualidade, entre outros. Além disso, a questão destaca que, caso ocorra uma falha, o software deve ser recuperar de forma automática e rápida. Logo, há uma necessidade inerente de que o código seja confiável.
Gabarito: B
47. O Analista de Sistemas Pedro está realizando um levantamento de requisitos por meio da prototipação. Sua intenção com esse protótipo é proporcionar uma visão geral do sistema com todas as suas funcionalidades, sem entrar em detalhes específicos de cada funcionalidade, de forma que a interface como um todo possa ser criticada pelos usuários. Nesse caso, o tipo de protótipo mais adequado é o (a):
- vertical;
- tridimensional;
- prototipação rápida;
- textual;
- horizontal.
Comentário:
Pessoal, a prototipação horizontal prototipação horizontal consiste em montar uma interface completa em termos de elementos, permitindo uma visão geral do usuário por todo o sistema, assim como uma pessoa observa o horizonte, em um protótipo horizontal, o usuário obtém uma visão geral de tudo. A Prototipação Vertical é focada nas funcionalidades. Dessa forma, um protótipo do sistema pode ser reduzido a um módulo isolado, onde o usuário poderá ver em detalhes um pedaço limitado do sistema. A prototipação textual é aquela feita por meio da descrição (texto) das funcionalidades do sistema. Eu desconheço o conceito de Prototipação Rápida ocorre quando um software é construído rapidamente que apresenta a funcionalidade básico do produto desejado. O ponto-chave é que um protótipo rápido reflita a funcionalidade que o cliente vê, como telas de entrada e a geração de relatórios, mas omita aspectos não aparentes. Por fim, eu desconheço o conceito de prototipação tridimensional. Logo, nota-se que a questão trata da Prototipação Horizontal.
Gabarito: E
56. A atividade de teste de software contribui para revelar defeitos latentes nos programas. Em relação às técnicas de testes de software, é correto afirmar que:
a) testes de caixa branca têm por objetivo testar o código-fonte, testar cada linha de código possível, testar os fluxos básicos e os alternativos;
b) testes de regressão têm por objetivo verificar se o sistema se mantém funcionando de maneira satisfatória após longos e intensos períodos de uso;
c) todas as declarações internas do programa devem ser testadas pelo menos uma vez durante os testes funcionais;
d) testes de unidade se preocupam em exercitar o sistema além de sua carga máxima de projeto, até que ele falhe;
e) testes de usabilidade verificam se o software instala como planejado, em diferentes hardwares e sob diferentes condições.
Comentário:
(a) Correto (pero no mucho). Galera, em testes caixa-branca, teoricamente você deve testar todo caminho possível através do código. Na prática, isso é completamente inviável. No entanto, prova é teoria e, não, prática, portanto está tudo certo; (b) Errado, isso é um Teste de Desempenho; (c) Errado, em testes funcionais não se testam declarações internas; (d) Errado, isso é um Teste de Stress; (e) Errado, isso é um Teste de Instalação.
Gabarito: A
57. Um sistema está sendo desenvolvido com a utilização do processo unificado, que contém diversas fases. Na fase atual do processo será feita a implantação do sistema e a análise de lições aprendidas. Os analistas de requisitos e de negócio, praticamente, já terminaram suas atividades. É necessário ainda analisar a possibilidade de se executar outro ciclo de desenvolvimento. O sistema está na fase de:
a) produção;
b) concepção;
c) elaboração;
d) transição;
e) construção.
Comentários:
Observem que a questão afirma que “na fase atual do processo será feita a implantação do sistema (…)”. Ora, só pode estar na fase de Transição.
Gabarito: D
61. O Antiquário “Só Velharia” possui um sistema de catálogo de produtos, desenvolvido há três anos, que é utilizado por todos os seus funcionários. Há cerca de um ano, devido à crise no país, a empresa teve que demitir alguns funcionários. Recentemente a “Só Velharia” conseguiu fechar um convênio com alguns investidores para retornar sua produtividade normal. Assim, a empresa decidiu recontratar alguns de seus antigos funcionários. Em relação ao sistema, a empresa acredita que não precisará readaptar esses funcionários. O critério básico da engenharia de usabilidade que garantirá que esses funcionários não necessitarão de novo treinamento no sistema, mesmo após um ano sem utilizá-lo, é:
a) memorização;
b) satisfação;
c) erro;
d) criatividade;
e) eficiência.
Comentários:
Trata-se do critério de Memorability (Memorização): o sistema deve ser fácil de lembrar, para que o usuário seja capaz de retornar depois de um tempo sem ter que aprender tudo novamente.
Gabarito: A
62. O diagrama de sequência abaixo representa o processo de matrícula de um aluno em determinado módulo de um curso preparatório.
[Imagem]
Com relação ao diagrama, analise as afirmativas a seguir:
I. O aluno só será cadastrado no sistema após a confirmação de matrícula.
II. Caso os dados do aluno estejam inválidos o objeto M da classe Matrícula será excluído.
III. O método criarMatricula(dados) não passa parâmetros em sua chamada.
IV. O método apresentarMsgDadosInvalidos() é o retorno do método criarMatricula(dados).
V. M é uma instância da classe Matricula criada após o início do processo representado no diagrama.
Está correto o que se afirma em:
a) somente III e IV;
b) somente II, IV e V;
c) somente I, III e IV;
d) somente I, III e V;
e) I, II, III, IV e V.
Comentários:
(I) Errado, não é possível concluir isso pela imagem; (II) Correto, seria mais correto dizer que o objeto M seria cancelado, em vez de excluído (mas está correto); (III) Errado, é claro que passa: dados; (IV) Correto, linhas tracejadas são mensagens de retorno; (V) Correto, nada a acrescentar.
Gabarito: B
64. As linguagens de marcação XML utilizadas para descrever Web Services e especificar como documentos XML devem ser apresentados são, respectivamente:
a) SOAP e XPath;
b) WSDL e XSLT;
c) XPath e XSL-FO;
d) WSDL e XSIL;
e) SOAP e XSLT.
Comentários:
Galera, falou que é uma linguagem de marcação XML para descrever Web Services, logo é… WSDL! E a linguagem de marcação XML para especificar como documentos XML devem ser apresentados? XSLT.
Gabarito: B