🛠️ Atividades

🔀 Atividade 08: Diagrama de Sequência (UML)

Bem-vindo a mais uma etapa da sua jornada no curso de Gestão de TI / Desenvolvimento de Sistemas. Hoje vamos mergulhar em conceitos que conectam a teoria técnica diretamente com o padrão de excelência da dinâmica de software, entendendo como o sistema "conversa" internamente. 🛡️🧩

🎯 Objetivo da Aula

Ao final desta atividade, você será capaz de:

  • Modelar o fluxo temporal de uma funcionalidade específica (Diferente da Classes, que é estático).
  • Identificar Linhas de Vida (Lifelines) de objetos e atores.
  • Representar Mensagens Síncronas, Assíncronas e Respostas.
  • Visualizar a interação entre as camadas do sistema (Interface, Lógica e Banco de Dados).

🏢 O Cenário Prático (Seu Desafio)

Na TecProExpress, você definiu as Classes (Atividade 07). Agora, os desenvolvedores de Frontend e Backend precisam sentar para combinar como as mensagens serão trocadas. O programador da tela pergunta: "Quando eu clicar em 'Confirmar Entrega', para quem eu mando o sinal? Quem valida se o motorista está no local certo? Quem avisa o banco de dados para salvar?".

"Seu desafio como Analista de Sistemas é desenhar o 'filme' dessa ação. Você deve criar o Diagrama de Sequência que mostra o passo a passo temporal: da tela para o servidor, do servidor para o banco, e a resposta voltando para o celular do motorista."


🧠 Fundamentos: A Teoria Traduzida

Se o Diagrama de Classes é a foto das peças de um tabuleiro de xadrez, o Diagrama de Sequência é a descrição de uma jogada específica.

Elementos Chaves

  • Atores e Objetos: Ficam no topo. De cada um desce uma Linha de Vida (tracejada).
  • Foco de Controle (Retângulo na linha): Indica que o objeto está "trabalhando" naquele momento.
  • Seta Contínua: Chamada de método (pergunta/ordem).
  • Seta Tracejada: Retorno (resposta).

📊 Visualizando a Lógica

Dica: A ordem importa! No Diagrama de Sequência, o tempo flui de cima para baixo. A primeira mensagem do topo é a primeira coisa que acontece no sistema.

📖 Exemplo Guiado

Abaixo, veja como planejar a sequência do "Login" no sistema da TecProExpress.

OrdemQuem fala com quem?O que é dito?
1Usuário -> TelaDigita usuário/senha e clica em Entrar.
2Tela -> Servidorautenticar(user, pass)
3Servidor -> BancoSELECT * FROM usuarios...
4Banco -> ServidorRetorna os dados do usuário.
5Servidor -> TelaLogin Autorizado.

📊 Dinâmica de Chamadas e Foco de Controle

🛠️ Regras de Ouro do Diagrama

  1. Objetos nunca falam sozinhos: Uma mensagem sempre sai de uma linha de vida e vai para outra.
  2. Use verbos de ação: As setas representam chamadas de funções que você definiu lá na Atividade 07.
  3. Mantenha o foco: Não tente colocar 50 telas no mesmo diagrama. Escolha um fluxo (ex: Realizar Compra) e desenhe apenas ele.

🔍 Detalhamento do Processo:

  • O Diagrama de Sequência é o melhor lugar para descobrir bugs de lógica. Se você desenhou que a "Tela" fala direto com o "Banco de Dados", você descobriu uma falha de segurança! Na engenharia profissional, a Tela sempre fala com o Servidor, e o Servidor fala com o Banco.

🛠️ Prática Obrigatória: Modelando a Jogada

Cenário: A funcionalidade principal do seu projeto semestral.

  1. Escolha o fluxo mais importante do seu sistema (ex: Cadastrar Cliente, Realizar Venda, Agendar Horário).
  2. Identifique pelo menos 3 participantes (ex: Ator, Tela, Banco de Dados).
  3. Desenhe o Diagrama de Sequência mostrando o fluxo completo, desde a ação do usuário até a resposta final de sucesso.
  4. Certifique-se de usar setas contínuas para chamadas e tracejadas para retornos.

🏁 Resultado Esperado (Para sua Referência)

Uma imagem (PNG/JPG) do diagrama de sequência limpo e lógico, descrevendo a dinâmica temporal da sua principal regra de negócio.


📤 Instruções de Entrega (Microsoft Teams)

Após validar suas documentações técnicas:

  1. Salve o arquivo de documentação com o nome Atividade_08.md e a imagem do seu diagrama de sequência com o nome Atividade_08.png na pasta es-atv-08-sequencia/ do seu repositório GitHub.
  2. Certifique-se de fazer o commit e push para o repositório público.
  3. Submeta o link do seu repositório no Microsoft Teams para avaliação do professor.

💡 Checkpoint de Lógica

Importante:Reflexão Profissional: Se durante o desenho do Diagrama de Sequência você perceber que precisa chamar um método chamado verificarEstoque(), mas esse método não existe na classe Estoque lá na sua Atividade 07, o que você deve fazer? (Resposta: Voltar na Atividade 07 e atualizar o Diagrama de Classes. A modelagem é um processo vivo e as atividades devem estar sempre sincronizadas). 🧠🛡️

📊 Rubrica Formativa de Avaliação

Critério de Avaliação Insuficiente (0% - 40%) Regular (41% - 70%) Excelente (71% - 100%)
Diagrama de Sequência (UML) Diagrama sem participantes claros ou misturando chamadas com retornos. Desenha o fluxo mas sem a distinção de setas de mensagem (síncrona) e retorno (assíncrona/tracejada). Diagrama de sequência limpo com ao menos 3 participantes (Ator, Tela, Banco), chamadas síncronas e retornos tracejados.
Sincronismo com o Diagrama de Classes Utiliza objetos e métodos inventados que não existem no Diagrama de Classes (Atv 07). Utiliza participantes coerentes mas omite retornos de dados importantes. Sincronia impecável de métodos e entidades entre o Diagrama de Sequência e o Diagrama de Classes.
Entrega no GitHub Entrega fora da pasta `es-atv-08-sequencia/`. Entrega o texto sem a imagem do diagrama de sequência. Submete `Atividade_08.md` e `Atividade_08.png` no repositório com validação de formato.
Copyright © 2026