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 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, onde uma classe faz parte da outra 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 Avaliativo – Represente, por meio de um diagrama de classes, o fato de uma empresa possuir diversos departamentos, em cada um destes estão lotados diversos funcionários. Cada departamento possui um chefe que também deve ser lotado no respectivo departamento. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Exercício Avaliativo – 3,0 Uma loja que vende roupas possui um sistema capaz de controlar a venda e o estoque. Cada roupa possui um código de barras, um tamanho e o número de exemplares que a loja possui daquela roupa. Os clientes da loja são cadastrados pelo nome Faça um diagrama de classe. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente Exercício Avaliativo – 2,0 pontos Desenvolva o Diagrama de Classes para um sistema de cursos de informática equivalente ao módulo de matrícula de acordo com os seguintes fatos: • Um curso pode ter muitas turmas, no entanto, uma turma se relaciona exclusivamente com um único curso. • Uma turma pode ter diversos alunos matriculados, no entanto uma matrícula refere-se exclusivamente a uma determinada turma. Cada turma tem um número mínimo de matrículas para iniciar o curso. • Um aluno pode realizar muitas matrículas, mas cada matrícula refere-se exclusivamente a uma turma específica e a um único aluno. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Técnico Subsequente