Sunteți pe pagina 1din 3

Introduo diagrama de classes

Um dos mais importantes e mais utilizados da UML Visualizao das classes do sistema, seus atributos, mtodos (como), relacionamentos. Viso esttica = como as classes esto organizadas estrutura lgica. Base para a construo da maioria dos outros diagramas UML.

Diagrama de Classes
Cap. 4 Gilleanes

Introduo diagrama de classes


Alguns mtodos desenvolvimento sw (PU) recomendam DC na fase de anlise modelo conceitual, s com classes, atributos e relacionamentos (sem mtodos). Fase de projeto: modelo conceitual modelo de domnio (soluo do problema) Mtodos: descobertos a partir dos diagramas de interao.

D. classes Atributos e classes.


Classes = atributos (dados dos objetos) + mtodos (operaes/funes que a instncia da classe pode executar). Instncias: valores dos atributos podem variar; mtodos so idnticos. Parmetros dos mtodos: DC no se preocupa. Smbolo: retngulo com at 3 divises

D. classes Atributos e classes.


Classes = atributos (dados dos objetos) + mtodos (operaes/funes que a instncia da classe pode executar). Instncias: valores dos atributos podem variar; mtodos so idnticos. Parmetros dos mtodos: DC no se preocupa. Smbolo: retngulo com at 3 divises (nome, atributos, mtodos)

obrigatrio

O que significa a barra no atributo?

Relacionamentos ou Associaes
Vnculo entre objetos de 1+ classes Smbolo: linhas (com/sem ttulos) ligando as classes Associao unria ou reflexiva
Relacionamento 1 obj de 1 classe com objs da mma classe.
Pode chefiar nenhum (0) ou muitos (*) funcionrios. Um funcionrio tem 1 e apenas 1 chefe. Ausncia=1..1 Pode chefiar ou no outros funcionrios.
papel: funo de 1 obj

Multiplicidade

Significado

Associao Binria
Relacionamento entre objs de 2 classes diferentes. Direo de leitura
Informada na fase de anlise Facilita a compreenso da associao Uma instncia da classe Socio possui, no mnimo, nenhuma instncia e no mximo, muitas instncias da classe Dependente e uma instncia da classe Dependente possuda por uma e somente uma instncia da classe Socio.
Socio possui 0..* Dependente

0..1

Mn zero (nenhum), mx. Um. Indica que objs no precisam obrigatoriamente estar relacionados. Mas se houver, indica que apenas 1 instncia da classe relaciona-se com as inst. da outra classe Um e somente um.

1..1

0..*

Mn zero e mx. Muitos. Pode ou no haver inst. Da classe participando do relacionamento. Muitos. Indica que muitos objetos da classe esto envolvidos na associao. Mn 1 e mx muitos. Indica que h pelo menos um obj envolvido, podendo haver muitos. Mn. 3 e mx. 5.H pelo menos 3 instncias envolvidas e que podem chegar a 5.

Navegabilidade
Informada na fase de projeto Sentido que os mtodos podero ser disparados Um obj da classe Socio poder disparar mtodos em objs da classe Dependente que no poder disparar mtodos no obj Socio.
Socio possui 0..* Dependente

1..*

3..5

Agregao Tipo especial de associao: info de 1 obj (obj-todo) complementado pelas info contidas num ou + objs de outra classe (objts-parte) Relao todo-parte. Smbolo: losango na extremidade da classe q contm os objts-todo. Relao todo-parte Consulta de pessoa apresenta: info pessoais + todas as contas. Pode ser substituda por uma associao binria simples. Funo principal: mostrar a obrigatoriedade de uma complementao das info de um obj-todo qdo este for consultado. Isto no est explcito na ass. Binria.

Associao ternria. Conectam objetos de mais de 2 classes. Representadas por um losango Leitura: Um professor leciona para no mnimo uma turma e no mximo para muitas; uma turma tem no mnimo um professor e no mximo muitos, e um professor, ao lecionar para determinada turma, utiliza no mnimo uma sala de aula e no mximo muitas. Devem ser evitadas leitura difcil.

Generalizao/Especializao

Composio Tipo especial de associao: info de 1 obj (obj-todo) complementado pelas info contidas num ou + objs de outra classe (objts-parte). Relao MAIS FORTE todo-parte. Objs-parte no podem ser destrudos por obj diferente do obj-todo. Smbolo: losango preenchido (diamante ) na extremidade classe q contm objts-todo. Relao todo-parte Um objeto da classe Edicao deve se relacionar a no mnimo seis objetos da classe Artigo, podendo se relacionar com at 10 objetos Artigo. Documentao e validao.
Revista_Cientifica 1..* publica Edicao 6..10 contm Artigo

Tipo especial de associao: representa a ocorrncia de herana entre classes. Identifica: Classe-me (superclasse) + chamadas gerais Classes-filhas (subclasses) + chamadas especializadas + mtodos polimrficos
Conta_comum #nro_conta: long #/ dt_abertura: Date #/ dt_encerramento: Date[0..1] #situacao: int = 1 #senha: int #/ saldo: double = 0 +Abrir_Conta(senha: int): long +Consultar_Conta(nro_conta: long): int +Validar_Senha(senha: int): int +Saldo_Conta(): double +Sacar_Valor(valor: double): int +Depositar_Valor(nro_conta: long, valor: double): int +Encerrar_Conta(): int +Extrato_Conta(): string

Colegiado

Magistrado

julgado por *

0..1 relator
-limite: double

ContaEspecial

ContaPoupanca -dt_aniversario: Date +RendaConta(Date, double): double

Processo

+Abrir_Conta(senha: int, limite: double): long +Sacar_Valor(valor: double): int +JurosConta(double): double

Classe Associativa Aquelas produzidas quando da ocorrncia de associaes que tenham multiplicidade muitos (*) em todas suas extremidades. Atributos que no podem ser armazenados por nenhuma das classes. Cria-se uma classe para este atributo Pode ter mtodos tambm So vlidas somente quando existe um nico objeto relacionado a duas instncias associadas (ator com um nico papel em um filme). Ator com dois papis no mesmo filme classe associativa no seria mais necessria.

Dependncia Identifica certo grau de dependncia de uma classe (cliente) em relao outra (fornecedor). Uma alterao na classe fornecedora pode afetar o cliente. Smbolo: linha tracejada entre duas classes com seta partindo do cliente ao fornecedor. Tipos mais comuns de dependncia: Ter um atributo do tipo fornecedor Enviar uma mensagem para um fornecedor Receber um parmetro do tipo fornecedor O fornecedor uma superclasse ou interface

Ator 1..* 1..*

Filme

Atuacao -papel: String

Ator com dois papis no mesmo filme

classe associativa no seria mais necessria.

Ator 1..*

Atuacao -papel: String 1..*

Filme

Realizao Relacionamento especial que mistura caractersticas dos relacionamentos de generalizao e dependncia e identifica classes responsveis por executar funes para outras classes. Smbolo: linha tracejada com seta vazia que aponta para a classe que contem essas funes e na outra extremidade a classe que realiza essas funes. Implements de Java

Placa-mae

<<interface>> iMonitor <<realize>>

Monitor

Exerccio: Faa o diagrama de classes de seu projeto contendo: -Diagrama de classe Modelo Conceitual -Diagrama de classe Modelo de Domnio (mtodos, navegabilidade)

S-ar putea să vă placă și