instituto federal de educaÇÃo, ciÊncia e tecnologia tocantins campus araguaína médio integrado

27
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína DIAGRAMA DE CLASSE DIAGRAMA DE CLASSE Médio Integrado

Upload: internet

Post on 22-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

DIAGRAMA DE CLASSEDIAGRAMA DE CLASSE

Médio Integrado

Page 2: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Diagrama de ClassesDiagrama de Classes

• Revisando...• Introdução – Diagrama de classes• Elementos do diagrama de classes• Exemplo: Sistema de matrícula

Page 3: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Introdução – Introdução – Diagrama de ClassesDiagrama de Classes

• Mostra um conjunto de classes e seus relacionamentos.

• É o diagrama central da modelagem orientada a objetos.

Aluno

nome: Textomatrícula: Inteiro

definirNome(nome)obterNome()definirMatricula(matricula)obterMatricula

Turma

código: Textosala: Textohorario: Horario

estaAberta()definirProfessor(professor)incluirAluno(aluno)

está-matriculado-em

Professor

nome: Textotitulação: Texto

definirNome(nome)obterNome()definirTitulacao(titulo)obterTitulacao

é-ministrada-por

Page 4: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 5: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 6: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Classes• Graficamente, as classes são representadas por

retângulos incluindo nome, atributos e métodos.

• Devem receber nomes de acordo com o vocabulário do domínio do problema.

• É comum adotar um padrão para nomeá-lasEx: todos os nomes de classes serão substantivos

singulares com a primeira letra maiúscula

Nome_da_classe

atributo1atributo2...

metodo1metodo2metodo3...

Page 7: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Classes• Atributos

Representam o conjunto de características (estado) dos objetos daquela classe

Visibilidade:+ público: visível em qualquer classe de qualquer

pacote

# protegido: visível para classes do mesmo pacote

- privado: visível somente para classe

Exemplo:+ nome : String

Funcionario

- codigo: int+nome:String- cpf: int#salario: float

+ Gravar()+ Alterar()+ Excluir()

Page 8: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Classes• Métodos

Representam o conjunto de operações (comportamento) que a classe fornece

Visibilidade:+ público: visível em qualquer classe de qualquer pacote

# protegido: visível para classes do mesmo pacote

- privado: visível somente para classe

Exemplo:- getNome() : String

Page 9: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

Atividade...Atividade...

• Possuímos 2 classes, ClasseA e ClasseB. Ambas estão com as operações(métodos) definidas como pública. O que significa isso?

• Qual visibilidade devemos definir para que a operação2 e a operação3 fiquem visíveis apenas para a própria classe?

• Qual visibilidade (diferente de pública) devemos definir para que a operação1 fique visível para a ClasseC?

ClasseA

- atributo1:int- atributo2:int

+ operacao1( )+ operacao3( )

ClasseA

- atributo1:int- atributo2:int

+ operacao1( )+ operacao2( )

ClasseC

Page 10: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

Exemplo práticoExemplo prático

Técnico Subsequente

Page 11: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

Técnico Subsequente

Page 12: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 13: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Relacionamentos

• Os relacionamentos possuem:

Nome: descrição dada ao relacionamento (faz, tem, possui,...)

Sentido de leitura

Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7

Tipo: associação (agregação, composição), generalização e dependência

Papéis: desempenhados por classes em um relacionamento

Page 14: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Pessoa Empresa1..*

Tipo: associação

multiplicidade

*trabalha para

empregado

papéis

empregador

sentido de leitura

• Relacionamentos

nome

(Multiplicidade) Especifica o número de objetos de cada classe

envolvidos com a associação

Page 15: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos –Elementos – Diagrama de Classes Diagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 16: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Relacionamentos: Associação

• Uma associação é um relacionamento estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe.

• Uma associação é representada por uma linha sólida conectando duas classes.

Pessoa Empresa

associação

Page 17: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

Relacionamentos: Associação

• Indicadores de multiplicidade:

1 Exatamente um

1..* Um ou mais

0..* Zero ou mais (muitos)

* muitos

0..1 Zero ou um

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

Aluno Curso0..*

associação

multiplicidade

0..1Estuda apenas em

(Multiplicidade) Especifica o número de objetos de cada classe

envolvidos com a associação

Page 18: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Relacionamentos: Relacionamentos: AssociaçãoAssociação

Relacionamentos: Associação

Exemplo:

• Um Estudante pode ser um aluno de uma Disciplina e um jogador da Equipe de Futebol

• Cada Disciplina deve ser cursada por no mínimo 1 aluno

• Um aluno pode cursar de 0 até 8 disciplinas

Page 19: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 20: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos –Elementos – Diagrama de Classes Diagrama de Classes

• Relacionamento: Agregação É um tipo especial de associação Utilizada para indicar “todo-parte”

um objeto “parte” pode fazer parte de vários objetos “todo”

ItemPedido1 1..*

agregação

todo parte

Page 21: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos –Elementos – Diagrama de Classes Diagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 22: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Relacionamento: Composição É uma variante semanticamente mais “forte” da agregação A composição não vive sem o todo

• Exemplo

Dependentes é parte de pessoa

PessoaNomeFoneEmail

listaEmprego():String

EmpregoNomeAreaSalário

calculaBonus():String

Dependentes

NomeData de nascimento

* 1 * 1

ComposiçãoAgregação

Page 23: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 24: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos –Elementos – Diagrama de Classes Diagrama de Classes

• Relacionamento: Generalização• É um relacionamento entre itens gerais (superclasses)

e itens mais específicos (subclasses)

“é um”“é um tipo de”

superclasse

subclasse

Veículo

Terrestre Aéreo

Page 25: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos – Elementos – Diagrama de ClassesDiagrama de Classes

• Elementos de um diagrama de classes

Classes Relacionamentos

• Associação Agregação Composição

• Generalização

• Dependência

Page 26: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

© LES/PUC-Rio

Elementos –Elementos – Diagrama de Classes Diagrama de Classes

• Relacionamento: Dependência• Representa que a alteração de um objeto (o objeto

indepedendente) pode afetar outro objeto (o objeto dependente)

Ex:

Obs:• A classe cliente depende de algum serviço da classe fornecedor

• A mudança de estado do fornecedor afeta o objeto cliente

cliente fornecedor

Page 27: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado

INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína

Exercício Exercício

• Crie o diagrama de classes de acordo com o diagrama de caso de uso