A análise orientada a objetos utiliza diagramas da UML para representar os diversos elementos de um projeto de software. Ana está modelando um sistema para Web, na arquitetura MVC, e agora precisa descrever o fluxo de mensagens entre os componentes View, Controller e DAO, segundo a cronologia com a qual ocorrem, para um processo de consulta aos dados na base e apresentação na interface de usuário. Para que possa desenhar corretamente o processo, Ana irá utilizar o diagrama de:
- A)classes;
Errada, porque diagrama de classes mostra a estrutura estática do sistema, e não a sequência temporal das mensagens.
- B)componentes;
Errada, porque diagrama de componentes descreve a organização e dependência entre módulos, não a ordem das chamadas.
- C)estados;
Errada, porque diagrama de estados mostra mudanças de estado de um objeto, não o fluxo de mensagens entre View, Controller e DAO.
- D)implantação;
Errada, porque diagrama de implantação trata da distribuição física dos artefatos em nós de execução, e não da interação cronológica.
- E)sequência.
Certa, porque o diagrama de sequência representa as mensagens entre os elementos na ordem em que acontecem no tempo.
Gabarito: E
Quando a questão fala em mostrar o fluxo de mensagens entre View, Controller e DAO na ordem em que tudo acontece, ela está pedindo um diagrama que acompanhe a cronologia das interações. Em UML, isso é a cara do diagrama de sequência, porque ele registra quem chama quem e em que momento cada mensagem ocorre. É como assistir ao “bate-papo” dos objetos em linha do tempo. No MVC, a View recebe a ação do usuário, conversa com o Controller, que por sua vez aciona o DAO para buscar os dados na base. Depois, o retorno percorre o caminho de volta até a interface ser atualizada. Esse vai-e-volta é justamente o tipo de interação que o diagrama de sequência representa muito bem. As outras opções até são UML, mas com outra finalidade: classes mostram a estrutura estática, componentes mostram a organização física/lógica dos módulos, estados mostram as mudanças de estado de um objeto e implantação mostra a distribuição do sistema em nós/servidores. Nenhuma delas foca na ordem temporal das mensagens. Então o gabarito é a alternativa E, porque a palavra-chave da questão é cronologia das mensagens entre os participantes do sistema. Em UML, isso é clássico de diagrama de sequência, também chamado de um diagrama de interação focado no tempo.