Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos de Projeto de Software — VUNESP 2023

Engenharia de SoftwareConceitos de Projeto de Software
Código
vu196453
Banca
VUNESP
Órgão
Pref Pindamonhangaba
Ano
2023
Cargo
Ana (Pref Pinda)

Considerando a utilização do modelo comportamental no projeto de software, é correto afirmar que, para um software em desenvolvimento, ele

  1. Aaplica-se exclusivamente a sistemas científicos, que não necessitem coletar dados do ambiente.
  2. Bnão se aplica a sistemas de informação com grande quantidade de dados.
  3. Cnão se aplica a sistemas que exijam respostas rápidas no tempo.
  4. Ddeve descrever respostas a estímulos ou eventos internos ou externos ao software.
  5. Evisa representar unicamente o comportamento estático do software.
Revelar gabarito e comentário

GabaritoD — deve descrever respostas a estímulos ou eventos internos ou externos ao software.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Modelo comportamental no projeto de software

Gabarito: letra D. O modelo comportamental, no projeto de software, tem como função descrever como o sistema reage a estímulos ou eventos, sejam eles internos ou externos — é exatamente o que afirma a alternativa D. As demais alternativas restringem indevidamente a aplicação do modelo a tipos específicos de sistemas ou o caracterizam de forma incorreta.

O modelo comportamental é uma das três perspectivas de modelagem de software, ao lado dos modelos de dados (estrutura) e dos modelos funcionais (processamento). Enquanto o modelo de dados descreve a estrutura estática da informação e o modelo funcional descreve as transformações de dados, o modelo comportamental descreve como o sistema responde a eventos — ou seja, o comportamento dinâmico do software em operação.

Na prática, o modelo comportamental é essencial para sistemas que precisam reagir a estímulos do ambiente, como sistemas de tempo real, sistemas embarcados, interfaces gráficas (que respondem a cliques e entradas do usuário) e até sistemas de informação que precisam reagir a eventos de negócio. Ele responde perguntas como: "o que acontece quando o usuário clica neste botão?", "como o sistema reage quando um sensor envia um sinal?", "qual é a sequência de estados que o sistema percorre?"

A modelagem comportamental é frequentemente representada por diagramas de estados, diagramas de sequência e diagramas de atividades — todos da UML. O diagrama de estados, por exemplo, mostra os estados possíveis de um objeto e as transições entre eles, disparadas por eventos. O diagrama de sequência mostra a interação entre objetos ao longo do tempo, em resposta a um estímulo inicial.

A pegadinha desta questão está na tentativa de restringir o modelo comportamental a nichos específicos (sistemas científicos, sistemas de informação, sistemas de tempo real) ou de confundi-lo com o modelo estrutural. A banca explora a confusão entre modelo comportamental (dinâmico, reativo a eventos) e modelo estrutural (estático, descreve a organização dos dados e componentes).

Guarde a distinção central: o modelo comportamental é sobre reações a eventos, não sobre a estrutura dos dados nem sobre o fluxo de processamento em si. É essa fronteira que separa a alternativa correta das incorretas.

Alternativa A — ❌ Incorreta

Afirma que o modelo comportamental se aplica exclusivamente a sistemas científicos que não coletam dados do ambiente. Isso é duplamente errado: (1) o modelo comportamental se aplica a qualquer tipo de sistema que precise reagir a eventos — não apenas científicos; (2) sistemas que coletam dados do ambiente são, na verdade, os que mais se beneficiam do modelo comportamental, pois precisam descrever como reagir a esses dados coletados. A palavra "exclusivamente" já denuncia a generalização indevida.

Alternativa B — ❌ Incorreta

Afirma que o modelo comportamental não se aplica a sistemas de informação com grande quantidade de dados. Isso é falso: sistemas de informação também precisam descrever comportamentos — por exemplo, como o sistema reage a uma consulta do usuário, a uma atualização de registro ou a um evento de negócio. A quantidade de dados não é critério para excluir a modelagem comportamental; ela é relevante para o modelo de dados, não para o comportamental.

Alternativa C — ❌ Incorreta

Afirma que o modelo comportamental não se aplica a sistemas que exigem respostas rápidas no tempo. Na verdade, é exatamente o oposto: sistemas de tempo real, que exigem respostas rápidas, são os que mais dependem da modelagem comportamental, pois precisam especificar precisamente como reagir a eventos em tempo hábil. A alternativa inverte a relação entre o modelo e esse tipo de sistema.

Alternativa D — ✅ Correta ⟵ GABARITO

Afirma que o modelo comportamental deve descrever respostas a estímulos ou eventos internos ou externos ao software. Esta é a definição precisa do modelo comportamental: ele especifica como o sistema se comporta (responde) diante de eventos — que podem ser internos (como um temporizador expirando, uma mudança de estado interno) ou externos (como uma entrada do usuário, um sinal de sensor, uma mensagem de outro sistema). É exatamente essa a função do modelo comportamental no projeto de software.

Alternativa E — ❌ Incorreta

Afirma que o modelo comportamental visa representar unicamente o comportamento estático do software. Isso é uma contradição em termos: comportamento estático não existe — comportamento é, por definição, dinâmico. O modelo comportamental descreve o comportamento dinâmico (reações a eventos ao longo do tempo), enquanto o comportamento estático é representado pelo modelo estrutural (diagrama de classes, por exemplo). A alternativa confunde o modelo comportamental com o modelo estrutural.

Gabarito: letra D — o modelo comportamental descreve as respostas do software a estímulos ou eventos internos ou externos.

Link permanente: /questoes/vu196453