Download - Diagrama de Classes de Projeto
Diagrama de Classes de Projeto
Oferecem uma notação gráfica formal para a modelagem de classes e seus relacionamentos
Uma Classe refere-se a descrição de um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos
Notação
Nome da Classe
O nome de uma classe distingue uma classe de outra classe. Nome simples Nome do caminho: o nome da classe é precedido pelo
nome do pacote (subsistema) em que a classe existe
Atributo
Características de uma classe
Exemplos: Idade - endereço : String + CPF : inteiro # nroCorrentistas : Inteiro
Operações / Métodos
Uma operação é um serviço que pode ser requisitado a qualquer objeto da classe, afetando seu estado (afetando valor de seus atributos)
Operações de classes X Operações de Objetos Operações de objetos: atuam sobre um objeto (instância) Operações de classes: atuam sobre a classe
Ex: consultar
Visibilidade
Público (+) : o que pode ser visto pelas operações de outras classes
Protegido (#) : o que pode ser visto apenas pelas operações da própria classe e por suas classes herdeiras
Privado (-) : o que pode ser visto apenas pelas operações da própria classe
Estereótipos
Mecanismos de extensão da UML Podem ser utilizados em diversos diagramas Graficamente, um estereótipo é representado por um
nome entre << >> (dois sinais de menor e dois sinas de maior).
Exemplos: No diagrama de classes, podem ser utilizados para
classificar o comportamento dos métodos, por exemplo <<construtor>>
Relacionamentos entre classes
Os relacionamentos determinam as ligações entre as classes.
Fornecem um caminho para a comunicação entre elas
Principais tipos: Associação
Agregação e Composição Generalização
Associação
Uma associação é um relacionamento estrutural que descreve uma ligação (conexão entre as classes ou objetos)
Adornos da Associação
Multiplicidade
Papel
Navegabilidade
Multiplicidade (Cardinalidade)
A multiplicidade (ou cardinalidade) indica a quantidade de ocorrências de um conceito.
Ela é aplicada para atributos, classes e associações
Multiplicidade (Cardinalidade)
Papel
Sua utilização é opcional
Navegabilidade
Por definição, a navegação entre classes associadas é bidirecional (segmento de reta)
Por conveniência, a navegação pode ser restringida a uma única direção
Tipos de Associação
Agregação
Composição
Agregação Agregação é um tipo especial de associação
Representa uma relação todo-parte
Tenta demonstrar que as informações de um objeto todo precisam ser complementadas pelas informações de um objeto parte
Quando o todo é eliminado, as partes continuam existindo
É transitiva (Se A faz parte de B, e B faz parte de C, então A faz parte de C)
É não-simétrica(Se A faz parte B, então B não faz parte de A)
Composição É uma variação da Agregação
Quando uma parte é criada, sua existência deve ser coincidente com o todo.
Quando um todo é eliminado, suas partes também devem ser eliminadas
Generalização
A generalização é o compartilhamento de atributos, operações e relacionamentos entre classes com base em um relacionamento hierárquico (herança). Superclasses e subclasses; Subclasses herdam os atributos e métodos da
superclasse, permitindo ainda modificações nos mesmos (polimorfismo).
Sem generalização
Com generalização
Especialização
Processo inverso ao de generalização
Consiste em: Definir uma ou mais subclasses a partir de uma classe
existente. Adicionar propriedades e associações específicas de cada
nova subclasse. Associações comuns ficam ligadas à superclasse. Pode existir mais de um tipo de especialização com base
em diferentes características
Generalização / Especialização
Classe Associativa
É uma classe derivada de uma associação
Classe Associativa
Transformação de uma Classe Associativa para uma Classe Regular
Classe Concreta / Abstrata
Concreta: pode ter instâncias
Abstrata: não pode ter instâncias Contém uma ou mais operações abstratas:
Uma operação abstrata possui apenas a assinatura (cabeçalho) mas não possui implementação
A classe abstrata é sempre uma superclasse que não possui instâncias, e só tem sentido se tiver subclasses que implementem as operações abstratas
O nome de uma classe abstrata é escrito em itálico, ou possui a restrição {abstract}
Exemplo de Classe Abstrata
Interface
Interface é uma “classe abstrata” que não possui atributos e que todas as operações são públicas e abstratas.
Notação:
Herança Múltipla
Muitas linguagens orientadas a objetos não possuem o mecanismo de herança múltipla.
Diagrama de ClassesSistema Bancário
Diagrama de Objetos
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIALFACULDADE DE TECNOLOGIA SENAC PELOTAS
Diagrama de Objetos
Da mesma forma que um objeto é uma instância de uma classe, um diagrama de objetos é uma instância de um diagrama de classes.
Um diagrama de objetos apresenta uma determinada configuração de um diagrama de classes, sendo interessante para realizar discussões sobre o modelo de objetos.
Diagrama de ObjetosSistema Bancário