-
Diagrama de Classe
"Antes de imprimir pense em sua responsabilidade
e compromisso com o MEIO AMBIENTE."
Givanaldo Rocha de Souza
[email protected]
http://docente.ifrn.edu.br/givanaldorocha
Engenharia de Software
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
Pessoa
+ consultarPorNome()
+ validarCPF()
- CPF
- nome
- RG
Atributos (caractersticas)
Mtodos (comportamento)
Nome
-
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 Significado
0..1
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/uml-em-cores/. Acessado em: 16 mai.
2011.
MENDES, Ricardo. UML: composio x agregao. Disponvel em:
http://imasters.com.br/artigo/18901/uml/uml_composicao_x_agregacao/.
Acessado em: 26 mai. 2011 TONSIG, Srgio Luiz. Engenharia de
Software: Anlise e Projeto de Sistemas. 2 edio. Rio de Janeiro:
Editora Cincia Moderna, 2008.