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

Documentos relacionados
Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Capítulo 19. Algoritmos de Ordenação e de Pesquisa. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

AULA Entidade-Relacionamento

Relacionamentos entre classes

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

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

Processo de desenvolvimento de sistema de informação - DSI

UML: Diagrama de Classes

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Disciplina: Unidade II: Prof.: Período:

UML Aspectos de projetos em Diagramas de classes

Objetos não existem isolados

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R Parte 2. Fabricio Breve

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Prof. Claudio Passos Apresentação cedida pela Ceça Moraes

2 Diagrama de Caso de Uso

Disciplina: Unidade III: Prof.: Período:

ENGENHARIA DA COMPUTAÇÃO

Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática.

Objetivos do Capítulo

Microsoft Access XP Módulo Um

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

UML: Diagrama de Casos de Uso, Diagrama de Classes

Especificação do 3º Trabalho

LINGUAGEM DE BANCO DE DADOS

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Disciplina de Banco de Dados Parte V

Elaborado por SIGA-EPT. Projeto SIGA-EPT: Manual Usuário Financeiro Parte 1

Roteiro 3 Modelagem relacional

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

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

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

www. inf.br Outubro/2008 5www.habisp.inf.br TREINAMENTO HABISP VERBA DE ATENDIMENTO

Tutorial Módulo Frequência

Profº. Enrique Pimentel Leite de Oliveira

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p:// h7p://leveme.

Capítulo 09. Construindo o Modelo do Domínio

Disciplina Técnicas de Modelagem

Capítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Análise de Dados do Financeiro

Portal Sindical. Manual Operacional Empresas/Escritórios

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

QualiQuantiSoft Versão 1.3c

UFG - Instituto de Informática

MC536 Bancos de Dados: Teoria e Prática

Lógica de Programação

Questões de Concursos Públicos sobre Orientação a Objetos e UML

PROGRAMANDO EM C# ORIENTADO A OBJETOS

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

Orientação a Objetos com Java

Possuir Evento cadastrado e o usuário que está logado no sistema seja um dos advogados selecionados no processo.

Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)

Curso de Gestão em SI MODELAGEM DE DADOS. Rodrigo da Silva Gomes. (Extraído do material do prof. Ronaldo Melo - UFSC)

Capítulo 6. Operadores. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Laboratório de ENGSOF Estudo de Caso. Prof. André Pereira, MSC, PMP

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

Capítulo 8. Introdução UML

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

BANCO DE DADOS I AULA 3. Willamys Araújo

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web,

Unified Modeling Language UML

Manual de Gerenciamento de Conteúdo

Ajuda: Pesquisa Web na base de dados Digitarq

Prof. Jhonatan Fernando

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

A Linguagem de Modelagem Unificada (UML)

4 O Workflow e a Máquina de Regras

Exemplo de Modelagem Orientada a Objetos

GERENCIADOR DE CONTEÚDO

Revisão de Banco de Dados

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

Informática Básica. Microsoft Word XP, 2003 e 2007

Tutorial do administrador do HelpCenterLive (Sistema de Ajuda)

Prof.: Clayton Maciel Costa

Manual Operacional SIGA

Orientação a Objetos

Objetivos do Capítulo

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Engenharia de Software

Intellikon 2.2. Código de Manual: Ik22001POR Versão do Manual: 1.0 Última revisão: 21/2/2006 Aplica-se a: Intellikon 2.2.

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

Transcrição:

Capítulo 22 Associações entre Classes

Objetivos do Capítulo Indicar os diferentes aspectos de um relacionamento entre classes que podem ser expressos através de uma associação. Descrever o significado das multiplicidades das associações. Analisar uma importante propriedade das associações: a navegabilidade. Distinguir dois tipos especiais de associação: a agregação e a composição.

Introdução Sistema = conjunto de componentes Classes Interfaces Modelagem estrutural: diagrama de classes Componentes Relacionamentos Generalização Realização Associação

Representação Gráfica Linguagem: UML Linha contínua Exemplo: sistema para escolas de informática Cadastrar cursos Abrir turmas Cadastrar professores Cadastrar alunos Registrar o professor da turma Matricular alunos na turma

Sinônimo: cardinalidades Multiplicidades Conceito Propriedades das associações Informações quantitativas Quantidade de objetos envolvidos na associação Quantidade mínima Quantidade máxima

Exemplo: comércio de livros Atributos identificadores Associação um-para-muitos Associação muitos-para-muitos Multiplicidades Código correspondente public class Editora { private int codigo; private String nome; } public class Autor { private int codigo; private String nome; } public class Livro { private int codigo; private String titulo; private int ano; }

Conceito Propriedade da associação Representada por uma seta Navegabilidade Indica que objetos de uma classe mantêm referências de objetos da classe associada Tipos: Unidirecional Bidirecional Papel: a função que um objeto de uma classe exerce em relação aos objetos da classe associada Navegabilidade & Multiplicidade Navegação para um objeto: uma única referência Navegação para múltiplos objetos: coleção de referências

Exemplo: comércio de livros Navegabilidade Navegação de Livro para Editora: uma referência Navegação de Livro para Autor: múltiplas referências Código correspondente 1 import java.util.collection; 2 3 public class Livro { 4 private int codigo; 5 private String titulo; 6 private int ano; 7 private Editora editora; 8 private Collection<Autor> autores; 9 } Obs.: coleções mais específicas podem ser usadas.

Conceito Tipo especial de associação Agregação Relação todo-parte: uma classe representa o todo e outra representa a parte deste todo Independência da parte: os objetos que representam a parte são utilizados em operações do sistema que não envolvem a classe que representa o todo Representação: losango vazio ao lado do todo

Conceito Tipo especial de associação Composição Relação todo-parte: uma classe representa o contêiner e outra representa os elementos que ele abriga Dependência do conteúdo: os objetos que representam os elementos de um contêiner não fazem sentido fora dele Se o contêiner é destruído os seus elementos também são Representação: losango preenchido do lado do contêiner

Ordem de implementação Editora.java Autor.java Capitulo.java Livro.java CadastroLivros.java Estudo de Caso

Exercício 1 Copie as classes Autor e Livro para um diretório distinto e revise-as para que correspondam às especificações apresentadas na figura abaixo. Note que as classes Autor e Livro devem realizar a interface Comparable. O critério de ordenação que deve ser utilizado para os autores é o nome e o critério de ordenação dos livros deve ser o título. Revise a classe Livro e elimine todas as referências que eram feitas às classes Editora e Capitulo. Os atributos relacionados àquelas classes devem ser eliminados e os métodos devem ser eliminados ou adaptados.

Exercício 2 Crie uma nova classe, chamada Banco, que agregue a ela uma lista de autores e uma lista de livros. Implemente esta classe de acordo com a figura abaixo. Note que a classe Banco possui um único construtor e ele é privado. Desse modo, não é possível instanciar esta classe. A sua função será oferecer acesso às listas de autores e de livros e este acesso poderá ser realizado através dos métodos getautores( ) e getlivros( ). Antes de produzir o retorno, estes métodos devem verificar se as listas já foram criadas. Caso elas ainda estejam nulas, eles devem criá-las.

Exercício 3 Crie três novas classes, chamadas RegistroAutor, RegistroLivro e SisEditora. Implemente estas classes de acordo com a figura abaixo.

Exercício 3 A classe RegistroAutor deve permitir a manipulação dos cadastros de autores. Seu método incluirautor( ) deve solicitar o código e o nome de um autor e deve incluir o novo registro na lista de autores que se encontra na classe Banco. O método exibirrelatorio( ) deve ordenar a lista de autores supracitada, recuperar os dados de todos os autores cadastrados e exibi-los através de um diálogo gráfico. A classe RegistroLivro deve permitir a manipulação dos cadastros de livros. O método incluirlivro( ) deve solicitar o código, título, ano de publicação e autores do livro e deve gravar o novo registro na lista de livros que se encontra na classe Banco. O método exibirrelatorio( ) deve ordenar a lista de livros, recuperar os dados de todos os livros cadastrados e apresentálos através de um diálogo gráfico.

Exercício 3 A classe SisEditora deve produzir um diálogo contendo quatro opções. A figura abaixo ilustra a sua aparência. Quando a opção Incluir Autor for selecionada, deve ser criado um objeto anônimo da classe RegistroAutor e seu método incluirautor( ) deve ser invocado. Quando a opção Incluir Livro for selecionada, deve ser criado um objeto anônimo da classe RegistroLivro e seu método incluirlivro( ) deve ser invocado. Quando a opção Relatório de autores for selecionada, deve ser criado um objeto anônimo da classe RegistroAutor e seu método exibirrelatorio( ) deve ser invocado. Quando a opção Relatório de livros for selecionada, deve ser criado um objeto anônimo da classe RegistroLivro e seu método exibirrelatorio( ) deve ser invocado.

Exercício 4 Crie um novo aplicativo que permita registrar as compras e as vendas de produtos. Ele também deve permitir o cadastro de produtos, o cadastro de clientes e o cadastro de fornecedores. Além disso, deve ser possível consultar o relatório de qualquer um destes cadastros e os relatórios de compras e de vendas realizadas dentro de um intervalo de datas especificadas pelo usuário.

Contato Com o autor: Rui Rossi dos Santos E-mail: livros@ruirossi.pro.br Web Site: http://www.ruirossi.pro.br Com a editora: Editora NovaTerra Telefone: (21) 2218-5314 Web Site: http://www.editoranovaterra.com.br