61
ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO SENSU EM ENGENHARIA DE SISTEMAS RUTIMAR GONZAGA CHAVES MARTINS MODELAGEM ORIENTADA A OBJETOS Modelo de Classes VITÓRIA – ES 2009

ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

Embed Size (px)

Citation preview

Page 1: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB

LATO SENSU EM ENGENHARIA DE SISTEMAS

RUTIMAR GONZAGA CHAVES MARTINS

MODELAGEM ORIENTADA A OBJETOS

Modelo de Classes

VITÓRIA – ES 2009

Page 2: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

RUTIMAR GONZAGA CHAVES MARTINS

MODELAGEM ORIENTADA A OBJETOS

Modelo de Classes

Monografia apresentada à ESAB – Escola Superior Aberta do Brasil, sob orientação

da Prof ª Beatriz Christo Gobbi.

VITÓRIA – ES 2009

Page 3: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

RUTIMAR GONZAGA CHAVES MARTINS

MODELAGEM ORIENTADA A OBJETOS

Modelo de Classes

Aprovada em .........de ...................de 2009

__________________________________________

__________________________________________

__________________________________________

VITÓRIA – ES 2009

Page 4: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

À DEUS por permitir mais esta realização...

À meu marido por estar ao meu lado como

colega de curso, incentivando e motivando.

Page 5: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

AGRADECIMENTOS

Aos colegas da Empresa onde trabalho por suas

contribuições com idéias e opiniões ao conteúdo

deste estudo.

Page 6: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

“As grandes idéias são aquelas nas quais a única

coisa que nos surpreende é que não nos tivessem

ocorrido antes.”

(Noel Clarasó, escritor espanhol)

Page 7: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

RESUMO

O estudo teve como objetivo descrever os conceitos básicos da orientação a objetos aplicados na fase de modelagem, especificamente com foco no modelo de classes. Para tal, foram realizadas pesquisas exploratórias através de livros, sites da internet e trabalhos científicos sobre a modelagem orientada a objetos e sua aplicabilidade na definição de modelos do problema. Com a finalidade de apresentar de forma prática a utilização da modelagem orientada a objetos, optou-se por realizar o estudo de caso “Alerta cadastral na Concessão de Crédito”, onde são descritos, passo a passo, os procedimentos necessários para o surgimento e o progresso do modelo de classes. Com o desenrolar da pesquisa, pode-se identificar as principais vantagens da utilização da metodologia orientada a objetos, tais como a estruturação da informação de uma forma lógica e um melhor gerenciamento da complexidade.

Page 8: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

LISTA DE FIGURAS

Figura 1 – Classe Concreta.......................................................................................27

Figura 2 - Classe Abstrata.........................................................................................27

Figura 3 - Relacionamento entre classes ..................................................................27

Figura 4 – Associação entre classes.........................................................................30

Figura 5 - Classe de Associação...............................................................................30

Figura 6 - Multiplicidade um ou mais (1..*) ................................................................31

Figura 7 - Representação gráfica para Generalização..............................................32

Figura 8 - Exemplo de Generalização entre classes .................................................32

Figura 9 - Herança entre classes ..............................................................................34

Figura 10 – Relacionamento entre classes - Agregação...........................................35

Figura 11 - Relacionamento entre classes – Composição ........................................36

Figura 12 -Composição e Associação.......................................................................36

Figura 13 - Fluxo do processo de Alerta Cadastral ...................................................40

Figura 14 – Classes do sistema ................................................................................48

Figura 15 - Relacionamento entre Proponente e Proposta de negócio.....................49

Figura 16 - Relacionamento entre Proposta de negócio e verificação ......................49

Figura 17 - Diagrama de Classes (Estruturas e Relacionamentos)...........................51

Figura 18 - Atributos de Proponente e Proposta de negócio.....................................52

Figura 19 - Diagrama de Classes - atributos.............................................................53

Figura 20 - Diagrama de Classes (métodos).............................................................54

Figura 21 - Novos objetos do relacionamento: Proposta de negócio e Verificação...55

Figura 22 - Novo objeto da generalização de Proponente e Cliente .........................56

Figura 23 - Diagrama de Classes (completo) ............................................................57

Page 9: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

LISTA DE SIGLAS

OO Orientação a Objetos

IF Instituições Financeiras

UML Unified Modeling Language

BDC Base de dados de clientes

OMG Object Management Group

OMT Object ModelingTechnology

OOSE Oriented Software Engineering

Page 10: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

SUMÁRIO

INTRODUÇÃO ..................................................................................... 12

I CONCEITOS BÁSICOS DA ORIENTAÇÃO A OBJETOS .......... ... 15

I.1 ABSTRAÇÃO ............................................................................ 15

I.2 OBJETOS E CLASSES............................................................. 16

I.2.1 Classes................................................................................... 18

I.2.2 Atributos ................................................................................. 20

I.2.3 Métodos.................................................................................. 21

I.2.4 Hierarquia............................................................................... 22

I.3 ENCAPSULAMENTO................................................................ 22

I.4 UML - Unified Modeling Language ............................................ 24

I.5 DIAGRAMA DE CLASSES........................................................ 25

I.6 RELACIONAMENTO ENTRE CLASSES .................................. 28

I.6.1 Associação ............................................................................. 29

I.6.2 Multiplicidade.......................................................................... 30

I.6.3 Generalização/especialização e Herança.............................. 31

I.6.4 Agregação .............................................................................. 34

I.6.5 Composição............................................................................ 35

II O “ALERTA CADASTRAL NA CONCESSÃO DE CRÉDITO” ...... 3 7

II.1 CONSIDERAÇÕES INICIAIS .................................................... 37

II.2 OBJETIVOS .............................................................................. 39

II.3 REQUISITOS ............................................................................ 39

II.3.1 Proposta de negócio ............................................................ 41

II.3.2 Fontes internas .................................................................... 42

II.3.3 Verificação de dados ........................................................... 42

II.3.4 Alerta de fraude ................................................................... 44

II.4 PREMISSAS ............................................................................. 44

Page 11: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

II.5 FUNCIONALIDADES ................................................................ 45

III DESENVOLVIMENTO DO MODELO DE CLASSES .......... ............ 46

III.1 IDENTIFICAR AS CLASSES E OS OBJETOS.......................... 47

III.2 IDENTIFICAR AS ESTRUTURAS E OS RELACIONAMENTOS 49

III.3 IDENTIFICAR OS ATRIBUTOS IMPORTANTES...................... 52

III.4 IDENTIFICAR MÉTODOS......................................................... 53

III.5 NOVOS OBJETOS.................................................................... 54

III.6 O MODELO COMPLETO .......................................................... 57

REFERÊNCIAS BIBLIOGRÁFICAS ......................... ........................... 60

Page 12: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

12

INTRODUÇÃO

Palavras chave: Modelagem orientada a objetos, Modelo de classes, Diagrama de Classes.

A característica cada vez mais complexa da construção de sistemas de informação

vem requerendo a utilização de metodologias capazes de estruturar a informação de

uma forma lógica, permitindo um mapeamento direto da semântica do domínio do

problema para o modelo a ser desenvolvido. Sistemas de alta complexidade pedem

por ferramentas de desenvolvimento drasticamente diferentes de 20 anos atrás. Os

principais objetivos que se tem buscado são um melhor gerenciamento da

complexidade, melhor qualidade, desenvolvimento mais rápido e facilidade de

manutenção, adaptação e ampliação. A metodologia que tem se firmado no mercado

e tem demonstrado atender às necessidades almejadas, é a orientação a objetos

(OO).

Orientação a objetos é um termo que descreve uma série de técnicas para estruturar

soluções para problemas computacionais. A OO, de maneira simples, é uma

abordagem para o desenvolvimento de sistemas, que traduz o problema no mundo

real como um conjunto de objetos, possuindo princípios e conceitos específicos bem

diferentes das tradicionais metodologias. Estes princípios e conceitos são capazes

de subsidiar todo o processo de desenvolvimento da aplicação, desde a concepção,

a análise, até a implementação.

Existe uma tendência para o desenvolvimento de sistemas focados na

implementação, no entanto vêm-se constatando as recompensas com o tempo gasto

com a fase de modelagem, como também a importância dos modelos para

representação do problema. Os modelos são considerados abstrações elaboradas

para entender o problema, antes de implementar uma solução. A representação do

problema em modelos orientados a objetos permite uma compreensão mais clara do

mesmo, e é muito útil para comunicação com os especialistas da aplicação e

Page 13: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

13

desenvolvedores, sendo o modelo de classes considerado o principal modelo a ser

desenvolvido. Este trabalho apresenta um estudo de caso sobre o problema do

“Alerta cadastral na concessão de crédito”, descrito no capítulo II. Onde foi

considerado como adequado para sua a modelagem a utilização da metodologia

orientada a objetos.

O “Alerta cadastral na concessão de crédito” foi escolhido como estudo de caso por

se tratar de um problema real apresentado na empresa onde trabalho. A

necessidade de obter uma aplicação de melhor qualidade foi o que motivou a busca

dos conhecimentos da orientação a objeto e ao desenvolvimento deste trabalho.

Objetivando apresentar de forma prática a utilização da modelagem sobre a visão de

objetos e com isso demonstrando a importância desta abordagem. Especificamente

descreve-se o processo de desenvolvimento de um modelo de classes, não se

preocupando em citar os outros modelos que compõe a abordagem OO.

No capítulo I são apresentados os principais conceitos da orientação a objetos

relacionados à fase de modelagem de classes. É utilizada como linguagem de

notação gráfica a UML (Unified Modeling Language), que é considerada uma

padronização dos métodos de desenvolvimento de sistemas baseados na orientação

a objetos. A UML incorpora as noções do desenvolvimento de software totalmente

visual.

Após apresentação dos conceitos da orientação a objetos, é descrito no capítulo II o

contexto, requisitos e funcionalidades do problema do “Alerta cadastral na

concessão de crédito”. No terceiro e último capítulo descreve-se o desenvolvimento

do modelo de classes.

Para desenvolvimento do estudo foi utilizada a metodologia de pesquisa exploratória

através de livros, sites da internet e trabalhos científicos relacionados ao tema

“modelagem orientada a objetos”. E para embasamento sobre o problema do “Alerta

cadastral na concessão de crédito” foram utilizadas informações adquiridas em

reuniões e entrevistas com os analistas da IF (Instituição Financeira), assim como

Page 14: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

14

documentos preparados pelos mesmos com informações sobre o contexto do

problema.

Page 15: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

15

I CONCEITOS BÁSICOS DA ORIENTAÇÃO A OBJETOS

Segundo Blaha e Rumbaugh (2006), um modelo de classes representa a estrutura

estática de um sistema, pois caracteriza os objetos no sistema, os relacionamentos

entre eles, os atributos e as operações para cada classe dos objetos. O modelo de

classe é representado graficamente de uma forma intuitiva, sendo de extrema

importância para comunicação com os usuários solicitantes do sistema.

Encontramos nomenclaturas e definições diferenciadas em cada autor estudado,

portanto o que será apresentado é que foi considerado de mais importante para o

trabalho em questão.

Nas seções seguintes será descrito cada um dos conceitos da orientação a objeto.

Os conceitos abordados serão os especificamente necessários para o

desenvolvimento de um modelo de classes OO.

I.1 ABSTRAÇÃO

A abstração baseia-se em voltar a atenção às questões essenciais inerentes a

determinada problemática e ignorar propriedades “acidentais.'' Em se tratando de

desenvolvimento de sistemas, isto significa concentrar-se no que um elemento do

projeto é e faz antes de se decidir como ele será implementado. O uso de abstração

permite a liberdade para tomar decisões de desenvolvimento ou de implementação

apenas quando há um melhor entendimento do problema a ser resolvido. O uso

apropriado de abstração permite que um mesmo modelo conceitual desenvolvido

utilizando o paradigma da orientação a objetos seja utilizado para todas as fases de

desenvolvimento de um sistema, desde sua análise até sua documentação

(RICARTE, 2001).

Page 16: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

16

Portanto, no processo de abstração, devem-se ignorar os detalhes, para concentrar-

se nas características indispensáveis. Ignorar aspectos não relevantes é a

capacidade de focalizar o essencial e ignorar pequenas questões não relacionadas

com o objetivo estabelecido, portanto ajuda lidar com a complexidade. A abstração

nos leva a representar o problema de acordo com o ponto de vista e interesse de

quem os representa.

Na verificação de uma casa, um observador externo, pode descrevê-la identificando

a cor da mesma, o número de portas e janelas e o tipo do telhado. Quando

identificamos a casa apenas a partir destas características externas estamos

fazendo um exercício de abstração, pois uma série de detalhes internos não está

sendo descrita.

Outra exemplificação seria ao analisarmos um avião no contexto de um sistema de

marcação de passagens aéreas, não vai nos interessar a característica “número de

turbinas do avião”, mas irá nos interessar a característica “número de assentos

disponíveis”. Ao ignorarmos algumas características não relevantes em um

determinado contexto, estamos fazendo uma abstração.

I.2 OBJETOS E CLASSES

Na abordagem OO, elementos de um determinado contexto, como os citados no

conceito de abstração na seção anterior, tais como um avião ou uma casa, podem

ser entendidos como um objeto.

Conforme Castro (2009), objeto pode ser físico, como uma cadeira, uma mesa, um

cachorro. Contudo um objeto pode também ser uma “algo” que não existe em forma

física: uma fórmula matemática, saldo bancário. É tudo que pode ser nomeado e que

possui características, atributos e comportamento próprios. Exemplos: cheque,

janela, campo de texto, gráfico, linha, círculo, forma(s), lista, pilha, fila, matriz, tabela,

filtros, função-geradora, gerador aleatório, caixa de cereal, fábrica, lista de compras,

Page 17: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

17

calendário, data, dia, cor, compromisso, empregado, departamento, registro pessoal,

botão.

A partir dessas definições, é possível concluir que objetos computacionais são

considerados estruturas que contém as informações e os comportamentos que

representam um objeto dentro do sistema. Objetos que se encontram dentro dos

sistemas de computador são abstrações do mundo real.

Outros Exemplos:

• Funções: Diretor, Funcionário, Professor, Cliente;

• Eventos: uma Festa, um Congresso, uma Aula;

• Lugares: uma Cidade, uma Sala, um País;

• Processos: uma Operação, um Procedimento.

Portanto, um objeto é qualquer conceito que seja aplicável ao problema: pessoa,

lugar, evento, coisa, tela, relatório. São elementos reais ou abstratos (de

pensamento) que sofrem ou executam ações. É uma entidade capaz de reter um

estado (informação) e que oferece uma séria de operações (comportamentos) ou

para examinar ou para afetar este estado.

• Apresenta características (Estado).

• Executa e sofre ações (Comportamento).

• Podem ser classificados por categorias ou classes.

• Interagem e agrupam-se formando sistemas que podem ser considerados

como objetos.

Não existe uma maneira correta de decompor um problema em objetos; esta

decomposição depende do julgamento do projetista e da natureza do problema.

Todos os objetos têm identidade própria e são distinguíveis, possuindo dois

propósitos principais: promover o entendimento do mundo real e suportar uma base

prática para uma implementação computacional.

Page 18: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

18

I.2.1 Classes

Segundo Blaha e Rumbaugh (2006), classe é uma abstração que descreve

propriedades e comportamentos partilhados por um grupo de objetos. Todo objeto

será definido como componente de alguma classe. São agrupamentos de objetos

(computacionais) que têm propriedades em comum e podem realizar as mesmas

ações. Naturalmente, este agrupamento deve refletir a classificação natural dos

objetos reais. Uma INSTÂNCIA de uma classe é uma ocorrência individual de um

objeto.

Uma classe de objetos descreve um grupo de objetos com propriedades e

comportamentos similares, relacionamentos comuns com outros objetos e uma

semântica comum. Por exemplo, Pessoa e Companhia são classes de objetos. Cada

pessoa tem um nome e uma idade; estes seriam os atributos comuns da classe.

Companhias também podem ter as mesmas propriedades (nome e idade) definidas.

Entretanto, devido à distinção semântica elas provavelmente estariam agrupadas em

outra classe que não Pessoa. Como se pode observar, o agrupamento em classes

não leva em conta apenas o compartilhamento de propriedades (CASTRO, 2009).

A Wikipédia (2009) define classe como:

Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos. Em outros termos, uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar. Classes não são diretamente suportadas em todas as linguagens, e são necessárias para que uma linguagem seja orientada a objetos. Classes são os elementos primordiais de um Diagrama de Classes.

Pode-se entender então que uma classe é uma abstração que enfatiza

características relevantes e abstrai outras características. Uma classe deveria

capturar uma e somente uma abstração chave.

• Abstração ruim: classe "Aluno" que conhece a informação do aluno e as

disciplinas que aquele aluno está matriculado.

Page 19: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

19

• Boa abstração: separar em uma classe para Aluno e uma classe para

Disciplina.

Nomeando Classes:

- Uma classe deveria ser um substantivo singular que melhor caracteriza a

abstração;

- Dificuldades na nomeação das classes podem indicar abstrações mal definidas;

- Nomes deveriam surgir diretamente do domínio do problema.

I.2.1.1 Classes abstratas e concretas A classe abstrata é uma classe que não possui objetos criados a partir dela,

enquanto a classe concreta possui objetos criados (instanciados) a partir dela

(MACORATTI, 2009).

Exemplo: No mundo real, existem automóveis e aviões, mas nada que seja

simplesmente um veículo (em outras palavras, se não for um carro ou avião, não é

de nosso interesse). Isso significa que podemos instanciar objetos como carros e

aviões, mas nunca iremos criar objetos veículos. As classes abstratas são criadas

quando necessitamos de uma classe que implemente recursos comuns a duas ou

mais classes.

Uma classe abstrata é utilizada para representar entidades e conceitos abstratos. A

classe abstrata é sempre uma superclasse que não possui instâncias (objetos

criados). Ela define um modelo para uma funcionalidade e fornece uma

implementação incompleta - a parte genérica dessa funcionalidade - que é

compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas

completa a funcionalidade da classe abstrata adicionando um comportamento

específico (BLAHA E RUMBAUGH, 2006).

Page 20: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

20

Uma classe abstrata normalmente possui comportamentos abstratos. Esses

comportamentos (serviços) são implementados nas suas classes derivadas

concretas com o objetivo de definir o comportamento específico.

Por outro lado, as classes concretas implementam todos os seus serviços e

permitem a criação de instâncias. Uma classe concreta não possui comportamentos

abstratos e, geralmente, quando utilizadas neste contexto, são classes derivadas de

uma classe abstrata.

I.2.2 Atributos

Os atributos, também chamados de campos, indicam as possíveis informações

armazenadas por um objeto de uma classe, representando o estado de cada objeto.

Ricarte (2001) define um atributo como um valor de dado assumido pelos objetos de

uma classe. Nome, idade e peso são exemplos de atributos de objetos Pessoa. Cor,

peso e modelo são possíveis atributos de objetos Carro. Cada atributo tem um valor

para cada instância de objeto. Por exemplo, o atributo altura tem valor “1,80” no

objeto Marcelo. Em outras palavras, Marcelo tem “1,80m” de altura. Diferentes

instâncias de objetos podem ter o mesmo valor para um dado atributo.

Objetos computacionais são caracterizados por atributos ou propriedades. Portanto,

atributo é o conjunto de características que compõe objetos de uma classe.

• Atributos de um Cliente: nome, CPF, data de nascimento, estado civil, sexo;

• Atributos de uma conta corrente: correntista, saldo, data de abertura;

Cada nome de atributo é único para uma dada classe, mas não necessariamente

único entre todas as classes. Por exemplo, ambos Pessoa e Companhia podem ter

um atributo chamado telefone.

Page 21: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

21

O estado de um objeto é dado por valores de atributos e por ligações que tem com

outros objetos. Todos os objetos de uma classe são caracterizados pelos mesmos

atributos, ou variáveis de instâncias. O mesmo atributo pode ter valores diferentes

de objeto para objeto (CASTRO, 2009).

Atributos são definidos ao nível da classe, enquanto que os valores dos atributos

dos atributos são definidos ao nível do objeto. Exemplos:

• Uma pessoa (classe) tem os atributos nome, idade e estado civil;

• Márcia é uma pessoa (objeto da classe pessoa) com nome "Márcia Morais",

idade 34 anos e estado civil casada.

I.2.3 Métodos

Métodos podem ser chamados também de operações, funções ou serviços. “O

comportamento invocável de objetos são os métodos. Um método é algo que se

pode pedir para um objeto de uma classe fazer” (CASTRO, 2009). Portanto,

métodos são determinados ao nível de classe. Enquanto que ao nível de objeto

temos a invocação de uma operação. Objetos de uma mesma classe têm os

mesmos métodos.

Já que o método tem um sentido subentendido de ação, este pode ser comparado a

uma função definida por uma linguagem de programação estruturada. Ou seja,

método representa um conjunto de instruções que são executadas quando

determinado serviço é invocado a partir da instância da classe (objeto).

Em outras palavras, métodos definem as habilidades dos objetos. Totó é uma

instância da classe Cachorro, portanto tem habilidade para latir, implementada

através do método de UmLatido(). Um método em uma classe é apenas uma

definição. A ação só ocorre quando o método é invocado através do objeto, no caso

Totó.

Page 22: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

22

I.2.4 Hierarquia

Dentre as várias fontes pesquisadas, encontrou-se a definição de hierarquia de

classes. Correia e Tafner (2006) dizem que quando vamos trabalhar com um grande

conjunto de classes de objetos, torna-se interessante identificar classes

hierarquicamente relacionadas. É necessário organizar estas classes de maneira

ordenada de modo que tenhamos uma hierarquia. Em uma hierarquia de classes

teremos as classes mais genéricas no topo, e as mais específicas na base.

Na classe automóvel, como classe mais genérica, existe a seguinte possibilidade de

classes hierarquicamente interligadas:

• Utilitário (camionetes leves): - utilitário urbano; - utilitário off-road. • Passeio: - passeio família; - passeio esportivo. • Carga: - carga inflamável; - carga com frigorífico.

Já na classe dos mamíferos, como exemplo, pode-se representar a seguinte

hierarquia:

• Primata: - ser humano; - chipanzé.

• Felino: - gato; - leão; - onça.

I.3 ENCAPSULAMENTO

O conceito de encapsulamento está estritamente relacionado ao conceito de

abstração e método. Num dado objeto somente interessa ao usuário as funções que

ele executa e não como estas funções estão implementadas internamente. Ou seja,

o usuário tem acesso sempre a descrição das operações que o objeto executa, a

implementação de tais operações fica encapsulada e só é visível ao próprio objeto.

Page 23: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

23

Para exemplificar, podemos pensar em uma dona de casa (usuário) utilizando um

liquidificador (sistema). O usuário não necessita conhecer detalhes do

funcionamento interno do sistema para poder utilizá-lo, precisa apenas conhecer a

interface, no caso, os botões que controlam o liquidificador (WIKIPÉDIA, 2009).

A palavra encapsular (ocultar) é mais um termo técnico dentro dos conceitos OO e é

bastante aplicado em linguagens orientadas a objeto. Outro exemplo de

encapsulamento seria um disco rígido. A interface do disco rígido deixa acessível ao

computador suas funções de leitura e escrita, os dispositivos mecânicos e

eletromagnéticos que o HD utiliza para realizar tais operações não ficam acessíveis

ao seu usuário, estando assim encapsulados.

Desta forma, todos os dados e operações necessários para a existência de um

objeto e para realização das funções especificadas para o sistema devem estar

armazenados no próprio objeto. É possível dizer que o comportamento e os dados

estão encapsulados no objeto, ou seja, dados do objeto e funções não se encontram

mais isolados, ao contrário, caminham juntos.

Segundo Deboni (2003), o princípio do encapsulamento dá uma idéia de

independência por parte do objeto, pois o mesmo passa a ter todos os dados e as

funções necessários para sua existência. Da mesma forma, o encapsulamento

protege os dados de um objeto do acesso descontrolado por outros objetos. O

acesso é realizado por intermédio de mensagens trocadas entre objetos. Tais

mensagens correspondem às chamadas das funções, ou métodos, dos objetos.

Somente a interface do objeto, constituída pelas funções nele definidas, é exposta

de forma que ele possa ser acessível pelo mundo exterior. Os dados dos objetos são

protegidos já que as mensagens passam por uma função do objeto antes de acessar

os dados, controlando, assim, a forma de acesso.

As informações do objeto e a forma de implementação dos serviços internos são

mantidos ocultos. Este conceito é conhecido como ocultação de informações e é

outra decorrência importante do encapsulamento de dados.

Page 24: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

24

O encapsulamento implica em outra característica própria da orientação a objeto,

que é a colaboração entre os objetos pela troca de mensagens. A integração dos

dois componentes ocorre interligando a saída de um objeto com a entrada do outro.

Dessa forma, um objeto pode acionar as funções do outro objeto.

O encapsulamento também permite e facilita a reutilização, o que representa uma

grande vantagem, pois provoca redução no custo do desenvolvimento de novos

sistemas, além de facilitar na manutenção, que é simplificada, e na expansão que

passa a ter maior controle.

A orientação a objeto permite a separação entre o ato da criação do objeto e a

integração do mesmo no sistema. Sendo assim, um objeto bem projetado, testado e

confiável pode ser utilizado em diversas situações, diluindo seu custo em diversos

sistemas.

Para que um encapsulamento seja eficiente, a interface dos objetos deve ser

definida com precisão. A interface é a lista dos serviços que o objeto oferece. Porém

a forma como tais serviços são implementados é ocultada. Muitas interfaces já estão

padronizadas e existe grande esforço geral no sentido desta padronização, pois ela

torna mais fácil e simplificado o acesso aos objetos.

I.4 UML - Unified Modeling Language

Com o surgimento dos conceitos OO, e da diversidade com se apresentavam por

cada autor, Grady Booch, James Rumbaugh e Ivar Jacobson (os famosos três

amigos) decidiram criar uma Linguagem de Modelagem Unificada. Como

mencionado por Guedes (2004), eles deixaram disponíveis inúmeras versões

preliminares da UML para a comunidade de desenvolvedores e as respostas

acrescentaram novas idéias, as quais melhoraram ainda mais a linguagem.

Page 25: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

25

A UML surgiu da junção de três metodologistas de modelagem: o método Booch, o

método OMT de Jacobson e o método OOSE de Rumbaugh. Até meados da década

de 1990 estas eram as três metodologias de modelagem orientada a objetos mais

populares entre os profissionais da área de desenvolvimento de software (GUEDES,

2004).

A junção dessas metodologias teve vasto apoio da Rational Software, que, por sua

vez incentivou e financiou a união das três metodologias. Inicialmente, o projeto

constou da união do método de Booch com o método do OMT de Jacobson

resultando no lançamento do Método Unificado no fim de 1995. Em seguida,

Rumbaugh juntou-se a Booch e Jacobson na Rational Software incorporando seu

método OOSE à nova metodologia. O trabalho de Booch, Jacobson e Rumbaugh,

conhecidos popularmente como “Os três amigos”, resultou em 1996 no lançamento

da primeira versão da UML propriamente dita (GUEDES, 2004).

Inúmeras grandes empresas com atividades na área de modelagem e

desenvolvimento de software passaram a contribuir com o projeto, dando sugestões

a fim de melhorar e ampliar a linguagem. Por fim, a UML foi adotada pela OMG

(Object Management Group) em 1997, tornando-se uma linguagem padrão de

modelagem. Até a pouco tempo, a UML estava na versão 1.5 e, recentemente, foi

substituída pela versão 2.0.

A UML é composta por diversos diagramas que fornecem múltiplas visões do

sistema a ser modelado, sob diversos aspectos e de forma complementar, sendo o

Diagrama de Classes um destes diagramas. Será alvo deste trabalho apenas o

Diagrama de Classes, descrito na seção seguinte.

I.5 DIAGRAMA DE CLASSES

Conforme Guedes (2004), as classes são matrizes de objetos e descrevem um

conceito abstrato do domínio do problema enquanto um objeto representa um

elemento desse conceito, que é utilizado no sistema, de forma concreta. Ao criar um

Page 26: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

26

objeto baseado em uma classe, ele assume valores para os atributos, definindo um

estado e herdando um comportamento das classes que permite alterar esse estado.

Os estados e os comportamentos são compartilhados por todos os objetos da

mesma classe e são definidos na fase de análise.

O objetivo de um Diagrama de Classes é descrever os vários tipos de objetos no

sistema e o relacionamento entre eles.

Um Diagrama de Classes pode oferecer três perspectivas, cada uma para um tipo

de observador diferente. São elas:

• Conceitual -

a) Representa os conceitos do domínio em estudo.

b) Perspectiva destinada ao cliente.

• Especificação -

a) Tem foco nas principais interfaces da arquitetura, nos principais

métodos, e não como eles irão ser implementados.

b) Perspectiva destinada as pessoas que não precisam saber detalhes de

desenvolvimento, tais como gerentes de projeto.

• Implementação - a mais utilizada de todas

a) Aborda vários detalhes de implementação, tais como navegabilidade,

tipo dos atributos, etc.

b) Perspectiva destinada ao time de desenvolvimento.

Segundo Guedes (2004), o Diagrama de Classes define a estrutura das classes

utilizadas pelo sistema, determinando os atributos e os métodos possuídos por cada

classe, além de estabelecer como as classes se relacionam, complementam e

transmitem informações entre si. Também serve de base para a maioria dos outros

tipos de diagramas.

Page 27: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

27

O Diagrama de Classes contém, essencialmente, classes e relacionamentos.

• Classe – representada na forma de um retângulo, contendo duas linhas que

separam três partes. A primeira contém o nome da classe, a segunda os

atributos da classe e a última os métodos da mesma. Representação gráfica:

Figura 1 – Classe Concreta

Figura 2 - Classe Abstrata

A representação de uma classe abstrata em UML é quase igual à representação de

uma classe concreta, a única diferença é o estilo da fonte do nome da classe, que,

neste caso, está em itálico.

• Relacionamentos

Figura 3 - Relacionamento entre classes

Page 28: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

28

I.6 RELACIONAMENTO ENTRE CLASSES

Normalmente as classes não estão sós e se relacionam entre si. Os objetos têm

relações entre eles: um professor ministra uma disciplina para alunos numa sala, um

cliente faz uma reserva de alguns lugares para uma data, etc. Essas relações são

representadas também no diagrama de classe (MACORATTI, 2009).

De acordo com Guedes (2004), os relacionamentos entre as classes podem ser

definidos como:

• Dependência

• Associação

• Agregação

• Herança

A dependência é considerada o relacionamento mais fraco entre duas classes. É

representada por uma seta tracejada ligando as classes e partindo da classe

dependente para a classe independente. A dependência serve para indicar que

essas classes devem participar juntas do sistema, mas não indica como ocorre essa

dependência.

As associações surgem quando há um nível maior de envolvimento, e bem mais

definido que na dependência entre as classes. Na associação, as classes estão

ligadas semanticamente umas às outras, ou seja, as classes são independentes,

mas guardam algum tipo de significado na sua relação. Essa relação permite a troca

de mensagens entre as classes na ajuda para o cumprimento de suas

responsabilidades. A representação da associação é uma linha que interliga as

classes, onde a linha pode possuir uma seta indicando a direção da associação

(GUEDES, 2004).

Alguns tipos de associação podem exigir um aumento no grau de envolvimento entre

as classes, o que cria a agregação. A agregação é equivalente à associação, mas

Page 29: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

29

indica que as classes possuem uma dependência existencial, ou seja, uma classe só

existe em conjunto com suas agregadas. A classe todo é composta pela(s) classe(s)

parte(s). A agregação é representada por uma seta unindo as classes com um

losango indicando a classe todo.

Pode-se considerar a agregação como um caso especial da associação devido ao

maior vínculo entre as classes. O vínculo pode existir de tal forma que se a classe

todo deixar de existir, as classes partes deixam de ser relevantes para o sistema. Na

associação, as classes se mantêm independentes, isto é, elas podem participar de

outras associações no projeto que não exista essa dependência e podem ser

instanciadas isoladamente.

A herança caracteriza-se por criar uma hierarquia entre as classes do sistema.

Nessa hierarquia, as superclasses servem de matrizes para a criação de outras

classes, as subclasses, que especializam as superclasses originais. Ao se

especificarem, as subclasses aproveitam tudo das superclasses, o que inclui

atributos, operações e relacionamentos da classe mãe, mas podem modificar o

material herdado, sobrescrevendo os atributos e as operações ou criando novos

atributos e operações.

I.6.1 Associação

Associações são formas para estabelecer relacionamentos entre objetos e classes.

Uma associação representa o fato de que objetos podem se relacionar uns com os

outros. Por exemplo, Pedro trabalha-para um Companhia. Uma associação descreve

um grupo de ligações com estrutura e semântica comuns, tal como ``uma pessoa

trabalha-para uma companhia.'' Uma associação descreve um conjunto de ligações

potenciais da mesma forma que uma classe descreve um conjunto de objetos

potenciais (PIRES, 2002).

A notação de diagramas UML para associação é uma linha conectando duas

classes. Se entre um par de classes só existe uma única associação cujo sentido

deva ser óbvio, então o sentido da associação pode ser omitido.

Page 30: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

30

Figura 4 – Associação entre classes

Quando uma associação possui propriedades importantes que necessitam estar

representadas surge o conceito de Classe de Associação. A figura 5 apresenta o

relacionamento entre as classes Empregado, Empresa e a classe Trabalho

resultante da associação.

Figura 5 - Classe de Associação

I.6.2 Multiplicidade

No relacionamento entre classes torna-se necessário adicionar mais informação na

busca de uma completa comunicação. A multiplicidade é a especificação do número

de elementos de uma classe que podem de relacionar a único elemento de uma

classe associada. A multiplicidade delimita o número de objetos relacionados.

(BLAHA E RUMBAUGH, 2006)

A linguagem UML admite os seguintes indicadores de multiplicidade:

Indicador Multiplicidade

0..1 zero ou um

1 um

Page 31: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

31

0..* ou apenas * zero ou mais

1..* um ou mais

n..* n ou mais (com n > 1)

n apenas n (com n >1)

0..n zero a n (com n >1)

1..n um a n (com n >1)

n..m n a m (com n >1, m >1 e n <m)

As letras n e m representam números inteiros. Por exemplo, 1..n significa que são

permitidas todas as seguintes especificações: 1..1, 1..2, 1..3, etc.. Note que 1..1 é

igual a 1 e que o valor após o .. tem de ser maior ou igual do que está antes de ...

Por exemplo, 3..2 não é permitido.

A figura 6 ilustra a multiplicidade um ou mais (1..*). Em uma clínica média onde

existem médicos de várias especialidades, um paciente pode ser tratado por um ou

vários médico(s), assim como um médico poder cuidar de um ou vários paciente(s).

Figura 6 - Multiplicidade um ou mais (1..*)

I.6.3 Generalização/especialização e Herança

Quando organizamos classes em hierarquias automaticamente é possível empregar

os conceitos de generalização, especialização e herança. Estes três conceitos são

abstrações poderosas para compartilhar similaridades entre classes e ao mesmo

tempo preservar suas diferenças. Generalização, especialização e herança referem-

se a características de uma mesma idéia (BLAHA E RUMBAUGH, 2006).

Page 32: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

32

Segundo Castro (2009), em uma hierarquia de classes semelhantes podemos dizer

que as classes mais específicas herdam as características das mais genéricas, ou

seja, todo Mamífero é um Ser vivo. A classe de nível superior na associação de

herança é chamada de super-classe e a inferior de sub-classe. Portanto Mamífero é

uma sub-classe de Ser vivo.

Generalização/especialização é o relacionamento entre uma classe e um ou mais

especialidades desta classe. A classe sendo refinada é chamada de superclasse ou

classe base, enquanto que a versão refinada da classe é chamada uma subclasse

ou classe derivada.

Representação gráfica:

Figura 7 - Representação gráfica para Generalização

A figura 8 ilustra a generalização entre as classes Cheque, Cartão e Dinheiro através

da classe Pagamento.

Figura 8 - Exemplo de Generalização entre classes

Page 33: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

33

Uma classe derivada pode sobrepor uma característica de sua classe base definindo

uma característica própria com o mesmo nome. A característica local (da classe

derivada) irá refinar e substituir a característica da classe base. Uma característica

pode ser sobreposta, por exemplo, por questões de refinamento de especificação ou

por questões de desempenho.

Herança é um mecanismo que permite que características comuns a diversas

classes sejam agrupadas em uma classe base, ou superclasse. A partir de uma

classe base, outras classes podem ser especificadas. Cada classe derivada ou

subclasse apresenta as características (estrutura e métodos) da classe base e

acrescenta a elas o que for definido de particularidade para ela.

Blaha e Rumbaugh (2006) explicam que a herança é identificada quando existe o

relacionamento “é um” entre as classes. Por exemplo, no caso de termos a classe

Pessoa e a classe Cliente, podemos dizer que Cliente é uma Pessoa. Assim

identificamos que Cliente é subclasse de Pessoa, herdando todas as características

de Pessoa e que Pessoa é superclasse de cliente.

Quando uma classe (subclasse) herda características de uma única classe

(superclasse) dizemos que ocorre uma herança simples. Quando herda

características de mais de uma classe dizemos que ocorre uma herança múltipla.

A figura 8 apresenta um exemplo de Herança envolvendo as classes Meio de

Transporte, Carro, Carro Esporte e Navio.

Atributos e operações comuns ao grupo de classes derivadas (Carro, Carro Esporte

e Navio) são colocados como atributos e operações da classe base (Meio de

Transporte), sendo compartilhados por cada classe derivada. Diz-se que cada classe

derivada herda as características de sua classe base.

Page 34: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

34

Figura 9 - Herança entre classes

I.6.4 Agregação

Castro (2009) classifica agregação como o princípio que permite o desenvolvedor

considerar algo muito grande através do enfoque TODO-PARTE. Se a instância do

todo for removida, suas partes não necessariamente deverão ser removidas. Este

conceito torna-se útil para definir regras de negócio. A agregação define uma

"dependência fraca" entre o todo e suas partes. Se o todo for removido, as suas

partes poderão continuar existindo. É um mecanismo que permite a construção de

uma classe agregada a partir de outras classes componentes. Usa-se dizer que um

objeto da classe agregada (Todo) tem objetos das classes componentes (Parte).

Desta forma, a agregação pode ser aplicada quando um objeto é constituído de

outros objetos, por exemplo, um avião é composto de fuselagem, asas, motores,

Page 35: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

35

trem de pouso, flaps e assim por diante. Uma pessoa é composta de membros,

tronco e cabeça. Estes são exemplos do conceito de agregação, que representa

relacionamentos do tipo “faz parte de”. Um motor faz parte de um avião e uma

cabeça faz parte de uma pessoa. A agregação nos permite modelar os

relacionamentos do tipo “parte de” ou “é composto de”.

Um Carro C possui um Motor M. Se o carro for removido do sistema, o motor que

estava sendo desenvolvido pode ser reaproveitado em outro carro.

A notação para a agregação é um pequeno losango ao lado da classe principal.

Representação Gráfica:

Figura 10 – Relacionamento entre classes - Agregação

I.6.5 Composição

Também baseado na relação todo-parte, porém define uma "dependência forte"

entre o todo e suas partes. Se o todo deixar de existir, as suas partes também

deixam de existir. Neste caso, se o objeto maior for removido, as suas partes filhas

serão removidas também (CASTRO, 2009).

Composição significa, “O todo contém as partes (e não referências para as partes).

Quando o todo desaparece, todas as partes também desaparecem” (ROCHA NETO,

2002).

Page 36: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

36

Imagine o caso de um Carro C que possui uma Placa P registrada. Se o carro deixa

de existir, a placa não tem mais utilidade dentro do sistema. A notação para a

composição é um pequeno losango sólido ao lado da classe principal.

Representação Gráfica:

Figura 11 - Relacionamento entre classes – Composição

Na figura 12 temos uma ilustração de composição e associação. Uma empresa é

composta por divisões, que por sua vez consistem em departamentos; uma empresa

é indiretamente uma composição de departamentos. Uma empresa não é uma

composição de seus funcionários, pois empresa e pessoa são objetos

independentes, de igual valor (BLAHA E RUMBAUGH, 2006).

Figura 12 - Composição e Associação

Fonte: BLAHA E RUMBAUGH, 2006, p.71

Neste ponto apresentamos então toda a fundamentação necessária para descrever

o desenvolvimento de um modelo de classe. No próximo capítulo teremos a

contextualização sobre o estudo de caso que será utilizado no desenvolvimento do

modelo.

Page 37: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

37

II O “ALERTA CADASTRAL NA CONCESSÃO DE CRÉDITO”

As informações descritas neste capítulo foram obtidas em documentos

disponibilizados por uma IF (Instituição Financeira), onde foi possível obter

informações sobre o contexto geral do problema. Demais informações, tais como

requisitos e funcionalidades foram levantados através de reuniões com os gestores

da área de crédito da mesma IF (agosto, 2008).

O problema do “Alerta cadastral na concessão de crédito” refere-se à verificação de

dados do proponente de crédito com intuito de identificar prováveis tentativas de

fraudes cadastrais no ato da obtenção do crédito em Instituições Financeiras.

Podemos caracterizar alguns tipos mais comuns de fraudes: roubo de identidade (o

autor utiliza a identidade de outra pessoa para obter crédito), identidade sintética

(cria-se uma identidade, com componentes de identidades reais de várias pessoas

para obter crédito), calote do primeiro pagamento (intencional), fraude de agente (o

agente do credor entra com informações incorretas para assegurar a aprovação do

crédito, comum quando esse agente recebe comissão por venda) e fraude

transacional (uma pessoa utiliza informações da conta de outra pessoa para obter

crédito, sem conhecimento de seu titular).

II.1 CONSIDERAÇÕES INICIAIS

O texto abaixo foi extraído de documentos fornecidos pela IF (agosto, 2008), e

servem de embasamento para o entendimento do problema do “Alerta cadastral na

concessão de crédito”:

As fraudes de crédito ocorrem através de roubo, furto, perda, extravio ou falsificação de documentos pessoais e sua utilização para falsidade ideológica. A preocupação com o combate às fraudes pode ser mais bem entendida pela necessidade de diminuição de perdas, principalmente em um

Page 38: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

38

cenário de aumento de concorrência. As perdas decorrentes de fraudes se tornam um custo adicionado ao preço do produto vendido, tornando-o menos competitivo. As Instituições Financeiras, na busca por incremento de sua Carteira de Crédito, estrategicamente, adentraram ao um ambiente de negócios externo. Consequentemente, estas passaram a arcar com maiores riscos operacionais e de crédito, principalmente em decorrência de fraudes. O crescimento econômico e o aumento da oferta de crédito têm feito com que as IF busquem outras formas para incremento de suas carteiras e alavancagem de negócios, como parcerias firmadas com grandes redes de varejo ou concessionárias/revendas de veículos. Tais parcerias apresentam vantagens para os envolvidos, na medida em que permite:

a) às empresas parceiras, o aumento de suas vendas pela possibilidade de financiamento de bens de consumo a seus clientes;

b) às Instituições Financeiras, o aumento de seus ganhos com a intermediação financeira, pelo financiamento do comprador final e por conseguir atingir potenciais tomadores de crédito, mesmo fora de suas agências, ampliando a base de clientes;

c) aos consumidores finais, terem acesso mais rápido a bens, por meio do financiamento de suas necessidades de consumo. Todavia, se a realização de operações de crédito pelas instituições financeiras por meio de parceiros traz maior oportunidade de negócios e outros canais de contato com potenciais tomadores de crédito (clientes ou não), carrega também maiores riscos operacionais e de crédito, principalmente decorrentes de fraudes, visto que os mesmos são realizados fora do ambiente das agências e por empregados de lojas muitas vezes sem expertise ou qualificação necessária para verificação de documentos e outras referências. Como forma de mitigar tais ocorrências, as Instituições Financeiras oferecem treinamento para que os empregados dos parceiros possam identificar e prevenir fraudes documentais. Todavia, tal medida tem apresentado efeitos limitados, considerando o porte dos parceiros, seu número de empregados, a diversidade cultural e de formação existente entre estes e a rotatividade de mão-de-obra, além dos custos envolvidos. No caso dos cadastramentos efetuados pelas agências, dentro de um ambiente bancário, por exemplo, essa sistemática apresenta-se satisfatória, visto que as informações são registradas e conferidas por funcionário do banco treinado para verificar a exatidão dos dados, o que imprime maior qualidade ao procedimento e diminui a possibilidade de ocorrência de erros. Contudo, operações feitas no ambiente do parceiro são contratadas fora dos canais próprios de distribuição da IF, de forma que a análise documental dos proponentes, via de regra, não passa pelo crivo de segurança apontado como necessário segundo às exigências anti-fraudes do mercado. Como resultado, perdas provenientes de fraudes acabam por agregar-se ao preço dos produtos e serviços bancários, na contramão do que propõe um cenário concorrencial cada vez maior. Soma-se a isto a responsabilidade institucional e social dos bancos na inibição da atuação do crime organizado, dificultando o seu fortalecimento econômico. A preocupação das IF com a questão da fraude tem provocado, no âmbito de suas ações estratégicas, a implementação de processos de validação de dados cadastrais, mediante cruzamento de dados de fontes internas e externas, para prevenção e detecção de indícios de fraudes.

Page 39: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

39

II.2 OBJETIVOS

Diante do exposto na seção anterior, resultou-se a necessidade de desenvolver uma

ferramenta automatizada para verificação de dados, com vistas à melhoria da

qualidade dos dados e a evitar eventuais fraudes, atuando como alerta à entrada de

dados na base de cadastro da IF. Isso se daria por meio do cruzamento de dados da

proposta de negócio com dados existentes em bases internas e externas,

relacionados em três blocos de informação: a) dados de identificação; b) dados de

localização; c) dados profissionais.

O cruzamento automatizado terá o objetivo de diminuir o tempo de resposta aos

clientes, quando comparado ao trabalho realizado de forma manual pelos analistas

de operações, que precisam acessar diversos sistemas para a verificação dos

dados.

A utilização de dados internos já existentes para verificação com os dados da

proposta de negócio trará também a vantagem de proteger os atuais clientes,

podendo evitar a possível perda do próprio cliente por desgaste no relacionamento,

além de possíveis ações judiciais e indenizações por inclusão indevida em órgãos de

proteção ao crédito.

No caso de a proposta se referir ao um proponente que não exista na base de

cadastro da IF, deverão ser obtidos os dados para verificação em fontes externas

(Outras Fontes), tais como: Base da receita federal; RAIS; e base de telefones;

II.3 REQUISITOS

A ferramenta de alerta cadastral na concessão de crédito deve receber a proposta

de negócio enviada por parceiros da IF, e efetuar as verificações dos dados da

proposta de negócio, em uma primeira fase, com informações de fontes internas da

Page 40: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

40

própria IF. Verificações com fontes externas serão alvo de uma segunda fase de

desenvolvimento da ferramenta.

As verificações deverão se basear em regras especificadas pelo usuário gestor do

sistema a qualquer momento. Cada regra de verificação deve receber uma

pontuação de acordo com o grau de importância para geração do alerta de fraude,

que será emitido quando a somatória das ocorrências de verificações verdadeiras

ultrapassar parâmetro especificado pelo usuário do aplicativo.

Assim, o processo de “Alerta Cadastral” pode ser representado na forma da figura 13

abaixo:

Figura 13 - Fluxo do processo de Alerta Cadastral

Fonte: Documento fornecido pela IF (Modificado)

Fluxo do processo de Alerta Cadastral

1. Entrada de dados da Proposta de negócio: Parcerias externas;

2. Proposta de negócio é enviada para verificação no aplicativo Alerta cadastral;

Page 41: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

41

3. Troca de informações entre o Alerta cadastral e as fontes de informações.

4. Proposta de negócio aprovada é registrada na Base de Clientes;

5. Proposta de negócio é enviada à análise Anti-Fraude;

6. Proposta de negócio é recusada pelo Alerta cadastral;

7. Proposta de negócio recusada é avaliada pela análise Anti-Fraude;

8. Análise anti-Fraude solicita nova verificação da proposta no aplicativo Alerta

cadastral.

Diante do exposto, temos os seguintes requisitos:

II.3.1 Proposta de negócio

A proposta de negócio é preenchida com os dados do proponente do crédito e

enviada pelo parceiro da IF. Esta possui três blocos de informações: identificação,

endereço e ocupação. Cada bloco de informação apresenta o seguinte

detalhamento:

Identificação (nome, CPF, data de nascimento, documento de identidade,

data de emissão do documento, órgão emissor, naturalidade,

nome do Pai, nome da mãe, estado civil e escolaridade);

Endereço (logradouro, complemento, bairro, município e CEP);

Ocupação (cargo, CGC empregador, nome do empregador, data de início na

empresa, valor da renda, data de referência da renda).

Page 42: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

42

II.3.2 Fontes internas

As fontes de dados internas da IF são fontes de informação consideradas valiosas

para verificação das informações prestadas pelo proponente de crédito.

A IF possui base de dados com informações de seus clientes, que compreende além

dos dados de identificação, endereço e ocupação, os dados relativos à escolaridade.

São consideradas fontes internas:

1. Base de dados de clientes da IF;

2. Lista Negra – Torna-se útil esse auxílio com o intuito de restringir todos os

conteúdos de dados que inspiram desconfiança.

Desejos de, no futuro, sejam feitas também verificações com fontes externas. São

consideradas fontes externas:

1. RAIS - A gestão governamental do setor do trabalho conta com o importante

instrumento de coleta de dados denominado de Relação Anual de Informações

Sociais - RAIS;

2. Base de Telefonia;

II.3.3 Verificação de dados

A verificação dos dados da proposta de negócio com as fontes internas ocorrem

através de vários formas: verificação de conteúdo, cruzada, verificação com a lista

negra e verificação com propostas de negócios anteriores do mesmo proponente. A

ocorrência de uma de verificação que foi atendida (verdadeira) recebe uma

pontuação, que soma-se ao resultado final das verificações.

a) Verificação de conteúdo – objetiva comparar o conteúdo do dado recebido na

proposta de negócio com o mesmo dado existente na base de clientes da IF.

Page 43: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

43

Exemplos:

Proposta de negócio X

Base de clientes

Comparação

Data de nascimento diferente

Nome da mãe diferente

Valor da renda diferente 20%

Estado civil diferente

b) A verificação cruzada busca verificar a coerência da informação, confrontando o

dado da proposta de negócio com outro dado da base de clientes, de base

auxiliar ou da própria proposta de negócio. Para verificação de coerência entre a

ocupação e o valor da renda informados na proposta de negócio, utiliza-se a

tabela auxiliar Faixa de valor de renda X Ocupação.

Outros exemplos de verificação cruzada:

− Data de nascimento na proposta x data de inicio na empresa;

− CEP do endereço residencial da proposta x CEP do endereço de trabalho

na base de clientes;

− CEP do endereço de trabalho na proposta x CEP do endereço residencial

na base de clientes;

− código DDD do telefone residencial x CEP do endereço residencial na

base de clientes;

− código DDD do telefone de trabalho x CEP do endereço profissional na

base de clientes

c) A Lista Negra contem dados informados pelo mercado que estão sendo ou foram

utilizados em fraudes, podem ocorrer por um dos seguintes motivos: utilização

em fraude, titular falecido e empresa de fachada - fraude. As propostas que

contêm estes dados terão a respectiva pontuação somada à pontuação das

outras ocorrências. A lista negra pode se referenciar a quaisquer campos de um

dos três blocos de informações que compõe a proposta de negócio.

Page 44: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

44

A perspectiva é a de que possam ser incluídos e pesquisados tanto dados

isolados, como em conjunto de informações. Ou seja, caso seja descoberto um

telefone utilizado para ilícitos que não esteja relacionado a qualquer CPF ou

endereço diretamente, ele poderá ser incluído isoladamente no cadastro, não

dependendo de estar vinculado a um CPF, Identidade ou endereço.

A verificação poderá ser realizada a partir de um conjunto de dados ou somente

um dado específico.

II.3.4 Alerta de fraude

O alerta de fraude ocorre quando, após todas as verificações realizadas na proposta

de negócio, é constatado que o resultado da somatória das pontuações de cada

ocorrência encontrada ultrapassou parâmetro indicador de alerta de fraude. A

existência de alerta indica que a proposta de negócio não pode prosseguir para

atualização na base de clientes e consequentemente fica impedida da contratação

da operação de crédito, devendo ser disponibilizada para análise por analista de

crédito da IF ou simplesmente recusada.

II.4 PREMISSAS

1. A proposta de negócio é submetida à verificações e poderá ser novamente

verificada caso seja colocada em análise ou recusada;

2. Em uma regra de verificação poderá existir uma ou mais comparações entre

campos;

3. Uma comparação é feita com um campo da proposta de negócio versus as fontes

de informação.

Page 45: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

45

II.5 FUNCIONALIDADES

A ferramenta do Alerta cadastral na concessão de crédito deverá possuir como

funcionalidade a possibilidade do usuário criar regras de verificações com base no

especificado no item II.3.3 Verificação de dados, podendo também receber

atribuição de valor (pontuação) para o parâmetro que indica alerta de fraude. É

necessário que os filtros e parâmetros sejam calibrados inicialmente e recalibrados

de forma a manter sua atualidade de poder de prevenção. A incorporação de novas

regras de confrontações e alteração de parâmetros, será uma atividade constante,

conforme a mudança das táticas dos fraudadores.

A proposta de negócio, enviada por parceiro da IF, deverá ser recebida e registrada

no aplicativo e submetida ao processo de verificação dos dados com fontes de

informação (em uma primeira implementação apenas fontes internas, posteriormente

as fontes externas à IF também serão utilizadas como fonte de informação), sendo

esta a principal funcionalidade da ferramenta. Após as verificações realizadas,

deverá ser feita a somatória das pontuações das ocorrências verdadeiras de

verificações. O total das pontuações deverá ser comparado com o parâmetro

indicador de alerta de fraude, que indicará se a proposta deve ser aprovada,

reprovada ou colada em análise. Caso uma proposta colocada “em análise”

permaneça por mais de 10 dias (prazo parametrizável) sem alteração, ela será

recusada por “falta de análise”.

A proposta colocada “em análise” poderá ser recusada ou ter os dados modificados,

por usuário da ferramenta, e, após nova validação, ser aprovada por área

encarregada de verificação, desde que tenha pontuação de ocorrências abaixo de

valor a ser parametrizado. Sempre que houver alteração de dados, é necessária

nova validação. A proposta “recusada” ficará registrada no aplicativo para futuras

utilizações. Esta proposta poderá ter a situação modificada para “em análise” por

funcionário com acesso específico, seguindo posteriormente o previsto para este

nova situação.

Page 46: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

46

III DESENVOLVIMENTO DO MODELO DE CLASSES

Conforme Blaha e Rumbaugh (2006, p.51 e p.84), na construção de um modelo para

uma aplicação, as seguintes sugestões devem ser observadas a fim de se obter

resultados claros e consistentes:

� Não comece a construir um modelo de objetos simplesmente definindo classes, associações e heranças. A primeira coisa a se fazer é entender o problema a ser resolvido;

� Tente manter seu modelo simples. Evite complicações desnecessárias; � Escolha nomes cuidadosamente. Nomes são importantes e carregam

conotações poderosas. Nomes devem ser descritivos, claros e não deixar ambiguidades. A escolha de bons nomes é um dos aspectos mais difíceis da modelagem;

� Não ``enterre'' apontadores ou outras referências a objetos dentro de objetos como atributos. Ao invés disto, modele estas referências como associações. Isto torna o modelo mais claro e independente da implementação;

� Tente evitar associações que envolvam três ou mais classes de objetos. Muitas vezes, estes tipos de associações podem ser decompostos em termos de associações binárias, tornando o modelo mais claro;

� Limite seu uso de herança múltipla ao que for essencial para um modelo;

� Tente evitar hierarquias de generalização muito profundas; � Não se surpreenda se o seu modelo necessitar várias revisões; isto é o

normal; � Você deve estar apto a reestruturar um modelo de classes para

melhorar a clareza e capturar restrições adicionais; � Sempre documente seus modelos de objetos. O diagrama pode

especificar a estrutura do modelo, mas nem sempre é suficiente para descrever as razões por trás da definição do modelo. Uma explicação escrita pode clarificar pontos tais como significado de nomes e explicar a razão para cada classe e relacionamento.

Page 47: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

47

III.1 IDENTIFICAR AS CLASSES E OS OBJETOS

Quando Blaha e Rumbaugh (2006) sugerem manter o modelo simples e evitar

complicações desnecessárias, implicitamente eles estão sugerindo utilizar a

abstração. Ou seja, voltar à atenção às questões essenciais inerentes a

problemática e ignorar os detalhes, para concentrar-se nas características

indispensáveis. A abstração será utilizada em todo o processo de desenvolvimento

do modelo de classes.

Nesse ponto, temos conhecimento de todos os requisitos do contexto do Alerta

cadastral na concessão de crédito. Sabe-se o que o aplicativo deverá fazer, ou seja,

quais funcionalidades deverão ser desenvolvidas. Agora é possível identificar os

objetos e classes que serão necessários para que essas funcionalidades possam ser

implementadas. Num primeiro momento é importante manter a atenção na

identificação das classes sem preocupar-se com detalhes de atributos ou métodos

(iremos nos preocupar com esses elementos posteriormente). Isso irá tornar o

projeto simplificado, pois iremos nos concentrar em um problema de cada vez, ao

invés de tentarmos pensar em tudo ao mesmo tempo. Iremos utilizar como base as

funcionalidades descritas no capítulo anterior.

Iniciando a análise com a funcionalidade criar regras de verificações, identificamos

que, de acordo com os requisitos especificados, uma regra de verificação é a

comparação de um campo da proposta de negócio com um ou mais campos de uma

fonte de informação. A comparação dos campos pode ocorrer de várias formas. Com

isso, sendo possível identificar os objetos: Regra de verificação e Comparação.

Prosseguindo com a análise, parte-se para a funcionalidade: verificação da proposta

de negócio. Para fazer o registro da entrada de uma proposta de negócio, o

proponente do crédito deverá preencher a proposta com os dados solicitados.

Utilizando-se dos conceitos expostos no capítulo I, podemos então identificar objetos

e consequentemente as classes, pois a classe é a representação de um objeto.

Diante deste posicionamento precisamos de objetos como: Proposta de negócio e

Proponente.

Page 48: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

48

Uma proposta de negócio será submetida à verificação, que se baseia em regras de

verificação dos campos da proposta de negócio, que se dá a partir de várias formas

de comparação com uma fonte de informação. A partir disto, Identificam-se os

objetos: Fonte de informação e Verificação. Sabendo que a proposta de negócio

contém campos preenchidos com os dados do proponente, podemos relacionar o

objeto Campo.

A partir dos objetos relacionados resultam-se as seguintes classes:

Figura 14 – Classes do sistema

A partir do conceito de que a classe é um conjunto de objetos com as mesmas

características e comportamentos, chegou-se a conclusão das classes acima para a

modelagem do problema do alerta cadastral na concessão de crédito.

Na seção seguinte será identificado como essas classes se relacionam e o

surgimento de estruturas entre elas.

Page 49: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

49

III.2 IDENTIFICAR AS ESTRUTURAS E OS RELACIONAMENTOS

O proponente preenche a proposta de negócio, que será submetida a verificações

com fontes de informação da IF. Pode-se identificar um relacionamento de

dependência entre Proponente e Proposta de negócio, pois um proponente passa a

existir a partir do preenchimento da proposta de negócio.

Figura 15 - Relacionamento entre Proponente e Proposta de negócio

A proposta de negócio é submetida à verificação. A partir deste requisito identifica-se

o relacionamento de associação entre as classes Proposta de negócio e Verificação.

Uma proposta de negócio poderá ser submetida a uma ou mais verificações e uma

verificação poderá ser aplicada a n propostas de negócio. Note aí a utilização do

conceito de multiplicidade, que especifica o número de elementos entre as classes

de uma associação.

Figura 16 - Relacionamento entre Proposta de negócio e verificação

Ainda analisando a classe Proposta de negócio, esta está relacionada à classe

Campo, pois a proposta é composta por campos. Agora sendo um relacionamento

de agregação, que pode ser aplicado quando um objeto é constituído de outros

objetos. A multiplicidade é definida como:

Page 50: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

50

• Uma proposta de negócio é composta por vários (n) campos. E um campo

consta em várias (n) propostas de negócio. Multiplicidade então * para *

O processo de verificação da proposta de negócio deve ser baseado em regras de

verificação, a partir disto podemos incluir o relacionamento de associação entre as

classes Verificação e Regra de verificação. A multiplicidade agora deverá ser a

seguinte:

• Uma verificação está baseada em uma (1) ou n regras de verificações. Já

uma regra de verificação está relacionada a apenas uma (1) verificação,

gerando a multiplicidade 1 para 1..*.

Para cada regra de verificação poderá ser definido uma ou mais comparações. A

partir daí devemos relacionar a classe Regra de Verificação à classe Comparação,

desta vez num relacionamento de composição. A composição está sendo usada

neste caso, pois a classe Comparação possui uma dependência forte com a classe

Regra de verificação. Ou seja, se um objeto da Regra de verificação deixar de

existir, também deixará de existir o objeto relacionado à sua comparação.

A classe Comparação está relacionada também com a classe Campo, similarmente

à classe Proposta de negócio. A comparação também é composta por campos, e um

campo pode está relacionado a uma ou mais comparações. Analogamente, a classe

Fonte de Informação se relaciona com a Classe campo. Uma fonte de informação é

composta por um (1) ou mais campos.

A classe Comparação se relaciona ainda com a classe Fonte de informação num

relacionamento de associação. Uma comparação é realizada com uma fonte de

informação. E uma fonte de informação poderá estar sendo usada em uma ou mais

comparações.

Para modelagem adequada da classe Fonte de informação, utiliza-se o conceito de

classes abstratas e concretas. Para tal, é feito a especialização da classe Fonte de

informação, resultando nas classes Interna e Externa. Estas duas classes são

consideradas classes abstratas, assim com a classe Fonte de informação.

Page 51: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

51

Especializando ainda mais com objetivo de chegar a classes concretas, podemos

fazer a decomposição da classe Interna. Resultando assim as classes Cliente e Lista

Negra. Tudo isso conforme o especificado na descrição de requisitos.

Os relacionamentos completos entre as classes são ilustrados na figura 16:

Figura 17 - Diagrama de Classes (Estruturas e Relacionamentos)

Page 52: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

52

III.3 IDENTIFICAR OS ATRIBUTOS IMPORTANTES

Através da descrição dos requisitos é possível identificar os atributos considerados

importantes em cada classe, porém ocorre, após a fase de estabelecer os

relacionamentos e estruturas, o surgimento de outros atributos para dar suporte aos

novos relacionamentos.

O proponente possui atributos como: CPF, Nome e Data de Nascimento. A proposta

de negócio poderá possuir um número, que identificará unicamente cada proposta

recebida. Torna-se importante também a data e hora que a proposta é recebida.

Figura 18 - Atributos de Proponente e Proposta de negócio

O diagrama de classes da UML contendo todos os atributos das classes é

apresentado na figura 19. A identificação e o objetivo de cada atributo presente no

diagrama podem ser realizados fazendo-se uma co-relação com o levantamento de

requisitos.

Page 53: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

53

Figura 19 - Diagrama de Classes - atributos

III.4 IDENTIFICAR MÉTODOS

Métodos ou operações representam o comportamento do objeto, ou seja, indicam os

serviços realizados pelos objetos de uma mesma classe. É possível identificar os

métodos necessários para cada classe a partir das funcionalidades já descritas no

capítulo II.

Com isso partimos, para identificação dos principais métodos. A classe proponente

apresenta um único método, consultar(), pois para a aplicação, será necessário

Page 54: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

54

apenas saber se o proponente existe. Registrar() e verificar() são os métodos

(operações) encapsulados pela classe proposta de negócio. Já os objetos da classe

campo e da classe verificação possuem como características os métodos incluir() e

excluir(). Fazendo o levantamento para as demais classes tomando por base o

levantamento de requisitos e as funcionalidades, podemos encontrar o seguinte

modelo:

Figura 20 - Diagrama de Classes (métodos)

III.5 NOVOS OBJETOS

É muito comum, no processo de análise e modelagem do problema, o surgimento de

novos objetos após o primeiro levantamento, objetivando tornar o modelo ainda mais

coerente com a realidade.

Page 55: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

55

Com isto, surgem vinculados à classe Proposta de negócio as classes Identificação,

Endereço e Ocupação com intuito de modelar as informações que compõem a

proposta nestas três categorias.

Recorrendo ao conceito de classe de associação, onde é definido que quando uma

associação possui propriedades importantes que necessitam estar representadas,

torna-se primordial a modelagem de mais uma classe, resultante do relacionamento

entre Proposta de negócio e Verificação. A nova classe, Proposta verificada, possui

atributos importantes como: data, hora, pontuação da verificação e situação da

proposta (aprovada, em análise ou reprovada).

Ainda refinando um pouco mais a modelagem com a análise da funcionalidade “O

total das pontuações deverá ser comparado com o parâmetro indicador de alerta de

fraude, sendo a proposta aprovada, reprovada ou colocada em análise de acordo

com a pontuação obtida”, surge no modelo a classe “Pontuação de alerta”.

Figura 21 - Novos objetos do relacionamento: Proposta de negócio e Verificação

Quando analisamos mais atentamente as classes Cliente e Proponente é possível

identificar que os objetos destas classes possuem atributos e métodos comuns.

Page 56: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

56

Com isso torna-se importante aplicar o conceito de generalização, surgindo a classe

Pessoa (classe abstrata) para agrupar Proponente e Cliente (classes concreta).

Figura 22 - Novo objeto da generalização de Proponente e Cliente

Page 57: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

57

III.6 O MODELO COMPLETO

O modelo de classes completo do problema do alerta cadastral na concessão de

crédito é apresentado na figura abaixo:

Figura 23 - Diagrama de Classes (completo)

Blaha e Rumbaug (2006) mencionam que não deve haver nenhuma surpresa se o

modelo necessitar de várias revisões, sendo normal que isto ocorra. Portanto, não

devemos pensar que este seria o modelo final, podendo o mesmo sofrer ainda

alguma reestruturação para melhorar a clareza e capturar restrições adicionais.

Page 58: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

58

CONCLUSÃO

Quando bem aplicada, a OO traz diversas vantagens: melhora a captura e validação

de requisitos, permite um modelo de sistema mais realístico, proporciona facilidade

de interoperabilidade e de manutenção. A OO é um paradigma que pode ser

aplicado ao longo de todo o processo de construção da aplicação.

Apesar de todas as vantagens que a OO oferece, no decorrer do trabalho surgiram

algumas barreiras a serem vencidas. Uma das principais dificuldades encontradas

no desenvolvimento do modelo de classes foi a percepção e compreensão dos

requisitos do problema “Alerta cadastral na concessão de crédito”, para possibilitar a

transcrição numa linguagem clara e objetiva. Com isto, foi possível constatar a

grande importância do levantamento de requisitos para a qualidade efetiva da

aplicação, e também que ele deve estar bem escrito para servir de documento para

outras pessoas que não são conhecedores do problema.

Outro obstáculo encontrado foi mudar da cultura da análise estruturada para visão

de objetos. No início, existiu muita dificuldade em romper o cordão umbilical de

ligação à análise estruturada, e se desvincular de alguns paradigmas que tinha

sobre programação e desenvolvimento de sistemas.

As dificuldades em fazer com que os conceitos de OO fossem assimilados, foram

constantes. Surgiram muitas dúvidas sobre quais comportamentos e informações

deveriam estar ou não em uma determinada classe e também como é que uma

classe se relacionaria com outra. Somente com muita leitura e estudo foi possível

romper esta barreira e deixar para trás as dúvidas, mas foi principalmente

observando e estudando soluções que outras pessoas conceberam, analisando

problemas e modelos resolvidos, é que adquiriu-se melhor compreensão de como

tudo funciona em OO.

Page 59: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

59

Diante disto, destaca-se como experiência bastante positiva, a realização de um

estudo de caso, que possibilitou a consolidação e transmissão dos conhecimentos,

sem dúvida fazendo diferenças significantes frente a um trabalho apenas teórico.

Page 60: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

60

REFERÊNCIAS BIBLIOGRÁFICAS

CASTRO, MAURÍCIO DE. Orientação a Objetos. Disponível em: <http://www.jack.eti.br/www/arquivos/apostilas/java/logicapoo.pdf>. Acesso em 09/01/2009. CORREIA, CARLOS HENRIQUE; TAFNER, MALCON ANDERSON – Análise orientada a objetos. 2ª. Edição. Florianópolis: Visual Books, 2006. BLAHA, MICHAEL; RUMBAUGH, JAMES; tradução Daniel Vieira. Modelagem e projetos baseados em objetos com UML2. 2ª. Edição. Rio de janeiro: Elsevier, 2006. DEBONI, JOSÉ EDUARDO ZINDEL. Modelagem orientada a objetos com a UML . São Paulo: Futura, 2003. GUEDES, GILEANES T. A. UML, Uma abordagem prática . São Paulo: Novatec, 2004. MACORATTI, JOSÉ CARLOS. Orientação a objetos: Conceitos Básicos. Disponível em: <http://www.macoratti.net/net_oocb.htm>. Acesso em 26/01/2009.

MACORATTI, JOSÉ CARLOS. UML – Diagrama de Classes e objetos. Disponível em: <http://www.macoratti.net/net_uml1.htm>. Acesso em 17/01/2009.

Métodos de orientação a objetos. Disponível em: <http://www.lcs.poli.usp.br/~jra/PROMINP/disciplina_OO_pdf/aula_V_Metodos_OO.pdf>. Acesso em 09/01/2009. Orientação a Objetos. Disponível em: <http://sites.facensa.com.br/daniel/files/es2/OO.pdf>. Acesso em 09/01/2009. PIRES, PAULO F. Modelagem Conceitual Orientação a objetos. 2002. Disponível em: <http://www.dimap.ufrn.br/~paulo.pires/cursos/bd/uml.pdf>. Acesso em 13/01/2009. RICARTE, IVAN LUIZ MARQUES. Introdução a orientação a objetos. 2001. Disponível em: <http://www.dca.fee.unicamp.br/cursos/POOCPP/node3.html>. Acesso em 09/01/2009. ROCHA NETO, ELOI. Diagrama de Classes. Disponível em: <http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/diagramas/classes/classes1.htm>. Acesso em 10/01/2009.

Page 61: ESCOLA SUPERIOR ABERTA DO BRASIL – ESAB LATO … · contexto, requisitos e funcionalidades do problema do “Alerta cadastral na concessão de crédito”. No terceiro e último

61

WIKIPÉDIA. Orientação a Objetos. Disponível em: <http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos> . Acesso em 10/01/2009.