DIAGRAMA DE CLASSE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Médio Integrado Diagrama de Classes • • • • Revisando... Introdução – Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Introdução – 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 matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) é-ministrada-por Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes Classes • Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos. Nome_da_classe atributo1 atributo2 ... metodo1 metodo2 metodo3 ... • Devem receber nomes de acordo com o vocabulário do domínio do problema. • É comum adotar um padrão para nomeá-las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes Classes • Atributos Funcionario 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 - codigo: int +nome:String - cpf: int #salario: float + Gravar() + Alterar() + Excluir() Exemplo: + nome : String INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama 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 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio 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 - atributo1:int - atributo2:int + operacao1( ) + operacao2( ) + operacao1( ) + operacao3( ) ClasseC INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ClasseA Exemplo prático INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama 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 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes (Multiplicidade) • Relacionamentos Especifica o número de objetos de cada classe envolvidos com a associação nome multiplicidade Pessoa 1..* sentido de leitura trabalha para empregado * empregador Empresa Tipo: associação papéis INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama 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 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Empresa associação © LES/PUC-Rio Elementos – Diagrama de Classes Relacionamentos: Associação • Indicadores de multiplicidade: (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) Especifica o número de objetos de cada classe envolvidos com a associação multiplicidade Aluno 0..* Estuda apenas em 0..1 Curso associação INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Relacionamentos: Associaçã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 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Agregação É um tipo especial de associação Utilizada para indicar “todo-parte” todo parte Pedido 1 1..* Item agregação um objeto “parte” pode fazer parte de vários objetos “todo” INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama 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 Dependentes * Nome Data de nascimento 1 Pessoa Nome Fone Email * 1 listaEmprego():String Composição INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Emprego Nome Area Salário calculaBonus():String Agregação © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Generalização • É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) Veículo superclasse “é um” “é um tipo de” subclasse INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Terrestre Aéreo © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes Classes Relacionamentos • Associação Agregação Composição • Generalização • Dependência INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Elementos – 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: cliente fornecedor Obs: • A classe cliente depende de algum serviço da classe fornecedor • A mudança de estado do fornecedor afeta o objeto cliente INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína © LES/PUC-Rio Exercício • Crie o diagrama de classes de acordo com o diagrama de caso de uso INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína