Você está na página 1de 25

"Antes de imprimir pense em sua responsabilidade

e compromisso com o MEIO AMBIENTE."

Engenharia de Software

Diagrama de Classe
Givanaldo Rocha de Souza
givanaldo.rocha@ifrn.edu.br
http://docente.ifrn.edu.br/givanaldorocha
Material original gentilmente cedido pelo professor Fbio Procpio

Diagrama de Classe

Introduo
Diagrama mais utilizado da UML.

Permite a visualizao das classes utilizadas pelo


sistema e como elas se relacionam.

Apresenta uma viso esttica de como as classes


esto organizadas a fim de definir sua estrutura lgica.

Foi projetado para ser uma evoluo (e no substituio) do


Modelo Entidade-Relacionamento do Banco de Dados.

Diagrama de Classe

Introduo
Uma classe no corresponde, obrigatoriamente, a uma
tabela em um banco de dados. (Exemplos: classes de
interface, classes de controle)
Eventualmente, os atributos de uma classe
correspondem aos atributos de uma tabela, porm uma
classe no uma tabela.
Em um modelo lgico de Banco de Dados, os mtodos
de uma classe podem corresponder s operaes
realizadas sobre uma tabela (incluir, alterar, excluir,
consultar).

Diagrama de Classe

Classe
uma descrio de um conjunto de objetos que compartilham os mesmos
atributos, operaes, relacionamentos e semntica.
Representada por um retngulo que pode possuir at trs divises:
Nome da classe
Atributos da classe
Mtodos da classe

Pessoa
- CPF
- nome
- RG

Nome

Atributos
Pessoa

+ consultarPorNome()
+ validarCPF()

(caractersticas)

Mtodos
(comportamento)

Diagrama de Classe

Relembrando...
Atributo
Representa caractersticas de uma classe.
Exemplo: Jogador (nome, sexo, idade etc.).

Mtodo
Representa atividades que um objeto
de uma classe pode executar.
Exemplo: Jogador (correr, driblar, chutar).
Visibilidade
Indica o nvel de acessibilidade de um atributo ou mtodo.
Tipos: Pblica (+), Privada (-) e Protegida (#).

Diagrama de Classe

Relacionamento
Permite compartilhar informaes e colaborar com a execuo dos processos do
sistema.

Descreve um vnculo que ocorre, normalmente, entre os objetos de uma ou mais


classes.
Os tipos de relacionamentos so:
Associao
Agregao
Composio
Especializao/Generalizao
Dependncia

Diagrama de Classe

Associao
Descreve um conjunto de vnculos entre elementos de modelo.

Relacionamento estrutural que especifica objetos de um item conectados a


objetos de outro item:
Associao binria quando h duas classes envolvidas na associao de
forma direta de uma para outra.
Relacionamento entre duas classes (tipo mais comum).
Podem possuir ttulos para determinar o tipo de vnculo.
Associao unria quando h um relacionamento de uma classe consigo
mesma. Se comparada ao modelo ER, seria um auto-relacionamento.

Diagrama de Classe

Associao unria (ou reflexiva)


Ocorre quando h um relacionamento de um objeto de uma classe com objetos
da mesma classe;
No exemplo abaixo, percebe-se que um objeto da classe Funcionrio pode (ou
no) supervisionar outros objetos dessa mesma classe;
Para o relacionamento ficar mais claro, pode-se informar a sua multiplicidade.

Diagrama de Classe

Associao binria

public class Funcionario {


private int matricula;
...
private Dependente[] dependentes;
// mtodos
...
}

public class Dependente {


private String nome;
private String parentesco;
private Funcionario funcionario;
}

Diagrama de Classe

Associao binria

public class Funcionario {


private int matricula;
...
private Dependente[] dependentes;
// mtodos
...
}

public class Dependente {


private String nome;
private String parentesco;
}

Diagrama de Classe

Multiplicidade
Multiplicidade
0..1

Significado
No mnimo zero e no mximo um. Os objetos no
precisam estar relacionados, porm se houver
relacionamento deve ser de no mximo 1.

1..1

Um e somente um

0..*

No mnimo nenhum e no mximo muitos.

Muitos

1..*

No mnimo um e no mximo muitos.

3..5

No mnimo 3 e no mximo 5.

Diagrama de Classe

Agregao
Tipo especial de associao que tenta demonstrar que as informaes de um
objeto-todo precisam ser complementadas pelas informaes contidas em um (ou
mais) objetos-parte.
A existncia do objeto-parte faz sentido mesmo no existindo o objeto-todo.
A associao de agregao pode, em muitos casos, ser substituda por uma
associao binria simples, dependendo da viso de quem faz a modelagem.

Diagrama de Classe

Composio
uma variao da agregao e considerada mais forte.
O objeto-parte no pode existir sem o objeto-todo.
Se o objeto-todo for destrudo, o objeto-parte tambm ser.

Diagrama de Classe

Especializao/Generalizao
Tem como objetivo identificar classes-me, denominadas de gerais, e classes-filha
chamadas de especializadas;
So chamados de relacionamentos um tipo de.

Diagrama de Classe

Dependncia
Como o nome sugere, indica um grau de dependncia entre uma classe e outra.
Uma dependncia difere de uma associao porque a conexo entre as classes
temporria.
Representada por uma seta tracejada entre duas classes.

Funcionrio no instancia um Automvel,


apenas usa-o como parmetro de um mtodo.

Diagrama de Classe

Classe associativa
Utilizada quando ocorrem associaes que possuem multiplicidade muitos para
muitos em todas as suas extremidades;
Armazena os atributos transmitidos pela associao;
Pode possuir seus prprios atributos;
Representada por uma reta tracejada partindo do meio da associao at uma
classe.

Diagrama de Classe

Classe intermediria
Substitui as classes associativas;
Apresenta, exatamente, a mesma funo da classe associativa;.
Pode possuir seus prprios atributos;

Diagrama de Classe

Restrio
Informaes extras que definem condies a serem validadas durante a
implementao dos mtodos de uma classe, das associaes entre as classes
ou mesmo de seus atributos;
Representadas por textos limitados por chaves.

Diagrama de Classe

Interface
Tipo especial de classe a qual no pode ser instanciada.
Serve apenas para especificar operaes externamente visveis para uma outra
classe implementar.

Diagrama de Classe

Boundary, Control e Entity


Classes estereotipadas... Pgina 270.
Boundary: classe de fronteira, geralmente interfaces grficas.
Control: classe de controle, geralmente implementa as regras de negcio.
Entity: classe de entidade, geralmente implementa os objetos persistentes.

Diagrama de Classe

Boundary, Control e Entity

Diagrama de Classe

Exemplos de Diagramas de Classe

Diagrama de Classe

Exemplos de Diagramas de Classe

Diagrama de Classe

Exemplos de Diagramas de Classe

Diagrama de Classe

Referncias
SIERRA, Katy; BATES, Bert. Use a cabea JAVA. Ed 2, Editora Altabooks.
GUEDES, Gilleanes. UML Uma Abordagem Prtica. Editora Novatec. So Paulo, 2007.
FURLAN, Jos. Modelagem de Objetos atravs da UML. Editora Makron Books.
CASTRO, Maurcio. Orientao a Objetos. Solis/Univates (internet).

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usurio. Editora Campus.
LIMA, Gleydson. Diagrama de Classes. Curso de Especializao em Sistemas Corporativos, FARN/2008.
MACEDO, Jos Alexandre. Modelando objetos com cores. Disponvel em: http://jamacedo.com/tag/umlem-cores/. Acessado em: 16 mai. 2011.

MENDES,
Ricardo.
UML:
composio
x
agregao.
Disponvel
http://imasters.com.br/artigo/18901/uml/uml_composicao_x_agregacao/. Acessado em: 26 mai. 2011

em:

TONSIG, Srgio Luiz. Engenharia de Software: Anlise e Projeto de Sistemas. 2 edio. Rio de
Janeiro: Editora Cincia Moderna, 2008.