Diagrama de Classes de Projeto

32
UML Diagrama de Classes de Projeto e Diagrama de Objetos Profª. Marcelo Siedler [email protected]

description

UML Diagrama de Classes de Projeto e Diagrama de Objetos Profª . Marcelo Siedler [email protected]. Diagrama de Classes de Projeto. Oferecem uma notação gráfica formal para a modelagem de classes e seus relacionamentos - PowerPoint PPT Presentation

Transcript of Diagrama de Classes de Projeto

Page 1: Diagrama de Classes de Projeto

UML

Diagrama de Classes de Projeto e Diagrama de

Objetos

Profª. Marcelo [email protected]

Page 2: 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

Page 3: Diagrama de Classes de Projeto

Notação

Page 4: Diagrama de Classes de Projeto

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

Page 5: Diagrama de Classes de Projeto

Atributo

Características de uma classe

Exemplos: Idade - endereço : String + CPF : inteiro # nroCorrentistas : Inteiro

Page 6: Diagrama de Classes de Projeto

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

Page 7: Diagrama de Classes de Projeto

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

Page 8: Diagrama de Classes de Projeto

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>>

Page 9: Diagrama de Classes de Projeto

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

Page 10: Diagrama de Classes de Projeto

Associação

Uma associação é um relacionamento estrutural que descreve uma ligação (conexão entre as classes ou objetos)

Page 11: Diagrama de Classes de Projeto

Adornos da Associação

Multiplicidade

Papel

Navegabilidade

Page 12: Diagrama de Classes de Projeto

Multiplicidade (Cardinalidade)

A multiplicidade (ou cardinalidade) indica a quantidade de ocorrências de um conceito.

Ela é aplicada para atributos, classes e associações

Page 13: Diagrama de Classes de Projeto

Multiplicidade (Cardinalidade)

Page 14: Diagrama de Classes de Projeto

Papel

Sua utilização é opcional

Page 15: Diagrama de Classes de Projeto

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

Page 16: Diagrama de Classes de Projeto

Tipos de Associação

Agregação

Composição

Page 17: Diagrama de Classes de Projeto

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)

Page 18: Diagrama de Classes de Projeto

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

Page 19: Diagrama de Classes de Projeto

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).

Page 20: Diagrama de Classes de Projeto

Sem generalização

Com generalização

Page 21: Diagrama de Classes de Projeto

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

Page 22: Diagrama de Classes de Projeto

Generalização / Especialização

Page 23: Diagrama de Classes de Projeto

Classe Associativa

É uma classe derivada de uma associação

Page 24: Diagrama de Classes de Projeto

Classe Associativa

Transformação de uma Classe Associativa para uma Classe Regular

Page 25: Diagrama de Classes de Projeto

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}

Page 26: Diagrama de Classes de Projeto

Exemplo de Classe Abstrata

Page 27: Diagrama de Classes de Projeto

Interface

Interface é uma “classe abstrata” que não possui atributos e que todas as operações são públicas e abstratas.

Notação:

Page 28: Diagrama de Classes de Projeto

Herança Múltipla

Muitas linguagens orientadas a objetos não possuem o mecanismo de herança múltipla.

Page 29: Diagrama de Classes de Projeto

Diagrama de ClassesSistema Bancário

Page 30: Diagrama de Classes de Projeto

Diagrama de Objetos

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIALFACULDADE DE TECNOLOGIA SENAC PELOTAS

Page 31: Diagrama de Classes de Projeto

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.

Page 32: Diagrama de Classes de Projeto

Diagrama de ObjetosSistema Bancário