1 / 32

Diagrama de Classes de Projeto

UML Diagrama de Classes de Projeto e Diagrama de Objetos Profª . Marcelo Siedler siedler@gmail.com. Diagrama de Classes de Projeto. Oferecem uma notação gráfica formal para a modelagem de classes e seus relacionamentos

Download Presentation

Diagrama de Classes de Projeto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UMLDiagrama de Classes de Projeto e Diagrama de Objetos Profª. Marcelo Siedlersiedler@gmail.com

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

  3. Notação

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

  5. Atributo • Características de uma classe • Exemplos: • Idade • - endereço : String • + CPF : inteiro • # nroCorrentistas : Inteiro

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

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

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

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

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

  11. Adornos da Associação • Multiplicidade • Papel • Navegabilidade

  12. Multiplicidade (Cardinalidade) • A multiplicidade (ou cardinalidade) indica a quantidade de ocorrências de um conceito. • Ela é aplicada para atributos, classes e associações

  13. Multiplicidade (Cardinalidade)

  14. Papel • Sua utilização é opcional

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

  16. Tipos de Associação • Agregação • Composição

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

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

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

  20. Sem generalização Com generalização

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

  22. Generalização / Especialização

  23. Classe Associativa • É uma classe derivada de uma associação

  24. Classe Associativa • Transformação de uma Classe Associativa para uma Classe Regular

  25. 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}

  26. Exemplo de Classe Abstrata

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

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

  29. Diagrama de ClassesSistema Bancário

  30. Diagrama de Objetos SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS

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

  32. Diagrama de ObjetosSistema Bancário

More Related