Noções Básicas de Modelagem

Slides:



Advertisements
Apresentações semelhantes
Modelo Entidade-Relacionamento
Advertisements

Modelo de Casos de Uso Diagrama de Casos de Uso
Um pouco mais de cardinalidade e Relacionamentos
Abordagem Entidade Relacionamento
Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
Renata Viegas Extensões MER Renata Viegas
O Modelo E-R Definição: Características
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Diagrama de Classes.
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Programação Orientada a Objetos*
Cartões CRC (Class Responsibility Card)
O Paradigma de Orientação a Objetos
Prof. Carlos H. Marcondes
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Introdução ao paradigma de programação: Orientado a Objetos
Métodos de Pesquisa: Seqüencial e Binária
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Alexandre Parra Site: Os Pilares da OO em Java Alexandre Parra Site:
Diagrama de Classes.
Análise e Projetos de Sistemas
Diagramas de Classes.
(Linguagem de Modelagem Unificada)
Tecnologias de Linguagens para Banco de Dados I
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Prof. Alfredo Parteli Gomes
Diagrama de Classes e Colaboração
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Análise Estruturada.
Professora: Sílvia C. Matos Soares
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Campus de Caraguatatuba Aula 6: Modelo Entidade Relacionamento (3)
Diagrama de Classes George Gomes Cabral.
Profª Daniela TLBD.
Cardinalidade Expressa o numero de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.
REGRAS DE PRODUÇÃO DO MODELO LÓGICO
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Orientação a Objetos Parte I
Programação Orientada à Objetos
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
Análise e Projeto de Sistemas
Curso Técnico em Informática
SISTEMAS DISTRIBUIDOS Aula 4
UML – Engenharia de Software 1
Análise Orientado aos Objetos Prof. Wolley W. Silva
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Análise e Projeto de Sistemas
Banco de dados 1 Modelagem de Dados Utilizando MER
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Introdução a Orientação a Objetos
Modelo Entidade-Relacionamento
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Banco de Dados I Aula 3 - Projeto Conceitual de Banco de Dados
Implementação Orientada a Objetos – Aula 01 Introdução à Orientação a Objetos Prof. Danielle Martin Universidade de Mogi das Cruzes
4 Projeto de Banco de Dados Carlos Alberto Heuser.
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante.
Modelo de Entidade-relacionamento
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Modelagem Entidade-Relacionamento (MER)
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Lógica de programação Introdução à lógica de programação
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Transcrição da apresentação:

Noções Básicas de Modelagem Alexandre Parra http://www.joinville.udesc.br/portal/professores/parra/

O que são Modelos? Modelos são representações simplificadas de domínios do mundo real. Por exemplo: objetos, pessoas, itens, tarefas, processos, conceitos, idéias, etc. Usados comumente por pessoas no seu dia-a-dia, independente do uso de computadores.

Exemplo de Modelagem Consideremos o Restaurante Caseiro Hipotético (RCH). Características: Serve pratos, cujo gerente, fica na balança e no caixa anotando os pratos solicitados pelos clientes de cada mesa e demais pedidos que os garçons trazem em um “quadro-branco” de comandas para o gerente. Pergunta: Como modelar este restaurante ? Resp: Depende do objetivo.

Exemplo do Modelo do RCH Modelo expressando o Restaurante Caseiro Hipotético

Atributos em Modelos O modelo do RCH representa certos dados (atributos). Estes atributos são relevantes para o domínio a ser representado (abstração do domínio). Este modelo preocupa-se com a marcação dos pedidos e cálculo da conta das mesas do restaurante. Atributos: endereço, data de inauguração, tamanho do restaurante entre outros são irrelevantes.

Operações sobre Modelos Um modelo comumente contém operações (procedimentos) associados a ele. Estas operações são grupos de comandos que processarão os valores referentes aos atributos contidos no próprio modelo (e em alguns casos, valores adicionais). Pergunta: Quais operações são necessárias no modelo do RCH ? Resp: 1) Inclusão de pedidos para uma mesa; 2) a modificação do status da mesa (servida ou não); 3) encerramento dos pedidos de uma mesa etc...

Características gerais dos modelos Alguns modelos podem possuir somente dados ou operações. Modelos que tem somente dados são pouco usados (normalmente os valores devem ser modificados) pag. Modelos que tem somente operações podem ser consideradas bibliotecas. (exemplo: grupos de funções matemáticas, processamento de imagens, etc).

Modelos dentro de modelos Modelos podem conter sub-modelos (especialização) e além disso serem parte de (agregação) outros modelos. Exemplo de modelos dentro de modelos: Agregação: Um modelo de Automóvel é composto por diversos elementos que podem também ser modelos. Por exemplo: modelo motor, rodas, etc. Especialização: O modelo do RCH poderia então conter vários exemplares do modelo MesaDoRestaurante que representariam diferentes mesas do restaurante.

Simplificação de modelos baseado no Contexto A simplificação dos modelos é em muitos casos necessária. Dependendo do contexto algumas informações devem ser ocultadas ou ignoradas. Exemplo: Modelagem de informações sobre uma pessoa em três cenários distintos:

Diferentes Contextos para Pessoa (1/2) Pessoa como Empregado de Empresa: para fins de processamento de FP seria necessário: Atributos: nome, cargo, salario, horasExtrasTrabalhadas. Operações: calculaSalario e aumentaSalario. Pessoa como Paciente de uma Clínica Médica: Atributos: nome, sexo, idade, altura, peso, historico, etc. Operações: verificaObesidade (dados: altura, sexo e peso) e AdicionaInformacaoAoHistorico.

Diferentes Contextos para Pessoa (2/2) Pessoa como Contato Comercial: Atributos: nome, telefone, cargo e empresa da pessoa em questão. Operações: mostraTelefone e trabalhaEmEmpresa

Considerações sobre diferentes contextos (1/2) Atributos e operações que podem ser úteis para um modelo de representação podem ser irrelevantes para outros. Exemplos: Não faria sentido representar o salário de uma pessoa no BD de pacientes de uma clínica. Representar a operação verificaObesidade de uma pessoa que não seja paciente de uma clínica.

Considerações sobre diferentes contextos (2/2) Apesar dos modelos representarem pessoas de forma genérica, é difícil, senão impossível de elaborar um “super-modelo”. Um super-modelo serve para representar todos os atributos e operações relativos a uma pessoa (independente de contexto). Exemplo: Formas Geométricas (quadrado, retângulo e triângulo).

Reutilização de modelos Modelos podem ser reutilizados para representar diferentes modelos. Exemplo: o mesmo modelo Paciente do modelo Hospital poderia ser utilizado para representar pacientes de uma Clínica. Portanto, não é preciso a criação de um modelo (do nada) para cada domínio do mundo real a ser modelado.

Conclusão A criação e uso de modelos é uma tarefa natural. A elaboração de modelos para representar entidades do mundo real pode ser considerada uma arte. A extensão desta abordagem (modelos) à programação deu origem ao paradigma Programação Orientada à Objetos (POO).

Estudo de caso 1 Modelar uma lâmpada incandescente Pergunta: Quais os atributos possíveis presentes na modelagem de uma lâmpada? Pergunta: Quais as operações possíveis presentes na modelagem de uma lâmpada? Como representar o modelo !?

Diagrama do modelo Lâmpada nome do modelo atributos do modelo operações do modelo Diagrama expressando o modelo da Lâmpada

Pseudo-Código do modelo Lâmpada Listagem mostrando como o modelo Lampada pode ser descrito em pseudo-código

Estudo de caso 2 Modelar uma conta bancária simplificada. Características do modelo: Atributos: nome do correntista; saldo da conta; Se a conta é especial ou não (pode ficar com saldo negativo). Operações: Abrir conta (indicando nome, valor do deposito e conta é especial); Abrir conta simples (indicando nome); Depositar (indicando valor do deposito); Retirar (indicando o valor da retirada); mostrarSaldo (imprimir nome e saldo da conta). Não presentes (senhas, taxas, impostos, etc) em nome da simplicidade.

Diagrama do modelo ContaBancaria Diagrama expressando o modelo da ContaBancaria

Exercícios Fazer os exercícios propostos no arquivo “exercicios_modelagem.doc” que se encontra em http://www.joinville.udesc.br/portal/professores/parra/ no link “Materiais” da disciplina LPG-II. Para realizá-los é importante ler o capítulo 1 do material disponível na URL acima. O material encontra-se no arquivo “introducao_POO_usando_Java.pdf”.