Você está na página 1de 14

Projeto de engenharia de software

Projeto de aplicativo para compras de produtos do mercado.


Descrição do Projeto

 O Projeto tem a ideia de facilitar a vida das pessoas que não possuem muito tempo ou não gostam muito de
ir ao mercado para realizar as suas compras da semana ou do mês, e ainda seria um bom caminho para as
pessoas do grupo de risco nessa pandemia, pois elas não precisariam sair de casa para realizar suas compras,
e as receberiam na porta de sua casa, diminuindo as chances se contaminarem.
Descrição de Funcionamento

 Foram pensadas duas possiblidades de funcionamento do aplicativo:

 Primeira: Usuários poderiam realizar compra para outros usuários, estilo “Uber”. O usuário que deseja
realizar suas compras online, montaria sua lista de compra e postaria sua lista no aplicativo e o usuário que
for realizar a compra fisicamente e a entrega pegaria a lista de compras no aplicativo e a realizaria e a
entregaria ao usuário que solicitou a compra, assim ganhando uma porcentagem do total da compra.
 Segunda: Os mercados se cadastrariam no aplicativo, assim como no “IFood”, e os usuários teriam acesso à
toda as mercadorias do mercado pelo aplicativo e montaria o seu carrinho com todos os produtos que
precise, ao terminar de montar o carrinho e finalizar a compra o mercado realizaria a separação dos produtos
e realizaria o envio ou cliente. Podemos chamar de “IFood de mercado”.
Histórias de usuário levantadas

1. Como usuário que realiza as compras preciso ter contato como usuário que solicitou a compra, para obter
mais informações sobre o que ele precisa.

2. Como usuário que está solicitando a compra eu preciso saber o histórico do usuário que está realizando a
compra para mim, para assim saber sua reputação no aplicativo.

3. Como usuário que solicitou eu preciso ter acesso ao estoque, um acesso limitado, para assim saber os
produtos que estão disponíveis para venda.

4. Como usuário que solicitou eu preciso saber o meu histórico de compras, para assim eu saber que já comprei
e saber o preço que foi comprado e quem realizou a entrega.
Histórias de usuário levantadas

5. Como usuário que realiza as compras preciso as informações do usuário que realizou a solicitação, para assim saber por exemplo: o seu
endereço; seu número de telefone; seu nome;

6. Como usuário que realiza a compra preciso tem acesso a um histórico de compras realizadas, para assim saber quanto eu ganhei por cada
compra, quem era o cliente, o que foi comprado, saber a avaliação do usuário que solicitou.

7. Como funcionário do mercado eu preciso ter total acesso ao estoque para que assim eu possa cadastras produtos, dar baixas.

8. Como funcionário do mercado eu preciso eu preciso ter informações do usuário que solicitou, para assim saber sua lista de pedidos,
endereço de entrega, nome de quem vai receber, para o caso cliente solicitou a compra opte pela entrega do mercado.

9. Como funcionário do mercado eu precisa ter a informações do usuário que está realizando a entrega para ter a segurança de que é
realmente o usuário que foi solicitado para realizar a entrega.

10. funcionário do mercado eu preciso ter acesso a um histórico de vendas realizadas pelo aplicativo, para saber que foi o usuário que
solicitou, a lista de compras, o usuário que realizou a entrega.
Requerimentos para primeira versão

1. Desenvolver e configurar o Banco de Dados para que tenha um bom funcionamento.


2. Desenvolver o Server Side com todos os EndPoints necessários, aplicando todas as regras de negócio
coletadas durante o levantamento de requisitos, para realizar as operações de cadastro de clientes, login dos
usuários, cadastro de produtos, realização de compras e vendas.
3. Desenvolver o Client Side com todas as telas com as quais os usuários iram realizar a sua interação com o
sistema, para realizar suas operações.
4. Configurar toda a parte do servidor que irá hospedar a aplicação.
5. Registro dos domínios que a aplicação irá utilizar.
Requerimentos não funcionais

1. O sistema deve ser desenvolvido para web e para plataformas mobile, para que haja as duas possibilidades
para o cliente realizar seus pedidos.
2. O sistema deverá ter um chat em tempo real para que haja uma boa comunicação entre os clientes.
3. O sistema terá que ter uma atualização em tempo real para o estoque dos estabelecimentos para que não haja
problemas de falta de estoque na hora da compra.
WireFrame

 Como usuário que solicitou eu preciso ter acesso ao


estoque, um acesso limitado, para assim saber os produtos
que estão disponíveis para venda.
 Tela dos produtos que estão estoque e podem ser
comprados, assim o usuário solicitante poderá ver os
produtos e adicionar ao seu carrinho.
WireFrame

 Como usuário que realiza as compras preciso ter contato


como usuário que solicitou a compra, para obter mais
informações sobre o que ele precisa.
 Tela de chat entre usuários, para que seja possível a uma
comunicação durante o pedido realizado.
WireFrame

 Como usuário que está solicitando a compra eu preciso


saber o histórico do usuário que está realizando a compra
para mim, para assim saber sua reputação no aplicativo.
 Tela do Avalição do Usuário Comprador. Com ela é
possível saber qual a avaliação do serviço prestado a
outros usuários, para ter uma noção se os serviços
prestados pelo Usuário Comprador são feito.
WireFrame

 Como funcionário do mercado eu precisa ter a informações do


usuário que está realizando a entrega para ter a segurança de
que é realmente o usuário que foi solicitado para realizar a
entrega.
 Tela de informações do Entregador. Com ela é possível ter
acesso aos dados do entregar como: seu nome, contatos, se ele
está realizando alguma entrega no momento, sua localização, o
status da entrega e dados do cliente para quem ele está
realizando a entrega.
Estudo de viabilidade

1. Alternativa 1:
 O que é: Usar o Framework ASP Net Core, o Framework Angular 10 e o banco de dados SqlServer da
Microsoft.
 O que faz: O Framework ASP Net Core será responsável pela parte do backend, o Angular será responsável
pela parte do frontend e SQLServer o armazenamento de dados.
 Vantagens: A equipe já possui uma boa experiencia com os Framework apresentados nessa alternativa; o
Framework ASP Net Core é livre e possui muitas coisas já prontas que vai agilizar um pouco o processo de
desenvolvimento assim como o Angular.
 Desvantagens: Por conta de serem Frameworks o funcionamento por ser um pouco mais lento por conta que
eles possuem muita coisa rodando a mais na sua fonte.
Estudo de viabilidade

2. Alternativa 2:
 O que é: Usar Java, React, e o Banco de dados Oracle.
 O que faz: O Java seria para o desenvolvimento do backend da aplicação, React para a criação do forntend
da aplicação, e Oracle para o armazenamento de dados.
 Vantagens: Comunidade bem ativa para o auxílio dos desenvolvedores, ele também é gratuito.
 Desvantagens: A equipe não possui uma boa experiencia com a linguagem, Java por rodar em uma máquina
virtual ele seria um pouco lento em seu funcionamento.
Conclusão do estudo de viabilidade

 A primeira Alternativa é a recomendada. Com a utilização do Framework ASP Net Core para fazer o
backend, o Framework Angular para a criação do frontend e o SQL Server para o Gerenciamento dos dados.

 Os custos seriam com a equipe, com servidores para hospedar a aplicação, com o banco de dados da
Microsoft.

 Os riscos mais possíveis são as mudanças de requisitos durante o desenvolvimento, atraso na entrega de
alguma funcionalidade, entendimento dos requisitos pedidos pelo cliente.

Você também pode gostar