You are on page 1of 21

Diagrama de Classes

Diagrama de Classes Conceitual (negcios) e de projeto = mesmo modelo


. Abrange as Fases de Anlise e Projeto

. Modelagem de classes e seus relacionamentos.

Diagrama de Classes
. Correntista . Conta Corrente . Lanamento

Analisando os casos de uso, podemos identificar classes e atributos.

Diagrama de Classes
. Correntista . Conta Corrente . Lanamento

Vamos modelar as classes e atributos ?

Diagrama de Classes
. Correntista Correntista . Conta Corrente ContaCorrente . Lancamento Lanamento
nome numero cpf agencia endereco dataAbertura Primeira abstrao: dataNascimento senha ... ... data tipo valor Atributos numDocumento ...

abrirConta() lancar() Modelagem evolui: Operaes cadastrar() bloquearConta() listarLancamen ... validarSenha(senha) tos(periodo) ... ...

Diagrama de Classes
Correntista ContaCorrente Lancamento

nome numero cpf agencia endereco dataAbertura dataNascimento senha As classes no vivem ... ...
cadastrar() ...

precisamos estabelecer abrirConta() lancar() seus relacionamentos listarLancamen !!! bloquearConta()


validarSenha(senha) ...
...

data tipo valor numDocumento sozinhas... ...

tos(periodo)

Diagrama de Classes
Correntista ContaCorrente

Nas abstraes de nveis Relacionamento mais baixos, no precisamos de Associao trabalhar com todos os elementos.
Relacionamento de Agregao Lancamento

Diagrama de Classes
O que se define sobre uma classe (elementos mnimos.
Nome, Atributos e Mtodos Visibilidade: Atributos e Mtodos Relacionamentos entre classes do sistema Multiplicidade = quantidade de objetos que participam do relacionamento entre classes.

Diagrama de Classes
Multiplicidade
Mostra a quantidade de instncias (objetos) possveis em 1 relacionamento.
* - muitos 0..1 - opcional 1 ou 1..1 exatamente 1 * ou 0..* - nenhum ou muitos 1..* - pelo menos 1

Diagrama de Classes
Sob a tica da OO um sistema um conjunto de objetos que interagem (trocam mensagens) A Classe uma abstrao de objetos Logo as Classes identificadas na soluo de um problema devem se relacionar. As relaes possveis so:
Associao
Associao exclusiva

Classe de Associao Generalizao / especializao Agregao Composio Dependncia

Relacionamento entre classes


Associao
Conecta 1 (auto associao), 2 (binria) ou mais (ternria ou ordem N) classes, demonstrando a colaborao entre instncias (objetos) de classes. Denota relacionamento entre classes no correlatas e independentes. Ao acabar o relacionamento, as 2 classes permanecem com suas vidas prprias.

Relacionamento entre classes


Associao
Binria = objetos de 2 classes relacionam-se
As 2 classes existem, independente de se associarem ou no.

Uma associao pode ter:


Navegabilidade: se omitida, bidirecional Nome (faz) pode vir com seta de direo Papel (role): papel da classe na associao
Aluno
0..* FAZ 0..*

Disciplina

Relacionamento entre classes


Unria = objetos da mesma classe
Disciplina
Pr-requisito

Associao exclusiva: uma restrio em 2 ou mais associaes. Objetos de 1 classe podem participar de no mximo 1 das associaes, a cada momento

Relacionamento entre Classes


Classe de Associao:
Uma associao, entre 2 classes, pode requerer atributos / mtodos para ser descrita (possui elementos prprios).
Ela gera uma Classe com propriedades especficas, que carecem de modelagem parte (3a. Classe)
Os atributos Data emprstimo e data de devoluo no so nem da classe scio e nem da classe Fita. So referentes ao ato de emprestar, que gera a classe de associao (s acontece quando um scio associa-se a uma fita, pegando-a emprestada) EMPRESTIMO.

Fita

Scio

Emprstimo

Relacionamento entre classes


Generalizao normal (herana)
Define uma hierarquia de classes que modela relacionamento um tipo de. Atributos e operaes da SuperClasse (comum) so herdados pela Sub-Classe (+ especfica) A funcionalidade comum a diversas classes deve ser posicionada o mais alto possvel na hierarquia.

Relacionamento entre Classes


Generalizao (herana) normal
Formas de representao
Imposto

Generalizao

Pessoa

DARF

ISS

Cliente

Fornecedor

Funcionrio

DARF A

DARF B

Especializao

Relacionamento entre classes


Generalizao Restrita
Sub-classes podem ocorre simultaneamente (sobreposio) ou mutuamente exclusivas (disjuno) com relao mesma superclasse. Alto nvel de detalhe, porm importante para o programador.
Pessoa
Sobreposio

Pessoa
Disjuno

Aluno

Professor

Homem

Mulher

Relacionamento entre classes


Agregao e Composio
Tipo especial de associao (todo-parte) Usado para descrever componentes que fazem parte de uma estrutura
1 das classes do relacionamento uma parte ou est contida em outra classe. consiste em, contm, parte de

A composio mais fsica, mais forte, pois denota uma maior dependncia entre o TODO e suas partes.

Relacionamento entre classes


Agregao
3 Questes, que indicam a agregao. No necessariamente todas tem q ser V.
1. O Objeto TODO pode existir sem as partes 2. Um parte pode ser agregar com mais de 1 TODO, ao mesmo tempo. 3. Geralmente uma relao homognea (partes semelhantes).

Pode ter multiplicidade N:N.


Prova Questes Depto Funcionrios

Relacionamento entre classes

Relacionamento entre classes


Composio
uma agregao mais poderosa .
Onde as PARTES esto contidas (vivem) dentro do TODO vida coincidente. A parte perde a identidade. Sem o TODO as Partes no fazem sentido (dependncia)

Multiplicidade: N s no lado das partes.

Relacionamento entre classes


Composio

You might also like