Sunteți pe pagina 1din 26

Aula 05: Diagrama de Classes

UML Diagrama de Classes


Introduo Diagrama de classes
Elementos do diagrama de classes
Exemplo: Sistema de matrcula

Introduo - Diagrama de Classes


Mostra um conjunto de classes e seus relacionamentos.
o diagrama central da modelagem orientada a objetos.

Turma
est-matriculado-em

Aluno
nome: Texto
matrcula: Inteiro
definirNome(nome)
obterNome()
definirMatricula(matricula)
obterMatricula

cdigo: Texto
sala: Texto
horario: Horario

estaAberta()
definirProfessor(professor)
incluirAluno(aluno)

-ministrada-por

Professor
nome: Texto
titulao: Texto
definirNome(nome)
obterNome()
definirTitulacao(titulo)
obterTitulacao

Elementos Diagrama de Classes


Classes
Graficamente, as classes so representadas por retngulos
incluindo nome, atributos e mtodos.
Nome_da_classe
atributo1
atributo2
...
metodo1
metodo2
metodo3
...

Devem receber nomes de acordo com o vocabulrio do domnio


do problema.
comum adotar um padro para nome-las
Ex: todos os nomes de classes sero substantivos singulares
com a primeira letra maiscula

Elementos Diagrama de Classes


Classes
Atributos
Representam o conjunto de caractersticas (estado)
dos objetos daquela classe.

Elementos Diagrama de Classes


Classes
Mtodos
Representam o conjunto de operaes (comportamento)
que a classe fornece.

Elementos Diagrama de Classes


Relacionamentos
Os relacionamentos possuem:
Nome: descrio dada ao relacionamento (faz, tem, possui,...)
Sentido de leitura
Navegabilidade: indicada por uma seta no fim do relacionamento
Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7
Tipo: associao (agregao, composio), generalizao e
dependncia
Papis: desempenhados por classes em um relacionamento

Elementos Diagrama de Classes


Relacionamentos

nome
multiplicidade

Pessoa

1..*

sentido de leitura

trabalha para

empregado

empregador

Empresa

Tipo: associao

papis

E a navegabilidade?

Elementos Diagrama de Classes


Relacionamentos

navegabilidade

Cliente

reside

Endereo

O cliente sabe quais so seus endereos, mas o endereo no sabe


a quais clientes pertence

Elementos Diagrama de Classes


Relacionamentos: Associao
Uma associao um relacionamento estrutural que indica
que os objetos de uma classe esto vinculados a objetos de
outra classe.
Uma associao representada por uma linha slida
conectando duas classes.

Pessoa

Empresa
associao

Elementos Diagrama de Classes


Relacionamentos: Associao
Indicadores de multiplicidade:
1

Exatamente um

1..*

Um ou mais

0..*

Zero ou mais (muitos)

Zero ou mais (muitos)

0..1

Zero ou um

m..n

Faixa de valores (por exemplo: 4..7)


multiplicidade

Pessoa

1..*

trabalha para

associao

Empresa

Relacionamentos: Associao
Relacionamentos: Associao
Exemplo:
Um Estudante pode ser
um aluno de uma Disciplina e
um jogador da Equipe de Futebol
Cada Disciplina deve ser cursada por no mnimo 1 aluno
Um aluno pode cursar de 0 at 8 disciplinas

Elementos Diagrama de Classes


Relacionamento: Agregao
um tipo especial de associao
Utilizada para indicar todo-parte

todo

parte

Pedido

1..*

Item

agregao

um objeto parte pode fazer parte de vrios objetos todo

Elementos Diagrama de Classes


Relacionamento: Generalizao
um relacionamento entre itens gerais (superclasses)
e itens mais especficos (subclasses)

Veculo

superclasse
um
um tipo de
subclasse

Terrestre

Areo

Exemplo: Sistema de Matrcula


Descrio
A Universidade XYZ deseja informatizar seu sistema de matrculas:

A universidade oferece vrios cursos.

O Coordenador de um curso define as disciplinas que sero oferecidas pelo seu


curso num dado semestre.

Vrias disciplinas so oferecidas em um curso.

Vrias turmas podem ser abertas para uma mesma disciplina, porm o nmero de
estudantes inscritos deve ser entre 3 e 10.

Estudantes selecionam 4 disciplinas.

Quando um estudante matricula-se para um semestre, o Sistema de Registro


Acadmico (SRA) notificado.

Aps a matrcula, os estudantes podem, por um certo prazo, utilizar o sistema para
adicionar ou remover disciplinas.

Professores usam o sistema para obter a lista de alunos matriculados em suas


disciplinas.

Todos os usurios do sistema devem ser validados.

Exemplo: Sistema de Matrcula


Diagrama de Casos de Uso

Exemplo: Sistema de Matrcula


Descrio do Caso de Uso Matricular em Disciplina

Esse caso de uso se inicia quando o Estudante de Curso inicia uma sesso no
sistema e apresenta suas credenciais.

O sistema verifica se a credencial vlida.

O sistema solicita que o estudante realize sua matrcula, selecionando 4


disciplinas.

O estudante preenche um formulrio eletrnico de matrcula e o submete


para uma anlise de consistncia.

O sistema analisa as informaes contidas no formulrio.


Se as informaes so consistentes, o estudante includo em turmas
abertas de 4 disciplinas, iniciando pelas preferenciais.
Se as informaes no so consistentes, o sistema informa o motivo da
inconsistncia e solicita que o formulrio seja alterado.

Exemplo: Sistema de Matrcula


Diagrama de Classes: identificando as classes

Professor

Universidade

Coordenador

Disciplina

FormularioMatricula

SistemaRegistroAcademico

Estudante

Turma

AnalisadorMatricula

ListaAlunos

Curso

Exemplo: Sistema de Matrcula


Diagrama de Classes: identificando os relacionamentos

O formulrio de matrcula processado por um analisador


de matrcula
FormularioMatricula

-processado-por

AnalisadorMatricula

0..*

O analisador de matrcula gerencia a disciplina


FormularioMatricula

-processado-por
0..*

AnalisadorMatricula
1

0..*

Disciplina

Exemplo: Sistema de Matrcula


Diagrama de Classes

-processado-por

FormularioMatricula

0..*

AnalisadorMatricula
1

1
gerencia
0..*

-preenchido-por

-definida-por

Disciplina
1

aluno

Coordenador
1

1..*

Estudante

1..*

est-matriculado-em
3..10

Turma

-ministrada-por
0..3

Professor
1

Exemplo: Sistema de Matrcula


Diagrama de Classes: identificando os atributos
Os atributos podem ser encontrados examinando-se as
descries dos casos de uso e tambm pelo conhecimento do
domnio do problema.

Cada turma oferecida possui


um cdigo, uma sala e um
horrio.

Turma
cdigo
sala
horrio

Exemplo: Sistema de Matrcula


Diagrama de Classes

-processado-por

FormularioMatricula

0..*

AnalisadorMatricula
1

1
gerencia
0..*

Disciplina
-preenchido-por

nome
numCrditos

-definida-por
1..*

Coordenador
1

1
1..*
aluno

Estudante
nome
matricula

Turma
est-matriculado-em
3..10

cdigo
sala
horrio

-ministrada-por
0..3

Professor
nome
titulao

Exemplo: Sistema de Matrcula


Diagrama de Classes:

E a navegabilidade?

Estudante

est-matriculado-em
3..10

Turma

Exemplo: Sistema de Matrcula


Diagrama de Classes:

Acrescentando generalizaes:
Atributos, operaes e/ou relacionamentos comuns podem ser
movidos para uma classe mais geral.
Usuario
nome : Texto
definirNome(nome)
obterNome()

Estudante

Professor

matricula : Inteiro

titulacao : Texto

definirMatricula(matricula)
obterMatricula()

definirTitulacao(titulacao)
obterTitulacao()

Exemplo: Sistema de Matrcula


FormularioMatricula

-processado-por

obterEstudante() : Estudante
obterNomeDIsciplina(i : Inteiro) : Texto

0..*

AnalisadorMatricula
1

-preenchido-por
-aluno

adicionar(aluno, disciplina) 1

gerencia

1
0..*

Estudante

Disciplina

matricula : Inteiro
definirMatricula(matricula)
obterMatricula()

nome : Texto
numCreditos : Inteiro
3..10

estaCompleta()
adicionar(aluno : Estudante)
1

est-matriculado-em

Usuario
nome : Texto
definirNome(nome)
obterNome()

1..*

Turma

Professor

responsvel-por

titulacao : Texto
definirTitulacao(titulacao)
obterTitulacao()

0..3

codigo : Texto
sala : Texto
4 horario : Horario
numAlunos : Inteiro
completa : Booleano
1

estaCompleta() : Booleano

SIM

usa
1

Exemplo Diag. De Classes de Clnica Mdica

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