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)

Upload: ana-prior

Post on 07-Apr-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

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