Você está na página 1de 9

UML: Diagrama de Classes

1) Introduo:
UML: Unified Modeling Language Criada em 90s por Rumbaugh, Booch e Jacbson. Caractersticas: . Orientada a Objeto: - Abstrao; - Encapsulamento; - Modularidade; - Hierarquia; . Visual; . Vrios diagramas; . Apresenta parte esttica e dinmica de um sistema. Principais Diagramas: . Casos de Uso; . Interao; . Estados; . Atividades; . Classes.

2) Diagrama de Classes:
Descreve os objetos de um sistema; Apresenta os relacionamentos estticos; Apresenta restries de conexes; Apresenta as Interfaces.

2.1) Classes:
Objetos com mesmos - Atributos: . So as propriedades; . Tem: nome, visibilidade (+ Publico, # Protegido, - Privado), tipo (string, char, compostos)
-

Operaes/Mtodos: . Representam comportamento; . Tem: nome, visibilidade, argumentos, tipo de retorno; semntica ou significado dentro do domnio do problema.

Enfatizam relevncias

Representao:

Ex: CANDIDATO + Nome: string # Numero: string Inserir () Alterar() Apagar()

NOME ATRIBUTOS OPERAES

2.2) Associaes:

Apresentam os relacionamento entre as classes; Duas pontas de associao, onde cada ponta um papel na relao; Possui multiplicidade (quantidade de objetos que participam); Possui navegabilidade (direo da responsabilidade da relao) Pode ser unria, binria ou ternria;

Representao:
Nome 0..* Nome-papel

Multiplicidade

Navegabilidade

Ex:
CURSO Codigo: string Nome: string 1

Papel ALUNO 0..* Nome: string Numero: string Endereo: string Insere() Apaga() Matricula()

Inscrio

Insere() Apaga()

Um aluno est em apenas um curso.

Um curso tem muitos alunos (no mnimo 0)

Pode se agregao ou composio (relacionamento todo-parte).

Ex:
CURSO Codigo: string Nome: string Insere() Apaga() AlocaSala() Composio PROFESSOR matricula: string Nome: string Titulao: string Insere() Apaga()

SALA Codigo: string localizao: string Insere() Apaga()

Agregao

2.3) Generalizao/Especializao:

Representa Hierarquia; Agrupa classes com caractersticas semelhantes.


FUNCIONARIO matricula: string Nome: string Endereo: string Insere() Apaga()

Ex:

ADMINIST. CRA: string

PROFESSOR Titulao: string

ForneceNota() AtualizaDiario()

2.4) Classe Associativa:

Aumenta a compreenso de uma associao;

Ex:

PROFESSOR Titulao: string

ALUNO Nome: string Matricula: string VeNota() AtualizaDados() Insre()

ForneceNota() AtualizaDiario()

TURMA Periodo: Char Codigo: string

2.5) Dependncia:

Representa a relao cliente/servidor entre classes; Associada a implementao.

Ex:
ADMINIST. PROVA

ListaNota()

ForneceNotas()

Significa que Administ. Acessa o servio de ForneceNotas de Prova. No h relacionamento esttico, mas uma dependncia de servio

2.6 ) Interface ou Realizao:


Tambm existe apenas na implementao; Representam relacionamento de classes que realizam os servios de classes de implementao;

Ex:
FORMAS CUBO

Desenhar() Mover(0 Rotacionar()

2.7) Outros Aspectos:


Esteretipos;

Parametrizao; Qualificao;

2.8) Construo:

Identificar Classes; Identificar atributos e operaes; Verificar associaes; Verificar generalizaes, dependncias realizaes; Ver multiplicidades.

Ex:
FUNCIONRIO

ADMINIST

PROFESSOR

ALUNO

TURMA

CURSO

SALA