Diagrama de Classes. O que é uma classe? Definições Objeto: Entidade que possa ser descrita de...

Preview:

Citation preview

Diagrama de Classes

O que é uma classe?

Definições

• Objeto: Entidade que possa ser descrita de uma realidade.

• Classe: abstração que define um objeto• Instância: criação de objeto a partir de uma

classe.

Refrigerante

Cola Guaraná Laranjada

Coca-Cola Pepsi

Relacionamento

Diagrama de ClassesDefinem as regras

Digramas UMLRealidade do Modelo

CódigoGera Objetos

Dão suporte

RepresentaGera

Conforme

Diagrama de Classes

• Representação de uma Classe

Nome da Classe Nome da Classe

Lista de Atributos

Nome da Classe

Lista de Atributos

Lista de Operações

Nome da Classe

Lista de Operações

Diagrama de Classes

• Exemplos

ContaBancaria ContaBancaria

númerosaldodataAbertura

ContaBancaria

númerosaldodataAbertura

criar()bloquear()desbloquear()creditar()debitar()

Diagrama de Classes

• Nome da Classe:– O nome da classe é muito importante para

identificar um recurso do modelo. Deve ser claro, descrever o tipo de objeto representado e na linguagem mais fácil possível.

– Deve corresponder ao padrão adotado na empresa: espaços viram “_” ou sem espaço?

– O nome da classe será usado para a programação.

– O nome da Classe deve ser único no pacote.

Diagrama de Classes

• Nome da Classe:– Maus exemplos:

– Bons exemplos

ShowsProgramados ShowsCancelados

Shows

-situacao: SituacaoShow

Shows

-situacao: SituacaoShow-confirmado: booleano

Diagrama de Classes

• Atributos– Definem as características que os objetos

possuem.– Podem definir características de si mesmo,

mostrar consciência das suas relações e pode controlar uma certa informação.

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Exemplo:

- nome[1]: String = sem inicial,{Obrigatório, 1..30 caracteres, espaços e pontuação permitidos}

Derivação

Diagrama de Classes

• Multiplicidade

Nome Simbologia

Apenas um 1

Zero ou muitos 0..*

Um ou muitos 1..*

Zero ou um 0..1

Intervalo específico li..lf (ex. 2..8)

Diagrama de Classes

• Atributos: Notação[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

- Define o escopo de acesso para um membro de uma classe. - Privado: na classe; (-)- Pacote: dentro do mesmo pacote (~)- Público: dentro de um sistema (+)- Protegido: dentro de uma árvore de herança. (#)

Derivação

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Derivação

Sistema

Classe A Classe B

Pacote 1

Classe C Classe D

Pacote 2 <<herança>>

Privado:O atributo privado só é acessível pelas operações do objeto. Normalmente este é oestado inicial dos atributos, depoisse necessário, pode ser modificado.

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Derivação

Sistema

Classe A Classe B

Pacote 1

Classe C Classe D

Pacote 2 <<herança>>

Pacote:O atributo pode ser acessado porqualquer outra classe no mesmo pacote.

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Derivação

Sistema

Classe A Classe B

Pacote 1

Classe C Classe D

Pacote 2 <<herança>>

Público:O atributo pode ser acessado porqualquer outra classe do sistema.

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Derivação

Sistema

Classe A Classe B

Pacote 1

Classe C Classe D

Pacote 2 <<herança>>

Protegido:O atributo só pode ser acessado poruma classe que tenha uma relação de generalização/herança, independente do pacote.

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

- Derivação: indica que um valor é deduzido ou calculado na hora. Se ausente, indica um valor base.

Exemplo:

Derivação

Show

- nome- dataInicial- duracao- /dataFinal

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

- Nome: é obrigatório e deve ser único dentro da classe. Seja o mais descritivo possível para evitar confusão.Exemplos: cadUsr x cadastraUsuario

Derivação

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

- Tipo: Refere-se a qualidade de dados que serão tratados no atributo.- Podem ser padrão UML: (interger, unlimitedInterger

ou String)- Enumeração: booleano;- Algum padrão de linguagem: float, long, short,...- Ou até uma referência para outra classe.

Derivação

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

Derivação

Nome Simbologia

Apenas um 1

Zero ou muitos 0..*

Um ou muitos 1..*

Zero ou um 0..1

Intervalo específico li..lf (ex. 2..8)

Diagrama de Classes

• Atributos: Notação

[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

-Padrão: refere-se ao valor inicial de um atributo, para proteger sua integridade ou facilitar preenchimento.

Derivação

Show

- nome- dataInicial- duracao- /dataFinal = dataInicial+duracao

Diagrama de Classes

• Atributos: Notação[visibilidade] [/] nome [:tipo] [multiplicidade] [=padrão] [{Propriedades}]

-Propriedades: serve para inserir qualquer informação que não é pertinente a nenhuma das seções anteriores. Normalmente são usadas para delimitar regras de integridade e são separados por vírgulas.

Ex.

Derivação

Show

- nome[1]: String =sem inicial, {Obrigatório, 1..30 caracteres}- dataInicial[1]: Calendário= sem inicial { Obrigatório, >hoje} - duracao[1]: Int= 1 { >0} - /dataFinal: Calendário= dataInicial+duracao

Recommended