Universidade Católica de Pelotas Centro Politécnico Laboratório de Modelagem Computacional Introdução à Modelagem Conceitual 1. Conceitos Básicos Luiz A M Palazzo Abril, 2011 Roteiro • O minicurso • Noção de modelo • Por que modelar? • Níveis de modelagem • Dimensões de modelagem • Noções fundamentais • Exercícios 01 - Conceitos Básicos 2 Introdução à Modelagem Conceitual • Ementa: Conceito de modelagem; mapas conceituais; programação em lógica; projeto e construção de ontologias. • Carga Horária: 32 horas-aula • Abordagem: Prática • Avaliação: Trabalhos práticos de construção de modelos com o uso de ferramentas de software • Site: http://infocat.ucpel.tche.br/disc/imc/ 01 - Conceitos Básicos 3 Noção de modelo • Modelos são representações de alguma porção real ou imaginária do universo. • Interpretamos e raciocinamos sobre o mundo através de modelos mentais. • Todos os modelos são abstrações. • Modelos são produzidos com o emprego de ferramentas de modelagem. • Em geral, a correção de um modelo somente pode ser avaliada em função de sua finalidade. 01 - Conceitos Básicos 4 A importância da modelagem • Os modelos nos ajudam a visualizar um sistema como ele é ou como deveria ser. • Os modelos nos permitem especificar a estrutura ou o comportamento de um sistema. • Os modelos nos oferecem esquemas para nos guiar na construção de um sistema. • Os modelos documentam as decisões tomadas no desenvolvimento de um sistema. 01 - Conceitos Básicos 5 Por que modelar? • A razão fundamental é: Construímos modelos para melhor entender o sistema que estamos estudando. 01 - Conceitos Básicos 6 Modelos computacionais • São modelos destinados a auxiliar no desenvolvimento de sistemas computacionais. • Gradativamente aproximam as representações dos recursos disponíveis em computadores. • Mas, o produto final não é somente código... 01 - Conceitos Básicos 7 Níveis de modelagem • Modelo conceitual: é o nível mais alto do processo de modelagem e corresponde a representação precisa dos conceitos e relacionamentos existentes no domínio de interesse. • Modelo lógico: é a representação de nível intermediário e está associada aos algoritmos, esquemas e estruturas de dados que capturam o significado do modelo conceitual. • Modelo físico: É o nível mais baixo da representação e está associado aos recursos computacionais, código, procedimentos e processos físicos associados a execução do sistema em computadores. 01 - Conceitos Básicos 8 Dimensões de modelagem • Modelos estáticos ou estruturais • Modelos dinâmicos ou temporais • Modelos funcionais • Modelos organizacionais • Modelos comportamentais 01 - Conceitos Básicos 9 Modelagem estática ou estrutural • Consiste na representação dos aspectos estáticos relevantes dos objetos de interesse. S0 • É a forma mais simples e mais utilizada de modelagem • Exemplo: O modelo E-R R0 Linguagens Formais e Autômatos - 02 10 Modelagem dinâmica ou temporal • Consiste na representação dos aspectos que se modificam ao longo do tempo. S0 S1 T • Exemplo: Diagramas de Estado T' R0 Linguagens Formais e Autômatos - 02 R1 11 Modelagem funcional • Procura representar os aspectos relacionados ao funcionamento dos objetos e sistemas. • Exemplo: Diagramas de Fluxo de Dados. Linguagens Formais e Autômatos - 02 12 Modelagem organizacional • Consiste na representação das hierarquias e das estruturas taxonômicas e ontológicas de que fazem parte os objetos de interesse • Exemplo: Redes de herança Linguagens Formais e Autômatos - 02 13 Modelagem comportamental • Consiste na representação do comportamento dos objetos de interesse. • Exemplo: Sistemas Multiagentes Linguagens Formais e Autômatos - 02 14 Noções fundamentais • Objetos • Conceitos ou classes • Propriedades ou atributos • Métodos • Instâncias • Passagem de mensagens • Herança de atributos • Generalização • Especialização 01 - Conceitos Básicos 15 Objetos Objetos são entidades que possuem: 1. atributos, ou propriedades, que descrevem o estado de um objeto, 2. ações, ou métodos, que representam os processos associados ao objeto, e 3. um identificador, ou nome (oid), que designa univocamente o objeto. 01 - Conceitos Básicos 16 Conceitos ou classes • Objetos com as mesmas características formam um conceito ou classe. • Classes semelhantes se agrupam em superclasses, da qual são subclasses. • Uma classe é assim representada por uma taxonomia, onde as subclasses herdam os atributos e métodos de suas superclasses. 01 - Conceitos Básicos 17 Propriedades ou atributos • Também denominados slots, descrevem o estado de um objeto • Juntamente com os métodos, caracterizam uma classe. • Possuem um nome e a definição de possíveis valores. • Os atributos de uma classe são herdados por suas subclasses. • Os atributos recebem valores em nível de instância. 01 - Conceitos Básicos 18 Métodos • São procedimentos associados a uma classe. • Somente se aplicam aos atributos da classe a que estão associados. • Estes, por sua vez, somente podem ser acessados ou alterados pelos métodos definidos na sua classe. • Esta propriedade denomina-se encapsulamento. • Não é respeitada por algumas linguagens ditas “orientadas a objetos” 01 - Conceitos Básicos 19 Instâncias • São os indivíduos concretos do sistema. • Por exemplo: o objeto identificado por “João da Silva” é uma instância da classe “Pessoa”. • Note-se que classes também são consideradas objetos. • Logo, objetos podem ser de dois tipos: classes ou instâncias. 01 - Conceitos Básicos 20 Exemplo: a classe processo • Atributos: origem, destino, data, registro, tramitação, despacho... • Métodos: imprimir, tramitar, arquivar, cientificar... • Esquema de Identificação: AAAA-MM-NNNN 01 - Conceitos Básicos 21 Exemplo: a instância 2010-08-0471 • Oid: 2010-08-0471 • Instância da classe: processo • Logo, possui um valor compatível para cada atributo definido nesta classe. • Pode ser acessado ou alterado pelos métodos presentes nesta classe. 01 - Conceitos Básicos 22 Passagem de mensagens • Os objetos se comunicam por meio de passagem de mensagens. • O objeto que envia a mensagem é o emissor e o que recebe o receptor. Mensagem (chama Método 1) Objeto A (emissor) Objeto B (receptor) Resultado (da execução de Método 1) 01 - Conceitos Básicos 23 Herança de atributos • As subclasses herdam os atributos de suas superclasses. • Assim os atributos somente precisam ser definidos no nível mais alto em que ocorrem. • As subclasses podem entretanto redefinir atributos herdados (overriding). • A herança pode ser simples (uma única superclasse) ou múltipla (duas ou mais superclasses). 01 - Conceitos Básicos 24 Exemplo de overriding PÁSSARO ATRIBUTOS: VOA = f alse AVESTRUZ PINGÜIN COMUM 01 - Conceitos Básicos ATRIBUTOS: VOA = true PENAS = true PÁSSARO DA TERRA PINGÜIM PÁSSARO VOADOR EMA PARDAL FALCÃO SABIÁ PINGÜIM IMPERADOR 25 Generalização e Especialização • As subclasses especializam suas superclasses e são generalizadas por elas. • A especialização corresponde ao relacionamento é_um. • Somente na especialização ocorre a transmissão ou herança de atributos. 01 - Conceitos Básicos 26 Exemplos / Exercícios Modelar informalmente as seguintes classes: 1. Dispositivos Móveis 2. Construções Urbanas 3. Veículos Aéreos 4. Esportes Olímpicos 5. Publicações Científicas 01 - Conceitos Básicos 27 Na próxima semana: Mapas Conceituais 01 - Conceitos Básicos 28