Prévia do material em texto
MODELAGEM DE DADOS 1 Aula 4: Meta modelagem do modelo conceitual .......................................................................... 2 Introdução ............................................................................................................................. 2 Conteúdo ................................................................................................................................ 3 Como conduzir o processo de modelagem ................................................................ 3 Primeiro passo .................................................................................................................... 3 O início do sistema de controle de vagas ..................................................................... 4 Segundo passo da meta modelagem ............................................................................ 6 Terceira etapa ..................................................................................................................... 8 Regras para dicionarizar o modelo .............................................................................. 10 Tratamento de subconjuntos e identificação de abstrações .................................. 14 Ordenação ........................................................................................................................ 18 Navegabilidade ................................................................................................................. 20 Agregação ......................................................................................................................... 21 Atividade proposta .......................................................................................................... 22 Aprenda Mais ....................................................................................................................... 24 Referências........................................................................................................................... 24 Exercícios de fixação ......................................................................................................... 25 Chaves de resposta ..................................................................................................................... 31 MODELAGEM DE DADOS 2 Introdução A modelagem conceitual é base para o entendimento do funcionamento de uma empresa. Dela pode-se derivar estruturas de banco de dados e organização de sistemas para tratar a informação. Muitas empresas se reorganizam a partir de seu modelo conceitual de dados. Mas, para se fazer a modelagem há necessidade de se seguir algumas regras que irão aumentar a produtividade e gerar modelos conceituais de qualidade. Estas regras são o que chamamos de “Meta modelo” ou “meta modelagem conceitual”. Objetivo: 1. Como conduzir o processo de modelagem e regras para dicionarizar o modelo; 2. Tratamento de subconjuntos e identificação de abstrações. MODELAGEM DE DADOS 3 Conteúdo Como conduzir o processo de modelagem Quando se inicia um processo de modelagem conceitual deve-se ter em mente que se está fazendo a representação do mundo real em um mundo simbólico que interesse para a empresa controlar os seus recursos e tomar decisões. Deve-se sempre lembrar o objetivo do trabalho. Não se está modelando por modelar, por isso deve-se seguir algumas regras que, neste trabalho, se chama de Meta modelagem. Neste trabalho vai se usar a notação proposta pelo UML, pois está se tornando um padrão, mas é preciso que fique claro que qualquer das notações apresentadas (CHEN, MARTIN...) podem ser usadas, pois a ênfase que se está dando é a fundamentação matemática de teoria dos conjuntos. Primeiro passo Deve-se procurar entender para que a empresa precisa desse trabalho. Não é uma tarefa fácil, mas o modelador deve iniciar o trabalho pelo conjunto “foco” de interesse da empresa e partir daí toda a modelagem. Em um estacionamento, por exemplo, deve-se perguntar: Para que se deve modelar o estacionamento? Qual o interesse da empresa? A resposta é o controle da ocupação de vagas que vai gerar receita e todas as informações de fluxo a atividade do estacionamento, então neste caso a modelagem deve iniciar pela ocupação de vaga. Em uma escola o interesse está nas matrículas que são a fonte de receita e estas são ocupadas por alunos. Em um sistema de vendas o conjunto central é o evento venda. Toda modelagem têm um objeto central é ele que deve ser representado no centro do diagrama, pois tudo gira em torno dele. Normalmente é um objeto ou fato concreto. MODELAGEM DE DADOS 4 O início do sistema de controle de vagas No sistema de controle de vagas iniciamos da seguinte forma: Pode-se criar um código e já supor as informações necessárias para uma ocupação Figura representativa de código e ocupação. Veja que para definir a ocupação precisa-se saber qual a vaga, qual carro e o momento que iniciou e terminou a ocupação, isso já dos dá a direção do próximo passo que é modelar os conjuntos que precisam ser controlados para que haja a ocupação. E passa-se a modelar esses conjuntos, normalmente de fatos e coisas “concretas”. Observe que esse primeiro conjunto é associativo, pois precisa da vaga e do veículo para sua existência ou identificação. Figura representativa de veículo, ocupação de vaga e vaga. No processo de modelagem vão surgindo outros conjuntos ligados aos que são identificados, assim todo o veículo precisa ter um responsável, ou dono que aparece na documentação. Se o objetivo é identificar o veículo, no mundo real, a cor é uma propriedade muito importante. O número do chassi para esse feito MODELAGEM DE DADOS 5 não interessa, pois o funcionário não irá conferir o chassi de cada veiculo, por motivos práticos. Esses fatos devem ser considerados na modelagem. De forma que o modelo evolui para: Figura representativa de veículo, ocupação de vaga, vaga e proprietário. No caso de uma escola o elemento central, para esse mundo real, é a matrícula. Uma matrícula de um aluno em uma disciplina, além disso, deseja-se saber o dia, a hora e o período escolar desse fato. Vai-se colocar um identificador na matrícula, embora ela também seja uma entidade associativa: MODELAGEM DE DADOS 6 Figura representativa de ocupação de vaga. Após essa identificação aparecem no mínimo dois novos objetos que precisam ser tratados, pois participam da associação: aluno e disciplina. Figura representativa de aluno, ocupação de vaga e disciplina. E assim vai se desenrolando o modelo conceitual nessa primeira fase da meta modelagem. Segundo passo da meta modelagem Nesta fase se introduz elementos necessários à classificação dos objetos até aqui identificados. Essa identificação pode ser por tipificação ou por faixas MODELAGEM DE DADOS 7 definidas pelo usuário. Então o importante e identificar quais são as formas de classificação feitas pelo usuário. No caso do estacionamento pode-se classificar as vagas como cobertas e não cobertas. Pode-se também classificar os veículos conforme o número de pneus. Veículos com dois pneus (motos), veículos com quatro pneus (carros), e com mais pneus (caminhões) etc. Já no caso da escola a classificação pode ser de alunos de primeiro grau, segundo grau ou ainda dos bolsistas por tipo de bolsas. Assim, na segunda fase do modelo são acrescentados todos os objetos que servem para a classificação dos objetosexistentes: Para o estacionamento tem-se: Figura representativa da segunda fase de modelagem. Atenção Podem-se classificar os proprietários por faixa de renda, por exemplo, assim tem-se: MODELAGEM DE DADOS 8 Figura representativa da segunda fase de modelagem. Terceira etapa Nesta etapa deve-se verificar se as necessidades de informação para o cliente estão atendidas. Também se cria as associações necessárias às pesquisas mais complexas. Chama-se de pesquisas mais complexas quando há necessidade de se navegar por vários relacionamentos no modelo. Deve-se lembrar de que o modelo conceitual é um modelo chamado de transitivo (se a aponta para b, e b aponta para c então a também aponta para c através de b), mas este encadeamento pode ficar muito longo. Para evitar isso deve-se colocar entidades associativas entre as entidades de início e fim do encadeamento. Atenção Suponha nesta fase que é de interesse do usuário do estacionamento a informação da preferência de proprietário por tipo de vagas. Isso pode ser obtido por transitividade. Para conhecer essa forma: De cada proprietario verifica-se cada veiculo, de cada veiculo encontrado verifica-se a alocação, e de cada alocação encontrada verifica-se a vaga e dai identifica-se o tipo de vaga. Claro que esta se falando de um exemplo, mas é isto que é feito na pratica. Esta navegação é longa e provavelmente demorada, dependendo do tamanho dos conjuntos e da tecnologia usada. MODELAGEM DE DADOS 9 Para eliminar este risco, basta coloca ruma entidade associativa que vá atualizando esta informação. Assim na terceira fase o modelo fica: Na terceira fase também se incluem conjuntos necessários a segurança e auditoria, tipo, usuário que faz a inclusão ou alteração, datas de inclusão, etc... Assim a modelagem deve ser organizada no seu desenvolvimento nestes três passos. 1 0..N Tipo de vaga Cod_tipo descrição Preço hora Ocupação de vaga Data_inicio hora_inicio Cod_vaga Hora_fim Data_fim Cod_veiculo vaga area Cod_vaga local veiculo Cod_veiculo placa marca cor Cod_proprietario proprietario cpf Cod_proprietari o nome 1..0 1 0..N 0..N 1 1..N 1 Tipo _vaga/proprietario Cod_tipo Cod_proprietario data 1 MODELAGEM DE DADOS 10 Regras para dicionarizar o modelo É importante fazer um dicionário para apoiar o modelo. Neste dicionário deve- se descrever cada entidade e os seus respectivos atributos, bem como informações que serão úteis para quem vai utilizar o modelo. Assim deve-se documentar a entidade: Exemplo. DISCENTE: qualque estudante regularmente matriculado em qualquer dos cursos da universidade. Atributos: Identificador: é um número que serve para identificar o discente na universidade. Este número será de seis digitos sendo que os dois primeiros digitos indica o curso que o aluno está matriculado. É da forma: CCNNNN (onde cc é o código do curos e nnnn é um ssequencial numérico iniciando em 0000). Nome: É o nome do aluno constante na sua certidaão de casamento ou na certidão de nascimento. Endereço: É o endereço postal do aluno, deve ser comprovado com uma correspondencias de conta pública, na falta desta poderá fazer uma declaração de punho na presença de duas testemunhas que deverão assinar a declaração. CPF: É o número dado pela receita federal do Brasil e deverá ser comprovado pelo documento constando o nome do discente. MODELAGEM DE DADOS 11 Entidade ALUNO: É o discente regularmente matriculado com matricula ativa em um dos cursos de graduação da universidade. (.... deve-se descrever cada entidade) Observe que o dicionário é obrigatório, e não se deve imaginar que existem decrições evidnetes, pois são nestes casos que ocorrem os erros. Por exemplo, endereço. Apesar de parecer óbvio, uma pessoa tem vários endereços: enderço postal, endereço residencial, endereço bancário, endereço eletronico..... Isto só para exemplificar com um dado aparentemente simples. Coloca-se ainda no dicionário algumas informações úteis para a administração de dados. Informações de sua representação em sistemas, de sua utilização, e de sua segurnaça. Assim podemos definir para a entidade Discente, além de sua descrição, como visto, informações de sua utilização. O Supervisor de ensino pode modificar os atributos. O periodo de inserção de discentes é no inicio do ano. O volume médio é de 12000 elementos no conjunto. Aproximadamente 5% dos elementos são alterados por ano. Para os atributos da entidade discente pode- se ter informações de sua representação e utilização. Exemplos: Identificador: é um número que serve para identificar o discente na universidade. ..... tipo inteiro com seis digitos. Chave do conjunto. Proibido atualizações. Nome: é o nome do aluno constante na sua certidão .... Tipo string com 30 posições. Permitida alterações apresentando nova certidão de casamento. MODELAGEM DE DADOS 12 Endereço: É o endereço postal do aluno, deve ser comprovado com uma ...... Tipo alfanumerico com 40 posições. Permitido alterações apresentando documento de correspondencias. CPF: É o número dado pela receita federal do Brasil e ..... Tipo alfanumerico com 11 posições. Não são permitidas alterações. E assim por diante. Todas as informações apresentadas sobre os dados são chamados de META DADOS da empresa, pois servem para definir como os dados são representados e utilizados. A responsabilidade de manter os Meta dados é de um profissional chamado Administrador de Dados. Vai se tratar da administração de dados em uma próxima aula. META DICIONÁRIO Imagine que um analista definiu em uma entidade o endereço com 30 posições alfanumericos e em outra entidade um endereço com 25 posiçõse do tipo sting. É preciso ter uma uniformidade até para facilitar o manuseio destes dados. De forma que o ideal é definir um conjunto de regras que possibilitem se gerar o dicionário de forma organizada. Estas regras constituem o meta dicionário. Regras do meta dicionário; O ideal é dar-se o nome dos atributos identificando a entidade e o tipo de dados que será usado na construção e utilização em sistemas. Iniciaremos pelos tipos de dados a serem usados e isto pode mudar de acordo com a especificação do adminsitrador de dados. No exemplo vamos definir: Curtointeiro: é um número interio com 4 digitos Longointeiro: é um número inteiro com 6 dígitos. Curtastring: é uma string com 20 caracteres. MODELAGEM DE DADOS 13 Longastring: é uma string com 40 caracteres. Descrevestring: é uma string com 200 caracteres. Voce pode definir estes tipos que serão usados para toda a empresa, isto facilita futuras migrações e “merges” de arquivos. Tem-se ganho nas buscas dentro do dicionário e nas manutenções nos futuros sistemas. Definido os tipos podemos começar a dar os nomes de forma organizada. Vamos pegar a entidade discente para exemplificar: Pode-se ter a regra de formação de nome para os atributos na forma: <entidade>_<tipo_dado>_<nome> O nome de identificadordeve ser: discente_longointeiro_identificador. O nome do atributo nome deve ser: discente_longastring_nome. O nome do atributo endereço deve ser: discente_longastring_endereço O nome do cpf deve ser: discente_curtastring_cpf Assim com as regras do meta dicionario o conjunto ficará da forma abaixo: discente identificador nome cpf endereço discente Discente_longointeiro_identificador Discente_longastring_nome Discente_ curtastring_cpf Discente_longastring_endereço MODELAGEM DE DADOS 14 Estas regras irão facilitar a utilzação e manutenções futuras. Tratamento de subconjuntos e identificação de abstrações Vejamos agora como é feito o tratamento de subconjuntos e a identificação de abstração através de um exemplo prático. Acompanhe: Suponha que você coordena um trabalho de modelagem para uma universidade, com três analistas diferentes, e que cada um foi para um setor diferente. O primeiro foi modelar a graduação e trouxe o seguinte conjunto: Figura representativa da modelagem da graduação. O segundo foi trabalhar na área de pós-graduação e trouxe como conjunto principal o seguinte: Figura representativa da modelagem da pós-graduação. MODELAGEM DE DADOS 15 O terceiro foi trabalhar no departamento de cursos livres e trouxe o conjunto abaixo como central da modelagem: Ao receber os tres modelos que vimos anteriormente, voce pode perceber que os analistas estavam trtando seus modelos como se eles fossem abstrações para o fenomeno que encontraram. Mas, ao analisar os tres modelos voce verifica que todos tem muitas propriedades em comum, portanto, cada um deles é uma generalização e não uma abstração. Verifica-se pelas propriedades que existe uma entidade comum embutida nos tres modelos, esta sim é a generalização e desta forma podemos construir uma estrutura que seja mais prática, arrumada e mais “poderosa” em termos de representação do conhecimento. aluno Cod_matricula Numero_bolsas curso Pos-graduado matricula Ano-formatura especialidade Aluno-curso Numero_aluno empresa Data-matricula ????????? identificador nome cpf endereço MODELAGEM DE DADOS 16 Nesta estrutura pode-se imaginar um conjunto que caracteriza abstração e deve-se procurar um nome generalista para substituir os ????? (por, exemplo, discente) e reunir as propriedades comuns de todas as generalizações. O novo identificador deve substituir os identificadores especificos dados por cada analista. Se estes forem importantes podem ser mantidos como um atributo. E cada subconjunto ficará com os seus atributos especificos. A estrutura de abstração então ficará da seguinte forma: O Objetivo da modelagem é buscar abstrações, ou seja, estruturas como a que foi apresentada, pois assim pode-se fazer sistemas com maior aplicabilidade, além de manter organizado o conhecimento. identificador nome cpf endereço discente aluno IDENTIFICADORR Cod_matricula Numero_bolsas curso Pos-graduado IDENTIFICADOR Ano-formatura matricula especialidade Aluno-curso Numero_aluno IDENTIFICADOR empresa Data-matricula MODELAGEM DE DADOS 17 Um conjunto pode ter mais de uma abstração, ou seja ele pode ser particionado de quantas formas forem necessárias para a analise. Para cada categorização ou destaque de sub conjunto deve-se usar o simbolo do triangulo.. Assim a abstração discente poderia ter outras generalizaçoes como mostrado abaixo Observe que nada é informado sobre a interseção dos subconjuntos entre categorizações. Um discente pode ser aluno, formado aprovado e feminino, por exemplo. No tratamento de subconjuntos a UML também propoem se guardar formado cursando aprovado identificador nome cpf endereço discente aluno IDENTIFICADORR Cod_matricula Numero_bolsas curso Pos-graduado IDENTIFICADOR Ano-formatura matricula especialidade Aluno-curso Numero_aluno IDENTIFICADOR empresa Data-matricula feminino MODELAGEM DE DADOS 18 informações de conjuntos com outrs estruturas, normalmente não precisaremos delas, mas se vai apresenta-las para completar o conhecimento sobre UML. Ordenação Considere a modelagem abaixo, observe que os relacionamentos estão nomeados e no caso do relacionamento de multiplicidade (0..N) deseja-se informar que os veículos devem ser ordenados de forma crescente por ano. Neste caso indicamos junto ao conjunto. Figura representativa de relacionamento de multiplicidade. Indica que o conjunto de veículos é ordenado, a representação não indica a forma de ordenação. Atenção Dica: Associação ordenada As associações entre objetos podem ter uma ordem implícita. O padrão para uma associação é desordenado (ou sem nenhuma ordem específica). Mas uma ordem pode ser especificada através da associação ordenada. Esse tipo de associação pode ser muito útil em casos como este: janelas de um sistema têm que ser ordenadas na tela (uma está no topo, uma está no fundo e assim por diante). A associação ordenada pode ser escrita MODELAGEM DE DADOS 19 apenas colocando “{ordenada}” junto à linha de associação entre as duas classes. Observação O UML define uma representação que pode ser usada em qualquer diagrama para se especificar comentários (ou observações). É a representação de nota, como mostrado abaixo: Qualificado Quando necessitamos qualificar uma associação com objetivo de reduzir a Este desenho é ligado ao elemento que se deseja fazer a observação por uma linha pontilhada. Assim vamos comentar a forma de ordenação do conjunto de veículos: De forma crescente por placa, sem considerar as letras Nome Endereço matricula CPF aluno Marca placa cor ano veiculo Possui 0..N Ordenado A obsevação ou comentário desejado. pertence MODELAGEM DE DADOS 20 Qualificado Quando necessitamos qualificar uma associação com objetivo de reduzir a multiplicidade, é representado no relacionamento com um retângulo menor, onde se faz a qualificação. O Retângulo do qualificador é parte do cominho e não faz parte da classe. No desenho acima o qualificador indica que cada item de NF na Nota fiscal refere-se a um produto. Esta representação evita de se representar a classe de produto. A qualificação é uma informação para a implementação – é um conceito voltado para a programação – Indica que na implementação da Nota fiscal deve haver um objeto do tipo produto para cada objeto de item de nota fiscal. Isto indica que não devem existir dois itens de Nota fiscal para um mesmo produto. Navegabilidade Quando for implementado (código de programação) um objeto, podem-se chamar operações de outros objetos. Diz-se que de uma classe instanciada pode-se acessar instancias de outras classes que têm relacionamentos com a primeira classe. Para indicar o sentido da Navegação, ouseja, como podemos percorrer (chamando funções – veremos na próxima aula) usou uma flecha no final do relacionamento. Assim: produto Nota fiscal Item N.F 1..* MODELAGEM DE DADOS 21 Figura representativa de uma fecha no final do relacionamento. A navegação é de aluno, que é chamada de classe fonte, para veiculo, chamada de classe-alvo. Isso indica que da classe aluno podem-se identificar os veículos de um aluno. Mas, não é possível identificar o aluno dono de um veículo. As classes normalmente se relacionam de forma bidirecional por definição, a navegação pode ocorrer nos dois sentidos do relacionamento, exceto quando dito ao contrário. Agregação Quando se deseja que um conjunto seja tratado de forma incorporada com outro conjunto. Uma agregação é uma representação que indica que o objeto é composto com outros objetos, por exemplo, uma nota fiscal é composta por seus itens de nota fiscal. A nota fiscal, neste caso, é chamada de objeto TODO e o item de nota fiscal é chamado de objeto PARTE. A estrutura constituída dessa forma é chamada de TODO-PARTE. E a agregação tem como característica própria: os objetos-parte são criados pelo objeto todo, ao qual estão agregados, portanto, o objeto todo já deve ter sido criado. Também é chamada de agregação por referência. Representa-se por um losango vazado no relacionamento: A agregação indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe. As palavras-chave usadas para identificar uma agregação são: “consiste em”, “contém”, “é parte de”. MODELAGEM DE DADOS 22 A composição é outra forma de tratarmos a estrutura “todo-parte”. Uma composição é uma representação que indica que o objeto é composto com outros objetos, tal qual na agregação. Em uma agregação, após serem estabelecidos às relações elas são inalteráveis, estes não poderão ser modificados. Na composição o objeto todo contém os objetos parte. Assim, ao se instanciar o objeto todas as partes também são instanciadas, também é chamada de agregação por valor. Representa-se o losango de forma cheia. Pode ser usada para complementar uma classe que se identificou um atributo com uma estrutura que pode ser uma nova classe. Assim pode-se representar: Agregação de composição: é uma agregação onde uma classe que está contida na outra “vive” e constitui a outra. Se o objeto da classe que contém for destruído, as classes da agregação de composição serão destruídas juntamente, já que as mesmas fazem parte da outra. Atividade proposta Considere o minimundo (descrição do mundo real) para fazer uma modelagem conceitual. “Deve-se fazer um sistema de informações para uma loja de material de construção”. Existe um estoque de mercadorias. Ao fazer uma negociação, o vendedor pode reservar parte do estoque, e se a venda for concluída o estoque é baixado. Existem produtos que são vendidos por unidade, outros por KG, por litros e outros por metro cúbico. A venda é registrada em um pedido que deve conter os dados do cliente, os itens pedidos pelo cliente com suas respectivas quantidades e preços unitários. Para um pedido define-se a forma de pagamento que poderá ser á vista em dinheiro, cartão ou cheque. Poderá ser parcelada, neste caso a empresa emite faturas que são endossadas pelo cliente na hora da compra. “As entregas são MODELAGEM DE DADOS 23 programadas e controladas através do retorno do canhoto da nota fiscal assinado por quem recebe a mercadoria”. Questão 1: Identifique o conjunto central da modelagem citando o tipo de conjunto. Questão 2: Existe alguma estrutura do tipo generalização-especialização. Quais? Questão 3: É possível criar uma estrutura de subconjuntos com a entidade pedida? Questão 4: Como se pode classificar o conjunto de produto para facilitar a busca por parte dos vendedores? Questão 5: É possível substituir algumas categorizações de conjuntos, em um segundo momento por classificações? Chave de resposta: Questão 1: O conjunto central é pedido, que é a forma de materializar a venda. O pedido deve ser um conjunto primário (não depende de ninguém). Também pode-se iniciar por um conjunto associativo chamado venda. Justificativa: Por que o interesse principal da loja é vender, então tudo deve ser relacionado a v. Questão 2: Produto pode ser estruturado na forma de subconjuntos. Formas de pagamento também devem ser estruturadas em subconjuntos. Justificativa: O texto sugere que se estruture o conjunto produtos em subconjuntos da mesma forma para tipos de pagamentos. Questão 3: Sim, pode-se classificá-lo em entregue e não entregue. Justificativa: Isto evita repetição de informações. MODELAGEM DE DADOS 24 Questão 4: pode-se classificar por tipo de produto (se é cerâmica, ferragens, etc. ). Justificativa: Isto é feito no segundo momento. Permite buscar produtos a partir da classificação. Questão 5: Sim, pode-se substituir as categorizações, pois elas são uma forma de classificação. Justificativa: Muitas vezes é vantajoso e se organiza melhor o modelo. Aprenda Mais Material complementar Para saber mais sobre subconjuntos, leia o texto Partição de um conjunto, disponível em nossa biblioteca virtual. Material complementar Para saber mais sobre agregação e composição, leia o texto Diagrama de classes, disponível em nossa biblioteca virtual. Referências SETZER, W. Valdemar. Banco de dados. Editora Edgar Blucher Ltda. SILBEERSCHATZ. Abraham et al. Sistema de banco de dados. Makron Books. RIBEIRO, Horacio da Cunha e Sousa. Análise por objetos: da teoria à prática. Editora Europa. Introdução aos sistemas especialistas. LTC. MODELAGEM DE DADOS 25 Exercícios de fixação Questão 1 Qual a vantagem de se estabelecer regras para o desenvolvimento da modelagem conceitual? A) Permite que se desenvolva o modelo de forma objetiva para atender às necessidades do cliente. B) Permite que se desenvolva o modelo de forma quantitativa e qualitativa. c) Permite que se desenvolva um modelo lógico mais rapidamente. D) Permite que se estabeleça um ciclo PDCA de qualidade no desenvolvimento. E) Permite que se inicie uma identificação pelo objeto de menor importância para o de maior importância Questão 2 Considere o texto: “Uma clinica tem médicos com várias especialidades. Existem clientes que são cadastrados e outros não. Eles podem marcar consultas, e as consultas podem ser realizadas. Os médicos recebem por consulta realizada” Segundo os conceitos apresentados nesta aula qual deve ser o primeiro conjunto a ser modelado? A) Consulta, pois reflete o objetivo do negócio da clinica e destacando-se o subconjunto consulta realizada. b) O conjunto cliente, pois é o mais fácil de ser modelado e seus atributos servem para o faturamento. c) O conjunto médico por especialidade, pois sem médico não há como realizar as consultas. d) Deve-se iniciar a modelagem por especialidade, pois os dados são os primeiros a entrar no modelo. e) Deve-se iniciar pelo Plano de Saúde, pois estes garantem o faturamento. Questão 3 MODELAGEM DE DADOS 26 Existem conjuntos com milhares de elementos que relacionam com outros conjuntos. Pode-se buscar os elementos correspondentes a um relacionamento desejado pelo cliente usando as propriedades matemáticas de transitividade. Considerando este fato escolha a afirmativa correta abaixo: A) Verifica-se que quando os conjuntos tem muitoselementos e há necessidade de navegar por vários conjuntos, o ideal é criar um objeto associativo com objetivos de atender a consulta. B) Deve-se verificar a consulta e considerar suas características matemáticas. Todos os conjuntos com os seus relacionamentos devem possibilitar a consulta. Qualquer outra ação é uma interferência “indesejável” no modelo. C) Sempre que é feita uma consulta que atravessa todo o modelo, o ideal é cria-se um conjunto dependente com o nome da consulta. D) Uma transitividade não possibilita buscar informações em outro conjunto de forma permanente, assim deve ser evitada. E) O modelo e conjuntos tem seus relacionamentos de forma transitiva, mas quando o número de elemento é elevado esta propriedade torna-se nula Questão 4 Considere o modelo abaixo, com a notação pata de corvo. Sobre o modelo, considerando os conceitos apresentados, pode-se deduzir de forma correta. A) Não existe um foco para a modelagem, sendo que todos os conjuntos apresentados servem para organizar uma cadastro, mas a modelagem está sem objetivo. B) O modelo reflete que a entrada de dados deve ser feita a partir de curso, portanto deve ser o primeiro elemento a ser modelado, juntamente com professor. aluno curso disciplina professor MODELAGEM DE DADOS 27 C) existe uma relação entre aluno e professor na forma m:n usando-se transitividade. D) A modelagem mostra que todos os conjuntos tem elementos que não se relacionam diretamente, assim pode-se concluir que nem todo aluno tem professor. E) O modelo reflete uma escola e o interesse principal da escola deve ser o controle de matriculas, portanto, o natural é iniciar por disciplina conforme mostrado no modelo. Questão 5 Sobre dar nomes para as entidades e atributos, segundo os conceitos apresentados, a afirmativa abaixo que está totalmente correta é: A) a padronização de nomes facilita na administração de dados e possibilita padronizar os tipos de dados para os sistemas da empresa. A vantagem desta ação aparece quando se precisa manter ou exportar informações entre conjuntos. B) A padronização de nomes precisa ser implementada e isto exige muito esforço e desta forma deve ser evitada. C) Quando você padroniza os nomes de atributos, também padroniza o nome de variáveis obrigatoriamente, portanto tira a criatividade dos desenvolvedores. D) Um dicionário de dados é produzido de forma automática e ao se dar um nome a entidade fica automaticamente identificada facilitando o desenvolvimento. E) Os desenvolvedores precisam ter liberdade para criar e toda a obrigatoriedade dá uma perda de criatividade no desenvolvimento Questão 6 No diagrama de classes acima, a relação entre Fabricante e Produto é uma MODELAGEM DE DADOS 28 (A) colaboração. (B) generalização. (C) composição. (D) agregação. (E) classe de associação. Questão 7 Considere o diagrama abaixo, segundo o UML pode-se afirmar com toda certeza: A) representa conjuntos que fazem parte de outros conjuntos, assim um elemento do conjunto de janelas é composto com elementos de outros conjuntos. B) representa que o conjunto janela tem subconjuntos com os nomes mostrados na agregação C) A indicação da agregação pintada de preto indica que os outros conjuntos são disjuntos quando referenciados ao conjunto janela. D) A representação indica que existe um conjunto chamado janela que é associado a outros conjuntos em um determinado momento. E) A representação de composição indica que todos os conjuntos mostrados são dependentes do conjunto principal Questão 8 Segundo a teoria apresentada escolha a opção errada: Text ListBox Botão Menu Janela * * * ** * * * Nome Endereço matricula CPF aluno Marca placa cor ano veiculo Possui pertence 0..N Ordenado MODELAGEM DE DADOS 29 A) O diagrama esta errado, pois não foi representado a forma de ordenação do conjunto veiculo B) matematicamente pode- se dizer: Para todo x pertencente ao conjunto veiculo Existe ou não y pertencente ao conjunto aluno. C) Um aluno pode não ter carro, mas se existir o carro ele é obrigatoriamente de um aluno. D) Nada é dito sobre a utilização do modelo. E) A indicação de seta em possui não é a representação da navegação e sim do relacionamento. Questão 9 Considere o diagrama acima e escolha a opção correta abaixo: A) Até este momento o analista imagina que isto é uma abstração, mas não pode ter certeza disto. B) O analista sabe que tem uma abstração pois conhece todos os planos de referencia C)O analista se contenta com generalizações e se aparecer outra generalização sobre aluno ele deve manter o modelo D) O analista não deve ter preocupação de criar generalizações pois elas não particularizam o modela E) O analista deve saber que podem existir tipos de alunos, mas isto significa, com certeza que tem uma abstração. Aluno-curso Numero_aluno nome empresa cpf endereço Data-matricula MODELAGEM DE DADOS 30 Questão 10 Assinale a afirmativa correta: A) Agregação é quando se deseja que um conjunto fosse tratado de forma incorporada com outro conjunto. Uma agregação é uma representação que indica que o objeto é composto com outros objetos B) Não é possível tratar outras partições quando já foi definido um papel no conjunto. C) Não é possível se particionar um conjunto quando este participa de alguma associação. D) Um conjunto associativo representa que já se particionou parte dos conjuntos associadores. E) Um conjunto particionado segundo o critério X e posteriormente particonado segundo o critério Y obrigatoriamente terá elementos na interseção das partições. MODELAGEM DE DADOS 31 Aula 4 Exercícios de fixação Questão 1 - D Justificativa: As demais afirmativas não focam a qualidade e completude do modelo. Questão 2 - B Justificativa: Os demais conjuntos são importantes, mas não caracterizam o objetivo principal da clínica. Questão 3 - A Justificativa: Existe um risco alto quando se constrói sistemas que fazem essas consultas, portanto, o modelo deve ser alterado com conjuntos associativos para possibilitar a consulta. Questão 4 - E Justificativa: Todas as outras afirmativas não estão de acordo com o apresentado na conceituação. Questão 5 - A Justificativa: A padronização de nomes facilita o desenvolvimento e a manutenção. Permite troca e interligação de sistemas. Ajuda na manutenção e padroniza a utilização dos tipos de dados por parte dos desenvolvedores. Questão 6 - D Justificativa: É a representação da agregação associada a representação da navegação. Questão 7 - B MODELAGEM DE DADOS 32 Justificativa: A composição é uma estrutura que mostra as partes que compõem um objeto. Questão 8 - A Justificativa: Não existe a obrigatoriedade de indicar o tipo de ordenação. Questão 9 - C Justificativa: O trabalho do analista é definir abstrações, mas estas só são conhecidas à medida que identifica novos planos de referência. Questão 10 - D Justificativa: Trata-se da definição de agregação.