INF1404 MODELAGEM DE SISTEMAS

Documentos relacionados
INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

INF1013 MODELAGEM DE SOFTWARE

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

INF1012 MODELAGEM DE DADOS

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Introdução à UML. Prof. Jesus José de Oliveira Neto

INF1012 MODELAGEM DE DADOS

INF1404 MODELAGEM DE SISTEMAS

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

DIAGRAMAS DE CLASSE UML

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes

Diagrama de Classes. Diagrama mais. IMPORTANTE e UTILIZADO

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

INF1013 MODELAGEM DE SOFTWARE

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Modelagem de Processos

Linguagem de Modelagem Unificada UML

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Linguagem de Programação. Diagrama de classes

04/11/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE CLASSE

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

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

Panorama da notação UML

INF1013 MODELAGEM DE SOFTWARE

Diagrama de Classes Diagrama mais

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

UML Diagrama de Classes

Diagrama de Classes 2017

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INF1404 MODELAGEM DE SISTEMAS

Ciclo de Desenvolvimento de BD

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Project-Based Learning TADS MS Diagrama de Classes

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Análise de Sistemas 4º Bimestre (material 3)

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

Banco de Dados Diagrama Entidade Relacionamento DER

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Análise e projeto de sistemas

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz

BCD29008 Banco de dados

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Requisitos de sistemas

UML. Diagrama de Classes

UML. Adriano J. Holanda 21/3/

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

Modelagem de dados usando MER. Andre Noel

Introdução a UML (Unified Modeling Language)

Banco de Dados. Modelagem de Dados. Prof.: Salustiano Rodrigues

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

PROJETO DE DESENVOLVIMENTO DE SOFTWARE

Computação Instrumental

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

Análise de Sistemas 2º Bimestre (material 2)

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

INF1013 MODELAGEM DE SOFTWARE

Modelo ER. Ricardo Terra rterrabh [at] gmail.com

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

PROJETO DE ARQUITETURA

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Visões Arquiteturais. Arquitetura de Software Thaís Batista

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Análise e Projeto Orientados a Objetos

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Modelagem Orientada a Objeto

UML. Diagrama de Classe

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

O MODELO ENTIDADE RELACIONAMENTO. Tiago Alves de Oliveira

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

INF1404 MODELAGEM DE SISTEMAS

Abordagem ER. Capítulo 2

Transcrição:

INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Classes e Diagrama de Classes Associações Exercícios 1

Programa Capítulo 4 Classes e Diagrama de Classes Associações Exercícios Modelo estático de classes Descreve a visão estática de um sistema através das classes e dos relacionamentos entre elas; É composto de um ou mais diagramas de classes; É o modelo central da abordagem orientada a objetos. 2

Classe (1) Uma classe descreve um conjunto de objetos que têm os mesmos atributos, as mesmas operações e a mesma semântica; Graficamente uma classe é representada por um retângulo dividido em três seções: nome, lista de atributos e lista das operações. Classe (2) A UML não define nenhuma regra para a semântica do nome de uma classe; O nome deve ser escolhido de acordo com o vocabulário do domínio do problema ou com a função exercida pela classe; Normalmente, os nomes são substantivos no singular com a primeira letra em caixa alta. 3

Atributo É uma propriedade nomeada de uma classe que define um domínio de valores que um objeto instância da classe pode armazenar; A definição de um atributo é válida para todos os objetos de uma classe; Os valores de todos os atributos de um objeto determinam o estado do mesmo. Operação É a declaração de um serviço que pode ser solicitado às instâncias de uma classe; A declaração de uma operação é válida para todos os objetos de uma classe; Uma implementação de uma operação é chamada de método. 4

Visibilidade (1) Determina o nível de restrição de acesso (referência) a alguns elementos de modelagem da UML; Aplicável às classes, às operações e aos atributos; Tipos de visibilidade: pública + protegida # privada - pacote ~ Visibilidade (2) público pode ser referenciado por qualquer elemento de modelagem externo ao classificador em questão; protegido pode ser referenciado pelos elementos de modelagem internos ao classificador em questão e pelos descendentes deste (generalização); privado pode ser referenciado apenas pelos elementos de modelagem internos ao classificador em questão; pacote pode ser referenciado por qualquer elemento de modelagem declarado no mesmo pacote do classificador em questão. Para os elementos externos, o elemento é tratado como privado. 5

Exemplo Programa Capítulo 4 Classes e Diagrama de Classes Associações Exercícios 6

Relacionamento Um relacionamento é um termo geral que se aplica aos vários tipos de conexões possíveis entre os elementos de modelagem definidos na UML; Nesta etapa do curso serão estudadas as associações e as generalizações; As dependências serão estudadas quando abordarmos os modelos de design de um sistema. Associação (1) Uma associação é um relacionamento estrutural cujo significado semântica é representativo para o problema sendo modelado; Uma associação representa um conjunto de ligações entre os objetos das classes que participam da associação; Ela define as regras de conexão entre estes objetos; Uma associação binária é representada por uma linha sólida que conecta as duas classes envolvidas. 7

Associação (2) Uma associação deve ter um nome, que define a natureza da associação; Para tornar mais preciso o significado de uma associação podemos usar uma seta de direcionamento de leitura; Uma seta de direcionamento não tem nenhum significado maior; apenas determina o sentido de leitura da associação. Associação - Exemplo 8

Teoria dos Conjuntos A associação pode ser vista sob a ótica da Teoria dos Conjuntos; Nesse caso, uma associação seria composta por pares ordenados, formados por instâncias das classes envolvidas; O diagrama de Venn a seguir ilustra o conceito de associação: Diagrama de Venn R={(x,y) A B x trabalha na empresa y} R={(x 1,y 2 ),(x 3,y 1 ),(x 4,y 2 ),(x 5,y 3 ),(x 6,y 3 )} 9

Papel Quando uma classe participa de uma associação, ela desempenha um papel nesse relacionamento; O papel evidencia a finalidade ou função de cada classe de uma associação; Uma mesma classe pode desempenhar vários papéis em diversas associações; Na maioria da vezes, o próprio nome da classe define o seu papel na associação. Papel - Exemplo 10

Uso de papéis em auto-relacionamentos Em algumas situações, entretanto, a utilização dos papéis é fundamental para o completo entendimento do modelo. Outro uso para um papel 11

Multiplicidade (1) O conceito de multiplicidade é muito importante na definição das regras que governam as associações: A multiplicidade de uma extremidade de uma associação define o número de objetos da classe associada a esta extremidade que podem estar conectados a uma dada instância da classe associada à extremidade oposta. Multiplicidade (2) No exemplo abaixo uma instância de A pode estar conectada, através da relação R, a zero ou mais instâncias de B. 12

Multiplicidade (3) No sentido inverso, uma instância de B pode estar conectada, através da relação R, a uma ou mais instâncias de A. Multiplicidade (4) Indicadores de multiplicidade mais comuns: 1 exatamente um 1..* um ou mais 0..* zero ou mais (muitos) * zero ou mais (muitos) 0..1 zero ou um m..n faixa de valores (por exemplo: 4..7) 13

Multiplicidade - Exemplo Um estudante pode pertencer ou não a uma equipe de futebol; Um equipe de futebol tem entre 11 e 22 estudantes jogando; Um estudante pode cursar no máximo oito disciplinas, ou estar com a matrícula trancada; Uma disciplina pode ser cursada por um número indeterminado de estudantes. Classe associativa Seja a associação abaixo, que relaciona os alunos às disciplinas por eles cursadas: A qual das duas classes deve pertencer o atributo nota, que representa a nota que um aluno obteve em uma disciplina? Resposta: a nenhuma das duas classes, e sim à relação cursa. 14

Classe associativa - Exemplo Para representarmos esta solução, precisamos de um novo elemento de modelagem; Este elemento é chamado de Classe de Associativa. Associação de grau maior do que dois Todas as associações vistas até agora são binárias; isto é, envolvem duas classes; Entretanto, em muitas ocasiões, uma associação irá envolver três ou mais classes, sem que seja possível expressar a regra de associação entre elas através de relações binárias independentes; Por exemplo, seja uma regra de negócio que determina que em uma dada cidade a distribuição de um dado produto é de exclusividade de um único distribuidor; O diagrama de classes a seguir é capaz de expressar tal regra: 15

Exemplo Leitura (1) Um par (cidade,distribuidor) pode estar associado a zero ou mais produtos. 16

Leitura (2) Uma par (distribuidor,produto) pode estar associado a zero ou mais cidades. Leitura (3) Um par (cidade,produto) pode estar associado a no máximo um distribuidor. 17

Outra solução Ao invés de usarmos explicitamente uma associação ternária, poderíamos utilizar uma classe de associação para obtermos um resultado equivalente; É importante lembrarmos que os elementos de uma associação binária são pares de objetos; Logo, se associarmos uma classe de associação a outra classe qualquer, os elementos da associação resultante serão ternos de objetos, que são elementos de uma relação entre três classes; ou seja, uma associação ternária. Exemplo 18

Programa Capítulo 4 Classes e Diagrama de Classes Associações Exercícios Bibliografia Bezerra, E. Princípios de Análise e Projeto de Sistemas com UML. 1ª edição, Campus, 2006. Larman, C. Utilizando UML e Padrões. 3ª edição, Bookman, 2007. 19