Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 10 Semestre de 2013 Banco de Dados I – BD I Prof. Lineu Mialaret Aula 3: Sistemas de Informação Banco de Dados I Aula 3 - 1/26 ©Prof. Lineu Mialaret Introdução 50’s 60’s 70’s Nas três primeiras décadas O desafio primário foi desenvolver um computador (hardware) que reduzisse os custos de processamento e de armazenamento de dados e informações. 80’s Na década de 80 Avanços na micro-eletrônica resultaram em maiores poderes computacionais, a custos cada vez mais reduzidos. Últimas décadas O desafio maior passou a ser melhorar a qualidade e reduzir os custos de soluções computacionais, as quais podem ser implementadas por meio de sistemas de software nos dias de hoje. 90’s 2000 Banco de Dados I Aula 3 - 2/26 ©Prof. Lineu Mialaret Dado e Informação (1) Dado: matéria prima dos Sistemas de Informação. Informação: dado agregado. Conhecimento: inferência realizada sobre a informação. Decisão: a operacionalização do conhecimento. Exemplo 1: 15 é um dado 15 de dezembro é uma informação (ou seja, um dado agregado) 15 de dezembro de 2006 é outra informação em 15 de dezembro de 2006 estarei formado (é um conhecimento, ou seja, uma dedução de um dado agregado, que é uma informação) em 15 de dezembro de 2006 deverei procurar emprego como Analista de Sistemas (é uma decisão, ou seja uma operacionalização do conhecimento). Banco de Dados I Aula 3 - 3/26 ©Prof. Lineu Mialaret Dado e Informação (2) Exemplo 2: Tomar doril Decisão Banco de Dados I Aula 3 - 4/26 ©Prof. Lineu Mialaret Sistema de Informação (1) Um Sistema é uma coleção de componentes relacionados, os quais operam em conjunto para atingir algum objetivo. Um Sistema de Informação compreende as pessoas, máquinas e processos organizados para coletar, processar, transmitir e disseminar dados que representam informação de usuários. Um Sistema de Informação Computadorizado é uma disposição de pessoas, máquinas, processos, comunicações, dados e Tecnologia da Informação que interage para suportar e melhorar as operações diárias num domínio de negócio (business), bem como para suportar as necessidades de solução de problemas e tomada de decisão de gerentes e usuários. Banco de Dados I Aula 3 - 5/26 ©Prof. Lineu Mialaret Sistema de Informação (2) Sistemas de Informação Computadorizados podem incluir componentes elétricos e mecânicos, software, hardware, firmware, documentware e ser operado por pessoas (peopleware). Outras definições de Sistemas de Informação Computadorizados: Qualquer sistema utilizado para a aquisição, armazenamento, manipulação, gerenciamento, movimentação, controle, apresentação, transferência, transmissão ou recepção de dados e informação, e que inclui software, hardware e firmware. A infraestrutura inteira, a organização, pessoal e componentes para a coleta, processamento, armazenagem, transmissão, apresentação, disseminação e disponibilização de dados e informação, empregando software, hardware, firmware, peopleware e documentware. Banco de Dados I Aula 3 - 6/26 ©Prof. Lineu Mialaret Sistema de Informação (3) Tecnologia da Informação é um termo contemporâneo que descreve a combinação de tecnologia de computadores (hardware e software) com tecnologia de telecomunicações (redes de dados, imagem e voz). Banco de Dados I Aula 3 - 7/26 ©Prof. Lineu Mialaret Sistema de Informação (4) Alguns tipos de Computadorizados: Sistemas de Informação Sistema de Informação Gerencial: um Sistema de Informação Computadorizado que coleta, processa e distribui dados para uso na tomada de decisão. Sistema de Informação Geográfico: um Sistema de Informação Computadorizado que trata com dados referenciados espacialmente para resolver problemas complexos de planejamento e gerenciamento espacial. Sistema de Informação de Pessoal: um Sistema de Informação Computadorizado que trata das características dos empregados de uma empresa. Resumindo, em geral, um Sistema de Informação X ou é um sistema de informação que trata com informação para X (Sistema Gerencial), ou com informação do tipo X (Sistema Geográfico) ou com informação sobre X (Sistema de Pessoal). Banco de Dados I Aula 3 - 8/26 ©Prof. Lineu Mialaret Conceitos Gerais (1) Ciência: um conjunto organizado de conhecimentos relativos a um determinado assunto, especialmente os obtidos mediante a observação, a experiência dos fatos e uma sistemática própria. Ciência da Computação: é a ciência que visa ao tratamento da informação, por meio do emprego de investigações e procedimentos teóricos. Engenharia: é a arte de aplicar conhecimentos científicos e empíricos e certas habilitações específicas à criação de estruturas, dispositivos e processos para converter recursos naturais ou não em formas adequadas ao atendimento das necessidades humanas. Banco de Dados I Aula 3 - 9/26 ©Prof. Lineu Mialaret Conceitos Gerais (2) Engenharia de Sistemas: se preocupa com todos os aspectos do desenvolvimento de sistemas computadorizados incluindo hardware, software, e engenharia de processos. Engenheiros de sistemas são envolvidos na especificação, no projeto arquitetural, na integração e na disponibilização do sistema. Engenharia da Informação: conjunto das disciplinas relacionadas que são necessárias para a construção de empresas informatizadas, baseadas no forte uso de Sistemas de Software que empregam predominantemente a Tecnologia de Banco de Dados. Engenharia de Software: pode ser considerada como uma abordagem de desenvolvimento de Sistemas de Software elaborada com formalismos bem definidos. Banco de Dados I Aula 3 - 10/26 ©Prof. Lineu Mialaret Conceitos Gerais (3) Engenharia do Conhecimento: investiga e desenvolve sistemas baseados em conhecimento (Sistemas Inteligentes) e suas aplicações. Engenharia de Requisitos: compreende o estudo das sistemáticas nas quais requisitos (funcionalidades e atributos de qualidade) de sistemas de informação computadorizados são elicitados, modelados e analisados, num contexto chamado de Universo de Informação (UdeI) ou Domínio de Conhecimento. Engenharia de Negócio: enfoca as diversas abordagens disponíveis que propiciam a modelagem corporativa empresarial. Banco de Dados I Aula 3 - 11/26 ©Prof. Lineu Mialaret Conceitos Gerais (4) Ciência da Computação Engenharia de Negócio Engenharia da Informação Engenharia de Software Paradigma Metodologia Técnica Engenharia de Requisitos Banco de Dados I Tecnologia CASE Aula 3 - 12/26 Engenharia do Conhecimento ©Prof. Lineu Mialaret Conceitos Gerais (5) Da definição de um Sistema de Informação Computadorizado, pode-se extrair quatro principais funcionalidades que um sistema deste tipo apresenta: (1) Aquisição e coleta de dados e informação (2) Armazenagem de dados e informação (3) Manipulação e processamento de dados e informação (4) Apresentação e disseminação de dados e informação. As funcionalidades (1) e (4) são especificas de domínio. Para as funcionalidades (2) e (3), os Sistemas de Informação Computadorizados, de maneira geral, fazem uso de Banco de Dados - BD, mantidos por um Sistema Gerenciador de Banco de Dados - SGBD. Banco de Dados I Aula 3 - 13/26 ©Prof. Lineu Mialaret Conceitos Gerais (6) Banco de Dados – BD (Database - DB) consiste num conjunto de dados relacionados logicamente, os quais, por exemplo, podem conter dados e informações, sobre uma determinada uma empresa. Sistema Gerenciador de Banco de Dados - SGBD (Database Management System – DBMS) é constituído por um conjunto de dados mais uma coleção de programas para manipulação desses dados. É considerado um software básico. O principal objetivo de um SGBD é propiciar um ambiente conveniente e eficiente para manipulação de informações. Sistemas de Bancos de Dados ou Aplicativos de Banco de Dados, ou simplesmente, Banco de Dados são projetados para gerir grandes volumes de dados e informações. Banco de Dados I Aula 3 - 14/26 ©Prof. Lineu Mialaret Conceitos Gerais (7) Exemplo de um SGBD. Banco de Dados I Aula 3 - 15/26 ©Prof. Lineu Mialaret Conceitos Gerais (8) Numa perspectiva em alto nível, o desenvolvimento de Sistemas de Software abrange, dentre outros, a definição dos seguintes tópicos: o Paradigma a Metodologia as Técnicas as Ferramentas de Engenharia de Software Auxiliada por Computador (Computer-Aided Software Engineering CASE). Banco de Dados I Aula 3 - 16/26 ©Prof. Lineu Mialaret Conceitos Gerais (8) O Paradigma representa o padrão de modelos a ser seguido, ou o gabarito, que engloba a aplicação de um conjunto de teorias, conceitos, métodos e técnicas, os quais agregados, enfocam uma forma mais genérica de representação da realidade. Um Método possui um processo disciplinado para a geração de um conjunto de modelos, que descrevem os vários aspectos de um sistema em desenvolvimento, correspondendo a uma estrutura de ações seqüenciais, repetitivas ou decisórias, destinadas a atingir um propósito determinado. (Booch, 1994) Banco de Dados I Aula 3 - 17/26 ©Prof. Lineu Mialaret Conceitos Gerais (9) Um Processo especifica quem faz o quê, quando e de que forma, sendo necessária a definição de como as ações concretas devem ocorrer, os responsáveis por sua realização e quais métricas deverão ser utilizadas. Ele sistematiza e controla as atividades, identificando, antevendo e corrigindo os erros, para produzir artefatos de Software com maior qualidade. Uma Metodologia corresponde a uma coleção de métodos aplicados num processo de desenvolvimento de Software, unificada por alguma abordagem filosófica geral. (Booch, 1994) Seu significado torna-se mais amplo e abrangente do que o de Método. Metodologia = Processo + Método + ... Banco de Dados I Aula 3 - 18/26 ©Prof. Lineu Mialaret Conceitos Gerais (10) Em 1997, Graham definiu que uma Metodologia deve conter: um processo com ciclo de vida completo um conjunto de conceitos e modelos consistentes um conjunto de regras e orientações uma descrição de todos os artefatos de Software produzidos uma notação representativa e suportada por Ferramentas CASE um conjunto de métricas apropriadas, padrões e estratégias de testes identificação dos papéis organizacionais no processo de desenvolvimento orientações para o gerenciamento de projeto e a garantia de qualidade orientações sobre a aplicabilidade do conceito de reusabilidade. Banco de Dados I Aula 3 - 19/26 ©Prof. Lineu Mialaret Conceitos Gerais (11) Diversas Metodologias disponíveis: Martin: Information Engineering Zachman: Information System Architecture RUP: Rational Unified Process Grady Booch: Analysis and Design Method Ivar Jacobson: OOSE James Rumbaugh: OMT Wirfs / Brock: Responsibility Driven Design Method YourdonDeMarco Banco de Dados I OOSE R O O M Booch Aula 3 - 20/26 R U P OMT Shlaer/ Mellor H O O D ©Prof. Lineu Mialaret Conceitos Gerais (12) A Técnica constitui-se no modo de resolução de um grupo de tarefas bem específicas, envolvendo a aplicação de um determinado conhecimento. Entre as técnicas utilizadas na Ciência da Computação, destacamse a Abstração, a Modelagem e o Caso de Uso, entre outras. Modelagem é a atividade de construir modelos por meio de técnicas e ferramentas conceituais. Eles descrevem uma porção da realidade a partir de uma perspectiva específica, a qual pode ser em forma de textos, protótipos, gráficos, fórmulas, maquetes, etc. Banco de Dados I Aula 3 - 21/26 ©Prof. Lineu Mialaret Conceitos Gerais (13) Modelos são construídos para: Comunicar a estrutura e o comportamento desejados do Sistema. Visualizar e controlar a arquitetura do Sistema. Compreender melhor o Sistema que se está elaborando (expondo oportunidades de simplificação e de reaproveitamento). Modelos são vantajosos para: Visualizar e entender o Sistema como ele é, para melhor avaliar seus defeitos e qualidades. Visualizar e entender o Sistema como se deseja. Proporcionar uma orientação para a construção (implementação) do Sistema, documentando as decisões tomadas durante o planejamento. Banco de Dados I Aula 3 - 22/26 ©Prof. Lineu Mialaret Tecnologia CASE (1) Ferramentas CASE (Computer-Aided Software Engineering Tools) ou Ferramentas de Engenharia de Software Auxiliada por Computador pode sem entendidas como: “um produto baseado em computador, objetivando suportar uma ou mais atividades de Engenharia de Software dentro de uma metodologia de desenvolvimento” (Dhalabhoy, 1999). Em sua definição mais simples, uma Ferramenta CASE (ou Ferramenta de Engenharia de Software Auxiliada por Computador) é um Aplicativo de Software que auxilia os profissionais envolvidos na tarefa de produzir Sistemas de Software. Banco de Dados I Aula 3 - 23/26 ©Prof. Lineu Mialaret Tecnologia CASE (1) Exemplo de uma Ferramenta CASE. Banco de Dados I Aula 3 - 24/26 ©Prof. Lineu Mialaret Tecnologia CASE (2) As ferramentas CASE podem ser subdivididas em 4 categorias: Lower CASE - ferramentas de codificação (front-end). Upper CASE - ferramentas de análise, projeto e implementação. Integrated CASE - união de Upper e Lower CASE. Meta CASE - são ferramentas que permitem construir outras ferramentas. Um dos componentes indispensáveis de uma ferramenta CASE é a modelagem visual, ou seja, a possibilidade de representar, através de modelos gráficos, o que está sendo definido/construído. Banco de Dados I Aula 3 - 25/26 ©Prof. Lineu Mialaret Características de Ferramentas CASE Auxílio a Prototipação Geração de Código Gerência do Desenvolvimento Repositório de Projeto Interface Amigável Análise e Projeto Documentação Banco de Dados I Customização Engenharia Reversa Aula 3 - 26/26 Geração de Relatórios ©Prof. Lineu Mialaret