Considere o texto abaixo para responder as três primeiras questões da prova.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ *** ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
A empresa de tecnologia GETS AND POSTS atua no ramo do desenvolvimento de softwares e prestação de serviços de Tecnologia da Informação (T.I.) e possui uma equipe composta de 5 analistas e 10 estagiários. Os analistas de T.I. atuam, em conjunto com os estagiários de T.I., em todas as fases do projeto de software, ou seja, na análise e levantamento de requisitos, na codificação, nos testes e na implantação dos sistemas, e também no treinamento de usuários.
Os estagiários atuam tanto na codificação de novos sistemas quanto na manutenção do código-fonte de sistemas existentes. A codificação é feita sempre em um ambiente de desenvolvimento, isolado do ambiente de produção, onde os sistemas realmente são utilizados. Os responsáveis pela validação do código produzido e pela migração do código para o ambiente de produção são os analistas da empresa. Geralmente, cada analista é responsável por vários projetos de software ou serviços de T.I., como pode ser observado na Tabela 1, a seguir.
Analista Sistemas e Serviços
Cléber Sistema CAEX (cadastros dos eventos de extensão);
Sistema de Concurso (cadastros dos concursos, com lançamento de notas e resultados).
Diogo Sistema Informações Institucionais (relatórios de dados da instituição, como números de alunos, professores e servidores);
Sistema SEI (processos eletrônicos, com o fluxo percorrido pelos protocolos).
Eliara Páginas Web (administração dos gerenciadores de conteúdo (Drupal e WordPress));
Sistema da PRACE (registros das bolsas recebidas pelos alunos).
Gustavo Sistema Almoxarifado (entrada e saída de produtos comprados pela instituição);
Usuários (cadastro de usuários e senhas utilizados em todos os sistemas da instituição. Porém, cada sistema relaciona quais usuários podem utilizá-lo e quais os perfis).
José Roberto Sistema Acadêmico (registros acadêmicos, como: dados dos discentes, lançamento de notas dos alunos, relações entre professores e disciplinas ministradas);
Sistema Espaço Físico (relações de prédios e salas).
Tabela 1: Relação entre analista e projeto
Além da codificação, outra importante função exercida pelos estagiários é o suporte ao usuário, no qual eles atendem aos chamados vindos geralmente por telefone e depois seguem o protocolo de atendimento definido pela empresa. A Figura 1, abaixo, mostra o Fluxograma de Atendimento ao Usuário da GETS AND POSTS.
Figura 1: Fluxograma de Atendimento ao Usuário
Também fazem parte do protocolo de atendimento as seguintes regras:
• Para as solicitações de desenvolvimento de nova funcionalidade, nova página web ou novo sistema ou pedidos para dar permissão a usuário para acessar um determinado sistema, deve-se abrir uma nova Ordem de Serviço.
• Para erros em sistemas, deve-se identificar a urgência para solucionar o problema.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ *** ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
01) João, estagiário do Setor de Desenvolvimento de Software da empresa
GETS AND POSTS,recebeu uma ligação de um usuário informando que ao clicar no botão “Gerar Relatório” de um determinado sistema o navegador exibe a mensagem de página não encontrada (ERRO 404: not
found). Sabendo que o sistema em questão foi implantado há vários meses atrás e esse erro nuncafoi reportado antes por nenhum usuário, escolha a alternativa que melhor representa o procedimento que João deve adotar para identificar o problema relatado.
a) identificar a página que contém o botão mencionado, verificar qual o arquivo está previsto no link para a geração do relatório, confirmar a ocorrência do erro, instruir o usuário a abrir uma Ordem de Serviço;
b) identificar a página que contém o botão mencionado, criar o arquivo que deverá fazer a geração do relatório no servidor de produção, informar o usuário sobre a correção do erro;
c) identificar a página que contém o botão mencionado, informar ao usuário que o sistema ainda está em fase implantação e que o relatório ainda não está disponível;
d) identificar a página que contém o botão mencionado, checar se o usuário possui acesso ao sistema, cadastrar o usuário, excluir todos os logs de acesso anteriores;
02) Alex é um estagiário do Setor de Desenvolvimento de Software da empresa GETS AND POSTS e uma de suas atividades é executar o fluxograma da Figura 1. Considerando as informações dadas, analise os dois atendimentos realizados pelo Alex.
Atendimento 1
Alex: Desenvolvimento de Sistemas, Alex, bom dia.
Usuário(a): Bom dia Alex, eu sou a Sandra da ProGrad. Alex, eu gostaria de falar com o Diogo.
Alex: Eu vou redirecionar, por favor aguarde.
Usuário(a): Obrigada.
Atendimento 2
Alex: Desenvolvimento de Sistemas, Alex.
Usuário(a): Olá Alex, tudo bem?
Alex: Tudo e você?
Usuário(a): Tranquilo. Alex, estou com problemas para lançar notas no sistema acadêmico, você pode me ajudar?
Alex: Qual o problema com o lançamento?
Usuário(a): Eu estou lançando a nota de duas provas para meus alunos, mas o cálculo da média final não está correto.
Alex: Só um momento, eu vou redirecionar para o José Roberto.
Usuário(a): Ok.
De acordo com o protocolo de atendimento da empresa, selecione a opção correta.
a) Atendimento 1 e 2 estão corretos.
b) Somente o atendimento 1 está correto.
03) Ana é uma estagiária do Setor de Desenvolvimento de Sistemas da
GESTS AND POSTS e umade suas atividades é executar o fluxograma da Figura 1. Considerando as informações dadas, analise os dois atendimentos realizados pela Ana.
Atendimento 1
Ana: Desenvolvimento de Sistemas, Ana, bom dia.
Usuário(a): Bom dia Ana, estou tendo problemas para acessar o sistema da PRACE.
Quando eu tento acessar da a mensagem: “usuário informado não tem acesso a esse sistema”.
Ana: Quem está falando?
Usuário(a): É a Valéria.
Ana: Valéria, você trabalha na PRACE?
Usuário(a): Sim.
Ana: Valéria, você pode abrir uma Ordem de Serviço solicitando o acesso ao sistema da PRACE?
Usuário(a): Sim, já abri algumas no sistema S.O.S, para o Desenvolvimento de Sistemas, correto?
Ana: Sim, correto, você precisa de alguma orientação para abri-la?
Usuário(a): Não, obrigada, eu sei como abrir.
Ana: Ok, tchau.
Usuário(a): Tchau.
Atendimento 2
Ana: Desenvolvimento de Sistemas, Ana, boa tarde.
Usuário(a): Oi. Ana, meu nome é André, da COPEVE. Estou tentando lançar notas no sistema e está ocorrendo um erro.
Ana: Qual o erro?
Usuário(a): Simplesmente as notas não estão sendo salvas. Quando volto na tela para ver as notas lançadas, não existe nenhuma nota.
Ana: André, esse problema deve ser resolvido com urgência?
Usuário(a): Sim, tenho que divulgar essas notas nesse momento.
Ana: Só um segundo, estou redirecionando para o José Roberto.
Usuário(a): Obrigado.
De acordo com o protocolo de atendimento da empresa, selecione a opção correta.
a) Atendimento 1 e 2 estão corretos.
b) Somente o atendimento 1 está correto.
c) Somente o atendimento 2 está correto.
d) Nenhum atendimento está correto.
04) É comum no desenvolvimento de software a criação de funções que tratam strings,
especialmente aquelas que devem ser exibidas em tela. Imagine que você foi escalado para
trabalhar na equipe de desenvolvimento do Sistema de Gestão de Ações de Extensão e que precisa
escrever uma função para limitar o tamanho do título das ações de extensão que são mostrados na
tela. Ações de Extensão costumam ter títulos enormes mas a regra, neste caso, é que se o título
passar de 100 caracteres, deve ser cortado e completado com os caracteres “...”. Como bom
programador que é, você deverá escrever uma função genérica, que atenda não somente ao Sistema
de Gestão de Ações de Extensão mas que possa ser utilizada posteriormente por qualquer outro
sistema da empresa. Utilize o espaço abaixo para escrever, em pseudocódigo essa função que deverá
se chamar “limitaString”.
05) O usuário Jonas enviou uma ordem de serviço ao Setor de Desenvolvimento de Software reclamando que não consegue acessar o Sistema de Cadastro de Materiais. Segundo a Ordem de Serviço, a mensagem que Jonas vê na tela quando tenta acessar é “
O usuário está inativo ou não possui acesso a esse sistema”. Como o atendimento foi atribuído ao estagiário João, ele iniciou oatendimento da seguinte forma:
Primeiro checou o cadastro do usuário Jonas na base de dados e obteve a seguinte informação:
id = 2222456
nome = Jonas Aparecido Caldeira status = ATIVO
situacao = SUBSTITUTO
Em seguida, verificou no Sistema de Cadastro de Materiais a regra para acesso ao sistema e se deparou com a seguinte função:
public function regrasLogon($id) { ...
$sql = "SELECT * FROM usuario WHERE id = $id AND status = 'ATIVO' AND situacao IN ('EFETIVO','TEMPORARIO')";
$bd->executarSQL($sql);
$row = $bd->getObjeto();
if ($bd->getQuantidadeRegistros() > 0) { ...
return true;
} else {
$_SESSION['erro'] = "O usuário está inativo ou não possui acesso a esse sistema.";
return false;
} }
A partir da informações levantadas por João, selecione a alternativa que melhor expressa a ocorrência que deve ser reportada ao analista responsável pelo Sistema de Cadastro de Materiais.
a) o usuário não consegue acessar o sistema porque o status que consta em seu cadastro não é contemplado pela regra de logon implementada no sistema;
b) o usuário não consegue acessar o sistema porque o nome que consta em seu cadastro não é contemplado pela regra de logon implementada no sistema;
c) o usuário não consegue acessar o sistema porque a situação que consta em seu cadastro não é contemplada pela regra de logon implementada no sistema;
d) o usuário não consegue acessar o sistema porque o id que consta em seu cadastro não é contemplado
pela regra de logon implementada no sistema;
06) Considere o seguinte código-fonte de uma função desenvolvida pela empresa GETS AND
POSTS:public function selectSexo($default = null, $obrigatorio = false, $name = 'sexo', $id
= 'sexo', $onevent = null) {
echo "<select class='seletor' name='$name' id='$id' $onevent>";
if (!$obrigatorio)
echo "<option></option>";
$array = array('MASCULINO', 'FEMININO');
foreach ($array as $valor) {
$selected = ($default == $valor) ? "selected='selected'" : null;
echo "<option $selected>$valor</option>";
}
echo "</select>";
}
Agora você deverá documentar essa função. Escolha a alternativa que melhor resume o objetivo do código-fonte acima:
a) função que exibe na tela um select contendo as opções masculino e feminino e deixa selecionado o sexo que for passado no parâmetro $default;
b) função que consulta no banco de dados as opções existentes de sexo masculino e feminino e deixa selecionado o sexo que foi encontrado na consulta;
c) função que filtra na tela os dados referente ao sexo passado como parâmetro $default da função e exibe os resultados que apresentarem sexo igual a masculino ou feminino;
d) função que desenha na tela dois checkboxes contendo as opções masculino e feminino e deixa checado o sexo que for passado no parâmetro $default;
07) Em relação ao levantamento e análise de requisitos, quais dos requisitos a seguir são considerados requisitos funcionais?
1 - O sistema deve permitir que cada professor realize o lançamento de notas das turmas nas quais lecionou.
2 - O tempo de desenvolvimento do sistema não deve ultrapassar seis meses.
3 - O sistema deve permitir que o aluno realize a sua matrícula nas disciplinas oferecidas em um semestre.
4 - O sistema deve funcionar sobre uma arquitetura Web, sendo testado e garantido seu bom funcionamento utilizando o navegador Mozilla Firefox.
5 - O tempo de resposta do sistema não deve ultrapassar 30 segundos.
a) 1, 3 e 4.
b) 2, 4 e 5.
c) 1 e 3.
08) Considere a descrição do domínio a seguir para o desenvolvimento de um sistema:
O DRGCA cadastra os alunos informando o nome completo, o número do CPF e a data de nascimento.
A ProGrad cadastra as disciplinas informando o nome e a sigla. Cadastra os professores informando o nome completo, o número do CPF e a data de nascimento.
Relaciona o professor com a(s) disciplina(s) que ele(a) leciona, podendo um professor lecionar mais de uma disciplina e uma disciplina ser lecionada por mais de um professor.
O professor deve cadastrar as provas relacionadas a uma determinada disciplina ao qual ele está relacionado, informando a nota máxima e o peso. Também deve lançar as notas para cada aluno matriculado na disciplina.
O aluno deve fazer suas matrículas informando quais as disciplinas ele(a) deseja cursar. Também poderá visualizar suas notas.
Com base na descrição do domínio acima, elabore o Modelo ou Diagrama Entidade-
Relacionamento e o Diagrama de Casos de Uso desse sistema.
09) O modelo de banco de dados mostrado a seguir representa parte da estrutura da base de dados criada para suportar um Sistema de Cadastro de Discentes desenvolvido pela GETS AND POSTS.
Observe:
Ocorre que, nesse sistema, ainda falta um relatório que forneça a quantidade de alunos por curso.
Qual a consulta SQL capaz de produzir, a partir do modelo acima, um resultado como este a seguir:
CURSO ALUNOS
Arquitetura 320
Biologia 49
Ciência da Computação 256 Engenharia de Minas 401 Geografia Bacharelado 182 Geografia Licenciatura 200
Letras 80
Matemática 45
Odontologia 403
Pedagogia 111
Sistemas de Informação 54
Selecione, dentre as opções abaixo, a que contém o código SQL capaz de produzir o relatório acima.
Observe que o resultado está ordenado pelo nome do curso.
a) select curso.nome as curso, sum(discente.id) as alunos from discente inner join curso on discente.curso_id = curso.id order by curso.nome
b) select curso.nome as curso, count(discente.id) as alunos from discente inner join curso on discente.curso_id = curso.id group by curso.nome order by curso.nome
c) select curso.nome as curso, alunos from discente inner join curso on discente.curso_id = curso.id group
10) O seu colega do estágio precisa concluir uma função que ele está desenvolvendo para inverter vetores. Funciona assim: a função recebe um vetor de qualquer tamanho como entrada e depois retorna esse vetor com a ordem dos valores invertida. Veja o que o seu colega já fez na função:
funcao inverte(int vetor[]) { int pos = 0;
int valor = 0;
int tam = vetor.tamanho – 1;
while (pos < tam) { valor = vetor[pos];
...
vetor[tam] = valor;
pos++;
tam--;
}
return vetor;
}
O problema é que a função ainda não está funcionando e a sua ajuda foi solicitada. Escolha, dentre as alternativas abaixo, qual identifica exatamente o comando que você precisará inserir no espaço
“...” para que a função passe a cumprir o seu objetivo.
a) valor[pos] = vetor[tam];
b) vetor[pos] = valor[tam];
c) valor[pos] = valor[tam];
d) vetor[pos] = vetor[tam];
11) Ao abrir o código-fonte de um relatório, sem mesmo saber de que se trata, você se depara com a seguinte query:
select pessoa.nome, discente.matricula from pessoa inner join discente on pessoa.id = discente.pessoa_id inner join curso on discente.curso_id = curso.id where curso.nome
= '$nomeCurso' and discente.anoingresso = $anoIngresso order by pessoa.nome
Baseado apenas na leitura da query acima você saberia dizer quais são os dados retornados e quais são os filtros possíveis para esse relatório? Se sim aponte, dentre as alternativas a seguir, qual delas representa a resposta correta.
a) nome e número de matrícula dos discentes matriculados em determinado curso e que ingressaram em determinado ano;
b) nome, número de matrícula, curso e ano de ingresso dos discentes matriculados em determinado curso e que ingressaram em determinado ano;
c) nome e número de matrícula dos discentes matriculados em determinado curso ou que ingressaram em determinado ano;
d) nome, número de matrícula, curso e ano de ingresso dos discentes matriculados em determinado curso
12) Como estagiária da empresa GETS AND POSTS, Juliana precisa implementar um formulário HTML para cadastro de computadores. O arquivo no qual o formulário deve ser implementado é o
crudcomputador.php. Os dados que precisam constar nesse formulário são marca, modelo e númerode patrimônio. Ao clicar no botão “Salvar”, os dados deverão ser enviados por meio do método post, o arquivo que contém o formulário deverá ser recarregado e a ação “salvar”, passada como parâmetro, deverá ser executada. Juliana escreveu quatro versões desse formulário mas só uma delas funciona de acordo com os requisitos apontados aqui. Selecione, dentre as opções abaixo, qual versão do formulário deve ser colocada em produção.
a)
<form action='crudcomputador.php' method='POST'>
<input type='hidden' name='acao' value='salvar' />
<input type='text' name='marca' />
<input type='text' name='modelo' />
<input type='text' name='patrimonio' />
<input type='text' value='Salvar' />
</form>
b)
<form action='crudcomputador.php' method='POST'>
<input type='hidden' name='marca' value='salvar' />
<input type='text' name='acao' />
<input type='text' name='modelo' />
<input type='text' name='patrimonio' />
<input type='submit' value='Salvar' />
</form>
c)
<form action='salvacomputador.php' method='POST'>
<input type='hidden' name='acao' value='salvar' />
<input type='text' name='marca' />
<input type='text' name='modelo' />
<input type='text' name='patrimonio' />
<input type='submit' value='Salvar' />
</form>
d)
<form action='crudcomputador.php' method='POST'>
<input type='hidden' name='acao' value='salvar' />
<input type='text' name='marca' />
<input type='text' name='modelo' />
<input type='text' name='patrimonio' />
<input type='submit' value='Salvar' />
</form>