Buscar

Modelagem de Classes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Modelagem de Classes
Prof. Humberto Torres Marques Neto
Maio / 2008
PUC-MINAS
Principais ObjetivosPrincipais Objetivos
9Apresentar os conceitos relacionados às9Apresentar os conceitos relacionados às 
disciplinas de modelagem de negócio e 
modelagem estrutural a partir dos requisitosmodelagem estrutural a partir dos requisitos 
identificados.
9Discutir e propor soluções para os principais 
problemas do processo de análiseproblemas do processo de análise.
9Desenvolver habilidades de uso de técnicas de9Desenvolver habilidades de uso de técnicas de 
análise, modelagem de negócio e modelagem 
estruturalestrutural.
Referências Bibliográficas BásicasReferênc as B bl ográf cas Bás cas
BEZERRA, Eduardo. Princípios de análise e projeto de , p p j
sistemas com UML. Rio de Janeiro: Campus, 2002.
BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivair. y
UML: Guia do Usuário. Rio de Janeiro: Campus, 2000.
COAD, Peter, YOURDON, Edward. Análise baseada em 
objetos. Rio de Janeiro: Campus, 1996. 225p. 
FOWLER, Martin, SCOTT, Kendall. UML Essencial: um 
breve guia para linguagem-padrão de modelagem de 
objetos. 2 ed. Porto Alegre: Bookman, 2000.
LARMAN, Craig. Utilizando UML e padrões: uma introdução 
à análise e projeto orientado a objetos. 2 ed. Porto 
Alegre: Bookman, 2004.
Algumas Definiçõesg m f ç
9Domínio do problemaDomínio do problema
– “Um campo de atividades sob estudo ou 
consideração” (COAD e YOURDON, 1996. p. 7)ç ( , p )
9Complexidade do domínio do problema
– “... a software development project alters the rules 
of the problem.” (BOOCH, 1994. p. 5)
9Responsabilidade do sistema
– “Uma organização de elementos relacionados deUma organização de elementos relacionados de 
modo a formar um todo.” (COAD e YOURDON, 
1996. p. 8)
O que é um Objeto? q m j
– “Uma abstração de alguma coisa em um domínio de problemas, 
exprimindo as capacidades de um sistema de manter informaçõesexprimindo as capacidades de um sistema de manter informações 
sobre ela, interagir com ela, ou ambos; um encapsulamento de 
valores de Atributos e de seus Serviços exclusivos. (sinônimo: 
Ocorrência) ” (COAD e YOURDON 1996 p 50)Ocorrência). (COAD e YOURDON, 1996. p. 50)
– “... an object represents an individual, identifiable item, unit, or entity, 
either real or abstract, with a well-definied role in the problem 
(S OC OOC )domain.” (SMITH and TOCKEY, apud BOOCH,1994. p. 82)
– “An object has state, behavior, and identity; the structure and 
behavior of similar objects are defined in their common class; the j ;
terms instance and object are interchageable” (BOOCH, 1994. p. 83)
– “Um objeto é qualquer coisa, real ou abstrata, a respeito da qual 
armazenamos dados e os métodos que os manipulam ” (MARTIN earmazenamos dados e os métodos que os manipulam. (MARTIN e 
ODELL, 1995. p. 18)
– “Um objeto é simplesmente alguma coisa que faz sentido no 
contexto de uma aplicação.” (RUMBAUGH et. al. p. 31)
O que é uma Classe de Objetos? q m j
– “Uma descrição de um ou mais Objetos com um conjunto 
uniforme de Atributos e Serviços incluindo uma descrição deuniforme de Atributos e Serviços, incluindo uma descrição de 
como criar novos Objetos na Classe.” (COAD e YOURDON, 
1996. p. 50)
“A class is a set of objects that share a common structure and a– A class is a set of objects that share a common structure and a 
common behavior” (BOOCH, 1994. p. 103)
– “Uma classe é uma implementação de um tipo de objeto. Ela 
especifica uma estrutura de dados e os métodos operacionaisespecifica uma estrutura de dados e os métodos operacionais 
permissíveis que se aplicam a cada um de seus objetos.” 
(MARTIN e ODELL, 1995. p. 26)
“Uma classe de objetos descreve um grupo de objetos com– “Uma classe de objetos descreve um grupo de objetos com 
propriedades semelhantes (atributos), o mesmo comportamento 
(operações), os mesmos relacionamentos com outros objetos e 
a mesma semântica ” (RUMBAUGH et. al. p. 32)( p )
– “Uma classe é uma descrição de um conjunto de objetos que 
compartilham os mesmos atributos, operações, 
relacionamentos e semântica” (BOOCH et al., 2000 p. 49)relacionamentos e semântica (BOOCH et al., 2000 p. 49)
Diagrama de Classes da UML g
(BOOCH et al, 2000)
9Um diagrama de classes é um diagrama que 
mostra um conjunto de classes, interfaces e ost a u co ju to de c asses, te aces e
colaborações e seus relacionamentos.
9São utilizados para fazer a modelagem da 
visão estática de um sistema.
9Oferece suporte para os requisitos funcionais 
de um sistemade um sistema.
Abstrações do Modelo de ClassesAbstrações do Modelo de Classes
9 O d l d l d d í i t9 O modelo de classes de domínio representa as 
classes no domínio do negócio em questão. Não leva 
em consideração restrições inerentes à tecnologia aem consideração restrições inerentes à tecnologia a 
ser utilizada na solução de um problema.
9 O d l d l d ifi ã é btid9 O modelo de classes de especificação é obtido 
através da adição de detalhes ao modelo anterior 
conforme a solução de software escolhidaconforme a solução de software escolhida.
9 O modelo de classes de implementação
d à i l t ã d lcorresponde à implementação das classes em 
alguma linguagem de programação.
Transparência retirada de (BEZERRA, 2002)
Identificação de Classes (Como procurar?)n f açã a ( m pr urar?)
9 Identificação de conceitos relacionados ao9 Identificação de conceitos relacionados ao 
domínio do problema.
9A partir do detalhamento dos casos de uso 
(identificação de substantivos e estruturas 
b t ti )substantivas). 
– Vantagem: simplicidadesimplicidade
D t d d d lid d dd d d lid d d– Desvantagem: depende da qualidade do depende da qualidade do 
detalhamentodetalhamento
9Definição das responsabilidades das 
classes.
Identificação de Classes (O que procurar?)n f açã a ( qu pr urar?)
9 Lista de Categorias de Classes Conceituais g
(LARMAN, 2004)
– Objetos físicos ou tangíveis (Registro, Aeronave)j g ( g , )
– Especificações, projetos ou descrição de coisas 
(Especificação de Produto, Descrição de Vôo)
– Lugares (Loja, Aeroporto)
– Transações (Venda, Pagamento, Reserva)
– Linhas de itens de transações (Linha de Item de Venda)
– Papéis desempenhados por pessoas (Caixa, Piloto)p p p p ( )
– Contêineres de outras coisas (Loja, Armário, Aeronave)
– Coisas de um contêiner (Item, Passageiro)( , g )
Identificação de Classes (O que procurar?)n f açã a ( qu pr urar?)
9 Lista de Categorias de Classes Conceituais 
(LARMAN, 2004)
– Outros sistemas (Sistema de Autorização de 
P t C t l d T áf Aé B b dPagamento, Controle de Tráfego Aéreo, Bomba de 
Combustível)
– Substantivos abstratos (Fome Acrofobia)Substantivos abstratos (Fome, Acrofobia)
– Organizações (Departamento de Vendas, Objeto Linha 
Aérea)
– Eventos (Venda, Pagamento, Reunião, Vôo, Acidente, 
Aterrissagem)
P (V d d P d t R d– Processos (Vendendo um Produto, Reservando um 
Assento)
Regras e políticas (Política de Reembolsos Política de– Regras e políticas (Política de Reembolsos, Política de 
Cancelamentos)
Identificação de Classes (O que procurar?)n f açã a ( qu pr urar?)
9 Lista de Categorias de Classes Conceituais g
(LARMAN, 2004)
– Catálogos (Catálogo de Produtos, Catálogo de Peças)g ( g , g ç )
– Registro financeiros, trabalhistas, de contratos, de 
assuntos legais (Recibo, Diário de Caixa, Contrato de 
Emprego, Diário de Manutenção)
– Serviços e instrumentos financeiros (Linha de Crédito, 
Ações)
– Manuais, documentos, artigos de referência (Lista Diária 
d M d d P M l d C t )de Mudança de Preços, Manual de Consertos)
Identificação de classes Identificação de classes 
9Um software construído no paradigma da 
orientação a objetos é composto de objetos o e tação a objetos é co posto de objetos
em colaboração para realizar as tarefasdeste sistema.
9Como todo objeto pertence a uma classe, 
quando se fala na identificação das classes, 
o objetivo na verdade é saber quais objetos 
irão compor o sistema. 
Transparência retirada de (BEZERRA, 2002)
Identificação de classesIdentificação de classes
9De uma forma geral, a identificação de 
classes se divide em duas atividades. 
– Primeiramente, classes candidatas são 
identificadas.
– Depois disso, são aplicados alguns princípios 
para eliminar classes candidatas desnecessárias.
9 Identificar possíveis classes para um sistema 
não é complicado; o difícil é eliminar destenão é complicado; o difícil é eliminar deste 
conjunto o que não é necessário. 
Transparência retirada de (BEZERRA, 2002)
Representação Gráficap ç f
9Uma classe é representada graficamente9Uma classe é representada graficamente 
como um retângulo sub-dividido em três 
partes distintas:p
–– Nome da classeNome da classe (começa com letra maiúscula, 
deve estar no singular e estar coerente com o 
d í i d bl )domínio do problema)
–– AtributosAtributos (representa alguma propriedade do item 
que está sendo modelado para todos ou aque está sendo modelado para todos, ou a 
maioria, dos objetos da classe)
–– OperaçõesOperações (é uma abstração de algo que pode 
ser feito com um objeto da classe; pode ser um 
conjunto vazio) 
Representação Gráficap ç f
<nome da classe>
<atributos>
<operações>
ExemplosE mp
Aluno PedidoCompraImóvel
Matrícula
Nome
Endereço
DataVestibular
p
Número
DataPedido
DataAtendimento
Cliente
Identificação
Endereço
Proprietário
DataInícioAluguelDataVestibular
...
matricular()
trancarMatrícula()
f ()
Cliente
incluir()
cancelar()
iti ()
DataInícioAluguel
DataFimAluguel
cadastrar()
alugar()
fi li Al l()formar()
cancelarMatrícula()
alterarDados()
emitir()
atualizar()
finalizarAluguel()
...
Classe ParametrizadaClasse Parametrizada
9Uma coleção pode ser representada em um 
diagrama de classes através uma classe g
parametrizada (template) .
– É uma classe utilizada para definir outras classes.p
– Possui operações ou atributos cuja definição é 
feita em função de um ou mais parâmetros.
9Uma coleção pode ser definida a partir de 
uma classe parametrizada, onde o parâmetro p , p
é o tipo do elemento da coleção.
Transparência retirada de (BEZERRA, 2002)
Notação para uma Classe ParametrizadaNotação para uma Classe Parametrizada
9Há duas notações possíveis na UML para 
uma classe parametrizada.
9Exemplo: classe parametrizada Lista:
Transparência retirada de (BEZERRA, 2002)
Relacionamentos
9 “... há um número muito pequeno de classes que 
trabalham sozinhas. Em vez disso, a maioria das 
classes colaboram com outras de várias maneiras.” 
(BOOCH et al 2000 p 60)(BOOCH et al., 2000 p. 60)
9 “Um relacionamento pe uma conexão entre itens. 
Em uma modelagem orientada a objetos os trêsEm uma modelagem orientada a objetos, os três 
relacionamentos mais importantes são as 
dependências, as generalizações e as 
associações. Um relacionamento é representado 
graficamente como um caminho, com tipos 
diferentes de linhas para diferenciar os tipos dediferentes de linhas para diferenciar os tipos de 
relacionamentos.” (BOOCH et al., 2000 p. 62)
Dependência
9 “Uma dependência é um relacionamento de utilização, 
d t i d difi õ ifi ã ddeterminando as modificações na especificação de 
um item, (...) mas não necessariamente o inverso.” 
(BOOCH et al 2000 p 62)(BOOCH et al., 2000 p. 62)
9 “... é representada graficamente como linhas 
tracejadas apontando o item do qual o outrotracejadas apontando o item do qual o outro 
depende.” (BOOCH et al., 2000 p. 62)
9 Exemplo:p
AvaliaçãoAluno
Identificação
Data
ValorTotal
Professor
Matrícula
Nome
Endereço ValorTotal
NotaAluno
criar()
atualizarNotaAluno()
Endereço
DataAdmiss~/ão
...
contratar()
demitir() atualizarNotaAluno()demitir()
atualizarDados()
...
Generalização
9 “... é um relacionamento entre itens gerais (chamados 
superclasses ou classes-mãe) e tipos maissuperclasses ou classes mãe) e tipos mais 
específicos desses itens (chamados subclasses ou 
classes-filha)” (BOOCH et al., 2000 p. 63) 
9 São chamados de relacionamentos “é um tipo deé um tipo de”
9 Os objetos da classe filha herdam propriedades da j p p
mãe, principalmente, seus atributos e operações, por 
isso, são utilizados para representar relacionamentos 
de herançade herança
9 Os objetos da classe filha podem ter atributos e 
operações específicosoperações específicos
9 “... é representada graficamente como linhas sólidas 
apontando a mãe.” (BOOCH et al., 2000 p. 63)p ( , p )
Generalização (Um exemplo)
Veículo
Chassi
Placa
CódigoRenavam
Marca/Modelo
...
cadastrar ()
alterar ()
CarroPasseio
Estilo
Ônibus
NúmeroPassageiros
Caminhão
CapacidadeCargaEstilo
cadastrarEstilo()
alterarEstilo()
NúmeroPassageiros
cadastrarNumPass()
alterarNumPass()
CapacidadeCarga
cadastrarCapCarga()
alterarCapCarga()
Generalização (Herança Múltipla)Generalização (Herança Múltipla)
E l t íd d BEZERRA 2002Exemplo extraído de BEZERRA, 2002
Associação
9 “... é um relacionamento estrutural que especifica 
objetos de um item conectados a objetos de 
outros itens.” (BOOCH et al., 2000 p. 63)
9Pode existir entre objetos da mesma classe
9 “ é t d fi t li h9 “... é representada graficamente como uma linha 
sólida conectando a mesma classe ou classes 
dif t ” (BOOCH t l 2000 64)diferentes.” (BOOCH et al., 2000 p. 64)
9Uma associação pode ser caracterizada por:ç p p
– Nome (identifica da natureza do relacionamento)
– Papelp
Associação (Como encontrar?)
9 Lista de Associações Comuns (LARMAN, 2004)
– A é uma parte física de B (Gaveta-Registro de um 
PDV, Asa-Aeronave).
A é uma parte lógica de B (Linha de Item de Venda e– A é uma parte lógica de B (Linha de Item de Venda e 
Venda, Perna de Vôo e Rota de Vôo)
– A está fisicamente contido em B (Item-Prateleira, ( ,
Passageiro-Aeronave)
– A está logicamente contido em/sobre B (Descrição de 
It C tál Vô P ã d Vô )Item e Catálogo, Vôo e Programação de Vôo)
– A é uma descrição de B (Descrição de Item e Item, 
Descrição de Vôo e Vôo)Descrição de Vôo e Vôo)
– A é uma linha de item de uma transação ou relatório B 
(Linha de Item de Venda e Venda, Serviço de ( ç
Manutenção e Registro de Manutenção)
Associação (Como encontrar?)
9 Lista de Associações Comuns (LARMAN, 2004)
– A é conhecido/registrado/relatado/captado por B 
(Venda-Registro, Reserva e Manifesto de Vôo)
– A é um membro de B (Caixa-Loja, Piloto e Linha de 
Aérea)
– A é uma subunidade organizacional de B 
(Departamento-Loja, Manutenção-LinhaAérea)
A i B (C i R i t Pil t A )– A usa ou gerencia B (Caixa-Registro, Piloto-Aeronave)
– A se comunica com B (Cliente-Caixa, Agente de 
Reservas e Passageiro)Reservas e Passageiro)
– A está relacionado a uma transação B (Cliente-
Pagamento)Pagamento)
Associação (Como encontrar?)
9 Lista de Associações Comuns (LARMAN, 2004)
– A é uma transação relacionada com uma outra 
transação B (Pagamento-Venda, Reserva-
C l t )Cancelamento)
– A é adjacente a B (Linha de Item de Venda e Linha de 
Item de Venda Cidade e Cidade)Item de Venda, Cidade e Cidade)
– A é possuído por B (Registro-Loja, Avião-LinhaAérea)
A é t l i d B (V d Cli t– A é um evento relacionado com B (Venda-Cliente, 
Venda-Loja, Partida-Vôo)
Associação (Exemplo)Associação (Exemplo)
E l t íd d BEZERRA 2002Exemplo extraído de BEZERRA, 2002
Associação (Outros exemplos)
Veículo Multa
Chassi
Placa
CódigoRenavam
Marca/Modelo
Identificador
TipoMulta
DataMulta
LocalMulta
possui
Marca/Modelo
...
cadastrar ()
alterar ()
LocalMulta
...
incluir ()
cancelar()
Agência ContaCorrenteg
Número
Endereço
...
Número
DataUltAtualização
SaldoAtual
pertence
cadastrar ()
desativar ()
alterarDados()
consultar()
...
criar()
processar()
...
Associação (um caso especial)
9Podem existir mais de uma associação 
entre duas classes
Departamento Funcionário
trabalhaCódigo
Nome
...
cadastrar ()
Matrícula
Nome
Salário
...
trabalha
é chefiado porcadastrar ()
desativar ()
alterarDados()
consultar()
contratar()
demitir()
...
p
Multiplicidade da Associação
9Determina a quantidade de objetos de 
uma classe que pode estar relacionada 
com objetos da outra classe da 
associação e vice-versa
Departamento
Código
Nome
Funcionário
Matrícula
Nome
trabalha1 1..*
Nome
...
cadastrar ()
desativar ()
lt D d ()
Nome
Salário
...
contratar()
d iti ()
é chefiado por0..1 1
alterarDados()
consultar()
demitir()
...
Indicadores de Multiplicidade
<nome da classe> <nome da classe><nome da classe>
<atributos>
<operações>
1 Exatamente
um
<nome da classe>
<atributos>
<operações>
1..* Um ou
muitos
<nome da classe>
* Muitos
<nome da classe>
0..1 Zero<atributos>
<operações>
Muitos <atributos>
<operações>
Zero 
Ou um
<nome da classe>
<atributos>
0..* Zero ou 
muitos
<nome da classe>
<atributos>
2..6 Intervalo
específico
<operações>
muitos
<operações>
específico
Associação (Exemplos)
Veículo Multa
Chassi
Placa
CódigoRenavam
Marca/Modelo
Identificador
TipoMulta
DataMulta
LocalMulta
possui1 0..*
Marca/Modelo
...
cadastrar ()
alterar ()
LocalMulta
...
incluir ()
cancelar ()
Agência ContaCorrenteg
Número
Endereço
...
Número
DataUltAtualização
SaldoAtual
pertence1 *
cadastrar ()
desativar ()
alterarDados()
consultar()
...
criar()
processar()
...
Agregação
9 “... representa um relacionamento do tipo 
´tem-um´, o que significa que um objeto q g q j
do todo contém os objetos das partes. A 
agregação, na verdade, é apenas um tipo g g ç p p
especial de associação, especificada 
utilizando-se uma associação simples ç p
com um diamante aberto na extremidade 
do todo ...” (BOOCH et al., 2000 p. 66)( p )
Agregação (Exemplos)
Equipe Atleta
Nome
DataCriação
Modalidade
Nome
Endereço
DataNascimento
0..* *
...
criar ()
desativar ()
...
criar ()
excluir ()
Empresa Departamentop
CNPJ
RazãoSocial
Endereço
DataFundação
p
Nome
NomeResponsável
...
1 *
DataFundação
...
criar ()
desativar ()
criar()
desativar()
trocarResponsável()
Composição
9 “... é uma forma de agregação, com 
propriedade bem definida e tempo de vida p p p
coincidente como parte do todo. As partes 
sem multiplicidade fixada podem ser p p
criadas após a composição, mas, uma vez 
criadas, vivem e morrem com ela. Essas 
partes também podem ser removidas 
explicitamente antes da morte do objeto p j
composto.” (BOOCH et al., 2000 p. 147)
Composição (Exemplos)
Prédio Sala
Endereço
DataConstrução
NúmeroElevadores
Síndico
Número
Andar
Área
1 *
Síndico
...
cadastrar ()
criarSala ()
...
ativar ()
desativar ()
Livro Capítulo
Título
Autores
DataPublicação
p
Número
Título
Tamanho
1 *
...
criar ()
excluir ()
anexarCapítulo()
...
criar()
excluir()
Classe de Associação
9 “Uma classe de associação pode ser vistaUma classe de associação pode ser vista 
como uma associação que também tem 
propriedade de classe ou como umapropriedade de classe ou como uma 
classe que também tem propriedades de 
associação.” (BOOCH et al., 2000 p. 148)associação. (BOOCH et al., 2000 p. 148)
Classe de Associação (Exemplo)
Empregado
Nome
DataContratação
Endereço
Projeto
Identificador
Descrição
DataInício* *ç
Cargo
...
contratar ()
demitir ()
DataTérmino
...
criar ()
finalizar ()demitir () finalizar ()
EquipeProjetoEquipeProjeto
Dedicação
Papel
Função
...
criar ()
finalizar ()()
Associações reflexivasAssociações reflexivas
9Associa objetos da mesma classe.
– Cada objeto tem um papel distinto na associação.j p p ç
9A utilização de papéis é bastante importante 
para evitar ambigüidades na leitura dapara evitar ambigüidades na leitura da 
associação.
9Uma associação reflexiva não indica que um9Uma associação reflexiva não indica que um 
objeto se associa com ele próprio.
Ao contrário indica que objetos de uma mesma– Ao contrário, indica que objetos de uma mesma 
classe se associam
Transparência retirada de (BEZERRA, 2002)
Associação reflexiva (Exemplo)Associação reflexiva (Exemplo)
E l t íd d BEZERRA 2002Exemplo extraído de BEZERRA, 2002
Navegação
9 “A menos que seja especificado oA menos que seja especificado o 
contrário, a navegação por uma 
associação é bidirecional. Entretanto, emassociação é bidirecional. Entretanto, em 
algumas situações, você desejará limitar 
a navegação a uma única direção. (...)a navegação a uma única direção. (...) 
Para representar explicitamente a direção 
da navegação, você poderá incluirda navegação, você poderá incluir 
adornos na associação com setas 
apontando a direção a ser seguida.”apontando a direção a ser seguida. 
(BOOCH et al., 2000 p. 148)
Navegação (Exemplo)
Usuário
Nome
DataCriação
DataÚltimoAcesso
Senha
Valor
DataÚltimaAlteração
...1 *
IndicadorBloqueio
...
criar ()
bloquear ()
criar ()
validar ()
alterar ()bloquear () alterar ()

Outros materiais