Skip to content

Diagrama(s)

Enzo Ferroni edited this page Jul 18, 2025 · 1 revision

Estudo e Diagrama de Caso de Uso

Nesta página, eu vou documentar o estudo que fiz sobre o Diagrama de Caso de Uso da UML e como eu o utilizei para planejar as funcionalidades do projeto GameSource.

1. Justificativa da Escolha

Antes de definir a arquitetura ou escrever qualquer código, era fundamental para mim ter clareza sobre o que o aplicativo deveria fazer. Eu precisava de uma ferramenta para definir o escopo do projeto, os requisitos funcionais e como o usuário interagiria com o sistema.

A minha pesquisa indicou que o Diagrama de Caso de Uso é a ferramenta ideal para isso. Ele descreve a funcionalidade do sistema do ponto de vista do usuário, servindo como um "mapa" das funcionalidades que eu preciso construir, o que foi essencial para o meu planejamento.

2. Estudo: Os Componentes do Diagrama

Durante o estudo, eu aprendi os componentes essenciais para construir o diagrama:

  • Ator (Actor): É uma entidade externa que interage com o sistema. No meu caso, o Usuário é o ator principal, e as APIs (API da Steam, API RAWG.io) são atores de suporte.
  • Caso de Uso (Use Case): É uma funcionalidade específica que o sistema oferece para que um ator atinja um objetivo, como "Sincronizar Biblioteca de Jogos".
  • Relacionamentos: As conexões que mostram como as funcionalidades se relacionam. As mais importantes que usei foram:
    • Inclusão (<<include>>): Mostra uma dependência obrigatória. Por exemplo, para "Sincronizar Biblioteca", é preciso antes "Autenticar Usuário".
    • Extensão (<<extend>>): Mostra uma funcionalidade opcional. Por exemplo, "Visualizar Lista de Jogos" pode ser estendida por "Filtrar e Ordenar Jogos".

3. Diagrama: O Resultado para o GameSource

Com base nesse aprendizado, eu construí o seguinte diagrama para mapear todas as funcionalidades planejadas para o GameSource.

---
title: Diagrama de Caso de Uso - GameSource
---
graph TD
    %% Atores Principais e de Suporte
    AtorUsuario("Usuário (Ator)")
    AtorSteamAuth("Sistema de Autenticação Steam")
    AtorSteamAPI("API da Steam")
    AtorRawgAPI("API RAWG.io")

    %% Limite do Sistema (Nosso Aplicativo)
    subgraph GameSource
        direction LR
        UC1(Autenticar Usuário)
        UC2(Sincronizar Biblioteca de Jogos)
        UC3(Visualizar Lista de Jogos)
        UC4(Filtrar e Ordenar Jogos)
        UC5(Buscar Jogo)
        UC6(Visualizar Detalhes de um Jogo)
        UC7(Gerenciar Categorias Personalizadas)
    end

    %% Relacionamentos do Usuário com os Casos de Uso
    AtorUsuario -- "Inicia" --> UC1
    AtorUsuario -- "Dispara" --> UC2
    AtorUsuario -- "Interage com" --> UC3
    AtorUsuario -- "Acessa" --> UC6
    AtorUsuario -- "Cria/Usa" --> UC7

    %% Relacionamentos entre Casos de Uso
    UC2 -- "include" --> UC1
    UC3 -- "extend" --> UC4
    UC3 -- "extend" --> UC5

    %% Relacionamentos com Atores de Suporte (APIs)
    UC1 <--> AtorSteamAuth
    UC2 <--> AtorSteamAPI
    UC2 <--> AtorRawgAPI
    UC6 <--> AtorRawgAPI
Loading

4. Conclusão

A criação deste Diagrama de Caso de Uso foi um passo fundamental no meu planejamento. Ele me deu uma visão clara do escopo da primeira versão do GameSource e servirá como um guia constante durante o desenvolvimento para garantir que estou construindo as funcionalidades corretas para o usuário.


Fontes e Referências Consultadas