This repository provides an overview of how to use UML with Java.
Aqui está o diagrama UML completo usando tudo:
- Retângulos (atributos e métodos)
- Associações
- Agregação
- Direcionalidade
- Multiplicidades
Usei o estilo ASCII/Markdown, que funciona perfeitamente em texto.
+-------------------------------------------+
| Produto |
+-------------------------------------------+
| - id: int |
| - nome: string |
| - preco: double |
+-------------------------------------------+
| + atualizarPreco(valor: double): void |
| + aplicarDesconto(percentual: double): void|
+-------------------------------------------+
0..*
<----------
<>
Pedido 1..* -------------------- Produto
agregação+--------------------------------------------+
| Pedido |
+--------------------------------------------+
| - codigo: int |
| - data: LocalDate |
| - status: Status |
| - itens: List<Produto> |
+--------------------------------------------+
| + adicionar(item: Produto): void |
| + remover(item: Produto): void |
| + calcularTotal(): double |
+--------------------------------------------+
Usuario 1 -------------------- 0..* Pedido
<>------------>
agregação+--------------------------------------------------------+
| Usuario |
+--------------------------------------------------------+
| - id: int |
| - nome: string |
| - email: string |
| - senhaHash: string |
| - tipoUser: TipoUser |
| - pedidos: List<Pedido> |
+--------------------------------------------------------+
| + autenticar(senha: string): bool |
| + atualizar(nome: string, email: string, senha: string): void |
| + listarPedidos(): List<Pedido> |
+--------------------------------------------------------+Aqui está o diagrama todo junto, numa forma mais compacta:
0..*
<>-------------------- Produto
| +-------------------------------------------+
| | Produto |
| 1..* +-------------------------------------------+
| | - id: int |
| | - nome: string |
| | - preco: double |
| +-------------------------------------------+
| | + atualizarPreco(valor: double): void |
| | + aplicarDesconto(percentual: double): void|
| +-------------------------------------------+
+--------------------------------------------+
| Pedido |
+--------------------------------------------+
| - codigo: int |
| - data: LocalDate |
| - status: Status |
| - itens: List<Produto> |
+--------------------------------------------+
| + adicionar(item: Produto): void |
| + remover(item: Produto): void |
| + calcularTotal(): double |
+--------------------------------------------+
^
|
| 0..*
|
1
<>------------>
+--------------------------------------------------------+
| Usuario |
+--------------------------------------------------------+
| - id: int |
| - nome: string |
| - email: string |
| - senhaHash: string |
| - tipoUser: TipoUser |
| - pedidos: List<Pedido> |
+--------------------------------------------------------+
| + autenticar(senha: string): bool |
| + atualizar(nome: string, email: string, senha: string): void |
| + listarPedidos(): List<Pedido> |
+--------------------------------------------------------+