Sem resumo de edição
Linha 402: Linha 402:


= Diagrama de classes =
= Diagrama de classes =
[[Arquivo:dc.pnj]]
<br>
<br>


= Diagrama de casos de uso =
= Diagrama de casos de uso =
<br>
<br>

Edição das 01h48min de 25 de junho de 2019

Escopo

O sistema PaPegô irá fornecer às pessoas a opção de escolha de um restaurante, entre vários presentes no aplicativo, e a opção de seleção dos produtos dos estabelecimento. Cada produto desejado pelo cliente vem com o preço e com a opção compra. Após a seleção de todos os itens desejados pela pessoa, é mostrado o valor total da compra e posteriormente emitido o comprovante para retirada no local. O aplicativo irá fornecer às pessoas o tempo estimado, entre o fim do pedido no aplicativo, e a retirada do mesmo no balcão. Após o cliente retirar o pedido no balcão do estabelecimento, o sistema irá informar o fim do serviço, juntamente com a opção de elaboração de uma crítica escrita pelo serviço prestado.

5W2H



What


  • 1. Qual o nome do seu projeto?

PáPegô.

  • 2. Qual o objetivo deste projeto?

Será feito um app para restaurantes e lanchonetes, aonde o cliente realizará o pedido e irá retirá-lo no estabelecimento.

  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?

Ter os conhecimentos e as ferramentas para chegar no final do projeto com um aplicativo de qualidade.

  • 4. Quais os conhecimentos básicos (teorias) que devemos ter para se implementar este projeto?

Conhecimento em linguagens de progrmação, como C e Java, gestão de projetos e engenharia de software, sistemas operacionais mobile como Android e IOS,e sobre banco de dados.

  • 5. Quais soluções similares existem no mercado?

Ifood Uber Eats

Why


  • 1. Porque é interessante desenvolver este projeto?

Para atender as famílias que necessitam de algum alimento e precisam comprar com facilidade e rapidez, e para estabelecimentos como lanchonetes e restaurantes que querem ampliar ainda mais as formas de venda.

  • No seu projeto, precisará optar por algumas tecnologias, usar alguns hardwares e conversar com outros sistemas.

atuais ou não.

  • 2. Porque deve usar a tecnologia escolhida?.

Pois com a tecnologia mobile, conseguimos atender a todas as pessoas, hoje em dia já é acessível a todos, e pode ser usada em qualquer lugar.

    • 3. Porque usar o hardware específico?

No caso do nosso app, qualquer smartphone com um hardware básico já consegue rodar tranquilamente o sistema.

  • 4. Porque usar o sistema específico?

Pois os sistemas operacionais Android e IOS são os mais usados no mundo.

Who


  • 1. Quem pode se beneficiar deste projeto?

Restaurantes e lanchonetes, e as famílias.

  • 2. Quem poderá operar o sistema?

Os usuários finais do sistema, e a equipe de desenvolvedores.

  • 3. Quem deverá participar do desenvolvimento do sistema?

Programadores, gerentes de projetos, DBAs, e designers.

Where


  • 1. Por onde (hardware ou sistemas), os dados serão inseridos?

No próprio app, o usuário irá iserir os dados através da interface do app.

  • 2. Onde (hardware ou sistemas), os dados serão externalizados?

No sistema, através da interface do app mobile.

  • 3. Onde (em que dispositivos ou ambientes) esta aplicação poderá ser usada?

Nos dipositivos móveis, smartphones com Android ou IOS.

  • 4. Onde os dados serão armazenados?

Os dados serão armazenados em nuvem, através da cloud.

  • 5. Onde o software deverá ser hospedado?

Será hospedado em um servidor.

When


  • 1. Em quanto tempo (em semanas) pretende desenvolver o sistema?

Cerca de 1 ano.

  • 2. Quais serão as fases e em quanto tempo cada uma?
  • 1 - Pitches: 15 dias.
  • 2 - Mockup: 15 dias.
  • 3 - DC e DFD: 1 mês.
  • 4 - DER: 1 mês.
  • 5: Diagramas OO: 1 mês.
  • 6: Codificação: 2 meses.
  • 7- Implementação: 2 meses.
  • 8- Teste: 1 mês.
  • 9- Finalização do projeto: 1 mês
  • 3. Qual o tempo de resposta do dispositivo ou do sistema, ou seja, quanto tempo acha razoável esperar por uma informação?
  • As informações devem ser em tempo real.
  • 4. Se tiver investimento, quanto tempo acha razoável para pagar o financiamento?
  • 4 anos, contando ao início de desenvolvimento do negócio.



How


  • 1. Como será dividido o desenvolvimento do sistema?
    • Para estabelecer a prioridade dos requisitos foram adotadas as denominações “essencial”, “importante” e

“desejável”. Essencial: [Cadastro. RF 01] [Opção login. RF 02] [Locais disponíveis. RF 03] [Busca por filtragem. RF04] [Opções de refeições. RF05] [Preço por refeição. RF 06] [Alteração de cartão de crédito. RF 07] [Compra. RF 08] [Atualização do cardápio. RF 16] [Acompanhamento. RF 17] [Cadastro estabelecimento. RF 21] [Cadastro cardápio. RF 22] Importante: [Chat. RF 09] [Tempo do serviço. RF10] [Horário de busca. RF 11] [Tempo Real. RF 12] [Alerta. RF 13] [Fim do serviço. RF 14] [Modificação do cadastro. RF 23] [Exclusão cadastro. RF 24] [Exclusão cardápio. RF 25] Desejável: [Satisfação do cliente. RF 15]

  • 2. Como será feita a entrada de dados?
    • Por meio de interface. Haverá a interface para o dono do estabelecimento, para nós proprietários do app como administradores, e para os clientes do estabelecimento.
  • 3. Como será feita a saída de dados?
    • Por meio da interface do app.
  • 4. Descreva a 1a. funcionalidade?
    • interface de login.
  • 5. Descreva a 2a. funcionalidade?
    • interface de seleção dos estabelecimentos.
  • n. Descreva a enésima funcionalidade?
    • 3ª: selecionado os produtos do estabelecimento.

4ª: É disponibilizado o tempo de espera e um chat para perguntas. 5ª: É mostrado que o pedido está pronto.

How much


  • 1. Quanto custa cada parte do sistema?

Diagramas: 5.000,00 Codificação: R$ 10.000,00 Implementação: R$ 10.000,00 Testes : R$ 5.000,00

  • 2. Quanto deverá custar todo o sistema?
    • Cerca de 30 mil.
  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • Uma equipe de 6 pessoas.
  • 4. Quanto custa cada profissional?
    • Cerca de 6 mil.
  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • As famílias não irão pagar pelo app, mas os estabelecimentos vão pagar uma mensalidade.


Canvas



DC

Arquivo:DC-PaPego.pdf

DFD

Arquivo:DFD-PaPego.pdf

DER

Arquivo:DER-PaPego.pdf

Especificação Funcional


  • RF01: Registrar Pedido
    • Interface mostra opções do cardápio
    • Sistema permite que o usuário escolha determinado item arrastando para o carrinho
    • Quando o usuário quiser cancelar a compra, clica em Cancelar. O sistema limpa o carrinho e mostra a tela inicial de Registrar Pedido
    • Quando o usuário quiser concluir a compra, clica em Finalizar o Pedido para registrar sua ação
      • O sistema grava os dados no Depósito Pedidos e enviar email para Backoffice
    • No rodapé da tela, tem a opção: "Retornar ao Menu Principal, Cancelar ou Finalizar Pedido"
    • Obs:
      • Se o usuário tentar Finalizar Pedido com 0 Itens no Carrinho, o sistema mostra a mensagem: "Carrinho vazio"

[RF 02] Cadastro Entradas e pré-condições: O cliente deve entrar com nome, senha, cpf, e-mail, informações do cartão de crédito. O sistema deve estar on-line e o cliente ainda não fez o cadastro. Saídas e pós-condições: As informações cadastrais são armazenadas, e o sistema deve estar online. Fluxo de eventos principal O sistema possibilita o cadastro de clientes e os armazena. Cliente -> cadastro

[RF 03] Opção Login Entradas e pré-condições: O cliente deve entrar com senha e-mail. O sistema deve estar on-line e o cliente já deve ter feito o cadastro. Saídas e pós-condições: O usuário entra no aplicativo PaPegô. Fluxo de eventos principal O sistema permite o login e a entrada no aplicativo. Cadastro-> Login.

[RF 04] Locais Disponíveis Entradas e pré-condições: O cliente, após realizar o login, pode pesquisar por todos os estabelecimentos que possuem o serviço PaPegô. Saídas e pós-condições: O sistema mostra o local selecionado pelo cliente. Fluxo de eventos principal O sistema disponibiliza ao cliente uma listagem com todos os estabelecimentos que possuem o serviço PaPegô, juntamente com o endereço dos mesmos: nome do bairro, nome da rua e número. Login-> Busca por locais disponíveis.

[RF 05] Busca por filtragem Entradas e pré-condições: O cliente, após realizar o login, pode pesquisar por todos os estabelecimentos que possuem o serviço PaPegô, porém ele pesquisará pelos estabelecimentos que são fortes nas seguintes categorias: nome do estabelecimento, localização, maior e menor preço. Saídas e pós-condições: O sistema mostra o local selecionado pelo cliente. Fluxo de eventos principal O sistema disponibiliza uma busca por filtragem: nome do estabelecimento, localização, maior e menor preço. Login-> busca por filtragem

[RF 06] Opções de refeições Entradas e pré condições: O cliente tem acesso às refeições disponíveis no estabelecimento. O cliente deve antes, ter selecionado um estabelecimento. Saídas e pós condições: O sistema mostra a refeição selecionada pelo cliente. Fluxo de eventos principal Disponibiliza todas as refeições disponíveis em cada restaurante. Login -> busca por estabelecimento -> lista de refeições

[RF 07] Preço por refeição Entradas e pré condições: O cliente seleciona uma refeição. Saídas e pós condições: O sistema mostra o preço da refeição selecionada pelo cliente. Fluxo de eventos principal Disponibilizar o preço de cada uma das refeições do estabelecimento. Login -> busca por estabelecimento -> lista de refeições -> escolha da refeição -> preço da refeição

[RF 08] Alteração de cartão de crédito Entradas e pré-condições: O cliente pode modificar o cartão de crédito que deseja efetuar a compra. Saídas e pós-condições: O sistema armazena as informações do cartão de crédito, e o coloca como meio de compra para as refeições. Fluxo de eventos principal O cliente pode alterar o cartão de crédito para a compra, e esse novo cartão de crédito é armazenado pelo sistema. Login-> Busca por estabelecimento-> Lista de refeições-> Escolha da refeição-> Preço da refeição -> Alteração do cartão (opicional).

[RF 09] Compra Entradas e pré-condições: O cliente, após selecionar os produtos, pode comprá-los. Saídas e pós-condições: O sistema armazena as informações de compra do usuário, e lhe disponibilizar um recibo de compra. Fluxo de eventos principal O sistema disponibiliza uma listagem com a opção compra para cada refeição, e a confirmação da compra com o cartão de crédito. Disponibiliza também ao cliente um recibo da compra. Login -> Busca por estabelecimento -> Lista de refeições -> Escolha da refeição -> Preço da refeição-> Compra da refeição-> Recebido.

[ RF 10] Tempo de serviço

Entradas e pré-condições: O cliente, após selecionar os produtos e efetuar a compra, tem a informação do tempo até a retirada no balcão. Saídas e pós-condições: O tempo é mostrado no aplicativo para o cliente. Fluxo de eventos principal O sistema disponibiliza o tempo estimado entre o fim do pedido pelo aplicativo, e a retirada do pedido no balcão. Login -> Busca por estabelecimento -> Lista de refeições -> Escolha da refeição -> Preço da refeição -> Compra da refeição -> Tempo para retirada no balcão

[RF 11] Horário de busca Entradas e pré-condições: O cliente, após realizar a compra, pode selecionar o horário em que quer buscar o pedido no estabelecimento. Saídas e pós-condições: O horário da retirada do pedido é mostrado para o cliente. Fluxo de eventos principal O sistema permite ao usuário o horário de busca do pedido. Login -> Busca por estabelecimento -> Lista de refeições -> Escolha da refeição -> Preço da refeição ->Compra da refeição -> Escolha do horário da retirada no balcão

[RF 12] Tempo real Entradas e pré-condições: O cliente seleciona a opção acompanhar o tempo para retirada do produto no balcão. Saídas e pós-condições: O tempo restante para a retirada do produto no balcão é mostrado ao usuário. Fluxo de eventos principal O usuário pode acompanhar em tempo real, o tempo que falta para a retirada do pedido. Login-> Busca por estabelecimento-> Lista de refeições-> Escolha da refeição-> Preço da refeição -> Compra da refeição-> Tempo estimado para a retirada no balcão-> Cronômetro para a retirada.

[RF 13] Alerta Entradas e pré-condições: o cliente é informado, através de um alerta, para a retirada do pedido. Saídas e pós-condições: O alerta é mostrado para o cliente. Fluxo de eventos principal O usuário é informado através de um alerta pelo aplicativo para a retirada do pedido no estabelecimento. Login -> Busca por estabelecimento -> Lista de refeições -> Escolha da refeição -> Preço da refeição -> Compra da refeição -> Tempo estimado para a retirada no balcão -> Cronômetro para a retirada -> Alerta para a retirada.

[RF 14] Fim do serviço Entradas e pré-condições: O cliente retira seu pedido no balcão do estabelecimento. Saídas e pós-condições: Após o cliente retirar seu pedido no balcão, o aplicativo informa por uma mensagem, que o serviço foi finalizado. Fluxo de eventos principal O sistema informa ao cliente que o serviço foi finalizado. Login -> busca por estabelecimento -> lista de refeições -> escolha da refeição -> preço da refeição -> compra da refeição -> tempo estimado para a retirada no balcão -> cronômetro para a retirada -> retirada do pedido no estabelecimento -> fim do serviço

[ RF 15] Chat Entradas e pré-condições: O cliente, após selecionar os produtos e efetuar a compra, pode interagir através de um chat com o estabelecimento. Saídas e pós-condições: As mensagens digitadas pelo cliente são enviadas ao chat do estabelecimento. Fluxo de eventos principal O sistema disponibiliza um chat entre o usuário e o lojista, e através desse chat podem conversar entre si. Login-> Busca por estabelecimento -> Lista de refeições -> Escolha da refeição -> Preço da refeição -> Compra da refeição -> Chat com o estabelecimento

[RF 16] Satisfação do cliente Entradas e pré-condições: O cliente já finalizou o serviço PaPegô e escreve uma crítica sobre o serviço prestado. Saídas e pós-condições: A crítica do cliente é armazenada pelo sistema e repassada ao dono do estabelecimento. Fluxo de eventos principal O sistema fornece ao cliente a opção de elaborar uma crítica escrita para o estabelecimento, após o fim do serviço. Login-> Busca por estabelecimento-> Lista de refeições-> Escolha da refeição-> Preço da refeição-> Compra da refeição-> Tempo estimado para a retirada no balcão-> Cronômetro para a retirada-> Retirada do pedido no estabelecimento-> Fim do serviço-> Crítica do serviço (opcional).

[ RF 17] Atualização do cardápio Entradas e pré-condições: O lojista deve estar logado no sistema e deve informar as alterações necessárias para atualização do cardápio. Saídas e pós-condições: O cardápio é atualizado e salvado no banco de dados. Fluxo de eventos principal Login->Perfil do Lojista-> Alteração de cardápio -> Cardápio atualizado.

[ RF 18] Acompanhamento Entradas e pré-condições: O lojista deve estar logado no sistema para visualizar a demanda de pedidos do seu estabelecimento. Saídas e pós-condições: Os pedidos são mostrados em um monitor. Fluxo de eventos principal Login->Demanda-> Visualização.

[RF 19] Tempo de preparo Entradas e pré-condições: O lojista deve estar logado no sistema para quando chegar algum pedido no sistema, o lojistas será capaz de estipular um tempo de duração para o preparo da refeição. Saídas e pós-condições: O tempo de preparo é inserido no tempo total para a retirada do produto no balcão. Fluxo de eventos principal Login->Pedidos recebidos-> Estipulação de tempo de preparo-> Tempo total.

[RF 20] Alerta para Lojista Entradas e pré-condições: O lojista deve estar logado no sistema e após estipulação de tempo, haverá um relógio para acompanhamento em tempo real e o sistema deve emitir um sinal de alerta para o lojista quando estiver próximo do cliente chegar para pegar a encomenda no balcão. (Tempo de preparo menos tempo total-> Hora de começar a preparar a encomenda). Saídas e pós-condições: Envio de mensagens de alerta. Fluxo de eventos principal Login-> Relógio (tempo real)-> Mensagem de alerta.

[RF 21] Cadastro do estabelecimento Entradas e pré-condições: O administrador ou lojista do sistema deve acessar a área restrita dos gestores e cadastrar um novo estabelecimento no aplicativo. Saídas e pós-condições: Cadastro completo. Fluxo de eventos principal Acesso restrito do sistema-> Cadastrar-> Novo cadastro-> Nome-> Foto-> Localização-> Cadastro realizado com sucesso.

[RF 22] Cadastro do cardápio Entradas e pré-condições: O lojista deve acessar e cadastrar um novo cardápio no aplicativo, e após isso poderá realizar o cadastro dos itens oferecidos pelo estabelecimento previamente cadastrado. Saídas e pós-condições: Cadastro da listagem de itens oferecidos. Fluxo de eventos principal Acesso restrito do sistema-> Cadastrar-> Novo cadastro-> Nome-> Foto -> Localização-> Cadastro realizado com sucesso-> Procurar-> Estabelecimentos cadastrados -> Cadastrar cardápio-> Cadastro de item-> Novo item-> Nome-> Foto-> Preço-> Porção-> Cadastro de item realizado com sucesso -> Cadastrar novo item.

[RF 24] Exclusão do cadastro Entradas e pré-condições: O profissional ou gerenciador do sistema deve acessar a área restrita dos gestores e acessar a aba de cadastro dos clientes e lojistas. O sistema deve permitir a exclusão do cadastro dos clientes, e lojistas com seus respectivos dados. Saídas e pós-condições: Exclusão do cardápio. Fluxo de eventos principal Acesso restrito do sistema-> Estabelecimentos cadastrados -> Alteração de cadastro -> Exclusão -> Estabelecimento ou cardápio -> Exclusão realizada com sucesso.


Especificação não Funcional


Usabilidade

Esta seção descreve os requisitos não funcionais associados à facilidade de uso da interface com o usuário, material de treinamento e documentação do sistema.

[NF001] Intuitivo Um novo usuário deve ser capaz de realizar compras e pagamentos de forma intuitiva sem precisar seguir um manual ou instruções previamente definidas.

[NF002] Botões interativos O aplicativo deve dispor de botões interativos para fácil compreensão dos usuários.

Confiabilidade

Esta seção descreve os requisitos não funcionais associados à frequência, severidade de falhas do sistema e habilidade de recuperação das mesmas, bem como à corretude do sistema.

[NF003] Disponibilidade O sistema deve ficar no ar 24horas por dia, sete dias na semana. Estando disponível para compra no horário de funcionamento dos estabelecimentos cadastrados.

[NF004] Tolerância a falhas O sistema deve tolerar as falhas como má conexão à internet, erros de translações bancárias entre outros.

Desempenho

Esta seção descreve os requisitos não funcionais associados à eficiência, uso de recursos e tempo de resposta do sistema. [NF005] Tempo de resposta O software deve agir de imediato à resposta do cliente. É desejável que o software tenha uma resposta satisfatória, pois o mais relevante para a aplicação é a qualidade com que as informações cheguem ao cliente do que a rapidez.

Segurança

Esta seção descreve os requisitos não funcionais associados à integridade, privacidade e autenticidade dos dados do sistema.

[NF006] Criptografia O aplicativo deve incluir a transmissão de dados por meio de criptografia moderna (por exemplo, por HTTPS).

[NF007] Segurança com dados bancários e dados do cliente O aplicativo jamais poderá divulgar dados pessoais ou confidenciais do usuário relacionados a atividades financeiras ou de pagamento, assim como números de documentos de identidade.

[NF008] Sistema antivírus O aplicativo deve conter embutidos sistemas de antifraudes, antimalware e vírus em geral para assegurar as informações dos seus clientes.

Distribuição

Esta seção descreve os requisitos não funcionais associados à distribuição da versão executável do sistema.

[NF009] Multiplataforma Android e IOS O aplicativo estará disponível em um cenário multiplataforma para atender os cliente e abranger um universo maior de usuários.

Padrões

Esta seção descreve os requisitos não funcionais associados a padrões ou normas que devem ser seguidos pelo sistema ou pelo seu processo de desenvolvimento.

[NF010] Padronização das imagens O aplicativo deve padronizar todas as imagens colocadas no banco de dados.

[NF011] Padronização dos campos informativos O aplicativo deve padronizar um campo máximo de descrição para os estabelecimentos.

Hardware e software

Esta seção descreve os requisitos não funcionais associados ao hardware e software usados para desenvolver ou para executar o sistema. [NF012] Plataforma Android e IOS. O sistema deve ser desenvolvido para as ultimas versões dos sistemas operacionais, e necessitará de um hardware básico.


Diagrama de classes

Arquivo:Dc.pnj



Diagrama de casos de uso