Brainstorming - Requisitos-2018-1-iFood/iFood GitHub Wiki

Histórico de Revisão

Data Versão Descrição Autor(es)
03/04/2018 0.1 Criação da página Diego Resende
03/04/2018 0.2 Adição do registro dos requisitos levantados Victor Gomide
04/04/2018 0.3 Modifica redirecionamento das imagens João Vitor
10/04/2018 0.4 Adicionando Ata de reunião Bruno Dantas
26/05/2018 1.0 Adaptação do Documento Paulo Lopes

Brainstorming

"O Brainstorming é uma técnica de elicitação constantemente utilizada na fase inicial de um projeto, por oferecer uma ampla concepção do contexto do problema. Consiste em uma reunião de um grupo de pessoas que parte de um tema central e destrincha-se em subtemas, sobre os quais cada pessoa expõe suas ideias e ponto de vista. Isso é importante pois nos permite ver o problema em diferentes ângulos."

Pré-Rastreabilidade


Versões anteriores

No caso do nosso projeto, os temas para essa discussão surgiram de uma observação participativa. Um dos membros utilizava o aplicativo e verificava seus diferentes fluxos, enquanto o grupo como um todo discutia sobre os requisitos funcionais e não funcionais presentes em cada funcionalidade. Durante a reunião, tomamos nota dos requisitos levantados por meio de um documento na ferramenta Microsoft Word.

Após, organizamos nossos pensamentos na forma de um mapa mental, com o iFood como tema central e cada uma de suas funcionalidades como subtemas.

Documento de Requisitos Levantados

Requisitos Funcionais:

  • O sistema deve ser capaz de intermediar compras entre os usuários e os restaurantes;
  • O sistema deve ser capaz de permitir o cadastro dos seus clientes;
  • O sistema deve listar os restaurantes de acordo com a sua localização inserida;
  • O sistema deve listar o cardápio do restaurante;
  • O sistema deve permitir que os restaurantes modifiquem seus cardápios;
  • O sistema deve permitir a busca por restaurantes e pratos;
  • O sistema deve identificar a disponibilidade do restaurante;
  • O sistema deve permitir a aplicação de filtros durante a busca;
  • O sistema deve disponibilizar filtros avançados para a busca, para que o usuário encontre o que deseja mais rápido e precisamente;
  • O sistema deve possuir as seguintes informações sobre o restaurante:
    • Formas de pagamento aceitas;
    • Horário de funcionamento;
  • O sistema deve permitir ao usuário escolher a localização de entrega do pedido, as opções devem ser:
    • Usando a localização atual;
    • Inserindo a localização manualmente (informando CEP e em seguida o número, ou informando campo por campo);
    • A partir do histórico de endereções (necessita estar logado e ter realizado ao menos um pedido);
  • O sistema deve disponibilizar restaurantes com desconto e sugestões de restaurantes;
  • O sistema deve disponibilizar o histórico completo dos pedidos do usuário;
  • O sistema deve informar ao usuário através de uma mensagem que o restaurante está fechado;
  • O sistema deve informar ao usuário a avaliação, a categoria, a distância de um restaurante e a média do tempo de entrega do prato;
  • O usuário deve ser capaz de avaliar os restaurantes;
  • O usuário deve ser capaz de comentar suas avaliações dos restaurantes;
  • O usuário deve ser capaz de favoritar o restaurante;
  • O usuário devidamente logado desse ser capaz de recomendar um restaurante, caso este não esteja cadastrado no sistema da seguinte forma:
    • O usuário pode votar em algum restaurante já sugerido;
    • O usuário pode recomendar um novo restaurante;
  • O usuário deve ser capaz de se cadastrar com a conta do facebook;
  • O usuário deve ser capaz de editar seus dados, enedereços e suas avaliações;
  • O usuário deve ser capaz de receber notificações de novos restaurantes, promoções e avisos gerais;
  • O usuário deve ser capaz de ver o status do seu pedido em:
    • Realizado;
    • Não realizado;
    • Sendo preparado;
    • Saindo para entrega;
  • O usuário deverá ser capaz de limpar o histórico de busca;
  • O usuário deve ser capaz de efetuar pagamento pelo aplicativo;

Requisitos Não-Funcionais:

  • O sistema deve estar disponível para as plataformas:
    • Android;
    • iOS;
    • Windows Phone;
  • O sistema deve se conectar com o sistema de localização do aparelho de usuário;
  • O sistema deve otimizar a utilização do dados móveis;
  • O sistema deve se mostrar disponível 24 horas por dia, 7 dias por semana;
  • O sistema deve ser responsável pela segurança e privacidade dos dados bancários dos usuários;
  • O sistema deve efetuar a transação corretamente no caso do pagamento pelo aplicativo;
  • O sistema deve informar o usuário sobre eventuais falhas de conexão;

Mapa Mental