SlideServe
Menu
Préférences
© SlideServe · v2026

Exemplo de Projeto

sylvana avatar
26 diapositives · 407 Views · Oct 11, 2013

Exemplo de Projeto. Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de regras será bastante simples: Pessoas acima de 18 anos tem crédito e pessoas abaixo de 18 anos não tem crédito. Projeto: Avaliação de Crédito.

Exemplo de Projeto - slide 1
01 / 26Exemplo de Projeto
1 / 17

Télécharger la présentation

Exemplo de Projeto
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Exemplo de Projeto • Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; • Nosso primeiro conjunto de regras será bastante simples: • Pessoas acima de 18 anos tem crédito e pessoas abaixo de 18 anos não tem crédito.

  2. Projeto: Avaliação de Crédito • 1) Criar um novo Rule Project; • 2) Clicar no botão Next;

  3. Projeto: Avaliação de Crédito • 3) Selecionar as 4 primeiras opções, para que um código esqueleto seja gerado automaticamente;

  4. Se você quiser testar se o Drools está funcionando, executar os arquivos: • DroolsTest: teste do Drools; • DecisionTableTest: teste da geração de regras a partir de tabelas de decisão (arquivo Sample.xls).

  5. Projeto: Avaliação de Crédito • 4) Vamos criar do zero um novo arquivo de regrar; • 5) Criar um novo pacote com o nome com.credito para armazenar seu código;

  6. Projeto: Avaliação de Crédito • 6) Criar a classe Pessoa que representa a pessoa que pode ou não receber crédito;

  7. Projeto: Avaliação de Crédito • 7) Criar os campos da pessoa: nome, idade, sexo, comidaPredileta, dataCarteira: • package com.credito; • import java.util.Date; • publicclass Pessoa { • private String nome; • privateint idade; • privatechar sexo; • private String comidaPredileta; • private Date dataCarteira; • }

  8. Projeto: Avaliação de Crédito • 8) Gerar o construtor usando o menu Source > Generate Constructor Using Fields.

  9. Projeto: Avaliação de Crédito • 9) Você vai ter um construtor semelhante a este: • public Pessoa(String nome, int idade, char sexo, String comidaPredileta, • Date dataCarteira) { • super(); • this.nome = nome; • this.idade = idade; • this.sexo = sexo; • this.comidaPredileta = comidaPredileta; • this.dataCarteira = dataCarteira; • }

  10. Projeto: Avaliação de Crédito • 10) Gerar os getters para cada campo. Não é necessária a geração dos setters, por enquanto.

  11. Projeto: Avaliação de Crédito • 11) Criar uma classe agora para armazenar tipos de comidas: • package com.credito; • publicclass Comida { • private String nome; • privateint calorias; • public Comida(String nome, int calorias) { • super(); • this.nome = nome; • this.calorias = calorias; • } • public String getNome() { • return nome; • } • publicint getCalorias() { • return calorias; • } • }

  12. Projeto: Avaliação de Crédito • 12) Vamos criar agora as regras. Criar um novo pacote de regras dentro do pacote com.credito dentro da pasta credito/src/rules;

  13. Projeto: Avaliação de Crédito • 13) Criar duas regras simples: • package com.credito • import com.credito.Pessoa; • import com.credito.Comida; • rule "Permite Crédito" • when • $p : Pessoa(idade >= 18) • then • System.out.println("Crédito Permitido para: " + $p.getNome() ); • end • # continua...

  14. Projeto: Avaliação de Crédito • rule "Crédito Negado" • when • Pessoa( $nome : nome, idade < 18) • then • System.out.println("Crédito Negado para: " + $nome); • end

  15. Projeto: Avaliação de Crédito • 14) Observar que: • Tem autocompletar via CTRL + <espaço>; • Os problemas são indicados na aba Problems; • SALVE SEMPRE!

  16. Projeto: Avaliação de Crédito • 15) Crie uma nova classe CreditoExemplo dentro do pacote com.credito. Coloque método main nesta classe.

  17. Projeto: Avaliação de Crédito • 16) Colocar os Imports necessários: • import java.io.IOException; • import java.io.InputStreamReader; • import org.drools.RuleBase; • import org.drools.RuleBaseFactory; • import org.drools.WorkingMemory; • import org.drools.compiler.DroolsParserException; • import org.drools.compiler.PackageBuilder; • import java.text.DateFormat; • import java.text.ParseException; • import java.text.SimpleDateFormat; • import java.util.Date; • ...

  18. Projeto: Avaliação de Crédito • 17) Carregar um pacotes de regras: • PackageBuilder builder = new PackageBuilder(); • builder.addPackageFromDrl(new InputStreamReader(CreditoExemplo.class.getResourceAsStream("/credito.drl")));

  19. Projeto: Avaliação de Crédito • 18) Criar uma nova base de regras a partir do pacote e carregar as regras dentro da memória de trabalho: • RuleBase ruleBase = RuleBaseFactory.newRuleBase(); • ruleBase.addPackage(builder.getPackage()); • WorkingMemory workingMemory = ruleBase.newStatefulSession();

  20. Projeto: Avaliação de Crédito • 19) Colocar os fatos na memória de trabalho e disparar as regras: • Pessoa alberto = new Pessoa("Alberto", 23, 'M', "Banana", formataData("12/03/2001")); • Pessoa bernardo = new Pessoa("Bernardo", 17, 'M', "Maça", formataData("15/12/2000")); • //... • workingMemory.insert(alberto); • workingMemory.insert(bernardo); • workingMemory.fireAllRules();

  21. Projeto: Avaliação de Crédito • 20) Observar a resposta obtida: • Crédito Negado para: Bernardo • Crédito Permitido para: Alberto

  22. Projeto: Avaliação de CréditoMais exemplos de regras • rule "Comida muito calórica" • when • $p: Pessoa ($gostaDe: comidaPredileta) • $c: Comida ( nome == $gostaDe, calorias >= 500) • then • System.out.println("Pense Bem! " + $p.getNome() + " come comidas muito gordurosas!"); • retract($p); • end

  23. Projeto: Avaliação de CréditoMais exemplos de regras • rule "Idade suspeita" • when • $p: Pessoa( idade > 99) • then • System.out.println(“Ei, “+$p.getNome()+” está mentindo a idade!"); • $p.setIdade(0); • update($p); • end