IFPI – CAMPUS PICOS DIRETORIA DE ENSINO PROF: JORGE ROBERTO DISC: QUIMICA PICOS – 01/02/2012
Introdução à Modelagem Conceitualinfocat.ucpel.tche.br/disc/mc/01.pdf · • Exercícios 01 -...
Transcript of Introdução à Modelagem Conceitualinfocat.ucpel.tche.br/disc/mc/01.pdf · • Exercícios 01 -...
Introdução à Modelagem Conceitual1. Conceitos Básicos
Luiz A M PalazzoAgosto, 2010
Universidade Católica de PelotasCentro PolitécnicoBacharelado em Ciência da Computação
Roteiro
• A disciplina
• Noção de modelo
• Por que modelar?
• Níveis de modelagem
• Dimensões de modelagem
• Noções fundamentais
• Exercícios
201 - Conceitos Básicos
364042 Introdução à Modelagem Conceitual
• Ementa: Modelos e dimensões de modelagem. Objetos, classes, instâncias, herança, polimorfismo. Abstrações, agregação de classes, especialização de classes, associações entre classes. Diagramas de classes. Ferramentas para a modelagem conceitual.
• Carga Horária: 60 horas-aula
• Abordagem: Teórico-prática
• Avaliação: Provas e trabalhos práticos de construção de modelos com o uso de ferramentas de software
• Site: http://infocat.ucpel.tche.br/disc/mc/
301 - Conceitos Básicos
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.
401 - Conceitos Básicos
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 um esquema para nos guiar na construção de um sistema.
• Os modelos documentam as decisões tomadas no desenvolvimento de um sistema.
501 - Conceitos Básicos
Por que modelar?
• A razão fundamental é:
Construímos modelos para melhor entender o sistema que estamos desenvolvendo.
601 - Conceitos Básicos
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...
701 - Conceitos Básicos
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.
801 - Conceitos Básicos
Dimensões de modelagem
• Modelos estáticos ou estruturais
• Modelos dinâmicos ou temporais
• Modelos funcionais
• Modelos organizacionais
• Modelos comportamentais
901 - Conceitos Básicos
Linguagens Formais e Autômatos - 02 10
Modelagem estática ou estrutural
• Consiste na representação dos aspectos estáticos relevantes dos objetos de interesse.
• É a forma mais simples e mais utilizada de modelagem
• Exemplo: O modelo E-R
S0
R0
Linguagens Formais e Autômatos - 02 11
Modelagem dinâmica ou temporal
• Consiste na representação dos aspectos que se modificam ao longo do tempo.
• Exemplo: Diagramas de Estado
S0 S1
R0 R1
T
T'
Linguagens Formais e Autômatos - 02 12
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 13
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 14
Modelagem comportamental
• Consiste na representação do comportamento dos objetos de interesse.
• Exemplo: Sistemas Multiagentes
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
1501 - Conceitos Básicos
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.
1601 - Conceitos Básicos
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.
1701 - Conceitos Básicos
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 herdadospor suas subclasses.
• Os atributos recebem valores em nível de instância.
1801 - Conceitos Básicos
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.
2001 - Conceitos Básicos
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 emissore o que recebe o receptor.
01 - Conceitos Básicos 23
Objeto A(emissor)
Objeto B(receptor)
Mensagem (chama Método 1)
Resultado (da execução de Método 1)
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
01 - Conceitos Básicos 25
PÁSSARO
PÁSSAROVOADOR
PÁSSARODA TERRA
AVESTRUZ PINGÜIM EMA PARDAL FALCÃO SABIÁ
PINGÜINCOMUM
PINGÜIMIMPERADOR
ATRIBUTOS:VOA = truePENAS = true
ATRIBUTOS:VOA = false
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.
2601 - Conceitos Básicos
Exercício
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
2701 - Conceitos Básicos
Na próxima aula:
Mapas Conceituais
01 - Conceitos Básicos 28