Este projeto, intitulado Pedidos DoThi Sushi, utiliza uma stack robusta baseada em Java e MySQL.
Abaixo, apresenta-se a estruturação técnica detalhada do projeto, incorporando os princípios de Engenharia de Software e Sustentabilidade.
Utilizando os padrões de Modelo Relacional observados em seus planos de ensino, a estrutura inicial do banco de dados é definida abaixo:
erDiagram
PEDIDO {
int id_pedido PK
string nome_cliente
string prato_escolhido
string forma_pagamento
string status_pedido
datetime data_pedido
}
CREATE DATABASE dothi_sushi_db;
USE dothi_sushi_db;
CREATE TABLE pedidos (
id_pedido INT AUTO_INCREMENT PRIMARY KEY,
nome_cliente VARCHAR(100) NOT NULL,
prato_escolhido VARCHAR(150) NOT NULL,
forma_pagamento ENUM('Dinheiro', 'Cartão', 'Pix') NOT NULL,
status_pedido ENUM('Recebido', 'Em Preparo', 'Pronto', 'Entregue') DEFAULT 'Recebido',
criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
O desenvolvimento seguirá o ecossistema técnico que você domina:
Para elevar o nível do projeto:
Pedido com atributos encapsulados e métodos de validação.Com base nas diretrizes de Engenharia de Software, apresenta-se o detalhamento técnico avançado para o projeto Pedidos DoThi Sushi. Esta versão incorpora melhorias de arquitetura, fluxos operacionais e segurança de dados.
O diagrama abaixo detalha as interações entre os atores (Atendente e Cozinheiro) e o sistema, focando na resolução dos problemas de atraso e organização.
flowchart LR
At(("Atendente"))
Coz(("Cozinheiro"))
subgraph Sistema ["Sistema DoThi Sushi"]
direction TB
UC1(["Cadastrar Pedido"])
UC2(["Consultar Fila de Pedidos"])
UC3(["Atualizar Status do Pedido"])
UC4(["Cancelar/Excluir Pedido"])
UC5(["Gerar Resumo do Dia"])
end
At --> UC1
At --> UC2
At --> UC4
Coz --> UC2
Coz --> UC3
UC1 -.->|<<include>>| UC2
Versão em SVG (Diagrama de Casos de Uso):
Para este projeto em Java, aplicamos o padrão MVC (Model-View-Controller) para garantir manutenibilidade e escalabilidade, princípios fundamentais que você leciona.
classDiagram
class PedidoModel {
-int id
-String nomeCliente
-String prato
-String status
+salvar()
+atualizarStatus()
}
class PedidoController {
+processarNovoPedido()
+listarPedidosAtivos()
+removerPedido()
}
class PedidoView {
+exibirFormulario()
+exibirPainelCozinha()
}
PedidoController --> PedidoModel : manipula
PedidoController --> PedidoView : gerencia
A estrutura foi aprimorada para incluir o registro de Data/Hora, essencial para o controle eficiente e redução de atrasos mencionados no escopo.
erDiagram
PEDIDO ||--o{ LOG_STATUS : "registra"
PEDIDO {
int id_pedido PK
string nome_cliente
string prato_escolhido
string forma_pagamento
enum status_pedido
datetime criado_em
}
LOG_STATUS {
int id_log PK
int id_pedido FK
string status_anterior
string novo_status
datetime data_alteracao
}
As seguintes melhorias foram integradas para elevar a qualidade técnica do projeto:
FK) para garantir que cada alteração de status esteja vinculada a um pedido existente.| Semana | Fase | Foco Técnico |
|---|---|---|
| S1 | Requisitos | Refinamento das formas de pagamento e pratos. |
| S2 | Modelagem | Configuração do banco dothi_sushi_db no MySQL. |
| S3 | Back-end | Desenvolvimento das classes DAO (Data Access Object) em Java. |
| S4 | Front-end | Construção da interface responsiva com HTML5 e CSS3. |
| S5 | Integração | Testes de fluxo: do cadastro à entrega do pedido. |
Este detalhamento técnico pode ser facilmente convertido para o formato Marp para suas apresentações ou para o Jekyll/MkDocs para documentação oficial do projeto.