Upload
praisler
View
252
Download
2
Embed Size (px)
DESCRIPTION
apostila de diagrama de classes
Citation preview
Diagrama de Classe
"Antes de imprimir pense em sua responsabilidade
e compromisso com o MEIO AMBIENTE."
Givanaldo Rocha de Souza
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.