• Nenhum resultado encontrado

Considere o texto abaixo para responder as três primeiras questões da prova.

N/A
N/A
Protected

Academic year: 2021

Share "Considere o texto abaixo para responder as três primeiras questões da prova."

Copied!
10
0
0

Texto

(1)

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.

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ *** ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

(2)

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 nunca

foi 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.

(3)

03) Ana é uma estagiária do Setor de Desenvolvimento de Sistemas da

GESTS AND POSTS e uma

de 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.

(4)

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”.

(5)

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 o

atendimento 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;

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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úmero

de 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>

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Devido às características do Sistema Brasileiro, o Planejamento da Operação de Sistemas Hidrotérmicos de Potência (POSHP) pode ser clas- sicado como um problema de

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

insights into the effects of small obstacles on riverine habitat and fish community structure of two Iberian streams with different levels of impact from the

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.

 Random storage - refere-se à alocação de um espaço de stock de forma aleatória, segundo o espaço disponível no momento de chegada dos produtos (Petersen e Aase,