Questões de Tecnologia da Informação · INEP (ENEM)

Tecnologia da InformaçãoEngenharia de requisitosINEP (ENEM) 2021

ENADE

Questão de Tecnologia da Informação

Considere, ainda, que um programador foi selecionado para desenvolver um modelo de código que soluciona o problema automatizando a coleta das alturas e a geração das informações. Com base nas informações apresentadas, desenvolva o código adequado para resolver o problema usando pseudocódigo ou uma linguagem de programação. (valor: 10,0 pontos) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Área livre QUESTÃO DISCURSIVA 04 Um analista de requisitos identificou as seguintes histórias de usuários para um sistema web de reserva de passagens de uma empresa aérea: HST 01: COMO cliente, GOSTARIA de me cadastrar no site da empresa informando meu e-mail, nome, CPF, telefone e endereço PARA poder usar os serviços web da empresa. HST 02: COMO cliente, GOSTARIA de pesquisar por preços das passagens aéreas informando data, hora, cidade e aeroporto de ida e de volta PARA poder escolher uma opção de reserva que me interessa. HST 03: COMO cliente, GOSTARIA de confirmar uma reserva de passagem aérea selecionada, escolhendo uma das formas de pagamento disponibilizada pela empresa PARA poder viajar para o local escolhido na reserva. HST 04: COMO cliente, GOSTARIA de fazer o check-in online da reserva PARA poder realizar meu embarque. Tendo por base essas histórias de usuários, elabore um diagrama de classes da UML (Unified Modeling Language) para o sistema, identificando as classes (máximo seis), atributos e associações entre as classes com as respectivas multiplicidades. Deverão ser representadas as reservas de ida e de volta como classes de uma associação do tipo generalização (herança) e também ser identificados pelo menos três métodos para a classe Reserva. Para as demais classes não é necessário identificar os métodos. Também não há necessidade de identificar a multiplicidade dos atributos nas classes. (valor: 10,0 pontos). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Área livre QUESTÃO DISCURSIVA 05 Com a finalidade de melhorar o atendimento e priorizar os casos mais urgentes, a direção de um hospital criou um sistema de triagem em que um profissional da saúde classifica a ordem de atendimento com base numa avaliação prévia do paciente, entregando-lhe um cartão numerado verde (V) ou amarelo (A), que define o menor ou maior grau de urgência da ocorrência, respectivamente. Para informatizar esse processo, o software desenvolvido tem como base o seguinte trecho de código-fonte: 1 struct lista { 2 int numero; 3 char cor; 4 struct lista* prox; 5 }; 6 7 typedef struct lista Lista; 8 9 Lista* inserir_fim(Lista* l, Lista* no) { 10 Lista* aux; 11 12 no->prox = NULL; 13 aux = l; 14 while (aux->prox != NULL) 15 aux = aux->prox; 16 aux->prox = no; 17 18 return l; 19 } 20 21 Lista* inserir(Lista* l, int numero, char cor) { 22 Lista* no = (Lista*) malloc(sizeof(Lista)); 23 no->numero = numero; 24 no->cor = cor; 25 26 if (l == NULL) { 27 no->prox = l; 28 l = no; 29 } else { 30 if (no->cor == 'V') 31 l = inserir_fim(l, no); 32 else 33 l = inserir_prioridade(l, no); 34 } 35 36 return l; 37 } Na linha 21, a função inserir recebe o número e a cor do cartão entregue ao paciente na triagem. Pacientes com cartão verde são inseridos no final da fila pela função inserir_fim (linhas 9-19). Pacientes com cartão amarelo têm prioridade no atendimento e são inseridos no início da fila, em ordem de chegada, pela função inserir_prioridade. Portanto, se são entregues os cartões 10-V, 11-V, 5-A, 12-V e 6-A, nessa ordem, a fila deve ficar assim organizada: 1 5

Figura da questão (imagem do caderno de prova)

6

Figura da questão (imagem do caderno de prova)

10

Figura da questão (imagem do caderno de prova)

11

Figura da questão (imagem do caderno de prova)

12 V Considerando o processo de triagem descrito e o trecho de código-fonte apresentado, implemente a função inserir_prioridade conforme indicado. Lista* inserir_prioridade(Lista* l, Lista* no) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Área livre (valor: 10,0 pontos)

A etapa de definição de requisitos é voltada para estabelecer quais as funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do software. Os requisitos de software podem ser classificados como requisitos funcionais e não funcionais. SOMMERVILLE, I. Engenharia de Software, 10. ed. São Paulo: Pearson Education, 2019 (adaptado). Considerando as informações do texto, assinale a alternativa em que o item é um requisito funcional.

Sua resposta

Mais questões de Engenharia de requisitos

Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.