Generalização e herança Agregação e composição

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Engenharia de Software
MER – Modelo de Entidade Relacionamento
UML – Visões Parte 1 Modelando um sistema.
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
(Unified Modeling Language)
Diagrama de Classes continuação.
Modelo Entidade-Relacionamento
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
UML: Diagrama de Classes
Modelagem Orientada a Objetos
1 Orientação a Objetos: Herança Alcides Calsavara.
Modelagem Orientada a Objetos Relacionamentos. Conteúdo n Ligação entre objetos n Associação entre classes n Agregação n Multiplicidade e Papel n Atributo.
Linguagens de Modelagem para SMA
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Análise e Projetos de Sistemas
Diagramas de Classes.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
Diagrama de Classes e Diagrama de Objetos
Engenharia de Software e Sistemas de Informação e Gestão
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Diagrama de Classes e Colaboração
DIAGRAMA DE CLASSE Modelagem de Software
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
UML – Diagrama de Classes
Diagrama de Classes George Gomes Cabral.
Análise e Projeto de Sistemas
Análise de Sistemas de Informação
Princípios de Análise e Projeto Orientados a Objetos com UML
UML Diagrama de classes.
Ceça Moraes Diagrama de Classes.
SISTEMAS DISTRIBUIDOS Aula 4
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Análise Orientado aos Objetos Prof. Wolley W. Silva
Programação Orientada à Objetos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Prof. Gilberto Irajá Müller
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos.
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Orientação a Objetos com UML
Linguagem de Modelagem Unificada
UML Diagramas de Classes Disciplina: Engenharia de Software
Equipe: Bruno Barbosa Felipe Fernandes Waleska Dias.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Visão Geral de Orientação a Objetos com UML Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Visão Geral e Conceitos. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2.
Diagrama de Classes Herança Dependências.
Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Marco Aurélio Wehrmeister
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise e Design de Software Site:
Visão Geral de Orientação a Objetos com UML Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Transcrição da apresentação:

Generalização e herança Agregação e composição Diagrama de Classes Conceitos Generalização e herança Dependência Associação Classe-associação Agregação e composição João Araújo – AS2 

Conceitos Classe é uma descrição de um conjunto de objectos que têm os mesmos atributos, operações, relacionamentos e semântica Responsabilidade: é um contracto ou uma obrigação de uma classe. Ex.: Uma classe TemperatureSensor é responsável por medir a temperatura e activar o alarme se ela chegar a um determinado ponto Notação Classes são rectângulos com o nome no topo atributos na secção intermediária e operações na secção de baixo João Araújo – AS2 

Classe João Araújo – AS2 

Mecanismos Comuns Notas: contêm comentários ou restrições ligados a um elemento Estereótipo: extende o vocabulário do UML permitindo a criação de novos tipos de elementos semelhantes aos já existentes, porém específicos p/ o seu problema Ex.: <<interface>> Tagged value: é uma extensão das propriedades do UML e permite adicionar nova informação sobre um elemento. Ex.: {persistent} Restrição (Constraint): permite adicionar novas regras. Ex.: {18 < age < 35} João Araújo – AS2 

Generalização e herança Classes podem ser organizadas em uma hierarquia onde uma classe (superclasse) é uma generalização de uma ou mais classes (subclasses) Uma subclasse herda os atributos e operações da superclasse e pode adicionar novos métodos Generalização em UML é implementada como herança nas OOP O desenho da hierarquia de classes é um processo difícil se se deseja evitar duplicação nos diferentes ramos João Araújo – AS2 

Generalização e herança Vantagens da herança É um mecanismo de abstração p/ classificar entidades É um mecanismo de reutilização Problemas com a herança Classes só são compreendidas completamente com as superclasses Engenheiros tem a tendência de reutilizar o grafo de herança criado na análise. Isto pode levar à ineficiência João Araújo – AS2 

Herança e OOD Há visões diferentes se a herança é fundamental ao Desenho OO Visão 1. Identificar a hierarquia de herança é parte fundamental do DOO. A herança é um conceito útil p/ implementação que permite reutilizar definições de atributos e operações Visão 2. A herança introduz complexidade, o que não é desejável, especialmente em sistemas críticos. Identificar uma hierarquia de herança durante o desenho põe restrições desnecessárias à implementação João Araújo – AS2 

Hierarquia de classes numa biblioteca

Herança múltipla Herança múltipla Uma classe pode herdar atributos e operações de várias superclasses Pode levar a conflitos quando atributos e operações de superclasses diferentes tem o mesmo nome e semânticas diferentes Torna a hierarquia de classes mais complexa João Araújo – AS2 

Dependência É um relacionamento que determina que uma mudança na especificação de uma classe pode afectar uma outra classe, mas não necessariamente o contrário João Araújo – AS2 

Associações em UML Objectos de uma classe estão conectados a objectos de outras classes Pode ter um nome que tem uma direcção Papel (role): quando uma classe participa numa associação ela desempenha um papel específico Multiplicidade: especificação do nº de elementos que que um conjunto pode assumir. Ex.: 1..*, *, 0..1, 3..9, 3..*, etc. Navegação: mostra como a partir de uma instância de uma classe se pode aceder a uma ou mais instâncias de outra classe João Araújo – AS2 

Associações worksFor João Araújo – AS2 

Classe-Associação Ocorre qdo a associação tem propriedades João Araújo – AS2 

Agregação Mostra como classes são compostas de outras classes É uma associação parte-de João Araújo – AS2 

Composição É uma forma de agregação onde há: Forte pertença do todo com relação a parte As partes não podem existir sem o todo João Araújo – AS2 