Você está na página 1de 31

Diagrama de Classes

que uma classe?


Definies
-eto: Entidade que possa ser descrita de uma
realidade.
Classe: a-strao que define um o-eto
nstncia: criao de o-eto a partir de uma
classe.
Refrigerante
CoIa Guaran Laranjada
Coca-CoIa Pepsi
#elacionamento
Diagrama de Classes
Definem as regras
Digramas UML
#ealidade do Modelo
Cdigo
Gera -etos
Do suporte
#epresenta
Gera
Conforme
Diagrama de Classes
#epresentao de uma Classe
Nome da Classe
Nome da Classe
Lista de Atri-utos
Nome da Classe
Lista de Atri-utos
Lista de peraes
Nome da Classe
Lista de peraes
Diagrama de Classes
Exemplos
ContaBancaria ContaBancaria
nmero
saldo
dataA-ertura
ContaBancaria
nmero
saldo
dataA-ertura
criar()
-loquear()
des-loquear()
creditar()
de-itar()
Diagrama de Classes
- Utilizado para mostrar a estrutura
estatica do sistema
- Nodelar coisas que existem, estrutura interna
e relacionamentos
- uma coleao de classes, interfaces,
pacotes, relacionamentos e instancias
(objetos)
Diagrama de Classes
Nome da Classe:
nome da classe muito importante para
identificar um recurso do modelo. Deve ser
claro, descrever o tipo de o-eto representado
e na linguagem mais fcil possvel.
Deve corresponder ao padro adotado na
empresa: espaos viram "_ ou sem espao?
nome da classe ser usado para a
programao.
nome da Classe deve ser nico no pacote.
Diagrama de Classes
Nome da Classe:
Maus exemplos:
Bons exemplos
$owsProgramados
$owsCanceIados
$ows
-situacao: $ituacao$ow
$ows
-situacao: $ituacao$ow
-confirmado: booIeano
Diagrama de Classes
Atri-utos
Definem as caractersticas que os o-etos
possuem.
Podem definir caractersticas de si mesmo,
mostrar conscincia das suas relaes e
pode controlar uma certa informao.
Diagrama de Classes
- Atributos
(isibilidade] Nome (ultiplicidade]: ('ipo]=(alor] (<#ropriedades}]
Exemplo
+ C#: String
+ Nome: String
# Endereo (]: String
!dade: !nt = 20 <idade da pessoa}
Diagrama de Classes
Multiplicidade
Nome Sim-ologia
Apenas um 1
Zero ou muitos 0..*
Um ou muitos 1..*
Zero ou um 0..1
ntervalo especfico li..lf (ex. 2..8)
Diagrama de Classes
- visibilidade
- + = visibilidade pblica
- visivel a qualquer mtodo no exterior da classe.
- = visibilidade privada
- Nao visivel fora da classe. S esta acessivel a mtodos da
prpria classe.
- # = visibilidade protegida
- um atributo privado, porm acessivel a mtodos de classes
derivadas.
- Quando a visibilidade omitida esta considerada
privada
Diagrama de Classes
Atri-utos: Notao
$istema
CIasse A CIasse B
Pacote 1
CIasse C CIasse D
Pacote 2
<<erana>>
Privado:
atri-uto privado s
acessvel pelas operaes
do o-eto. Normalmente este o
estado inicial dos atri-utos, depois
se necessrio, pode ser modificado.
Diagrama de Classes
Atri-utos: Notao
$istema
CIasse A CIasse B
Pacote 1
CIasse C CIasse D
Pacote 2
<<erana>>
Pacote:
atri-uto pode ser acessado por
qualquer outra classe no mesmo
pacote.
Diagrama de Classes
Atri-utos: Notao
$istema
CIasse A CIasse B
Pacote 1
CIasse C CIasse D
Pacote 2
<<erana>>
PbIico:
atri-uto pode ser acessado por
qualquer outra classe do sistema.
Diagrama de Classes
Atri-utos: Notao
$istema
CIasse A CIasse B
Pacote 1
CIasse C CIasse D
Pacote 2
<<erana>>
Protegido:
atri-uto s pode ser acessado por
uma classe que tenha uma relao
de generalizao/herana,
independente do pacote.
18
Diagrama de Classes
(isibilidade*] Nome (#arametros): (alor de Retorno] (<#ropriedades}]
- Ntodos
Exemplo
<<construtor>>
+ NomedaClasse()
<<consulta>>
+ CetNome(C#: String): String <retorna o nome de acordo com o
C#}
<<gravaao>>
+ SetNome(Nome: String) <gravar o nome da pessoa}
* #ossui o mesmo funcionamento da visibilidade dos atributos
Diagrama de Classes
Atri-utos: Notao
- Nome: o-rigatrio e deve ser nico
dentro da classe. Sea o mais descritivo
possvel para evitar confuso.
Exemplos: cadUsr x cadastraUsuario
Diagrama de Classes
Atri-utos: Notao
- Tipo: #efere-se a qualidade de dados que sero
tratados no atri-uto.
- Podem ser padro UML: (interger, unlimitednterger
ou String)
- Enumerao: -ooleano;
- Algum padro de linguagem: float, long, short,...
- u at uma referncia para outra classe.
Diagrama de Classes
Atri-utos: Notao
Nome Sim-ologia
Apenas um 1
Zero ou muitos 0..*
Um ou muitos 1..*
Zero ou um 0..1
ntervalo especfico li..lf (ex. 2..8)
Diagrama de Classes
Atri-utos: Notao
-Propriedades: serve para inserir qualquer
informao que no pertinente a nenhuma das
sees anteriores. Normalmente so usadas para
delimitar regras de integridade e so separados
por vrgulas.
Ex.
$ow
- nome[1]: String =sem inicial, {-rigatrio, 1..30 caracteres}
- datanicial[1]: Calendrio= sem inicial { -rigatrio, >hoe}
- duracao[1]: nt= 1 { >0}
- /dataFinal: Calendrio= datanicial+duracao
Diagrama de Classes
- 1. Conceitual
#essoa Carro
Diagrama de Classes
- 2. Analitico
#essoa Carro
C#
Nome
!dade
Endereo
NumrHabilitacao
Chassi
#laca
arca
odelo
Ano
Cor
Dirigir
alar !r#ararente
eiculo
Diagrama de Classes
- 3. !mplementaao
#essoa Carro
C#: String
Nome: String
!dade: !nt
Endereco: String
NumrHabilitacao:
String
Chassi: String
#laca: String
arca: String
odelo: String
Ano: !nt
Cor: String
Dirigir(),
alar(),
!r#ararente(elocidade:
!nt),
eiculo
0..* 1
Dirige
Diagrama de Classes
- Associaoes
- Nostram o relacionamento entre as classes
- O detalhes sao mostrados pelos adereos
(adornments).
#essoa Automvel
C#: String
Nome: String
!dade: !nt
Endereco: String
NumrHabilitacao:
String
Chassi: String
#laca: String
arca: String
odelo: String
Ano: !nt
Cor: String
Dirigir(),
alar(),
!r#ararente(elocidade:
!nt),
eiculo
0..* 1
Dirige
Diagrama de Classes
- Composiao
- Relacionamento do tipo parte todo, onde a parte
existe somente no contexto do todo, ou seja, o
todo composto por varias partes.
Diagrama de Classes
- Agregaao
- Relacionamento do tipo parte todo, onde a parte
pode existir fora do contexto do todo.
Diagrama de Classes
- Composiao/Agregaao
- Sao muito parecidas,
- A diferena entre as duas nem sempre tao clara,
- Relacionam um objeto composto com suas partes,
- A composiao mais fisica",
- A agregaao menos restrita (deve ser utilizada em
caso de dvida),
- Na composiao, quando o todo morre", as partes
tambm morrem.
Diagrama de Classes
GeneraIizao
- Representa um mecanismo de HERANA.
- Todas as caracteristicas sao herdadas pela subclasse
Diagrama de Classes
ReaIizao
- Nostra o relacionamento de uma classe com a
interface que ela implementa.

Você também pode gostar