1 / 21

Noções Básicas de Modelagem

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.

Download Presentation

Noções Básicas de Modelagem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. O que são Modelos? • Modelossã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.

  3. 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.

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

  5. 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.

  6. 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, valoresadicionais). 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...

  7. 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).

  8. 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.

  9. 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:

  10. 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.

  11. 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

  12. 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.

  13. 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).

  14. Reutilização de modelos • Modelos podem ser reutilizados para representar diferentesmodelos. • 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.

  15. 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).

  16. 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 !?

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

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

  19. 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.

  20. Diagrama do modelo ContaBancaria Diagrama expressando o modelo da ContaBancaria

  21. 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”.

More Related