Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf)...

34
Delicatessen System RG Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves (rtg)

Transcript of Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf)...

Page 1: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Delicatessen System RG

Grupo:Arthur Cireno Rizzo (acr2)Eduardo Menezes Pires (emp)Paulo de Barros e Silva Filho (pbsf)Rafael Loureiro de Carvalho (rlc)Romero Teixeira Gonçalves (rtg)

Monitora:Sara Carvalho da Rocha Brito (scrb2 )

Page 2: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Agenda

1. Escopo2. Planejamento3. Requisitos4. Arquitetura5. Testes6. Execução do programa

Page 3: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Escopo

O Delicatessen System é um sistema eficiente, robusto e correto que, de maneira simples e direta, vem para suprir as necessidades de gerenciamento de uma Delicatessen.

Page 4: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Curiosidade

O termo Delicatessen surgiu a partir do termo em Latim Delicatus, que significa delicadeza

Page 5: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Planejamento

A equipe é composta de cinco integrantes: Arthur Cireno Rizzo – Analista de Sistemas e desenvolvedorEduardo Menezes Pires – Arquiteto de Software e desenvolvedorPaulo de Barros e Silva Filho – Gerente de Projeto e desenvolvedorRafael Loureiro de Carvalho – Subgerente de Projeto e desenvolvedorRomero Teixeira Gonçalves – Analista de Sistemas e desenvolvedor

Recursos do Projeto:

Page 6: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Planejamento

Page 7: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Requisitos

Não-funcionais

•de Produto• Implementado na linguagem JAVA• IDE Eclipse

•de Segurança• Os funcionários terão acesso a apenas um conjunto restrito de

funcionalidades, que compreendem as funções operacionais básicas • Demais funções realizadas somente pelo gerente / administrador

•de Performance• O tempo de retorno das pesquisas não pode ser superior a 5 segundos• A efetivação de uma venda (baixa no estoque) não pode demorar mais

que 2 segundos.• Deverá haver espaço em disco suficiente para cadastros e atualizações

Page 8: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Requisitos

Não-funcionais

•de Usabilidade• O tratamento de exceções deve ser feito de maneira eficiente.• O sistema utiliza uma interface intuitiva• A interface será adaptável ao tipo de usuário do sistema

(segurança)

•de Manutenção• Sistema modularizado (arquitetura em camadas bem definidas)

Page 9: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Requisitos

Funcionais

• Login do funcionário• Faturamento• Consultar produtos• Adicionar produto• Realizar venda• Adicionar cliente• Consultar cliente• Atualizar cliente• Excluir cliente•Cadastrar fornecedor•...

Na seção de arquitetura, detalharemos os casos de uso Login do funcionário e Faturamento

Page 10: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fachada

Negócio

Repositório

Dados

Page 11: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Page 12: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

ArquiteturaFachada

private NegocioFuncionario negocioFuncionario;private NegocioFornecedor negocioFornecedor;private NegocioCliente negocioCliente;private NegocioProduto negocioProduto;private NegocioServico negocioServico;

public Fachada() {this.negocioFuncionario = new NegocioFuncionario();this.negocioFornecedor = new NegocioFornecedor();this.negocioCliente = new NegocioCliente();this.negocioProduto = new NegocioProduto();this.negocioServico = new NegocioServico();}

public List<Fornecedor> consultarFornecedor(String nome)throws SQLException, ClassNotFoundException {return negocioFornecedor.consultarFornecedor(nome);}...

Page 13: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

Page 14: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

Page 15: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

TelaRealizacao Venda Fachada Negócio

ServiçoRepositório

Venda

Arquitetura

Realizar venda

Page 16: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

private void realizarVenda() {...this.fachada.realizarVenda(venda)...

}

TelaRealizacao Venda

Page 17: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Page 18: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Page 19: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Page 20: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

public void realizarVenda(Venda v) throws ClassNotFoundException,SQLException {

negocioServico.realizarVenda(v);

}

Fachada

Page 21: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

public void realizarVenda(Venda v) throws ClassNotFoundException,SQLException {

this.repositorioVenda.inserirVenda(v);

}

Negócio Serviço

Page 22: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Realizar venda

public void inserirVenda(Venda v) throws ClassNotFoundException,SQLException {

Connection connection = Conexao.getConnection();...

}

Repositório Venda

Page 23: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

Page 24: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

Page 25: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

TelaFazer Balanço Fachada

NegocioProduto

Repositório Produto

Arquitetura

Fazer balanço

Page 26: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

double faturamento = 0;

try {faturamento = this.fachada.faturamento(dataI, dataF);} catch (ClassNotFoundException e) {GuiUtil.JanelaErro(this, "Ocorreu um erro inesperado no sistema.");return;} catch (SQLException e) {GuiUtil.JanelaErro(this, "Ocorreu um erro no acesso ao banco de dados.\nErro: "+e.getErrorCode());e.printStackTrace();return;}

TelaFazerBalanco

Page 27: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Page 28: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

public double faturamento(String dataInicial,String dataFinal) throws ClassNotFoundException, SQLException {

return negocioProduto.faturamento(dataInicial, dataFinal);

}

Fachada

Page 29: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

public double faturamento(String dataInicial, String dataFinal) throws ClassNotFoundException, SQLException {

return repositorioProduto.faturamento(dataInicial, dataFinal);}

Negócio Serviço

Page 30: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Arquitetura

Fazer balanço

public double faturamento(String dataInicial, String dataFinal)throws ClassNotFoundException, SQLException {Connection connection = Conexao.getConnection();PreparedStatement prepstmt = connection.prepareStatement(FATURAMENTO);prepstmt.setString(1, dataInicial);prepstmt.setString(2, dataFinal);ResultSet select = prepstmt.executeQuery();double faturamento = 0;if (select.next()) {faturamento = select.getDouble("preco");}Conexao.closeConnection();return faturamento;

}

Repositório Venda

Page 31: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Testes

Page 32: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Testes

Page 33: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Testes

Page 34: Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.

Execução do Programa