A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

MAC 5715 - DesignFest 2003 The Vending Machine Adão M. Alexandre Vidal Carlos Alexandre Gustavo Maia José Ribamar Braga Raphael Camargo Renato S.

Apresentações semelhantes


Apresentação em tema: "MAC 5715 - DesignFest 2003 The Vending Machine Adão M. Alexandre Vidal Carlos Alexandre Gustavo Maia José Ribamar Braga Raphael Camargo Renato S."— Transcrição da apresentação:

1 MAC 5715 - DesignFest 2003 The Vending Machine Adão M. Alexandre Vidal Carlos Alexandre Gustavo Maia José Ribamar Braga Raphael Camargo Renato S.

2 Resumo Descrição do Problema Descrição dos Módulos do Sistema Diagramas de Seqüência Conclusões

3 Problema: The Vending Machine Objetivo: Criar o software para uma máquina de venda de café. A parte mecânica será tratado por um grupo de projetistas mecânicos. Será vendido café com ou sem creme e açúcar. Haverá um botão para cada uma das opções, além de um botão de troco. O pagamento será feito em moedas e a máquina retornará troco.

4 Solução: Módulos do Sistema O sistema está dividido em seis módulos:  Dispositivos  Financeiro  Interface com Usuário  Produto  Transação de Compra  Exceções

5 Módulo Dispositivos É composto por quatro classes principais:  Misturador: Interface para o sistema que compõe e entrega os produtos  Coletor de Pagamento: Controla o crédito que foi inserido na máquina. Na parte 1, ela é instanciada por uma classe que controla a quantidade e tipo de moedas inseridas na máquina  Cofre: É onde o dinheiro é armazenado. Na parte 1 é instanciado como um cofre de dinheiro. As instâncias destas e outras classes do sistema são criadas utilizando uma fábrica (padrão factory)

6 Módulo: Dispositivos

7 Módulo: Financeiro  Caixa: É responsável por controlar a parte financeira, como o crédito e a quantidade de troco disponível. Interage com classes do módulo dispositivos, como cofre e coletor de pagamento. Para garantir que sempre existe apenas uma instância de caixa no sistema, é utilizado o padrão Singleton.

8 Módulo: Interface com Usuário É composto por duas classes principais: Botão: Interface que pode ser instanciada como botões de seleção de produto e de troco. Painel: Controla os botões para seleção dos produtos e de troco. Na parte 1 ela é instanciada como uma painel padrão.

9 Módulo: Produto Possui uma classe Produto que é composta por uma ou mais instâncias de Item.

10 Módulo: Transação de Compra Para cada transação realizada é instanciado um novo objeto do tipo Compra. Ele recebe informações provindas do painel, caixa e produto, e solicita a preparação do produto solicitado e o débito de seu valor.

11 Módulo: Exceções As exceções são derivadas de uma superclasse Excecoes e correspondem aos diferentes tipos de erros que podem ocorrer no sistema. Em Java, a classe Excecoes corresponderia à classe Exception.

12 Diagrama de Sequência: Compra bem Sucedida

13 Produto Inexistente Saldo Insuficiente

14 Falha no Dispositivo Troco Indisponível

15 Extensões: Partes II e III Parte II: Adicionar sopa a $0.25 como sendo mais uma opção de produto.  Solução: Basta criar um novo tipo de produto de tipo sopa e um item póSopa. Como o preço fica dentro da classe sopa o novo preço não causa dificuldades. Parte III: Adicionar um leitor de cartão que cobra o valor do produto diretamente da conta do cliente.  Solução: Criar um novo tipo de subclasse para ColetorPagamento que lê o código do cartão e se comunica com um módulo de rede para obter crédito e subtrair os valores da conta do usuário.

16 Extensões: Parte IV Parte IV: Adicionar pó de café expresso e milk steamer. Também estará disponível um produto da semana, como café expresso por $0.75. O painel será substituído por um display LCD.  Solução: A adição de novos produtos e itens é similar à parte II. Para substituir o painel tradicional pelo LCD, basta criar uma nova subclasse de painel denominada painelLCD com a funcionalidade deste painel.

17 Conclusões Foram utilizados dois padrões de projeto, o Singleton e Factory. A adição de novos tipos de produtos e outras formas de pagamento foi bastante simples em nosso sistema em função do design OO flexível.


Carregar ppt "MAC 5715 - DesignFest 2003 The Vending Machine Adão M. Alexandre Vidal Carlos Alexandre Gustavo Maia José Ribamar Braga Raphael Camargo Renato S."

Apresentações semelhantes


Anúncios Google