Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • A Apus Drones Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Apus Drones
  • Apus Drones Wiki
  • Wiki
  • escopo

Last edited by Angelo Calebe Araujo da Rocha Nov 25, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

escopo

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Código BD Qualidade Utilização

Escopo do Projeto

Descrição

Esta seção é dedicada a apresentar o escopo do projeto e os documentos referentes ao mesmo

Sumário

  • Mapeamento de Histórias de Usuário
  • Cronograma
    • Sprint 0
    • Sprint 1
    • Sprint 2
    • Sprint 3
    • Sprint 4

Mapeamento de Histórias de Usuário

Usuário # Nome Descrição Critérios de aceite Given - When - Then
Todos 1 Login Eu como usuário já cadastrado
Desejo logar no aplicativo
Para que eu possa utilizar o aplicativo
- Ao abrir o aplicativo deve ser possível encontrar a tela de login.
- Ao inserir dados cadastrados deve realizar o login.
- Ao fornecer um email não cadastrado ou uma senha incorreta, deve impedir de realizar login e dispor um feedback informando do ocorrido.
- Deve haver uma forma de seleção de papel do usuário (cliente, parceiro ou piloto): Uma tela antes da tela de login ou uma caixa de seleção na mesma tela.
- O login será associado apenas a um perfil
- Deve haver botão que redireciona para a tela de cadastro.
DADO QUE eu baixe o aplicativo
QUANDO eu abro ele pela primeira vez
ENTÃO eu vejo a tela de login

DADO QUE eu escolha logar como cliente/parceiro/piloto
QUANDO eu forneço um email inválido (não cadastrado)
OU uma senha incorreta
ENTÃO o aplicativo não permite que eu realize o login
E o aplicativo mostra uma mensagem mostrando o ocorrido

DADO QUE eu escolha logar como cliente/parceiro/piloto
QUANDO eu visualizo a tela de login
ENTÃO eu posso clicar em "cadastrar" e ser redirecionado para a tela de cadastro
Todos 2 Logout Eu como usuário logado
Desejo deslogar do meu perfil
Para que eu possa logar com outra conta
- Após logado, deve ser permitido sair da conta atual. DADO QUE eu esteja logado no aplicativo
QUANDO clico/toco o botão Sair
ENTÃO a sessão será finalizada e o aplicativo será redirecionado para a tela de login/tela inicial
Todos 3 Visualizar perfil Eu como usuário cadastrado
Desejo visualizar o meu perfil
Para que eu possa verificar os meus dados no aplicativo
- O usuário deve ter acesso à visualização do perfil em que está logado.
- Não deve ser possível visualizar o perfil de outro usuário.
- Os campos a serem visualizados dependem do papel do usuário (cliente, parceiro ou piloto).
DADO QUE eu esteja logado no aplicativo
QUANDO abro a tela do meu perfil
ENTÃO deve ser possível eu visualizar meus dados
Todos 4 Editar perfil Eu como usuário cadastrado
Desejo editar meu perfil
Para que eu possa atualizar meus dados constantemente.
- O usuário deve ter acesso à edição do perfil em que está logado.
- Não deve ser possível editar o perfil de outro usuário.
- Deve haver um botão para salvar as alterações.
- Ao salvar as alterações, o aplicativo deve voltar para a tela de visualização do perfil.
- Os campos a serem visualizados dependem do papel do usuário (cliente, parceiro ou piloto).
DADO QUE eu esteja logado no aplicativo
QUANDO abro a tela de visualização do meu perfil
ENTÃO deve haver uma forma de habilitar a edição dos meus dados

DADO QUE eu esteja editando o meu perfil
QUANDO terminar as alterações
ENTÃO deve haver uma forma de salvar as mudanças que foram feitas

DADO QUE eu esteja editando o meu perfil
QUANDO salvar as alterações
ENTÃO deve ser possível ver meu perfil com os dados atualizados.
Piloto 5 Cadastrar piloto Eu como piloto
Desejo me cadastrar na plataforma
Para que eu possa supervisionar voos de drones.
- Ao inserir dados válidos (Nome, CPF, senha, email, cep, endereço, certificação/licença para operar drones(imagem)) seja possível se cadastrar.
- Deve haver um botão que direciona para a tela de login.
- Deve impedir de cadastrar caso e-mail esteja em formato inválido.
- Deve impedir de cadastrar caso e-mail já esteja em uso.
Piloto 6 Aceitar/rejeitar solicitações de corrida (supervisão de vôo) Eu como piloto
Desejo aceitar ou rejeitar solicitações de corrida
Para que eu possa iniciar a supervisão de um voo, caso aceite.
- Dado que estou disponível para aceitar solicitações de corrida, devo receber solicitações de pedidos marcados com o status “disponível para coleta” pelo parceiro.
- A solicitação de corrida deve ser exibida como uma notificação/popup/modal na tela.
- Deve haver uma opção para aceitar e uma para rejeitar a corrida.
- Devo saber o endereço de partida e de chegada antes de aceitar ou rejeitar a corrida.
Piloto 7 Informar disponibilidade para aceitar solicitações de corrida Eu como piloto
Desejo informar que estou disponível ou não para receber solicitações de corrida.
Para que eu possa desativar as solicitações nos momentos em que não estiver atuando.
- Dado que estou logado, devo poder me colocar disponível para receber solicitações de corrida já na tela inicial.
- Dado que estou logado e aceitando pedidos devo poder me colocar indisponível para receber solicitações de corrida.
Piloto 8 Corrida (supervisionar vôo) Eu como piloto
Desejo supervisionar o voo
Para que eu possa acompanhar a coleta e a entrega de um produto pelo drone
- Deve ser exibida a localização do drone em um mapa
- O drone vai ser simulado, não havendo integração ou qualquer forma de controle real pelo aplicativo
- Deve haver um botão de confirmar coleta (para mudar o status de “em rota de coleta” para ”em rota de entrega”) e um de confirmar entrega (para mudar o status de “em rota de entrega” para “entregue”). O botão a ser exibido depende do status.
Piloto 9 Histórico de corridas (lista) Eu como piloto
Desejo visualizar o histórico de meus voos
Para que eu possa visualizar os voos que supervisionei
- A lista deve estar em ordem cronológica, do mais recente ao mais antigo
- As solicitações devem estar classificadas pelo status (em rota de coleta, em rota de entrega, entregue)
Piloto 10 Histórico de corridas (detalhe) Eu como piloto
Desejo visualizar os detalhes dos voos no histórico
Para que eu possa visualizar os detalhes de um voo
- A tela de detalhes deve conter: Data do pedido, status, itens do pedido, local de partida, endereço de coleta, endereço de entrega
Cliente 11 Cadastrar cliente Eu como cliente não cadastrado
Desejo me cadastrar no aplicativo
Para que eu possa comprar um produto que preciso no momento.
- Ao inserir dados válidos (Nome, CPF, senha, email, cep, endereço) deve ser possível me cadastrar.
- Deve haver um botão que direciona para a tela de login.
- Deve impedir de cadastrar caso e-mail esteja em formato inválido.
- Deve impedir de cadastrar caso e-mail já esteja em uso.
DADO QUE eu escolha me cadastrar como cliente
QUANDO eu forneço um email inválido
ENTÃO o aplicativo não permite que eu me cadastre
E o aplicativo apresenta uma mensagem avisando-me do ocorrido

DADO QUE eu escolha me cadastrar como cliente
QUANDO eu visualizo a tela de cadastro
ENTÃO eu posso clicar em "login" e ser redirecionado para a tela de login

DADO QUE eu escolha me cadastrar como cliente
QUANDO eu forneço um email já em uso
ENTÃO o aplicativo não permite que eu me cadastre
E o aplicativo apresenta uma mensagem avisando-me do ocorrido
Cliente 12 Visualizar lista de produtos/parceiros (página inicial) Eu como usuário após fazer meu login
Desejo visualizar os produtos que estão disponíveis
Para que eu possa comprar no aplicativo.
- Ao fazer login, redirecionar para a listagem de parceiros.
- Cada parceiro deve apresentar nome, foto, categoria e distância.
- Ao clicar em um parceiro, redirecionar para a listagem de produtos deste parceiro.
- Deve haver uma listagem vertical de produtos cadastrados.
- Cada produto deve apresentar nome, foto, peso, descrição e preço.
- Caso não haja parceiros ou produtos cadastrados, deve-se mostrar uma mensagem na tela informando isto.
- Parceiros ou produtos indisponíveis aparecem desabilitados.
- Ao clicar em um produto, deve ser redirecionado para o detalhamento do mesmo.
DADO QUE eu entre no aplicativo
QUANDO eu faço login
ENTÃO eu sou redirecionado para a tela de listagem de produtos

DADO QUE eu seja um cliente logado
QUANDO eu estiver na tela de listagem de produtos
ENTÃO devo ver uma listagem vertical de produtos cadastrados

DADO QUE eu esteja na tela de listagem de produtos
QUANDO eu checo os produtos disponíveis na lista
ENTÃO eu vejo que cada um deles possui o nome, uma foto, o peso, uma descrição, distância e o preço

DADO QUE eu esteja na tela de listagem de produtos
QUANDO não há produtos disponíveis
ENTÃO eu vejo uma mensagem na tela informando que não há produtos disponíveis

DADO QUE eu esteja na tela de listagem de produtos
QUANDO eu clico em um produto
ENTÃO eu sou redirecionado para o detalhamento deste produto
Cliente 13 Pesquisa de parceiros/produtos Eu como cliente
Desejo pesquisar por parceiros ou produtos no app
Para que eu possa localizar com mais facilidade os parceiros e produtos que desejo.
- Deve haver uma caixa de pesquisa na tela inicial
- Ao digitar na caixa de pesquisa, devem aparecer resultados tanto de parceiros quanto produtos
Cliente 14 Visualizar detalhe de produto Eu como cliente logado
Gostaria de ter mais informações sobre o produto que estou interessado.
Para que eu possa ter certeza de que estou adquirindo um produto que irá atender minha necessidade.
- Deve ser possível visualizar todas as informações disponíveis sobre um produto. DADO QUE eu seja um cliente logado
QUANDO eu visualizo um produto
ENTÃO eu posso ver todas as informações disponíveis sobre esse produto
E eu posso ver um botão para adicionar o produto ao carrinho
Cliente 15 Adicionar produto ao carrinho Eu como cliente logado
Desejo adicionar um produto ao carrinho
Para que eu possa adquirir mais de um produto com apenas uma compra.
- Deve haver um botão para adicionar o produto ao carrinho na tela de detalhes do produto.
- Ao adicionar um produto ao carrinho, o aplicativo deve dar um feedback ao cliente indicando se a ação foi concluída com sucesso ou não.
- Ao adicionar um produto que já esteja no carrinho, dispor de um feedback e somar a quantidade já existente com a nova quantidade adicionada.
- Ao ultrapassar o peso limite de compras o aplicativo deve impedir de adicionar este produto ao carrinho e dispor de um feedback.
DADO QUE eu esteja visualizando um produto
QUANDO eu clico em 'Adicionar ao Carrinho'
ENTÃO o aplicativo me dá um feedback visual indicando que o produto foi adicionado

DADO QUE eu já tenha adicionado este produto ao carrinho
QUANDO eu clico em 'Adicionar ao Carrinho' novamente
ENTÃO o aplicativo me dá um feedback visual indicando que o produto foi adicionado
E a quantidade do produto no carrinho deve ser incrementada em 1

DADO QUE eu esteja visualizando um produto
QUANDO eu clico em 'Adicionar ao Carrinho'
E o peso do produto somado aos demais itens do meu carrinho ultrapassa o peso suportado
ENTÃO o aplicativo não permite que eu adicione este produto ao carrinho
E o aplicativo mostra um feedback visual do ocorrido
Cliente 16 Interagir com o carrinho Eu como cliente
Gostaria de visualizar e editar os itens do meu carrinho
Para que eu possa finalizar a compra.
- Deve haver um botão para aumentar e diminuir a quantidade de cada produto no carrinho pelo cliente.
- Deve ser exibido o valor total da compra.
- Deve ser exibido o peso total da compra.
- Deve ser exibido o valor do frete. O valor do frete é fixo, a definir
DADO QUE eu esteja utilizando o aplicativo
QUANDO eu desejar checar os itens em meu carrinho
ENTÃO eu devo possuir um menu de fácil acesso para isso

DADO QUE eu esteja utilizando o aplicativo
QUANDO eu desejar finalizar a compra
ENTÃO eu devo possuir um botão que me permita fazer isso

DADO QUE eu esteja visualizando os itens em meu carrinho
QUANDO eu desejar saber qual o valor total da minha compra
ENTÃO eu devo ter esta informação na tela, com o valor do frete

DADO QUE eu esteja visualizando os itens em meu carrinho
QUANDO eu remover um item
ENTÃO o valor deve ser atualizado

DADO QUE eu esteja visualizando os itens em meu carrinho
QUANDO eu incremento ou decremento a quantidade de um item já adicionado
E essa quantidade não ultrapassa o limite de peso estabelecido
ENTÃO o valor deve ser atualizado

DADO QUE eu esteja visualizando os itens em meu carrinho
QUANDO eu incremento a quantidade de um item já adicionado
E essa quantidade ultrapassa o limite de peso estabelecido
ENTÃO o aplicativo deve impedir que esse item seja incrementado
E o aplicativo deve mostrar um feedback visual para o usuário detalhando o ocorrido

DADO QUE eu esteja visualizando os itens em meu carrinho
QUANDO eu decremento a quantidade de um item já adicionado
E essa quantidade chega a 0 (zero)
ENTÃO o item deve ser removido do carrinho
Cliente 17 Fazer checkout (comprar) Eu como cliente
Gostaria de finalizar a compra
Para que eu possa acompanhar e receber meu pedido.
DADO QUE eu esteja visualizando meu carrinho
QUANDO não há itens
ENTÃO o botão de checkout deve estar desabilitado

DADO QUE eu esteja visualizando meu carrinho
QUANDO há itens
ENTÃO o botão de checkout deve estar habilitado

DADO QUE eu esteja visualizando meu carrinho
QUANDO eu clico no botão de checkout
E há algum problema com a compra
ENTÃO o aplicativo deve dar feedback visual sobre o ocorrido
E os itens devem permanecer no carrinho

DADO QUE eu esteja visualizando meu carrinho
QUANDO eu clico no botão de checkout
E não há nenhum problema com a compra
ENTÃO o aplicativo deve remover todos itens do carrinho
E eu devo ser redirecionado para a tela de pagamento deste pedido
Cliente 18 Tela de pagamento Eu como cliente
Desejo visualizar a tela de pagamento
Para que possa efetuar uma compra
- A tela não terá funcionalidade, sendo apenas visual.
Cliente 19 Acompanhar pedido Eu como cliente
Gostaria de acompanhar meu pedido
Para que eu saiba quando ele estiver chegando.
DADO QUE eu esteja visualizando meu pedido em aberto
QUANDO ele ainda não foi confirmado pelo parceiro
ENTÃO devo ver uma tela indicando que o pedido está aguardando confirmação

DADO QUE eu esteja visualizando meu pedido em aberto
QUANDO ele for confirmado pelo parceiro
E estiver aguardando ser buscado por um drone
ENTÃO devo ver uma tela indicando que o pedido está aguardando retirada pelo drone

DADO QUE eu esteja visualizando meu pedido confirmado
QUANDO ele estiver a caminho (pelo drone)
ENTÃO devo ver uma tela indicando que o pedido está a caminho
E devo ver um mapa indicando a localização atual do drone com meu pedido
Cliente 20 Notificações sobre status da entrega Eu como cliente aguardando uma entrega
Gostaria de receber notificações sobre o status do meu pedido
Para que eu possa me manter informado e tomar ações rápidas sobre.
- Dada a confirmação do pedido pelo parceiro, deve notificar o cliente que o pedido foi confirmado e logo sairá para entrega.
- Dado que o pedido saiu para entrega deve notificar o cliente que o pedido está a caminho.
DADO QUE eu seja um cliente com um pedido aguardando confirmação
QUANDO o parceiro confirma o pedido
ENTÃO devo ser notificado que meu pedido foi confirmado e logo sairá para entrega

DADO QUE eu seja um cliente com um pedido confirmado
QUANDO o pedido sair para entrega
ENTÃO devo ser notificado que meu pedido está a caminho
Cliente 21 Histórico de pedidos (lista) Eu como cliente cadastrado
Desejo visualizar o histórico de pedidos
Para que eu possa acompanhar os meus pedidos em andamento e verificar os meus pedidos anteriores
- Os pedidos devem estar ordenados do mais recente para o mais antigo.
- Os pedidos devem estar categorizados conforme o status (pendente, confirmado, cancelado, em rota de entrega, entregue).
DADO QUE eu esteja logado
QUANDO eu clico no botão histórico
ENTÃO é mostrado uma lista ordenada com o histórico de pedidos
Cliente 22 Histórico de pedidos (detalhe) Eu como cliente cadastrado
Desejo visualizar o detalhe de um pedido
Para que eu possa analisar com mais detalhes um pedido que foi feito.
- O cliente deve ser capaz de ver o detalhe de um pedido.
- A tela de detalhe deve conter: Data do pedido, status (pendente, confirmado, cancelado, em rota de entrega, entregue), itens do pedido, valor, endereço de destino.
Parceiro 23 Cadastrar Parceiro Eu como parceiro não cadastrado
Desejo me cadastrar na plataforma Apus Drones
Para que eu possa vender meus produtos pelo aplicativo
- Deve haver botão que direciona para a tela de login.
- Deve impedir de cadastrar caso e-mail esteja em formato inválido.
- Deve impedir de cadastrar caso e-mail já esteja em uso.
DADO QUE eu escolha me cadastrar como parceiro
QUANDO eu forneço um email inválido
ENTÃO o aplicativo não permite que eu me cadastre
E o aplicativo apresenta uma mensagem avisando-me do ocorrido

DADO QUE eu escolha me cadastrar como parceiro
QUANDO eu visualizo a tela de cadastro
ENTÃO eu posso clicar em "login" e ser redirecionado para a tela de login

DADO QUE eu escolha me cadastrar como parceiro
QUANDO eu forneço um email já em uso
ENTÃO o aplicativo não permite que eu me cadastre
E o aplicativo apresenta uma mensagem avisando-me do ocorrido
Parceiro 24 CRUD de produtos Eu como parceiro logado
Desejo cadastrar, editar, deletar e visualizar produtos
Para que eu possa vendê-lo
- Atributos do produto: nome, foto, peso, descrição breve, preço, quantidade, ativado/desativado
- (D) Um produto só pode ser excluído definitivamente se não for vendido pelo menos 1 vez
- (R) Deve haver uma listagem vertical dos produtos cadastrados, em cards
- (U) Deve ser possível ativar/desativar um produto
Parceiro 25 Solicitação de compra Eu como parceiro cadastrado
Desejo receber notificações quando meus produtos forem comprados
Para que eu possa começar o preparo dos mesmos.
- Quando o cliente solicitar um produto, deve ser exibido uma notificação ao parceiro.
- Parceiro deve ter que selecionar que recebeu a notificação.
- Se o parceiro não receber a notificação em X tempo, solicitação será cancelada.
- Parceiro pode escolher entre aceitar ou rejeitar pedido.
DADO QUE Sou um parceiro
E estou logado no aplicativo
QUANDO algum cliente compra algum produto meu
ENTÃO recebo uma notificação de solicitação de compra
Parceiro 26 Confirmação do pedido Eu como parceiro cadastrado
Desejo confirmar ou rejeitar o pedido solicitado
Para que eu possa começar o preparo dos mesmos.
- Deve ser exibida uma tela com os detalhes do pedido aceito/confirmado.
- Deve haver um botão para terminar o preparo/marcar como disponível para coleta.
DADO QUE recebi uma solicitação de compra
QUANDO não atuar sobre a notificação em tempo x
ENTÃO a solicitação será cancelada

DADO QUE recebi uma solicitação de compra
QUANDO confirmar a solicitação do pedido
ENTÃO a solicitação terá andamento
E começarei a preparar o pedido
Parceiro 27 Alteração de status de pedido Eu como parceiro cadastrado
Desejo alterar o status do pedido em andamento
Para que eu possa atualizar o piloto do que está acontecendo no momento
- O parceiro deve poder atualizar o status do pedido aberto.
- O pedido não pode retroceder em seu status.
DADO QUE tenho um pedido em status de preparo
E finalizei o preparo do pedido
QUANDO altero o status do pedido para pronto para coleta
ENTÃO o pedido deve ter seu status para "em rota de coleta”
Parceiro 28 Histórico de pedidos (lista) Eu como parceiro cadastrado
Desejo visualizar o histórico de pedidos
Para que eu possa acompanhar os pedidos em andamento, ter uma ideia de quantos clientes foram atendidos e quais horários houve maior quantidade de pedidos
- O parceiro deve ser capaz de ver histórico de pedidos
- Os pedidos devem estar ordenados do mais recente para o mais antigo
- Os pedidos devem estar categorizados conforme o status (recebidos, aceitos, rejeitados, aguardando coleta, em coleta, em entrega, entregue)
DADO QUE eu esteja logado
QUANDO eu clico no botão histórico
ENTÃO é mostrado uma lista ordenada com o histórico de pedidos
Parceiro 29 Histórico de pedidos (detalhe) Eu como parceiro cadastrado
Desejo visualizar o detalhe de um pedido
Para que eu possa analisar com mais detalhes um pedido
- O parceiro deve ser capaz de ver o detalhe de um pedido
- A tela de detalhe deve conter: Data do pedido, status (andamento/entregue), itens do pedido, valor, endereço destino.
DADO QUE eu esteja no histórico de pedido
QUANDO eu clicar em um item da lista
ENTÃO sou redirecionado para o detalhe do pedido

DADO QUE exista um pedido em andamento
QUANDO eu clicar neste pedido
ENTÃO sou redirecionado para o detalhe do pedido

Estrutura Analítica do Projeto

TBD

Cronograma

Sprint 0 (15/03 - 24/03)

Escopo

Gerenciamento de Projeto

TBD

Design

TBD

Configuração de Ambiente

TBD

Dúvidas

TBD

Apresentação

TBD

Retropectiva

TBD

Itens de Ação

TBD

Sprint 1 (29/03 - 14/04)

Escopo

TBD

Apresentação

TBD

Retropectiva

TBD

Itens de Ação

TBD

Sprint 2 (19/04 - 12/05)

Escopo

TBD

Apresentação

TBD

Retropectiva

TBD

Itens de Ação

TBD

Sprint 3 (17/05 - 02/06)

Escopo

TBD

Apresentação

TBD

Retropectiva

TBD

Itens de Ação

TBD

Sprint 4 (07/06 - 23/06)

Escopo

TBD

Apresentação

TBD

Retropectiva

TBD

Clone repository
  • Consumindo REST APIs no Flutter
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • Home
  • instrucoes
  • processo
  • qualidade
  • utilizacao