Relacionamentos entre classes



Documentos relacionados
UML: Diagrama de Casos de Uso, Diagrama de Classes

Disciplina Técnicas de Modelagem

3.1 Definições Uma classe é a descrição de um tipo de objeto.

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

Análise e Projeto Orientado a Objetos

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

RELACIONAMENTOS ENTRE CLASSES

Figura 5 - Workflow para a Fase de Projeto

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Aula II Introdução ao Modelo de Entidade-Relacionamento

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Diagrama de classes. Ricardo Roberto de Lima UNIPÊ APS-I

Sumário. Uma visão mais clara da UML

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

"SISTEMAS DE COTAGEM"

GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER)

Persistência e Banco de Dados em Jogos Digitais

Banco de Dados. Aula 5 - Prof. Bruno Moreno 06/09/2011

Persistência e Banco de Dados em Jogos Digitais

Modelo Relacional. 2. Modelo Relacional (Lógico)

III. Projeto Conceitual de Banco de Dados. Pg. 1 Parte III (Projeto Conceitual de Banco de Dados)

Uma visão mais clara da UML Sumário

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

AULA 16 - Sistema de Arquivos

Orientação a Objetos I

4- PROJETO DE BANCO DE DADOS

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ENGENHARIA DA COMPUTAÇÃO CONTEÚDO 4 GENERALIZAÇÃO E ENTIDADE ASSOCIATIVA. Prof. Msc. Ricardo Antonello BANCO DE DADOS I

Banco de Dados. MER Estendido. Profa. Flávia Cristina Bernardini

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 17 PROFª BRUNO CALEGARO

MC536 Bancos de Dados: Teoria e Prática

BANCO DE DADOS I AULA 3. Willamys Araújo

A Linguagem de Modelagem Unificada

UML Aspectos de projetos em Diagramas de classes

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

BANCO DE DADOS MODELAGEM ER GENERALIZAÇÃO / ESPECIALIZAÇÃO. Prof.: Jean Carlo Mendes carlomendes@yahoo.com.br

Diagrama lógico da rede da empresa Fácil Credito

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Mapa Mental de Engenharia de Software - Diagramas UML

Casos de uso Objetivo:

Especificação do Trabalho

Guia para elaboração do Modelo de Domínio Metodologia Celepar

5 CONCLUSÃO Resumo

Engenharia de Software I

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

2 Engenharia de Software

Introdução. Toda organização executa basicamente dois tipos de atividade: Projeto; e. Operação (execução).

Modelagem de Sistemas

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

UML Aula I Diagramas de Sequência e Colaboração. Ricardo Argenton Ramos

Modelo Entidade-Relacionamento

Modelagem Dinâmica com UML

Resolução da lista de exercícios de casos de uso

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Gerência de Projetos e EVTE. Fabiana Costa Guedes

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

UML Diagramas de Classes

3. Fase de Planejamento dos Ciclos de Construção do Software

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Banco de Dados. Banco de Dados (aulas 7 e 8) 1 Wedson Quintanilha da Silva - Banco de Dados

Programação Orientada a Objetos (DPADF 0063)

A Linguagem de Modelagem Unificada (UML)

Ciclo de Desenvolvimento de Sistemas de BD

Capítulo 8. Introdução UML

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO

Engenharia Informática Engenharia Electrotécnica e Computadores Programação Orientada por Objectos Projecto PlayCards

Eng Civil Washington Peres Núñez Dr. em Engenharia Civil pela Universidade Federal do Rio Grande do Sul

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

REQUISITOS DE SISTEMAS

UMC Cotas em desenho técnico (Módulo 2) Componentes gráficos de uma cota: Linha de cota Linha de chamada Setas de cota

NBR 8196 (Ago 1992) Conceito Escala é a relação entre as medidas do desenho de um objeto e seu tamanho real:

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

DIAGRAMA DE ATIVIDADES

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Coleta de Dados: a) Questionário

Fundamentos de Teste de Software

4. Exemplo de Levantamento de Classes Levantamento das Classes Conceito de Classe e Objeto Modelo de Casos de Uso...

Modelo conceitual Aula 08

Transcrição:

Relacionamentos entre classes

Relacionamentos entre classes Relacionamentos estruturais entre classes Precisam ser criteriosamente definidos durante o projeto do software São obtidos a partir da análise dos diagramas de colaboração É um dos principais diagramas da UML define o esqueleto do sistema Há três tipos de relacionamentos entre classes: associação, agregação e generalização

Associação entre classes É o tipo de relacionamento mais comum e mais importante em um sistema orientado a objetos É um relacionamento ou ligação entre duas classes permitindo que objetos destas possam se comunicar Objetivo essencial da associação: possibilitar a comunicação entre objetos de duas classes A comunicação pode ser uni ou bidirecional

Notação UML para associações Segmento de reta ligando as duas classes Associação unidirecional: inclui-se uma seta na extremidade de destino Pode-se incluir um nome na associação Indica a natureza ou finalidade da comunicação

Notação UML para associações Papéis das classes Pode-se incluir uma indicação dos papéis das classes nas associações Não é comum indicar o nome da associação e os papéis das classes para uma mesma associação opta-se por uma ou outra

Notação UML para associações Cardinalidade Especifica o número de objetos de cada classe envolvidos com a associação Quando não há especificação, entende-se que a cardinalidade é 1

Notação UML para associações A leitura da cardinalidade exige cuidados: Deve-se fazer a leitura de forma distinta para os dois sentidos da associação Para cada um dos sentidos: Deve-se esquecer a cardinalidade no extremo de início Deve-se considerar que existe a associação de um objeto da classe de início com vários objetos da classe de destino

Notação UML para associações O exemplo abaixo é lido como: 'Um objeto da classe CTurma se associa com 40 objetos da classe CAluno, e um objeto da classe CAluno se associa com um número indefinido (inclusive zero) de objetos da classe Cturma':

Levantamento de associações As associações são criadas a partir da necessidade de canais de comunicação entre objetos de duas classes As necessidades são obtidas a partir do diagrama de sequência e de colaboração Exemplo do levantamento de associações a partir de um diagrama de colaboração:

Levantamento de associações

Agregação entre classes Relacionamento de pertinência entre classes Permite a inclusão de objetos de uma classe no interior de objetos de outra classe Relação 'parte-de', 'tem-um', 'todo-parte' Objeto que agrega conhece o agregado mas este não conhece aquele comunicação unidirecional Notação UML: segmento de reta ligando a classe dos objetos que agregam à classe dos objetos agregados.

Agregação entre classes Na extremidade da classe dos objetos que agregam inclui-se um losango:

Agregação entre classes Cardinalidade Número de objetos envolvidos na relação Um objeto pode incluir vários outros mas não pode estar contido em mais de um objeto i.e. cardinalidade no lado da classe dos objetos que agregam será sempre 1

Agregação entre classes Exemplo: um objeto da classe CCarro contém 4 objetos da classe CRoda e 5 objetos da classe CPorta:

Definição de agregações Não existe uma técnica precisa para de se definir as agregações em um sistema Sugestões: definição das agregações a partir de decomposições quando uma classe tem muitas responsabilidades, tende-se a dividi-la. Tal divisão pode fazer com que a classe perca sua identidade neste contexto, as agregações são muitos úteis porque dividem uma classe grande em outras menores, sem que a grande perca a identidade definição das agregações a partir de composições raciocínio é o inverso ao da decomposição procura-se identificar conjuntos de objetos que juntos compõem objetos maiores

Definição de agregações definição de agregações a partir de partes comuns quando se percebe dentro de duas ou mais classes um conjunto de atributos e/ou métodos semelhantes se estes juntos possuem uma identidade, então poderia ser criada uma nova classe:

Definição de agregações Definição de agregações a partir de partes comuns

Tipos de agregação Agregação por composição é uma agregação de fato realmente é feita a criação ou alocação (estática) de um objeto dentro do outro Exemplo: o objeto ender da classe CEndereco está sendo instanciado dentro da classe CAluno O número de objetos agregados é fixo, uma vez que são alocados dinamicamente A notação é um losango preenchido

Tipos de agregação

Tipos de agregação Agregação por associação Tem a mesma interpretação do que a agregação por composição Entende-se que o objeto agregado é um componente do objeto que agrega A alocação do objeto agregado ocorre de forma estática fora do objeto que agrega ou de forma dinâmica em seu interior Sua implementação ocorre através de associações São consideradas agregações quando se realiza um controle de escopo para os objetos agregados Utilizada quando se deseja estabelecer uma agregação envolvendo um número variável de objetos

Tipos de agregação

Generalização/Especialização de Classes Relacionamento estrutural entre duas classes classe base (superclasse) classe base (subclasse) Herança (relacionamento 'é um' a derivada herda as propriedades da base

Generalização/Especialização de Classes

Herança Múltipla Ocorre quando uma classe deriva de mais de uma classe base

Herança Múltipla Quando uma classe deriva de mais de uma classe base

Exercício 4) Para a especificação apresentada em aula, crie a arquitetura do software: partindo das classes propostas no exercício 2, verifique o relacionamento estrutural entre elas (associações, herança) e desenhe o diagrama de classes.

Bibliografia [1] STADZISZ, Paulo Cézar. Projeto de software usando a UML. Versão 2002. CEFET-PR