Skip to content

Files

Latest commit

Jul 31, 2023
71882d5 · Jul 31, 2023

History

History
87 lines (77 loc) · 2.46 KB

uml.md

File metadata and controls

87 lines (77 loc) · 2.46 KB

Diagramas de Sequência

Veja a seguir alguns diagramas de sequência para as operações principais do sistema. Para saber mais sobre esses diagramas, recomendamos o Capítulo 4 do livro.

Listar Perguntas

Loading
    sequenceDiagram
        activate browser
	browser->>server: GET / 
        activate server
        server->>modelo: listar_perguntas()
        activate modelo
        modelo->>bd_utils: queryAll()
        activate bd_utils
        bd_utils-->>modelo: perguntas
        deactivate bd_utils
	loop Para cada pergunta
	  activate modelo
	  modelo->>modelo: get_num_respostas(id_pergunta)
	  modelo->>bd_utils: query()
          activate bd_utils
          bd_utils-->>modelo: num_respostas
          deactivate bd_utils
	  deactivate modelo
	end  
        modelo-->>server: perguntas, num_respostas
        deactivate modelo
	server-->>browser: json
	deactivate server
	deactivate browser

Cadastrar Pergunta

Loading
    sequenceDiagram
        activate browser
	browser->>server: POST /perguntas 
        activate server
        server->>modelo: cadastrar_pergunta(pergunta)
        activate modelo
        modelo->>bd_utils: exec()
        activate bd_utils
        bd_utils-->>modelo: return
        deactivate bd_utils
        modelo-->>server: id_pergunta
        deactivate modelo
	server-->>browser: json
	deactivate server
	deactivate browser

Listar Respostas (de uma pergunta)

Loading
    sequenceDiagram
        activate browser
	browser->>server: GET /respostas
        activate server
        server->>modelo: get_pergunta(id_pergunta)
        activate modelo
        modelo->>bd_utils: query()
        activate bd_utils
        bd_utils-->>modelo: pergunta
        deactivate bd_utils
        modelo-->>server: pergunta
        deactivate modelo
	server->>modelo: get_respostas(id_pergunta)
        activate modelo
        modelo->>bd_utils: queryAll()
        activate bd_utils
        bd_utils-->>modelo: respostas
        deactivate bd_utils
        modelo-->>server: respostas
        deactivate modelo
	server-->>browser: json
	deactivate server
	deactivate browser

Exercício

Crie um diagrama de sequência ilustrando os métodos chamados quando se cadastra uma pergunta no ESM Forum.

Dica: os diagramas anteriores foram criados em Markdown usando a ferramenta Mermaid, que é suportada nativamente pelo GitHub.