Valdemar Setzer – Análise de dados

Slides:



Advertisements
Apresentações semelhantes
Projeto Cadastro Desenho de Processo 1Desenho de processo.
Advertisements

Disciplina:PROA3V José Henrique Verhalem e Renan Tenório Professor: Alexandre Cassimiro Novembro 2015.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
EA976 – Engenharia de Software AULA 3 O Processo de Software.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Banco de Dados Relacionamentos entre Entidades Aula de 15/03/2016 Professor Alessandro Carneiro.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Diagrama de Use Cases. Objetivo  O Diagrama de Use Cases tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.
(Material cedido pela Profa. Daniela Leal Musa)
“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
Introdução e Conceitos.
Modelo Entidade-Relacionamento
FORMALIZAÇÃO PARA CLIENTES ANALFABETOS
FORMALIZAÇÃO FORMALIZAÇÃO CARTÃO PARA VER CLIQUE AQUI Início SAIR
ETAPAS PARA A ELABORAÇÃO DO PROJETO DE ENGENHARIA
Como cadastrar uma instituição no Portal Rural Sustentável
6 - Ferramentas de análise para melhoria de processos - Tabelas
Banco de Dados I Modelagem Relacional
Funções.
Márcio Soussa Estrutura de Dados Márcio Soussa
Educação Profissional Técnica de Nível Médio em Informática
ESTATÍSTICA . SÍNTESE DO 10.º ANO . RELAÇÕES BIDIMENSIONAIS (11.º ANO)
Título do projeto Nomes dos autores Local e Data
Diagrama de Use Cases.
RODOLFO SOARES TEIXEIRA OBMEP NA ESCOLA
Produção Institucional Produções Importadas da
ATRAVÉS DA NOVA VERSÃO DO BANCO BIBLIOGRÁFICO DA USP – DEDALUS VOCÊ PODERÁ FAZER SEU CADASTRO, RENOVAÇÕES E RESERVAS ON-LINE! PARA ACESSAR O SISTEMA.
Banco de Dados em Jogos Digitais
O que é um banco de dados? Antes precisamos entender o que são dados.
Ambiente para desenvolvimento de sistemas baseado no conceito MBUIDE
MATEMÁTICA FINANCEIRA Juros Compostos e Taxas Equivalentes
Prof: Márcio Soussa Centro Universitário Jorge Amado
Workshop Agile tdd - Test Driven development
Mestrado em Engenharia de Computação área de concentração Geomática
PIT – PROGRAMA INTERNO DE TREINAMENTO 2015
Engenharia de Software II
IP – Repetições Prof. Eduardo Falcão.
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
Cadastro de Funcionário
Modelos de Banco de Dados
BANCO DE DADOS II.
BANCO DE DADOS Araújo Lima Nov / 2017 Araújo.
Prof: Márcio Soussa Centro Universitário Jorge Amado
Análise & Projeto – Diagrama de Entidade-Relacionamento
Prof: Márcio Soussa Centro Universitário Jorge Amado
Aplicações adicionais da derivada
Comportamento do Consumidor
Programação.
FORMALIZAÇÃO FORMALIZAÇÃO CARTÃO PARA VER CLIQUE AQUI Início SAIR
QUADRO DE VALORES RECEBIDOS
Aplicações adicionais da derivada
MER – Modelo de Entidade Relacionamento
Produção Institucional Produções Importadas da
FORMALIZAÇÃO FORMALIZAÇÃO CARTÃO PARA VER CLIQUE AQUI Início SAIR
Produção Institucional Produções Importadas da
Diagrama de Atividades
Módulo III Capítulo 2: SQLite
Padronização / Especificação
ALGORITMOS.
Rafael Duarte Alexandre Mota [rmd,
Modelagem Entidade-Relacionamento (MER)
Modelo Entidade-Relacionamento
Prática O-R Fernando Fonseca.
Informações Importantes
Informações Importantes
Informações Importantes
Informações Importantes
Arquitetura e padrões de software
Sistemas de Informação
Funções de Duas ou Mais Variáveis
Transcrição da apresentação:

Valdemar Setzer – Análise de dados A MODELAGEM CONCEITUAL DE DADOS COMO FERRAMENTA BÁSICA PARA A ANÁLISE DE SISTEMAS  Valdemar W. Setzer Ver esta apresentação em www.ime.usp.br/~vwsetzer/apresentacoes ou buscar: setzer apresentacoes Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Concentração e meditação ONE-MINUTE PAPER NO FIM DA PALESTRA, ESCREVER NUM PEDAÇO DE PAPEL: 1. O QUE APRENDI DE MAIS IMPORTANTE? 2. QUAL A MAIOR DÚVIDA QUE FICOU? 3. COMENTÁRIOS Valdemar Setzer – Concentração e meditação 28/9/17

Valdemar Setzer – Análise de dados Regra fundamental do desenvolvedor de sistemas Tire o computador da mente; pense no mundo real e no problema Para isso, nada como observar o mundo E fazer modelos bem próximos do mundo Vamos estudar o Modelo de Entidades e Relacionamentos (MER) Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de entidades Entidade: qualquer coisa que é observada ou vivenciada no mundo “real” Exemplos: uma aluna, uma disciplina Conjunto de entidades: todos elementos de mesma categoria Ex.: Alunos, Disciplinas Nomes desses conjuntos sempre com iniciais em maiúscula e no plural Pois cada conjunto contém vários elementos Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de entidades Representação em diagrama Atenção: cada elemento de cada conjunto de entidades é uma abstração Não pode ser introduzido em um computador! Por que são de categorias diferentes? Porque têm ATRIBUTOS diferentes Alunos Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributos De Alunos Nome do aluno Data de nascimento Endereço RG CPF ... Para que servem? Fornecer os dados de uma entidade Localizar uma ou mais entidades de um conjunto de entidades Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de entidades A localização de uma entidade em um conjunto de entidades se dá pelo valor de um ou mais atributos Ex.: selecionar alunos com Data de nascimento >= 1997 Valores de atributos são dados e portanto podem ser representados em um computador Valdemar Setzer – Análise de dados 4/10/17

Representação gráfica de atributos Atributos com inicial maiúscula e no singular Alunos Registro-de-aluno Nome Data-nascimento Endereço RG CPF Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributos Consulta: selecione Nome, Registro-do-aluno de Alunos onde Data-nascimento >= '1/1/1997' Alunos Registro-do-aluino Nome Data-nascimento Endereço RG CPF Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Formato de atributo Formatos são restrições de integridade Alunos Número-UNESP Nome Data-nascimento [dd/dd/dddd] Endereço RG CPF [ddd.ddd.ddd-dd] Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Exercícios Desenhar o conjunto de entidades Disciplinas e seus atributos Idem, Cartão bancário Notar o problema de modelar o número do banco para um sistema de um só banco Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributo composto Alunos Número-UNESP Nome Data-nascimento [dd/dd/dddd] Endereço Lograd-número-compl CEP [ddddd-ddd] Cidade Estado {AC, AL, AM, AP, BA, ...} Valores permitidos Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributo composto Composto de composto Alunos ... ... Endereço Local Logradouro Número Complemento CEP Cidade Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributo composto Vale a pena separar Local em Logradouro, Número e Complemento? Só para validação do logradouro! E usar também o número para validar o CEP Valdemar Setzer – Análise de dados 4/10/17

Atributo multivalorado Como fazer para representar o fato de cada aluno poder ter vários telefones? Atributo multivalorado Assume um conjunto de valores para cada entidade Alunos ... ... * Telefones [(dd) d-dddd-dddd] ... Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Consulta: selecione Alunos.Nome de Alunos onde (17) *-****-**** em Telefones Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Exercício Um conjunto de entidades Livros tem atributos multivalorados? O caso dos autores Editora vs. biblioteca Valdemar Setzer – Análise de dados 4/10/17

Atributo determinante (“chave”) ou Um valor de um atributo determinante determina um só elemento do conjunto de entidades Todo atributo determinante deve ter um valor não vazio Alunos Alunos Registro-de-aluno Registro-de-aluno ... ... Valdemar Setzer – Análise de dados 4/10/17

Atributo composto determinante Alunos Registro-de-aluno Identificação CPF Data-nascimento Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Atributo global É um atributo cujo valor aplica-se a todo o conjunto de entidades, e não a cada entidade do conjunto Número de alunos Alunos Registro-de-aluno Nome ... Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de relacionamentos Alunos matriculam-se em disciplinas Existem associações entre alunos e disciplinas Como representar isso? No modelo conceitual RELACIONAMENTOS Alunos Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de relacionamentos Com sinônimos Alunos Matrículas Disciplinas Conjunto de relacionamentos Matriculados-em Alunos Matrículas Disciplinas Com-matrículas-de Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de relacionamentos Conjuntos de relacionamentos são conjuntos de pares ordenados de elementos de conjuntos de entidades Matrículas = {(A1,D1), (A2,D1), (A1,D2), ...} Pares abstratos! Não podem ser representados em um computador Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Conjuntos de relacionamentos Exemplo de consulta selecione Alunos.Nome de Alunos Matriculados-em Disciplinas onde Disciplinas.Nome = 'Bancos de Dados' Matriculados-em Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Multiplicidades em relacionamentos Ex.: Cada aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter vários alunos matriculados nela Nome errado: “cardinalidade” Matriculados-em N N Alunos Matrículas Disciplinas Com-matrículas-de Valdemar Setzer – Análise de dados 4/10/17

Multiplicidades em relacionamentos Ex.: Cada disciplina pode ser da responsabilidade de um único departamento, que pode ser responsável por várias disciplinas Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

Totalidade de relacionamentos Ex.: Cada disciplina deve necessariamente ser da responsabili- dade de um único departamento Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

Multiplicidades em relacionamentos Ex.: Cada departamento é chefiado por uma única pessoa e cada pessoa chefia um único departamento Chefiados-por 1 1 Departamentos Chefias Pessoas Que chefiam Valdemar Setzer – Análise de dados 4/10/17

Totalidade de relacionamentos Ex.: Cada disciplina deve necessariamente ser da responsabili-dade de no mínimo 1 e no máximo 3 departamentos Da-responsabilidade-de N 3 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

Atributos de relacionamentos Exemplo de consulta selecione Alunos.Nome de Alunos Matriculados-em Disciplinas onde Disciplinas.Nome = 'Bancos de Dados‘ e Ano = 2015 Matriculados-em N N Alunos Matrículas Disciplinas Nome Ano Nome Valdemar Setzer – Análise de dados 4/10/17

Relacionamentos repetidos Um aluno pode fazer várias matrículas em uma disciplina (em semestres diferentes) Valores de Ano e Semestre distinguem um par do outro Matriculados-em N N Alunos Matrículas Disciplinas Nome Ano Nome Semestre {1,2} Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Autorelacionamentos Disciplinas N N É-de Tem-como Pré-requisitos Tipo {Serial, Paralelo} Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Autorelacionamentos Exercícios 1. Modelar funcionários e seus gerentes Quais as multiplicidades? 2. Modelar peças e seus componentes e depois adicionar componentes alternativos Valdemar Setzer – Análise de dados 4/10/17

Relacionamento triplo Até aqui vimos relacionamentos duplos, relacionando 2 conjuntos de entidades Exemplo de relacionamento triplo Alunos fazem projetos em disciplinas Valdemar Setzer – Análise de dados 4/10/17

Relacionamento triplo (Projetos são propostos pelos alunos) E o caso dos alunos que não fazem projetos mas estão matriculados em disciplinas? Projetos N N N Alunos A-D-P Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Relacionamento triplo Vamos ver uma solução melhor Projetos N N N Alunos A-D-P Disciplinas N N Matrículas Valdemar Setzer – Análise de dados 4/10/17

Agregações de relacionamentos Projetos N A-D-P N N N Matrículas Disciplinas Alunos Valdemar Setzer – Análise de dados 4/10/17

Agregações de relacionamentos Atenção: Se um relacionamento de um conjunto de entidades com uma agregação é total do lado dessa agregação, trata-se de um relacionamento triplo! Exercício 1. Modelar como relacionamento triplo correntistas, contas correntes e cartões de crédito 2. Modificar para usar uma agregação Por que usá-la? Valdemar Setzer – Análise de dados 4/10/17

Especialização/generalização Pessoas Nome CPF ... X x: exclusivo Alunos Docentes Funcionários RA Categoria Função Valdemar Setzer – Análise de dados 4/10/17

Agregações de relacionamentos Exercício Para um banco, modelar pessoas especializadas em correntistas, tomadores (de empréstimos) e avalistas (de empréstimos) Essa especialização será exclusiva (x) ou inclusiva (o)? Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados 4/10/17

Modelo operacional relacional Pode ser introduzido em um computador Os dados devem ser apenas valores dos atributos do modelo conceitual Modelo relacional Cada arquivo pode ser representado como uma tabela Cada tabela é a representação de um conjunto de n-plas ordenadas de valores Isto é, uma RELAÇÃO no sentido matemático Valdemar Setzer – Análise de dados 4/10/17

Modelo operacional relacional Relação no sentido matemático Ex: R = {(a1,b1,c1),(a2,b3,c1),(a1,b2,c2)} A = {a1,a2} B = {b1,b2,b3} C = {c1,c2} R  A x B x C (produto cartesiano) Explicação errada: “Relação” pois as tabelas são “relacionadas” Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de entidades Chave Alunos Registro-de-aluno Nome [30c] Data-nascimento [dd/dd/dddd] Endereço RG [dddddddd-d] CPF [ddd.ddd.ddd-dd] Cada aluno é representado pelos valores de seus atributos formando uma linha a tabela Um atributo chave deve ter valores não vazios e únicos Colocar todos os formatos Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Representação como tabela Alunos RA Nome Data-nascim Endereço RG CPF 12345 João 04/10/97 R. dos Joões, 6 12345678-9 001.002.003-04 23456 Maria 04/10/99 R. das Marias, 1 23456789-0 002.003.004-05 34567 Zé 04/10/96 R. dos Zés,1001 34567890-1 003.004.005-06 Alunos = {(12345, João, 04/10/98, 12345678-9, 001.002.003-04), (23456, Maria, 04/10/99,R. das Marias, ...)} Atributos: RA, Nome, Data-nascim, ... Domínio: valores que podem ser assumidos por um atributo Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de relacionamentos Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por N 1 Disciplinas Departamentos Código Sigla Nome ^ AT-Sigla-depto Atributo transposto ou “chave estrangeira” (arghhh!) Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de relacionamentos Ou N 1 Disciplinas Responsabilidades Departamentos N 1 Disciplinas AT-Sigla-depto Sigla Departamentos Código Sigla Nome ^ AT-Sigla-depto Nome Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de relacionamentos Portanto, a implementação de relacionamentos é feita por meio de ligações lógicas entre tabelas (ou: relações) Essas ligações são feitas por transposição de valores de chaves N 1 Disciplinas AT-Sigla-depto Sigla Departamentos Código Sigla Nome ^ AT-Sigla-depto Nome Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de relacionamentos Ou Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por N 1 Disciplinas Sigla Departamentos Código Sigla Nome ^ AT-Sigla Nome Valdemar Setzer – Análise de dados 4/10/17

Representação relacional de relacionamentos Alunos Matrículas Disciplinas Ano 1 N N 1 Alunos Matrículas Disciplinas Registro-de-aluno Sigla Ano Nome Nome ^ AT-Sigla ^ AT-RA Relação auxiliar Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Consulta em SQL select Alunos.Nome from Alunos, Matrículas, Disciplinas where Ano = 2017 and Disciplinas.Nome = “Bancos de Dados” and Registro-de-aluno = RA and Sigla-disc = Sigla 1 N N 1 Alunos Matrículas Disciplinas Registro-de-aluno Sigla Ano Nome Nome ^ AT-Sigla-disc ^ AT-RA Equação da junção (join) Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados SQL estendido A equação do join em cada consulta é um absurdo! Ela resulta de uma estrutura de dados Que não se altera! Correto deveria ser: Declarar a equação do join no dicionário de dados, ex.: join Registro-de-aluno = RA and Sigla-disc = Sigla as Matrículas synonims Matrículas, Matriculados-em, Que-matriculam Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados SQL estendido A consulta seria agora select Alunos.Nome from Alunos Matriculados-em Disciplinas where Ano = 1917 and Disciplinas.Nome = “Bancos de Dados” Melhor ainda select Nome of Alunos where Ano = 2017 and Nome of Disciplinas = “Bancos de Dados” Valdemar Setzer – Análise de dados 4/10/17

Implementação de atributos multivalorados Alunos Alunos 1 * Telefones N Telefones Valdemar Setzer – Análise de dados 4/10/17

Implementação de autorelacionamentos Disciplinas Disciplinas N N 1 1 É-de Tem-como É-de Tem-como N N Pré-requisitos Pré-requisitos Tipo {Serial, Paralelo) AT-É-prereq-de AT-Tem-como-prereq Tipo {Serial, Paralelo) Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Agregações Projetos N A-D-P N N N Matrículas Disciplinas Alunos Valdemar Setzer – Análise de dados 4/10/17

Agregações no modelo relacional Projetos 1 N A-D-P N 1 1 N N 1 Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

Especialização/generalização Pessoas Nome CPF ... X Alunos Docentes Funcionários RA Categoria Função Valdemar Setzer – Análise de dados 4/10/17

Especialização no modelo relacional Pessoas 1 x 1 1 1 Alunos Docentes Funcionários Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados 4/10/17

Gerenciador de bancos de dados (GBD) Recomendo aos que não usam começarem com o MS-Access, pois tem recursos para Declaração das tabelas Visualização gráfica das tabelas Especificação gráfica das ligações lógicas entre as tabelas Desenhador de telas de entrada e saída de dados Desenhador de relatórios Geração de consultas Valdemar Setzer – Análise de dados 4/10/17

Gerenciador de bancos de dados (GBD) O MS-Access elimina boa parte da programação Aceleração do desenvolvimento Maior confiabilidade Valdemar Setzer – Análise de dados 4/10/17

Criação de tabela em Access Valdemar Setzer – Análise de dados 4/10/17

Criação de tabela em Access Valdemar Setzer – Análise de dados 4/10/17

Exemplo de tabelas em Access Valdemar Setzer – Análise de dados 4/10/17

Exemplo de ligações em MS-Access Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados Outro modelo: UML Valdemar Setzer – Análise de dados 4/10/17

Análise de sistema administrativos Começar com o modelo conceitual (MER) gráfico Colocar apenas os atributos que caracterizam cada entidade e relacionamento Fazer uma lista com todos os atributos Discutir o modelo conceitual com o cliente Valdemar Setzer – Análise de dados 4/10/17

Análise de sistema administrativos Fazer o modelo relacional gráfico Projetar todas as telas e relatórios Usando prototipadores Discutir as telas e relatórios com o cliente, que deve assinar a versão final (certificação) Se ele pedir alterações posteriores, elas têm que ser cobradas adicionalmente Valdemar Setzer – Análise de dados 4/10/17

Análise de sistema administrativos Implementar o modelo operacional usando um GBD Projetar testes Fazer a programação necessária Com farta documentação dos programas Usar meu sistema de documentação de programas em 3 níveis de abstração? Valdemar Setzer – Análise de dados 4/10/17

Análise de sistema administrativos Mostrar ao cliente, que deve fazer testes Ele certamente vai querer modificações Nas modificações, começar do modelo conceitual Manter toda a documentação atualizada Isso exige uma fantástica autodisciplina Pois o computador induz indisciplina Veja-se como os programadores programam Essa é uma das misérias da computação Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Concentração e meditação ONE-MINUTE PAPER ESCREVER NUM PEDAÇO DE PAPEL: 1. O QUE APRENDI DE MAIS IMPORTANTE? 2. QUAL A MAIOR DÚVIDA QUE FICOU? 3. COMENTÁRIOS Valdemar Setzer – Concentração e meditação 28/9/17

Análise de sistema administrativos Esse método é mais demorado e mais caro Mas produz sistemas Muito mais próximos do que o cliente deseja Muito mais confiáveis Muito mais fáceis de serem modificados e mantidos Muito mais baratos a longo prazo Valdemar Setzer – Análise de dados 4/10/17

Análise de sistema administrativos Grande problema: Clientes e gerentes querem os sistemas para ontem Pois não sabem que computação é algo extremamente sério E perigoso! Valdemar Setzer – Análise de dados 4/10/17

Valdemar Setzer – Análise de dados A MODELAGEM CONCEITUAL DE DADOS COMO FERRAMENTA BÁSICA PARA A ANÁLISE DE SISTEMAS  Valdemar W. Setzer Ver esta apresentação em www.ime.usp.br/~vwsetzer/apresentacoes ou buscar: setzer apresentacoes Valdemar Setzer – Análise de dados 4/10/17

ESPERO QUE VOCÊS NÃO CAIAM NA MISÉRIA DA COMPUTAÇÃO! F I M Valdemar Setzer – Análise de dados 4/10/17