Modelagem Conceitual de Sistemas de Informação Introdução Prof. Eber Perspectivas de um SI Contribuição ao sistema “envoltório” Estrutura e comportamento (POR QUE?) (COMO?) Funções (O QUE?) Domínio Área ou setor da realidade onde se inscreve o SI. A informação de que trata o SI é chamado sistema objeto ou universo de discurso O domínio é usualmente uma organização Os domínios têm uma dinâmica que pode ser descrita por uma sucessão de estados Definição - Funções Memória: manter uma representação do estado do domínio Informativa: prover informação sobre o estado do domínio Ativa: executar ações que mudam o estado do domínio Modelagem Conceitual Como representar (modelar, descrever) o estado de um domínio? pressuposto (fundamental): um domínio consiste de (vários) objetos (ou coisas, ou entidades) e dos relacionamentos entre eles, os quais (objetos e relacionamentos) são classificados em conceitos. Modelagem Conceitual o estado de um domínio (num dado momento) consiste de um conjunto de objetos, um conjunto de relacionamentos e um conjunto de conceitos nos quais os objetos e relacionamentos são classificados o conjunto de conceitos é chamado de modelo (ou esquema) conceitual (1a versão) Conceito: definições Def. de conceito uma idéia abstrata ou genérica generalizada a partir de instâncias particulares uma idéia ou quadro mental de um grupo ou classe de objetos formado pela combinação de todos seus aspectos (propriedades) Conceito: definições Def. de um conceito intensão: conjunto de propriedades extensão: conjunto de instâncias (possíveis) Exemplo: Número Par {x | k N e x = 2k} extensão: {2, 4, 6, 8, 10, … } intensão: Conceito: operações as operações mapeiam o mundo real no mundo dos conceitos e vice-versa Classificação: associa um objeto ao seu conceito Instanciação: associa um conceito a uma instância Conceitos: teorias clássica (ou definicional) baseadas em similaridade conceitos prototípicos conceitos baseados em exemplares Conceitos Definicionais Definido pelo conjunto de propriedades necessárias e suficientes um objeto é instância de um conceito se tem todas as propriedades Exemplo: triângulo (figura geométrica de três lados), casa (construção (building), lugar onde as pessoas moram, localização geográfica fixa, tem um proprietário, etc) Projeto (design) de Conceitos conceitos “naturais”: instâncias são objetos familiares. Ex.: árvore, cachorro, temperatura problema: conceitos naturais existentes não são suficientes para um dado domínio. solução: inventar conceitos ou refinar definições existentes. Ex.: leasing, cliente (customer), projeto (project) Modelagem Conceitual: exemplos domínio videolocadora coisas: cliente, DVD; relacionamento: aluguel domínio biblioteca coisas: livro, leitor; relacionamento: empréstimo domínio esta sala coisas: professor, aluno; relacionamento: aula Modelagem Conceitual: linguagens LPO (FOL): lógica de primeira ordem UML&OCL: Unified Modeling Language&Object Constraint Language Alloy Tipo de Entidade Tipo de entidade: conceito cujas instâncias são objetos individuais e identificáveis (entidades) . LPO: tipos de entidade são representados por predicados unários. UML: tipos de entidades são representados por retângulos Tipo de Relacionamento Conceitos associativos: instâncias relacionamse a duas ou mais entidades Tipo de relacionamento: conceito (associativo) cujas instâncias são relacionamentos LPO: tipos de relacionamentos n-ários são representados por predicados n-ários. UML tipos de relacionamento binários são representados por uma linha conectando as duas entidades Conceitos e Instâncias Conceito instância de Entidade/ Relacionamento Pessoa Lê Livro Modelo Conceitual Representação em UML Lê Pessoa Representação em LPO Pessoa (_) Livro (_) Lê (_: Pessoa ,_: Livro ) Livro Modelo Estrutural Modelo estrutural: conjunto dos tipos de entidades e relacionamentos usados para representar o estado de um domínio. Modelo conceitual (2a versão) = modelo estrutural + modelo comportamental Base de Informação (BI) BI: representação das entidades e relacionamentos do domínio e suas classificações em tipos de entidade e relacionamento BI: é a representação do estado do domínio Fato: classificação de uma entidade (relacionamento) em um tipo de entidade (relacionamento) BI:contem os fatos sobre o domínio. Base de Informação (em LPO) entidades são representadas por constantes fatos são representados por fórmulas tipos de entidade são representados por predicados unários tipos de relacionamento n-ário são representados por predicados n-ários. Base de Informação (em LPO) seja um modelo com dois tipos de entidade Pessoa e Livro e um tipo de relacionamento Lê, respectivamente associados aos predicados Pessoa(), Livro() e Lê(). suponha que o domínio contenha uma pessoa e um livro, e que a pessoa esteja lendo o livro. A base de informação conterá: uma constante A representando a pessoa uma constante B representando o livro o fato Pessoa (A) representando que A é uma Pessoa o fato Livro (B) representando que B é um Livro o fato Lê (A, B) representando que a pessoa A lê o livro B Modelo Comportamental (MC) MC: modela a dinâmica do domínio eventos externos: causam mudança no estado do domínio Eventos de Domínio (ED): mudanças válidas no estado do domínio Eventos Requisição de Ação (ERA): Solicitações de ações que ao SI Eventos de Domínio Evento estrutural: mudança elementar na população de um tipo de entidade ou relacionamento. Tipos de evento estrutural depende da linguagem em LPO: inserção e remoção de fatos ED: é um conjunto eventos estruturais ED: mudança de estado percebida como válida no domínio (transação) Eventos de domínio: exemplo transferência entre contas suponha que saldos bancários estejam representados na BI pelo predicado Saldo e que: Saldo (Conta1, Quantia1) Saldo (Conta2, Quantia2) a transferência da quantia M de Conta1 para Conta2 efetiva-se pelos seguintes eventos estruturais: remoção de Saldo (Conta1, Quantia1) remoção de Saldo (Conta2, Quantia2) inserção de Saldo (Conta1, Quantia1 - M) inserção de Saldo (Conta2, Quantia2 + M) Eventos Requisição de Ação explícitos externos (iniciados por usuário) notificação de evento de domínio queries induzidos (iniciados por outra ação) temporais (iniciados pela passagem do tempo) gerados (iniciados por alguma condição) Tipos de Evento eventos (assim como entidades e relacionamentos) são instâncias de conceitos: tipo de evento. aquele evento de transferência entre as contas Conta1 e Conta2 é uma instância do tipo de evento transferência entre contas. todo evento tem um relacionamento com a entidade instante de tempo Restrições de Integridade BI: representação do estado de um domínio (memória). Integridade = Validade + Completude Validade fatos verdadeiros Completude todos os fatos relevantes Restrições de Integridade (RI) RI: condições que a BI deve obedecer e que podem ser verificadas (impostas) automaticamente. Exemplos um exemplar não pode estar emprestado a mais de um leitor. o máximo de empréstimos para um leitor são 5 livros é proibido emprestar a leitores em atraso a idade do leitor deve ser inferior a 120 anos Regras de Derivação expressões que definem como novos fatos podem ser inferidos a partir de outros fórmulas lógicas fórmulas matemáticas (estatísticas) algoritmos Regras de Derivação - exemplo def. lógica x é avô (ou avó) de y se existe z tal que x é pai (ou mãe) de z e z é pai (ou mãe) de y. determinação algorítmica 1. Busque os dois pais (pai e mãe) z1 e z2 de y. 2. Busque os dois pais x1 e x2 de z1. 3. Busque os dois pais x3 e x4 de z2. 4. Os avós (avôs e avós) de y são x1, x2, x3, e x4. Modelo Conceitual (versão final) Modelo Estrutural Modelo Comportamental Restrições de Integridade Regras de Derivação Qualidades de um MC completo correto (válido) entendível simples princípio da conceitualização (independente de projeto, livre de tecnologia) estabilidade (flexibilidade)