Sem resumo de edição |
|||
| (23 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
| Linha 303: | Linha 303: | ||
== Diagrama de Classes == | == Diagrama de Classes == | ||
[[Arquivo:Diagrama de Classes.jpeg]] | |||
== Diagrama de Casos de Uso == | == Diagrama de Casos de Uso == | ||
[[Arquivo:UseCase.png]] | |||
== Diagrama de Interfaces == | == Diagrama de Interfaces == | ||
'''Interfaces''' | |||
O papel da interface na modelagem UML, é de definir operações ou comportamentos que elementos do modelo de classes devem obrigatoriamente executar. | |||
Utilizando o sistema de interfaces é possível mostrar no modelo determinados elementos, porem ocultando certas informações, como por exemplo o código utilizado para implementação da função, sendo possível então manter em sigilo certas informações sobre o cliente. | |||
*Interfaces fornecidas: | |||
As interfaces fornecidas são caracterizadas por apresentarem as funções que o administrador fornece aos usuários. | |||
*Interfaces requeridas: | |||
São chamadas interfaces requeridas as interfaces que o administrador utilizar para trabalhar, ou seja, realizar suas funções para com os usuários. | |||
*Representação das Interfaces: | |||
[[Arquivo:RepresentarInterface.jpg]] | |||
*Exemplo de um diagrama de classes utilizando interfaces: | |||
[[Arquivo:RepInterfaces.jpg]] | |||
<br> | <br> | ||
Edição atual tal como às 02h57min de 3 de dezembro de 2015
5W2H
Pequenos Tópicos
- Aspectos a serem avaliados:
- Que tipos de pessoas diferentes irão usar/operar este sistema?
- Todos os tipos de pessoas irão utilizar o sistema, desde crianças há idosos.
- Se o garçom é dispensável, significa que ele mesmo fará os pedidos?
- No inicio, enquanto o sistema não for implementado para todos os tipos de smartphones, sera necessário um funcionário levar um tablet com o sistema ate o cliente para que ele faça o pedido, porem quando o sistema para smartphones estiver disponível, o cliente poderá fazer o pedido do seu próprio aparelho móvel, dispensando o garçom.
- O proprietário terá informações detalhadas sobre a negócio (vendas, compras, pedidos, gastos, etc)?
- Sim, o administrador terá acesso total sobre os negócios.
- A cozinha terá interface para controlar os pedidos?
- Sim, a cozinha terá a interface para ver o pedido que tem quer ser feito, e o funcionário da cozinha dará um aviso ao termino do produto (o que alguém levara o pedido ao cliente e fara o desconto de ingredientes no deposito).
- Farão autenticação pelo Face, Google ou outro sistema qualquer?
- O sistema, ao cadastrar um cliente fara a autentificação do mesmo pelo Facebook.
- O sistema ficará armazenado num servidor na empresa ou na nuvem?
- Inicialmente sera num servidor local, na empresa, porem quando for expandido para todos os clientes baixarem, devera ser mudado para algum servidor na nuvem para poder atender os clientes em casa.
- O sistema controlará vendas as clientes, e as compras também serão controladas?
- Sim, o administrador do local terá uma visão geral de tudo, poderá ter acesso a todos os depósitos de dados feitos;
- O fornecedor terá algum acesso a este sistema?
- Inicialmente não, pois o administrador fará as comprar (ou dependendo da empresa, algum funcionário dedicado) e o repositor atualizara o estoque quando necessário.
- Este sistema pretende fazer previsão de compras?
- Não, nesta faze do projeto não fará previsão de compras, talvez em alguma manutenção futura, dependendo da empresa onde for aplicado.
- Que tipos de pessoas diferentes irão usar/operar este sistema?
What
- 1. Qual o nome do seu projeto?
- O nome do projeto é ICM (Inventory Control and Menu).
- 2. Qual o objetivo deste projeto?
- Este projeto tem a finalidade de desenvolver um sistema que integra um cardápio eletrônico ao um software de controle de estoque, e oferece maior facilidade, praticidade e agilidade para o atendimento ao cliente.
- O projeto consiste em aplicar em um hardware, um software que une várias funções, dentre elas, usando como exemplo uma lanchonete açaí, o software inicialmente estará em um tablet, onde o garçom leva ao cliente, e o cardápio estará incorporado no tablet, o cliente fara o pedido de seu lanche diretamente no tablet, onde por uma rede interna que ficara ligado o tablet e os demais hardwares, o pedido do cliente será mandado instantaneamente para o funcionário que fara seu o lanche, onde o qual, ao termino do lanche, apertara um comando que chamara o garçom para a entrega do lanche e automaticamente fara o desconto dos itens gastos ao deposito e enviara ao caixa a comanda com os valores e itens vendidos.
- Mais futuramente o dono do produto (este projeto) poderá implantar outras funções, dentre as quais seria possível desenvolver um aplicativo onde qualquer pessoa possa baixar em seu smartphone ou tablet e fazer o pedido e o pagamento do produto direto de sua casa, agilizando ainda mais a entrega de seu pedido.
- 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
- Um dos maiores desafios nesse projetos, será como impedir ¨trotes¨, como no caso de o cliente querer fazer o pedido de casa, como impedir que esse pedido não seja falso.
- 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
- Precisamos ter o conhecimento a respeito a linguagens de programação para smartphone e computadores, para fazer a criação do software.
- 5. Quais soluções similares existem no mercado?
- Hoje no mercado já existem várias soluções para um cardápio eletrônico, e vários programas de controle de estoque, mas existem pouquíssimas que unem as duas soluções.
- Uma das soluções disponíveis no mercado é a eComanda que disponibiliza o aplicativo de cardápio eletrônico para android e iOS, e dispensa o gasto do estabelecimento com tablets pois o cliente usa o próprio smartphone, oferecendo a facilidade de fazer o pedido de onde ele estiver. O cardápio está ligado ao estoque, garantindo sua integridade em tempo real.
- Quanto à soluções de cardápio sem o controle de estoque existem várias, que apenas enviam o pedido diretamente à cozinha do estabelecimento, e quando o produtor estiver pronto o cozinheiro aperta um botão que avisa o garçom.
Why
- 1. Porque é interessante desenvolver este projeto?
- É interessante desenvolver esse projeto pois otimizara o atendimento dos clientes, dispensara a função de um funcionário (diminuindo o gasto da empresa) e acelerara o processamento do caixa.
- 2. Porque deve usar a tecnologia escolhida?
- É interessante usar a tecnologia em smartphone pois, alem de poder deixar o aplicativo hospedado em alguma loja Play ou site para disponibilizar o download, o fato de estar em plataformas moveis, faz com que aumente a praticidade e conforto na hora de fazer seu pedido.
- 3. Porque usar o hardware específico?
- É interessante usar o hardware escolhido (tablets e smartphones), pois estes aparelhos oferecem mobilidade para o cliente efetuar o pedido de onde quiser e quando quiser, e é possível desenvolver interfaces gráficas de fácil manuseio tanto para o cliente quanto para os administradores do sistema (no caso o gerente do comércio).
- 4. Porque usar o sistema específico?
- Utilizar o sistema em uma loja ou site especifico facilita para o cliente, achar o aplicativo, alem de ser mais pratico.
Who
- 1. Quem pode se beneficiar deste projeto?
- Inicialmente o dono do estabelecimento, pois dispensara a função do garçom, alem de que ira agilizar o "caixa" e ficara mais fácil fazer o pedido, beneficiando o cliente.
- 2. Quem poderá operar o sistema?
- Poderão operar o sistema os clientes do local, o "caixa", o funcionário que fará o pedido e o gerente.
- 3. Quem deverá participar do desenvolvimento do sistema?
- Deverão participar do desenvolvimento do sistema, os integrantes do grupo da disciplina de ESOF, o professor orientador e o gerente da loja para qual o projeto sera desenvolvido.
Where
- 1. Onde os dados serão inseridos?
- Os dados serão inseridos pelo cliente por um tablet e serão guardados em um banco de dados e enviados ao display onde o funcionário designado produzira o produto;
- 2. Onde os dados serão externalizados, publicados?
- Os dados serão externalizados no "caixa", onde sera feito o pagamento e emissão do cupom fiscal, e depois guardados para fins de "fechamento de caixa".
- 3. Onde esta aplicação poderá ser usada?
- Esta aplicação poderá ser usada em restaurantes, lanchonetes, bares, em geral, casas alimentícias.
- 4. Onde os dados serão armazenadas?
- Os únicos dados que terão de ser armazenados são os emitidos em cupons fiscais, para fins de fechamento de caixa e os dados da quantidade de itens em estoque, então um sistema de banco de dados bem básico já sera suficiente.
- 5. Onde o software deverá ser hospedado?
- O software poderá ser hospedado inicialmente em um computador restrito a loja, pois no inicio, não sera necessário o cliente ter o software em seu smartphone, porém, mais a frente o software devera ser armazenado em alguma loja Play ou em algum site que possa ser feito o download do mesmo.
When
- 1. Em quanto tempo pretende desenvolver o sistema?
- Não é possível determinar um tempo preciso por se tratar de um projeto de desenvolvimento de software e de implementação em Hardware, porem levando em conta a quantidade de integrantes trabalhando no projeto pode-se estimar uma duração de 4 meses até o termino do mesmo.
- 2. Quais serão as fases e em quanto tempo cada uma?
- O projeto será dividido em duas fases, sendo elas:
- 1ª Fase: Será priorizado nesta primeira fase do projeto o desenvolvimento do software na plataforma Android e IOS que permita ao dono do estabelecimento que adquiriu o programa cadastrar seu próprio cardápio de maneira simplificada e que de ao seu cliente a possibilidade de visualizar fotos, preços e informações gerais sobre os pratos disponíveis no cardápio.
- 2ª Fase: Com o software já desenvolvido pode-se pensar em disponibilizar para download o aplicativo do estabelecimento, onde o próprio cliente após fazer o download do aplicativo faz seus pedidos direto do seu celular ou tablet.
- 3. Qual o tempo de resposta do dispositivo ou do sistema?
- Por se tratar de um dispositivo de resposta rápida, o tempo resposta é de cerca de 1 segundo.
- 4. Quanto tempo para responder a uma entrada?
- Um tempo médio de 5 segundos.
- 5. Quanto tempo para gerar a saída?
- Um tempo médio de 5 segundos.
How
- 1. Como será dividido o desenvolvimento do sistema?
- O sistema será divido em atualizar clientes, atualizar estoque, produzir pedidos, dentre outras funções.
- 2. Como será feita a entrada de dados?
- A entrada de dados será feita por um teclado no caso do desktop ou por um smartphone.
- 3. Como será feita a saída de dados?
- A saída de dados será feita por meio da tela de um computador ou de smartphone, além da tela de LCD que ficara na cozinha.
- 4. Descreva a 1a. funcionalidade?
- Atualizar cliente (Cadastro de cliente, deletar cliente, buscar cliente, modificar um cliente, onde o administrador fará alterações no banco onde fica os clientes)
- 5. Descreva a 2a. funcionalidade?
- Fazer pedido (Onde o cliente fará a escolha de seu pedido).
- 6. Descreva a 3a. funcionalidade?
- Verificar estoque (Verifica se os ingredientes necessários para fazer o pedido estão disponíveis).
- 7. Descreva a 4a. funcionalidade?
- Produzir pedido (Visto que os ingredientes necessários para fazer o pedido se encontram disponíveis, haverá a produção do produto).
- 8. Descreva a 5a. funcionalidade?
- Entregar pedido (O pedido será entregue ao cliente no próprio local ou será feita a entrega).
- 9. Descreva a 6a. funcionalidade?
- Realizar entrega (O produto destinado a entrega em domicilio, estará com o entregar que o levara ao devido lugar).
- 10. Descreva a 7a. funcionalidade?
- Finalizar venda (O valor da comanda do cliente será levada ao caixa, onde será feito o pagamento do produto).
- 11. Descreva a 8a. funcionalidade?
- Devolver pedido (O produto quer for devolvido ao estabelecimento por algum motivo, será levado a um deposito).
- 12. Descreva a 9a. funcionalidade?
- Alertar falta (O sistema verificara o estoque a cada produto feito, e se algum alimento estiver "perto da falta" será emitido ao administrador um aviso para comprar o que virá a faltar).
- 13. Descreva a 10a. funcionalidade?
- Atualizar Estoque (Feito as compras pelo administrador, o repositor ira repor os produtos em falta no estoque).
- 14. Descreva a 11a. funcionalidade?
- Autentificar cliente (Fará a autenticação do cliente pelo Facebook na hora do cadastro do mesmo).
- 15. Descreva a 12a. funcionalidade?
- Verificar vendas (O Administrador do local poderá ver e fazer alterações nas vendas realizadas).
How much
- 1. Quanto custa cada parte do sistema?
- O sistema poderá ser utilizado em tablets, que possuem um valor médio de R$1.000,00, há também o custo de manutenção do sistema R$150,00 mensais.
- 2. Quanto deverá custar todo o sistema?
- O preço médio total do sistema é de R$4.200,00, que está sujeito há alteração de acordo com a demanda do estabelecimento contratante.
- 3. Quantas pessoas deverão ser usadas (Equipe) ?
- Serão utilizadas 4 pessoas, 1 engenheiro, 1 dsigner e 2 programadores.
- 4. Quanto custa cada profissional?
- Engenheiro de Software – R$15.000,00
- Designer de interfaces – R$1.600,00
- Programador – R$5.000,00
- 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
- O preço final do produto para aquisição é de R$90.000,00 mediante negociação.
Modelo Estruturado
DFD
- Processso
- Depósitos
- Fluxos
Arquivo:DFD - Controle de Estoque.pdf
DER
- Entidades
- Relacionamentos
- Chaves
- Domínios
Arquivo:DER - Controle de Estoque.pdf
DD
- Descritivos de cada item
- Significado
- Conteúdo (Dados compostos)
- Restrições de integridade
- Chave primária (Depósitos de Dados)
Dicionário de Dados
Processos
Processo 01: Atualizar Clientes [Cliente, ADM]
- Solicita e-mail e senha;
- Pesquisa no Deposito de Clientes.
- Se encontrar: próximo passo;
- Se não encontrar: Conectar e autenticar usuário pelo Facebook, ou fazer cadastro do cliente na própria empresa.
- Cadastro pela empresa: Recebe dados do cliente: email, senha, endereço, telefone.
- Mostrar dados do cliente;
- Retornar ao menu principal;
Processo 02: Autenticar Facebook.
- Enviar e-mail/senha do cliente para o facebook;
- Receber principais dados do usuário (nome, data de nascimento, sexo, etc.);
- Verificar o site para autenticação pelo face:
https://kamaondev.wordpress.com/2011/01/24/como-implementar-login-com-facebook-oauth-2-0-parte-1/
Processo 03: Fazer pedidos [Clientes]
- Cliente faz a escolha do seu pedido pelo cardápio eletrônico;
- O sistema chama outra função para verificar a veracidade do pedido via SMS;
- Confirmado, o pedido será depositado no deposito Pedidos;
Processo 04: Checar Trote
- Manda uma confirmação de pedido pelo sistema de SMS.
Processo 05: Verificar Estoque
- Lê os pedidos no depósito Pedidos.
- Verifica se tem os ingredientes necessários para fazer o pedido.
- Desconta do depósito os ingredientes que serão utilizados no produto.
- Envia o pedido para o deposito Cozinha pra ser feito.
Processo 06: Produzir Pedido
- Le do deposito Cozinha os pedidos a serem feitos e os apresenta em um display para o funcionário responsável pela produção.
- Feito o produto, o funcionário irá “Confirmar” que foi feito, e então o software coloca no deposito Bancada o produto para que possa ser entregue.
Processo 07: Entregar Pedido [Entregador]
- Le do deposito Bancada os pedidos prontos e chama o funcionário responsável pela entrega do pedido.
- O funcionário entrega o pedido diretamente para o cliente que está na loja, ou o entregar ficará responsável pela entrega a domicilio.
Processo 08: Realizar Entrega
- O funcionário destinado para esta função, fara a entrega do produto na casa do cliente.
Processo 09: Devolver Pedido [Cliente]
- Esta função ira registrar o item que foi devolvido, o motivo pela devolução e o cliente que a devolveu, guardando os dados em um deposito (Devoluções).
Processo 10: Finalizar Venda [Funcionário – Caixa]
- Le no depósito os pedidos feitos.
- Calcula o valor do pagamento a ser feito.
- Salva em Vendas os peidos pagos.
- Gera o cupom fiscal para ser entregue ao cliente.
- Função do recebimento do pagamento feita pelo funcionário do caixa.
Processo 11: Gerar Relatórios [Administrador]
- Função ativada pelo administrador.
- Le no deposito Vendas e gera um relatório para o administrador da empresa.
Processo 12: Atualizar Estoque [Repositor]
- Feito a reposição, o funcionário terá uma tela pra inserção dos novos ingredientes colocados no deposito da empresa, para manter o sistema atualizado e fazer o controle de estoque.
Processo 13: Alertar Falta [Administrador]
- Verifica periodicamente o deposito, para quando estiver em falta de algo, ou determinado produto ter atingido o limite mínimo, avisar o administrador para fazer a compra destes.
Depositos
Clientes:
- Email: nome@dominio
- Nome: string
- Endereço: string
- Telefone: (_ _) _ _ _ _ - _ _ _ _ (números)
- Celular: (_ _) _ _ _ _ - _ _ _ _ (números)
- Então gera um id para salvar o cliente no banco de dados.
Endereço:
- CEP: _ _ _ _ _- _ _ _ (números)
- Rua: string
- Numero: _ _ _ _ _ (números)
- Bairro: string
Deposito:
- Id Produto (números)
- Quantidade do Produto (numero)
Pedidos:
- Número do Pedido (numero)
- Id Cliente (números)
- Id Deposito (id do produto que será usado)
- Id Devolução (gera um id com letras e números para o item devolvido)
- Vendas ID (cria o id para a venda realizada)
Bancada:
- Número do Pedido (número do pedido feito)
- Id do Cliente (id do cliente que fez o pedido)
Devoluções:
- Id Devolução (string)
- Id Cliente (id do cliente que devolveu o pedido)
- Motivo (string para o cliente especificar o porquê devolveu o pedido).
- Data Devolução: _ _ / _ _ / _ _ (números)
Vendas:
- Id Venda (Id da venda realizada)
- Id Produto (Id do produto pedido)
- Data Venda: _ _ / _ _ / _ _
- Id do Cliente
Cozinha:
- Número do Pedido (Número do pedido que tem quer ser feito).
Modelo OO
Diagrama de Classes
Diagrama de Casos de Uso
Diagrama de Interfaces
Interfaces
O papel da interface na modelagem UML, é de definir operações ou comportamentos que elementos do modelo de classes devem obrigatoriamente executar. Utilizando o sistema de interfaces é possível mostrar no modelo determinados elementos, porem ocultando certas informações, como por exemplo o código utilizado para implementação da função, sendo possível então manter em sigilo certas informações sobre o cliente.
- Interfaces fornecidas:
As interfaces fornecidas são caracterizadas por apresentarem as funções que o administrador fornece aos usuários.
- Interfaces requeridas:
São chamadas interfaces requeridas as interfaces que o administrador utilizar para trabalhar, ou seja, realizar suas funções para com os usuários.
- Representação das Interfaces:
- Exemplo de um diagrama de classes utilizando interfaces:


