| Linha 138: | Linha 138: | ||
*[RF025] Abrir chat com vendedor; | *[RF025] Abrir chat com vendedor; | ||
*[RF026] Retornar produto; | *[RF026] Retornar produto; | ||
*[RF027] Manusear carrinho de compras; | |||
<br> | <br> | ||
Edição das 05h15min de 14 de junho de 2021
5W2H
What
- 1. Qual o nome do seu projeto?
- FastEcommerce.
- 2. Qual o objetivo deste projeto?
- Oferecer a oportunidade de um empresário ou empreendedor construir seu comercio eletrônico para expandir seu negócio para o meio virtual.
- 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
- Interação com cliente para definir as regras de negócio e como o layout vai ficar, gerenciar as equipes de desenvolvedores e manter os sites de clientes existentes rodando com uma boa qualidade.
- 4. Quais os conhecimentos básicos (teorias) que devemos ter para se implementar este projeto?
- Desenvolvimento web, banco de dados, gerenciamento de projetos de software, infraestrutura de servidores(cloud).
- 5. Quais soluções similares existem no mercado?
- Loja Integrada, Mercado Livre, JetEcommerce.
Why
- 1. Porque é interessante desenvolver este projeto?
- O setor do ecommerce está crescendo bastante, principalmente devido ao isolamento social provocado pela pandemia. As empresas estão se adaptando para os meios virtuais e com isso a demanda por esse tipo de serviço está crescendo bastante.
- 2. Com relação às tecnologias, cite no mínimo 3 e explique a função de cada uma no seu projeto.
- Banco de dados PostgresSQL para armazenamento das informações do sistema web, framework para gerenciamento da aplicação como um todo e desenvolvimento web facilitando a codificação e construção do sistema e api de pagamento como PagSeguro e outros.
- 3. Com relação ao hardware, cite no mínimo 3 e explique a função de cada um no seu projeto.
- Servidores de banco de dados e web servers para hospedar a aplicação, servidores com discos de armazenamento espaçosos para rotinas de backup, servidor isolado para exercer a função de firewall.
- 4. Com relação aos sistemas, cite no mínimo 3 e explique a função de cada um no seu projeto.
- Sistema de pagamento: Validação de informações bancárias dos usuários, efetuação das transações bancárias necessárias, segurança dos dados bancários dos clientes em segundo nível(compradores do ecommerce);
- Sistema de registro: cadastro de clientes, com email, senha, idade, cpf, cep entre outros.
- Sistema de carrinho: carrinho de compras com os produtos que os clientes escolhem no ecommerce;
Who
- 1. Quem pode se beneficiar deste projeto?
- Pessoas que querem ter seu próprio negócio de modo "barato";
- Empresas que atuam em canais físicos e desejam expandir para o meio virtual;
- Empresas ou pessoas que possuem vontade de abrir um comércio eletrônico e não sabem por onde começar;
- 2. Quem poderá operar o sistema?
- Consumidores finais;
- Administrador do ecommerce;
- Desenvolvedores;
- 3. Quem deverá participar do desenvolvimento do sistema?
- 1) Clientes;
- 2)Gerente de projetos;
- 3)Desenvolvedores(frontend, backend);
- 4)Especialistas em UX e/ou UI;
Where
- 1. Por onde (hardware ou sistemas), os dados serão inseridos?
- Cadastros de clientes;
- Interfaces com os produtos do ecommerce;
- Api com sistemas de pagamentos e sistema de gerenciamento financeiro;
- layouts interativos;
- Teclado e/ou mouse;
- 2. Onde (hardware ou sistemas), os dados serão externalizados?
- Os dados do sistema serão exibidos em interfaces gráficas na qual o usuário final poderá interagir com os produtos, pagamentos etc..
- 3. Onde (em que dispositivos ou ambientes) esta aplicação poderá ser usada?
- Em navegadores;
- 4. Onde os dados serão armazenados?
- Em um servidor na nuvem, com um Banco de dados relacional;
- 5. Onde o software deverá ser hospedado?
- Em servidor web na nuvem;
When
- Em quanto tempo pretende desenvolver o sistema?
- Em seis meses;
- Quais serão as fases e quanto tempo terá cada uma?
- O sistema será desenvolvido usando metodologias ágeis, logo o desenvolvimento do sistema será feito por meio de "sprints" de no máximo uma semana:
- 1-Analise de requisitos do sistema, funcionalidades do sistema, casos de uso, UX ->Duas semanas
- 2-Design do sistema, escolha de recursos de hardware necessários, escolha dos serviços de hospedagem de banco de dados e de sistemas web, elaboração de como as funcionalidades estarão dispostas para o usuário, mockup. Modelagem e projetos conceituais do BD.-> Duas semanas;
- 3-Implementação do banco, codificação dos requisitos funcionais estabelecidos mais os requisitos funcionais ainda não pensados, uso de frameworks pensando em leveza do sistema e segurança. Testes no final de cada etapa para validação dos incrementos. Destaca-se que nesta fase será onde utilizaremos o Scrum -> Três meses;
- 4- Testes para desempenho e qualidade buscando atender os requisitos não funcionais. Documentação para finalização do projeto, construções de manuais para usuários->Um mês.
- 5-Acompanhamento no ambiente de produção para detecção de erros pelos usuários alvos e melhorias. -> Um mês.
- Existe tempo mínimo ou ideal para resposta do dispositivo ou sistema?
- O tempo mínimo padrão, por se tratar de um comércio eletrônico deverá ser de alguns milissegundos.
- Usuário pode esperar quanto tempo por um processamento?
- No máximo alguns segundos, ficar atento com as API escolhidas ou desenvolvidas, pois um sistema externo ao nosso e que é utilizado em algum processo interno caso esteja fora do ar pode prejudicar a experiência do usuário(elaborar um algoritmo para validar se o serviço web está de pé);
How
- Como será dividido o desenvolvimento do sistema?
- Pensando na utilização do Scrum para desenvolver o sistema por meio de entregas incrementos constantes temos a presença dos seguintes profissionais para elaboração das fases da construção do sistema:
- Product Owner: Análise dos requisitos dentro de cada sprint realizado;
- Scrum Master: orientação e gerenciamento da equipe de desenvolvimento, fazendo a frente com a equipe de desenvolvimento e o PO para captação dos objetivos e requisitos necessários;
- Equipe de desenvolvimento(4): Desenvolvedores com conhecimento técnico necessário nas tecnologias exigidas tanto em frontend, como backend;
- Um funcionário responsável pela modelagem e construção do banco de dados, neste caso um analista de banco de dados;
- Equipe de teste(2): Funcionários responsáveis por validar e testar as saídas de cada sprint;
- Como funcionam as entradas de dados? Existe conversão, uso de protocolos, etc?
- A entrada de dados do nosso sistema sempre será feita por meio das interfaces físicas a disposição do usuário final(teclado e mouse) e pela interação com outros sistemas externos necessários(sistema de pagamento, sistema financeiro);
- A conversão e utilização de protocolos se darão dentro das API onde é necessário um padrão de mensagens para a comunicação e na hora de submissão de formulários ou outros dados, onde o usuário será notificado caso envie um dado inadequado para nosso backend(campo de cpf, o usuário coloca um texto);
- [RF001] CRUD usuários
- [RF002] Realizar Login;
- [RF003] Tela de produtos;
- [RF004] Gerenciar produtos(CRUD);
- [RF005] Buscar produtos por filtros;
- [RF006] Realizar checkout;
- [RF007] Tela para gerenciamento financeiro da loja virtual;
- [RF008] Carrinho de compras;
- [RF009] Avaliar produto;
- [RF010] Comentar produto;
- [RF011] Pagina de FAQs;
- [RF012] Administrar categorias de produtos(CRUD);
- [RF013] Recuperar conta;
- [RF014] Cadastrar preferências usuário
- [RF015] Gerenciar o estoque;
- [RF016] Página de contatos;
- [RF017] Tela detalhada para um produto em específico;
- [RF018] Barra de busca;
- [RF019] Gerenciar cartões(CRUD);
- [RF020] Gerenciar endereços de entrega(CRUD);
- [RF021] Acompanhar pedido;
- [RF022] Calcular frete;
- [RF022] Gerenciar Transportadoras;
- [RF023] Consultar histórico de pedidos;
- [RF024] Realizar Login com Facebook;
- [RF025] Abrir chat com vendedor;
- [RF026] Retornar produto;
- [RF027] Manusear carrinho de compras;
How much
- (aguardando requisitos funcionais)
- Quanto custa cada parte do sistema?
- Quanto deverá custar todo o sistema?
- Quantas pessoas deverão ser usadas (Equipe) ?
- Qual o valor hora ou mensal de cada profissional?
- Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
Canvas
- O Canvas foi feito utilizando o modelo de Canvas disponibilizado pelo SEBRAE.
- Arquivo Canvas Projeto Ecommerce: Arquivo:CanvasEcommerce.pdf
- 09/03/2021:
- Sistema pode criar automaticamente o padrão de ofertas e vendas? Tipo, o usuário monta os produtos como um Lego e o sistema disponibiliza para uso imediatamente.
- Teremos parceris ou contratação de serviços?
- Sobre os templates, quem fará?
DFD - Diagrama de fluxo de dados
- Arquivo pdf DFD: Mídia:DFDfast.pdf
DER
- Arquivo pdf DER: Arquivo:DERfast.pdf
Requisitos Funcionais
- Identificador: RF004
- Nome:Gerenciar produtos
- Módulo: Administração
- Data de criação: 26/04/2021
- Autor: Matheus Alec Guimaraes Moura
- Versão: 1.0
- Descrição: Esta função determina uma tela do sistema(de acordo com a tela "ManageProduct" do mackup), onde o administrador do sistema tem a opção de realizar um CRUD dos produtos do modo que desejar, o requisito interage diretamente com a tabela de produtos e fotos dos produtos
- Identificador: RF002
- Nome: Autenticar usuários
- Módulo: Autenticação
- Data de criação: 26/04/2021
- Autor: Denise Araújo Santos
- Versão: 1.0
- Descrição: Recebe a requisição de login (email e senha), verifica no depósito usuários (email e senha) e libera o acesso a tela inicial conforme tela 3 e 2 do mockup.
Requisitos Não-funcionais
- Web Design Responsivo;
- Banco de Dados relacional, utilizando o SGBD MariaDB;
- Tempo de carregamento de no máximo 1 segundo;
- Utilização da linguagem PHP;