A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Diagrama de Classes e Diagrama de Objetos

Apresentações semelhantes


Apresentação em tema: "Diagrama de Classes e Diagrama de Objetos"— Transcrição da apresentação:

1 Diagrama de Classes e Diagrama de Objetos

2 Abstração e Classificação
Uma abstração denota as características essenciais de um objeto que o distingue de todos os outros tipos de objetos e, portanto, fornece limites conceituais definidos claramente, relativos à perspectiva do observador. Enfoca a visão externa do objeto e, assim, serve para separar um comportamento essencial do objeto de sua implementação (a interface de um objeto fornece seu comportamento essencial ou métodos públicos e nada mais). A orientação a objetos estimula os programadores e usuários a pensarem sobre aplicações em termos abstratos. Começam com um conjunto de objetos para os quais criam um comportamento comum e encaixam em superclasses abstratas As bibliotecas de classe detêm um depósito de elementos comuns e reutilizáveis e a herança mantém automaticamente as relações entre classes organizadas hierarquicamente na biblioteca. Além disso, cada nível de abstração faz com que o trabalho fique mais fácil, pela maior disponibilidade de codificação reutilizável.

3 Herança Na Herança Simples, os métodos e atributos definidos na superclasse são refletidos em todas as subclasses da hierarquia. Forma origem mover() exibir() Retângulo ponto : Ponto Círculo raio : float Polígono pontos : ListaDePontos Quadrado

4 Herança Na Herança Múltipla, há mais de uma superclasse para uma mesma subclasse, das quais ela herda os métodos e atributos. Veículo Aquático Veículo Veículo Terrestre Veículo Anfíbio

5 Telefone Convencional
Tipos de Classes Há três tipos de classes numa hierarquia: Classe base é a raiz da hierarquia, a superclasse de todas as classes. Os métodos e atributos definidos nesta classe são refletidos em todas as classes da hierarquia. Define o comportamento do objeto. Classes abstratas são superclasses que contém a definição de comportamento de todo um ramo da hierarquia, porém sem implementá-lo (somente a declaração dos métodos). Nunca são instanciadas. Classes concretas são localizadas geralmente nas extremidades da hierarquia. Em um programa OO, os objetos são instanciados a partir dessas classes. Telefone Celular Telefone Telefone Convencional A classe Telefone não pode ser instanciada. Telefone Convencional e Telefone Celular são concretas, implementam os métodos e podem ser instanciadas.

6 Classes Em UML as classes são representadas por um retângulo dividido em três compartimentos: Cliente Nome : String Idade : Num Criar () Destruir () o compartimento de nome, que conterá apenas o nome da classe modelada o de atributos, que possuirá a relação de atributos que a classe possui em sua estrutura interna o compartimento de operações, que serão os métodos de manipulação de dados e de comunicação de uma classe com outras do sistema.

7 Variações de Representação
Indivíduo código: int Indivíduo sexo: char código: int nome: String sexo: char nome: String inluir() atualizar()

8 Atributos de uma classe podem ser identificados apenas com seus nomes
Um atributo representa alguma propriedade do que está sendo modelado, que é compartilhada por todos os objetos da classe. Os atributos descrevem os dados contidos nas instâncias de uma classe. Em um momento dado, um objeto de uma classe conterá valores para todos os atributos descritos na sua classe. Cliente nome endereço telefone Parede altura : real largura : real espessura : real viga : boolean = false Atributos de uma classe podem ser identificados apenas com seus nomes ou podem ter seus tipos (ou classes) especificados e ter valores padrão definidos

9 Operações Uma operação é uma abstração de alguma coisa que se pode fazer com um objeto e que é compartilhada por todos os objetos da classe. Um classe pode ter qualquer número de operações, inclusive nenhuma. Como para os atributos, pode-se especificar uma operação apenas com seu nome ou pode-se também especificar a assinatura da operação: seus parâmetros, o tipo desses parâmetros e o tipo de retorno

10 Visibilidade Pode-se usar marcações de acesso para especificar o tipo de acesso permitido aos atributos e operações. Classificador: classes, interfaces, componentes, nós, use cases, subsistemas. + público: todos os classificadores podem usar. - privado: somente o próprio classificador poderá usar. # protegido: qualquer descendente do classificador poderá usar.

11 Relacionamentos Poucas classes vivem sozinhas. A maioria das classes colabora com outras classes de várias maneiras. Os relacionamentos ligam as classes/objetos entre si, criando relações lógicas entre essas entidades. Os relacionamentos podem ser dos seguintes tipos: Associação Agregação Composição Generalização Dependência Refinamento

12 Interfaces Uma interface é um conjunto de operações usado para especificar um serviço de uma classe ou componente. Diferentemente das classes, as interfaces não especificam nenhuma estrutura e não podem conter atributos (especificam o contrato para uma classe ou componente, sem definir como ele será implementado). O uso de interfaces é uma maneira elegante e poderosa de isolar a especificação da implementação, um relacionamento entre uma especificação e sua implementação.

13 Interfaces (notação) <<interface>> Empregado
verificarFicha() | Empregado calcularSalário()

14 Realização (notação) Empregado Empregado_Impl

15 Diagrama de classes Conteúdo:
Interfaces Colaborações Relacionamentos de dependência, generalização e associação Os diagramas de classes são os principais diagramas estruturais da UML. Diagramas de classe mostram classes, interfaces e os relacionamentos entre esses elementos. As classes especificam a estrutura e o comportamento dos objetos. Objetos são instâncias de classes.

16 Diagrama de classes itens representante de vendas IPessoa Cliente
+confirmar() +cancelar() -calcularTotal():Currency gerarNovoCodigo: String -codigo: Integer -dataRecebido -total: Currency Pedido #creditoPermitido: Currency #nivelCredibilidade() -nome: String -endereco: String -dataPrimeiraCompra: Date -dataUltimaCompra: Date -totalComprado: Currency Cliente -quantidade: Integer -preco: Currency -emEstoque: Boolean Item de Pedido nomeContato: String telefones[1..10]: String CNPJ: String FAX[1..3]: String Cliente pessoa-jurídica colocarListaNegra() nome: String CPF: String numCartaoCredito Cliente pessoa-física Empregado Produto * representante de vendas IPessoa itens

17 Objetos Um objeto é um elemento que podemos manipular, acompanhar seu comportamento, criar, destruir etc. Um objeto existe no mundo real, podendo ser uma parte de qualquer tipo de sistema, por exemplo, uma máquina, uma organização ou negócio. Existem objetos que não encontramos no mundo real, mas que podem ser vistos de derivações de estudos da estrutura e comportamento de outros objetos do mundo real. Em UML um objeto é mostrado como uma classe, só que seu nome é sublinhado e pode ser mostrado opcionalmente com o nome da classe. Os diagramas de objetos mostram uma “fotografia” de um sistema OO em execução. São mostrados os objetos, com os valores de seus atributos e as ligações entre eles. São úteis para a modelagem de estruturas de dados complexas, depuração etc.

18 Objetos Representação de um objeto Marcia Moita:Cliente Nome do Objeto
Nome : “Marcia Moita” Idade : 20 Criar () Destruir () Nome do Objeto Atributos Operações

19 Objetos simples : Curso George Bush : Aluno Jaelson: Professor
codCurso: "IF291" descrição: "MPS" codTurma: I7 : Curso George Bush Jaelson: Professor : Aluno Monica: Aluno Fulano :

20 Multiobjetos Multiobjetos são conjuntos de objetos, com um número indeterminado de elementos. São usados, por exemplo, em diagramas de colaboração para modelar uma mensagem enviada para vários objetos ao mesmo tempo. Multiobjetos Agente de Reservas : Cadeira 1: cadeira := encontrar(número) 2: reservar(nomeCliente)

21 Diagrama de objetos É comum haver centenas ou milhares de objetos em um sistema em execução, a maioria deles anônimos, por isso o diagrama de objetos mostra apenas uma parte dos objetos no sistema. Diagramas de objetos são estáticos e não mostram a evolução do sistema com o tempo. Para mostrar o comportamento de um objeto, deve-se usar diagramas de comunicação, diagramas de seqüência ou diagramas de estados. É comum colocar um diagrama de classes junto com um diagrama de objetos, para facilitar a identificação dos objetos.

22 Diagrama de objetos * -matrícula: String -nome: String Professor
-codDisciplina: String -descrição: String -codTurma: String Curso -período: Integer Aluno [0..10] ministra [1..5] * [1..3]


Carregar ppt "Diagrama de Classes e Diagrama de Objetos"

Apresentações semelhantes


Anúncios Google