Giter Site home page Giter Site logo

disciplinasprogramacao / lpm-projeto2024-1-javaquinho Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joaocaram/template_disciplinasprogramacao

1.0 0.0 0.0 1.71 MB

Template para trabalhos das disciplinas de programação - Prof. João Caram

License: Creative Commons Attribution 4.0 International

Java 99.15% Dockerfile 0.85%

lpm-projeto2024-1-javaquinho's Introduction

LPM Comidinhas Veganas

Um restaurante atende seus clientes alocando-os em mesas por meio de 'requisições por mesas'. No momento, o restaurante possui 10 mesas: 4 com capacidade para 4 pessoas, 4 com capacidade para 6 pessoas e 2 com capacidade para 8 pessoas. O cliente, ao chegar, deve declarar quantas pessoas comerão no restaurante, gerando assim uma requisição por mesa. Tão logo quanto possível deverá ser alocada uma mesa adequada para ele. Se não houver mesa livre, o cliente entra numa fila de espera. As requisições precisam registrar data e horas de entrada e saída do cliente.”

Alunos integrantes da equipe

  • Eduardo Henrique Moreira dos Santos
  • Helio Ernesto Gouvea Dutra Teixeira
  • Ian dos Reis Novais
  • João Antônio Nascimento Pires
  • Roberta Sophia Carvalho Silva
  • Saulo José Nascimento Silva

Professores responsáveis

  • João Caram

lpm-projeto2024-1-javaquinho's People

Contributors

joaocaram avatar eduuhms avatar hegdt avatar jojianp avatar saulimdopvp avatar robincrobin avatar iannovais avatar

Stargazers

 avatar

lpm-projeto2024-1-javaquinho's Issues

Nova classe Restaurante

Deve conter um menu, exibir menu, permitir incluir produtos no pedido de uma requisição

Classe mesa (+JC) + teste

@Eduuhms Implementar a classe mesa e testar. Caso necessite de outras classes para o teste, você pode fazer uma implementação "fake", mas lembre-se de só subir para o repositório as classes da sua tarefa.

Principal(+JC), parte 2

@jojianp 1) documentar o processo para construção dos requisitos abaixo no programa principal (não é obrigatório utilizar ferramentas formais)
2) implementar os requisitos

  • Liberar mesa/finalizar requisição
  • Criar mesa

Classe Requisição

@SaulimDoPvP Classe requisição até hoje (14/06) só tem código meu. Pendências da sprint 2(!!!):

  • conter um pedido
  • receber itens/produtos para adicionar no pedido
  • fechar o pedido quando necessário
  • exibir conta do pedido e valor por pessoa quando necessário

Das sprints 3-4:

  • lançar exceção adequada quando tentarem adicionar produto em requisição finalizada
  • lançar exceções adequadas em construtor com parâmetros incorretos
  • tratar exceção recebida do pedido em caso de adicionar produto

Main funcional / Controller Restaurante + suite de testes

@jojianp O sistema precisa funcionar ou mostrar que funciona. Opções:

  1. Sistema console funcional (pendente desde a Sprint 2)
  2. Controller Restaurante, que chama todas as operações via classe/entidade Restaurante e um conjunto de testes das operações mostrando que todas elas funcionam.

Classe Restaurante - SP4

@hegdt Classe Restaurante funcional. Além das pendências anteriores, deve:

  • usar coleções para armazenar dados de clientes e requisições
  • usar métodos das coleções / streams para as respectivas lógicas
  • lançar as exceções adequadas em caso de operações inválidas (por exemplo, adicionar produto a uma mesa/requisição que não está sendo atendida)

Nova classe Requisição

Nova classe Requisicao: Deve receber produtos para pedidos, fechar a conta e exibir valor por cliente.

Novo Principal

Permitindo ver menu, selecionar produto, incluir produto, fechar conta, mostrar conta

Atualizações do modelo

@iannovais Registrar e atualizar as alterações do modelo UML de acordo com a demanda dos outros desenvolvedores. Sugiro registrar cada mudança como um comentário.

Classes Cardapio e Item

Classe Cardápio, que mostra as opções disponíveis e retorna um produto quando for pedido.
Classe para itens do cardápio (somente descricao e preco)

Diagrama UML

@DisciplinasProgramacao/javaquinho-codemao
Esta tarefa conta como do grupo todo. Corrijam o diagrama de classes de acordo com os comentários no local indicado, em formato png ou jpg.

Classe Requisicao (+JC) + teste

@SaulimDoPvP Implementar a classe de requisição/reserva e testar. Caso necessite de outras classes para o teste, você pode fazer uma implementação "fake", mas lembre-se de só subir para o repositório as classes da sua tarefa.

Classes Menu Fechado e Pedido Fechado

@robinCrobin
Criar classe Menu Fechado: faz o mesmo que o Menu, mas os itens disponíveis são outros.

Criar classe Pedido Fechado: só pode aceitar alguns produtos. Tem restrição de quantidade de produtos pela quantidade de pessoas.

Lançar as exceções cabíveis e adequadas para operações incorretas do Pedido Fechado

Documentação OK

@Eduuhms
Conferir a documentação do projeto. Comentar/editar aqui com ok da documentação de cada classe.

Cliente  ok
Mesa  ok
Requisição  ok
Restaurante  ok
Sistema ok

Classe cliente + teste

@iannovais Implementar a classe cliente e testar. Caso necessite de outras classes para o teste, você pode fazer uma implementação "fake", mas lembre-se de só subir para o repositório as classes da sua tarefa.

Classe restaurante + teste

@robinCrobin Implementar a classe do restaurante e testar. Caso necessite de outras classes para o teste, você pode fazer uma implementação "fake", mas lembre-se de só subir para o repositório as classes da sua tarefa.

Principal (+JC), parte 1

@hegdt 1) documentar o processo para construção dos requisitos abaixo no programa principal (não é obrigatório utilizar ferramentas formais)
2) implementar os requisitos

  • Cadastrar cliente
  • Atender cliente/criar requisição

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.