📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Guia de Modelagem UML. Recomendado revisar antes de começar.

🏦 Especificação & Modelagem de Domínio Bancário com UML 2.5

v1.0 — Engenharia de Software, UML 2.5, Casos de Uso, Diagrama de Classes e Sequência

Trilha de Especialização Pedagógica — Projeto 1 de 4

🎓 Nível Profissional Simulado: Arquiteto de Software / Analista de Sistemas Pleno. Antes de escrever uma única linha de código em um sistema financeiro, arquitetos projetam o modelo na notação UML (Unified Modeling Language). Dominar Casos de Uso, Diagramas de Classes (composição, agregação, herança) e Diagramas de Sequência é essencial para construir sistemas de missão crítica.

—`

🎯 Objetivo & Escopo do Projeto

Elaborar a Especificação de Arquitetura e Modelagem de Domínio Completa de um Sistema Bancário Digital (Core Banking) na notação UML 2.5, cobrindo o Diagrama de Casos de Uso, o Diagrama de Classes com relacionamentos de herança (ContaCorrente, ContaPoupanca) e o Diagrama de Sequência de uma transação Pix em tempo real.

—`

🧑‍💼 Fase 1 — Levantamento de Requisitos

O Briefing do Cliente (Superintendente de Arquitetura Bancária)

“Estamos reformulando o motor de contas e transferências do banco digital. Precisamos de uma especificação técnica formal: mapear todos os atores (Cliente, Gerente, Sistema de Antifraude), detalhar os casos de uso de abertura de conta, depósito, saque e transferência Pix, modelar a hierarquia de classes com saldo, limite de cheque especial e taxas, e desenhar o fluxo sequencial exato de validação e liquidação de um Pix.”

Requisitos Funcionais (RF) e Não-Funcionais (RNF)

ID Tipo Descrição Origem no Briefing
RF01 Funcional Modelar Casos de Uso com atores Cliente, Gerente e Sistema Antifraude. “mapear todos os atores”
RF02 Funcional Diagrama de Classes com classe abstrata Conta e subclasses ContaCorrente e ContaPoupanca. “hierarquia de classes com saldo e limite”
RF03 Funcional Diagrama de Sequência da transferência Pix demonstrando validação de saldo e bloqueio de concorrência. “fluxo sequencial de liquidação de Pix”
RNF01 Não-Funcional Conformidade estrita com a especificação formal da OMG (UML 2.5). Padrão Internacional
RNF02 Não-Funcional Modelagem de domínio desacoplada de tecnologia de banco de dados específica. Pureza de Domínio

—`

📋 Fase 2 — Backlog & User Stories

ID User Story Prioridade
US01 Como desenvolvedor, quero consultar o Diagrama de Classes para implementar entidades sem ambiguidades. Alta
US02 Como arquiteto, quero validar no Diagrama de Sequência se o antifraude é acionado antes da liquidação. Alta

—`

🌿 Fase 3 — Engenharia em Equipe (Git Flow & Setup)

# Branch da funcionalidade
git checkout -b feature/US01-uml-banking-domain

# Validar especificacao UML
cat index.md

—`

🛠️ Fase 4 — Modelagem do Diagrama de Sequência Pix (UML)

sequenceDiagram
    autonumber
    actor Cliente as 👤 Cliente Pagador
    participant App as 📱 App Bancário
    participant Core as ⚙️ Core Banking API
    participant Fraude as 🛡️ Antifraude
    participant Bacen as 🏛️ Banco Central (SPI)

    Cliente->>App: Solicita Pix (Chave + Valor)
    App->>Core: POST /api/v1/pix/transferir
    Core->>Fraude: Analisar Risco da Transação
    Fraude-->>Core: Aprovado (Score de Risco Baixo)
    Core->>Core: Debitar Saldo em Conta
    Core->>Bacen: Enviar Ordem de Liquidação
    Bacen-->>Core: Confirmação de Liquidação SPI
    Core-->>App: Comprovante de Pagamento
    App-->>Cliente: Exibir Comprovante com Sucesso ✅

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd uml_01_especificacao_sistema_bancario

2. Execute a aplicação ou testes

# Executar comandos específicos da tecnologia:
python main.py # ou npm run dev / ./gradlew build

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/uml_01_especificacao_sistema_bancario`

🧭 Decisões de Arquitetura (ADRs)

—`

🧪 Testes de Validação & Consistência de Modelo

—`

✅ Checkpoint Final

  1. Casos de Uso, Diagrama de Classes e Diagrama de Sequência documentados.
  2. Regras de domínio bancário especificadas formalmente.

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal