Apostila Tecnologia da Informação (TI)

121
Tecnologia da Informação Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 1 / 121

Transcript of Apostila Tecnologia da Informação (TI)

Tecnologia da Informação

Ricardo Terra

rterrabh [at] gmail.com

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 1 / 121

CV

Nome: Ricardo TerraEmail: rterrabh [at] gmail.comwww: ricardoterra.com.brTwitter: rterrabhLattes: lattes.cnpq.br/ 0162081093970868

Ph.D. (UFMG/UWaterloo),Post-Ph.D. (INRIA/Université Lille 1)

BackgroundAcadêmico : UFLA (desde 2014), UFSJ (1 ano ), FUMEC (3 anos ), UNIPAC (1 ano ), FAMINAS (3 anos )

Profissional : DBA Eng. (1 ano ), Synos (2 anos ), Stefanini (1 ano )

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 2 / 121

Conteúdo

1 Tecnologia da InformaçãoConceitos GeraisTipos de Sistemas de Informação

2 Infra-Estrutura de TI

3 Linguagem de Programação

4 Banco de Dados

5 Engenharia de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 3 / 121

Tecnologia da Informação

Conceitos Gerais

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 4 / 121

Tecnologia da Informação – Conceitos Gerais

Conteúdo da aula:Conceitos básicos

Dado x Informação

Importância e objetivos empresariais de Sistemas deInformação

Resolução de problemas

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 5 / 121

Tecnologia da Informação – Conceitos Gerais

Dado x Informação

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 6 / 121

Tecnologia da Informação – Conceitos Gerais

Sistemas de Informação

Importância no ambiente de negócios contemporâneo

Transformando os negócios:Em 2005, mais contas de celular do que de telefones fixosMais de 35 milhões de norte-americanos recebem notíciason-line; 32 milhões lêem blogsPropaganda na Internet cresce 30% ao anoNovas leis exigem que as empresas armazenem mais dadospor períodos mais longoseCommerce, eBusiness, B2B, B2C, C2C, G2B, G2C, ...

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 7 / 121

Tecnologia da Informação – Conceitos Gerais

Objetivos Empresarias dos Sistemas de Informação

Excelência operacionaleficiência, produtividade ...

Novos produtos, serviços e modelos de negócios

Relacionamento mais estreito com clientes e fornecedores

Melhor tomada de decisãoevitam suposições, dados em tempo real melhoram acapacidade de os gerentes tomarem decisões

Vantagem competitivadevido ao alcance dos objetivos empresariaiscobrar menos por produtos superiores

SobrevivênciaSistemas de Informação se tornaram imprescindíveis

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 8 / 121

Tecnologia da Informação – Conceitos Gerais

Programa x Sistemas de Informação

ProgramaFormalização de um processo de tal forma que ocomputador consiga realizá-lo

Sistemas de InformaçãoPessoas + dados + processos + interfaces + redes + tecnologiaSuporte ao processo de negócio de uma organização

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 9 / 121

Tecnologia da Informação – Conceitos Gerais

Construção de Sistemas de Informação

Objetivo da construção de um sistema de informação:Adicionar valor à empresaAumentar a produtividadeReduzir mão-de-obraReduzir utilização de papéis (GED)Centralização de dados e informaçõesMaior facilidade na geração de novo conhecimento (WalMart)Maior segurança no armazenamento e acesso aos dados

A construção de um sistema de informação deve sereconomicamente justificável

Ganhos (tangíveis ou não) devem compensar construção

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 10 / 121

Tecnologia da Informação – Conceitos Gerais

Sistemas de Informação São Muito Mais do que Computadores

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 11 / 121

Tecnologia da Informação – Conceitos Gerais

Abordagem de Resolução de Problemas

Poucos problemas empresariais são simples ou fáceis decompreender

Muitos problemas empresariais envolvem um conjunto defatores que podem ser categorizados comoorganizacionais, tecnológicos e humanos

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 12 / 121

Tecnologia da Informação – Conceitos Gerais

Possível modelo para resolução de problemas

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 13 / 121

Tecnologia da Informação – Conceitos Gerais

Linguagem de ProgramaçãoComo escrever programas?

Banco de DadosOnde e como armazenar dados?

RedeComo entradas, programas, banco de dados secomunicam?

Engenharia de SoftwareExiste algum processo de construção de sistemas desoftware?

SegurançaExistem formas de prover uma maior segurança?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 14 / 121

Tecnologia da Informação

Tipos de Sistemas de Informação

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 15 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Conteúdo da aula:Vários tipos de Sistemas de Informação

Veja referência do Florentino [?]

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 16 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Informação Rotineiros ou Transacionais

Mais simples e mais comuns

Apóiam as funções operacionais do dia-a-dia

processam dados

armazenam e recuperam dados

agiliza rotinas e tarefas (possível redução de pessoal)

Normalmente, os primeiros a serem implementados

mais fáceis e baratos

exemplos: sistemas de cadastro em geral, sistemas decontabilidade, sistemas de venda, folha de pagamento,controle de estoque...

dão origem aos sistemas mais avançados (SIG, SAD)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 17 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Gestão Empresarial Integrada – ERP (EnterpriseResource Planning)

Unem e integram os diversos sistemas rotineiros de umaorganização

Integram os departamentosagilizam processos

Just-in-Time (produção por demanda, sem estoques)por exemplo, quando uma venda é feita, a entrada é dadano sistema rotineiro de Vendas, mas o sistema de produção e osistema de compras já ficam sabendo o que terão que fazer

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 18 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Gestão de SuprimentosObjetivo: controlar produtos, peças, matérias primas,materiais, composição, aquisição e fluxo de materiais portoda a cadeia produtiva

Inclui os seguintes subsistemas:Component and Supplier Management

Sistemas de Controle de Supply Chain

procura

arquisição

previsão

planejamento

...

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 19 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Informações Gerenciais (SIG ou MIS – ManagementInformation Systems)

Objetivo: fornecer informações para a tomada de decisões(sistemas que fornecem relatórios)

São sistemas que fornecem relatórios (planilhas, gráficos depizza, barra, linha...)

Relatórios em nível adequado (nem profundo nemsuperficial)

Inicialmente, utilizado por gerentesHoje, qualquer funcionário que tome decisões

Aparecem nos três níveis da pirâmide administrativaEstratégico, tático e operacional

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 20 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Apoio à Decisão (SAD ou DSS – Decision SupportSystems)

Entrada: alternativas para solução de um problema

Saída: Consequências de cada alternativa

Resultado: Possibilita avaliar qual é a melhor alternativaSAD não decide nem indica alternativas

Diferença SIG e SAD: interatividadeo usuário pode entrar com várias alternativas e avaliá-las pormeio de técnicas de what-if, tais como projeção e regressão

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 21 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas EspecialistasObjetivo: tomar decisões.

Sistemas de Simulação

Objetivo: Apoiar decisões (como SAD), mas tendo o fatortempo associado

SAD pode ser atemporal, mas os sistemas de simulaçãoavaliam as conseqüências das decisões durante um certoperíodo de tempo

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 22 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Informações Distribuídas

Objetivo: dados armazenados remotamente ou em pontosdiferentes + processamento distribuído

Sistemas de Automação

Objetivo: conectar computadores e máquinas

Inclui automação comercial, industrial e residencial

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 23 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Informações Geográficas (GIS)

Objetivo: integrar mapas e bancos de dados, maspermitindo o geoprocessamento de imagens

cálculo de distâncias, localizar entidades no mapa,identificar que entidade corresponde a certos objetos nomapa

Análise e manipulação de dados geográficos e espaciais

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 24 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Hipertextos, Hipermídia e MultimídiaObjetivo: apresentações de informações

catálogos, produtos, treinamento...

Sistemas de Gestão Eletrônica de Documentos (GED)Objetivo: armazenar e recuperar documentos, utilizandobancos de dados

recuperação realizada por atributos do documento(categoria, data, ano, envolvidos etc)

Além disso, o meio ambiente agradece

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 25 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Informações Textuais (Indexação e Recuperaçãode Informações)

Objetivo: armazenar documentos textuais e recuperá-lospor conteúdo (por palavras presentes no texto)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 26 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de WorkflowObjetivo: permitir o planejamento e controle do fluxo detrabalho e o roteamento automático de documentos

Resolve problemas comuns:demoradesconhecimento ou erros de encaminhamentofalta de informação sobre a situação (status)perda de documentos

Suas funcionalidades incluem:programação do fluxo (decisões, tempo de espera)alertas e lembretessituação (status)rastreamento/localizaçãodocumentos eletrônicos

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 27 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Data Warehouse (Armazém de Dados)Objetivo: Prover centralização de dados

Utilizados em uma organização para coletar dados devárias fontes de dados e disponibilizá-los em uma únicabase de dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 28 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Database MarketingObjetivo: armazenar informações sobre clientes, comobjetivo de marketing direto ou de precisão, além depermitir identificar perfis de clientes

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 29 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de CRM (Customer Relationship Management)Automatizam as funções de contato com o cliente

Objetivam ajudar as empresas a criarem e manterem umbom relacionamento com seus clientes

identificando perfis em tempo real

melhorar atendimento

fortalecer o relacionamento cliente/empresa

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 30 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Data Mining (Mineração de Dados)

Objetivo: encontrar padrões implícitos em bancos dados,geralmente usando técnicas estatísticas

Também conhecidos como sistemas de descoberta deconhecimento

Sistemas de Text Mining

Objetivo: encontrar padrões implícitos em textos,geralmente usando técnicas estatísticas

Sistemas de Web MiningObjetivo: encontrar padrões no comportamento deusuários da web, geralmente usando técnicas estatísticas

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 31 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de GroupwareObjetivo: apoiar trabalho em grupo (cooperação oucolaboração)

Sistemas de IntranetObjetivo: apoiar trabalho em grupo por meio detecnologias web

Sistemas de ExtranetObjetivo: criar uma conexão web entre dois pontosdistantes (filiais ou empresa-parceiro)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 32 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Portais CorporativosObjetivo: integrar todos os sistemas da empresa (intranet,ERP, CRM, E-Business etc) em um mesmo ponto de acesso

Normalmente, esse ponto de acesso é a web e podem seracessados através de um login único

Focam em maximizar o lucro das empresasoferecem canais de comunicação e vendas para o clientefornecem informações e históricos de atendimentorecebem pesquisas de opinião do consumidorregistram números de série e garantia de produtosoferecem catálogos dos produtos da empresadirecionam contatos a representantesetc

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 33 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de E-businessObjetivo: fazer, divulgar e administrar qualquer tipo denegócio com a ajuda da Internet

Por exemplo:

catálogos

divulgação de produtos, serviços e informação

divulgação da empresa (mobile, commerce, advertising)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 34 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Comércio Eletrônico (E-commerce)

É um tipo especial de E-Business onde existe comércioEm outras palavras, consiste na compra e vende de produtosou serviço por meio de sistemas eletrônicos, tais comoInternet e outras redes

São exemplos: B2B, B2C, C2C, G2C, G2B...

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 35 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Personalização e Recomendação

Objetivo: ofertar itens ou oferecer informações aclientes/usuários sem que estes solicitem

Sistemas de Business Intelligence

Processo de coleta, organização, análise,compartilhamento e monitoramento de informações queoferecem suporte a gestão de negócios

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 36 / 121

Tecnologia da Informação – Tipos de Sistemas de Informação

Sistemas de Inteligência Competitiva

Objetivo: monitorar concorrentes (quem são os players,onde estão, o que estão oferecendo e como, estratégias,enfoques, novas tendências)

Sistemas de Gestão do ConhecimentoObjetivo: armazenar e recuperar conhecimento (provêreúso)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 37 / 121

Conteúdo

1 Tecnologia da Informação

2 Infra-Estrutura de TIConceitos GeraisSistema Operacional

3 Linguagem de Programação

4 Banco de Dados

5 Engenharia de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 38 / 121

Infra-Estrutura de TI

Conceitos Gerais

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 39 / 121

Infra-Estrutura de TI – Conceitos Gerais

Conteúdo da aula:Componentes da Infra-estrutura de TI

Tipos de tecnologia de hardware e de armazenamento eentrada/saída de dados

Tipos de sistemas de software

Enumerar tendências de hardware e software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 40 / 121

Infra-Estrutura de TI – Conceitos Gerais

DiscussãoQual é sua opinião sobre a decisão da DreamWorksAnimation de investir pesadamente em tecnologia dainformação em vez de em talentos humanos maisdestacados?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 41 / 121

Infra-Estrutura de TI – Conceitos Gerais

Tipos de ComputadorHá computadores de diferentes tamanhos, com váriascapacidades de processamento da informação

FLOPS

PC

Estação de Trabalho (workstation)

Computadores de médio porte

Mainframe

Supercomputador

Computador em grade

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 42 / 121

Infra-Estrutura de TI – Conceitos Gerais

ArquiteturasArquitetura stand-alone

Arquitetura cliente/servidor

Arquiteturas cliente/servidor multicamadas (N-camadas)Cada vez mais comum

Servidor de Aplicativo

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 43 / 121

Infra-Estrutura de TI – Conceitos Gerais

Tecnologia de E/S

Armazenamento secundárioDiscos magnéticos: discos rígidos, discos removíveis USB, RAID

Discos ópticos: CD-ROM, CD-RW, DVD

Fita magnética

Rede de armazenamento de dados: SANs

Dispositivos de entrada reúnem e convertem dados emformato eletrônico

Dispositivos de saída exibem os dados depois que elesforam processados

Processamento de dados em lote (batch) e on-line

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 44 / 121

Infra-Estrutura de TI – Conceitos Gerais

Tipos de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 45 / 121

Infra-Estrutura de TI – Conceitos Gerais

TendênciasProcessadores n-cores

Dificuldade em desenvolver paralelo

Grid Computing

Sistemas de Código Aberto

SOA

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 46 / 121

Infra-Estrutura de TI – Conceitos Gerais

O Mundo Corporativo Migra para o Código-Fonte Aberto

Quais problemas o Linux e outros sistemas de software decódigo aberto ajudam as empresas a endereçar?

Como o software de código aberto ajuda?

Quais questões e desafios estão levando ao crescimento dosoftware de código aberto?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 47 / 121

Infra-Estrutura de TI – Conceitos Gerais

Sistemas legados: substituir ou integrar?

Quais problemas os serviços Web e as arquiteturasorientadas a serviços ajudaram as empresas a resolver?

Como as vantagens de uma SOA podem beneficiartambém os clientes e consumidores das empresas que aempregam?

A SOA é a melhor solução em todos os casos?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 48 / 121

Infra-Estrutura de TI

Sistema Operacional

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 49 / 121

Infra-Estrutura de TI – Sistema Operacional

Sistemas Operacionais (W3Counter)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 50 / 121

Infra-Estrutura de TI – Sistema Operacional

Definição

É um programa ou um conjunto de programas cuja funçãoé gerenciar os recursos do sistema (definir qual programarecebe atenção do processador, gerenciar memória, criarum sistema de arquivos etc.), além de fornecer umainterface entre o computador e o usuário

É o primeiro programa que a máquina executa nomomento em que é ligada e, a partir de então, não deixade funcionar até que o computador seja desligado

O sistema operacional reveza sua execução com a deoutros programas, como se estivesse vigiando, controlandoe orquestrando todo o processo computacional

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 51 / 121

Infra-Estrutura de TI – Sistema Operacional

Conceitualização por ponto de vista:

visão do usuário: é uma abstração do hardware, fazendo opapel de intermediário entre o aplicativo (programa) e oscomponentes físicos do computador (hardware)

visão de um profissional: é um gerenciador de recursos, i.e.,controla quais aplicações (processos) podem serexecutadas, quando, que recursos (memória, disco,periféricos) podem ser utilizados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 52 / 121

Infra-Estrutura de TI – Sistema Operacional

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 53 / 121

Infra-Estrutura de TI – Sistema Operacional

HistóriaMS-DOS

Início da MS, monopólio do Windows

OS/2Fracasso da IBM

SolarisAlto processamento

Mac OSAntes: arquitetura específica – Hoje: arquitetura Intel

UNIXBerkeley

LinuxBase UNIX, GUI e free

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 54 / 121

Infra-Estrutura de TI – Sistema Operacional

Cada vez mais complexos...Antigamente: sistema computacional simples (umprocessador, memória, teclado e monitor)

Hoje: Pelo menos um processador, memória, discos,impressoras, teclado, mouse, monitor, interfaces de rede eoutros dispositivos de entrada e saída

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 55 / 121

Infra-Estrutura de TI – Sistema Operacional

Funções1 Gerenciamento de processos

Ilusão da execução simultânea de diversos processos

2 Gerenciamento de memóriaPermitir que os processos tenham acesso seguro à memóriaMemória Virtual

3 Sistema de arquivosPermitir armazenar e recuperar informações de modopermanente

4 Entrada e saída de dados (E/S)Tratar toda entrada e saída de dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 56 / 121

Infra-Estrutura de TI – Sistema Operacional

Tipos de Interfaces de SOs:GUI (Graphical User Interface)

Mais comum

TUI (Text User Interface)MS-DOS

CUI (Command-Line User Interface)Shell de Linux

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 57 / 121

Infra-Estrutura de TI – Sistema Operacional

GUI

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 58 / 121

Infra-Estrutura de TI – Sistema Operacional

TUI

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 59 / 121

Infra-Estrutura de TI – Sistema Operacional

CUI

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 60 / 121

Infra-Estrutura de TI – Sistema Operacional

Classificação quanto ao gerenciamento de processos

Monotarefa: apenas um processo de cada vez. Ex: MS-DOS

Multitarefa: vários processos estão sendo executadossimultaneamente ou aparecem estar

Multiprocessamento: distribuição de processos entrediversos processadores

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 61 / 121

Infra-Estrutura de TI – Sistema Operacional

Classificação quanto a quantidade de usuários

Monousuário: apenas um usuário por vez (possui troca deusuário). Ex: Windows

Multiusuário: vários usuários de uma vez, seja por diversosterminais, conexão remota etc. Ex: Linux, UNIX

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 62 / 121

Infra-Estrutura de TI – Sistema Operacional

E um pouco sobre SOs para dispositivos móveis...Exemplos: Android e Symbian

Funções: as mesmas, contudo focam mais em questõescomo:

usabilidade e apreensibilidade

interface

economia de energia

Antigamente, muita preocupação com o poder deprocessamento. No entanto, hoje em dia um iPhone temmais poder de processamento e memória do que uma boamáquina de 10 anos atrás

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 63 / 121

Conteúdo

1 Tecnologia da Informação

2 Infra-Estrutura de TI

3 Linguagem de ProgramaçãoVisão Geral

4 Banco de Dados

5 Engenharia de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 64 / 121

Linguagem de Programação

Visão Geral

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 65 / 121

Linguagem de Programação – Visão Geral

Definição

É um conjunto de regras sintáticas e semânticas usadaspara definir um programa de computador

um método padronizado para expressar o que umcomputador deve fazer

O programa escrito em uma linguagem de programação éconhecido como código fonte

tal código fonte é traduzido para código de máquina eexecutado pelo processador

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 66 / 121

Linguagem de Programação – Visão Geral

Metaspermitir que programadores tenham uma maiorprodutividade

permitir expressar suas intenções mais facilmente do quequando comparado com a linguagem que umcomputador entende nativamente (código de máquina)

Assim...linguagens de programação são projetadas para adotaruma sintaxe de nível mais alto, que pode ser maisfacilmente entendida por programadores humanos

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 67 / 121

Linguagem de Programação – Visão Geral

Classificações

Programação EstruturadaProgramação estruturada é uma forma de programação decomputadores que preconiza que todos os programaspossíveis podem ser reduzidos a apenas três estruturas:sequência, decisão e iteração. Era a forma dominante deprogramação e, apesar de ter sido sucedida pela POO,pode-se dizer que a programação estruturada ainda émarcantemente influente

Programação Orientada a objetosÉ um paradigma de programação que utiliza “objetos” e ainteração entre eles para projetar aplicações e programasde computador. Suas técnicas de programação podemincluir características como encapsulamento, polimorfismo eherança. Esse paradigma não era comumente usado nodesenvolvimento de aplicações de grande porte até iníciode 1990. Atualmente, várias linguagens suportam POO

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 68 / 121

Linguagem de Programação – Visão Geral

Ranking

Tiobe é um site popular de ranking de linguagens deprogramação. Tiobe baseia seu ranking na disponibilidademundial de engenheiros especialistas, cursos efornecedores

As tabelas e imagens a seguir foram extraídas do Tiobe edão uma ideia de como se encontra esse mercado

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 69 / 121

Linguagem de Programação – Visão Geral

Ranking

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 70 / 121

Linguagem de Programação – Visão Geral

Ranking

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 71 / 121

Linguagem de Programação – Visão Geral

Tendência

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 72 / 121

Linguagem de Programação – Visão Geral

HistóriaEm um material à parte será apresentado a evolução daslinguagens de programação

Em resumo:Início: ADA (idealizada), Cobol (1954)

Meados: C/C++

Hoje em dia: C/C++, PHP, Java, C#

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 73 / 121

Linguagem de Programação – Visão Geral

Programa Hello World

Mesmo não sendo uma fonte muito confiável, existe umapágina na Wikipédia (PT) que apresenta versões doaplicativo Hello World em uma vasta gama de linguagensde programação:http://pt.wikipedia.org/wiki/Programa_Olá_Mundo

Para um entendimento, veremos o programa Hello Worldnas seguintes linguagens: Assembly, Fortran, C e Java

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 74 / 121

Linguagem de Programação – Visão Geral

HelloWorld em Assembly

1 variable :. message db " Olá , Mundo! $ "

3 code:mov ah, 9

5 mov dx , o f f se t . messagei n t 0x21

7 re t

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 75 / 121

Linguagem de Programação – Visão Geral

HelloWorld em Fortran

1 PROGRAM HELLOWRITE (∗ ,10)

3 10 FORMAT( ’Olá , Mundo! ’ )STOP

5 END

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 76 / 121

Linguagem de Programação – Visão Geral

HelloWorld em C

1 #include <std io . h>

3 i n t main( void ) p r i n t f ( " Olá , Mundo!\n " ) ;

5 return 0;

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 77 / 121

Linguagem de Programação – Visão Geral

HelloWorld em Java

public class Hel lo 2 public s t a t i c void main( S t r i n g [ ] args )

System . out . p r i n t l n ( " Olá , Mundo! " ) ;4

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 78 / 121

Linguagem de Programação – Visão Geral

Compiladores X InterpretadoresInterpretador lê o código-fonte linha a linha, executando ainstrução específica daquela linha

Compilador lê o programa inteiro, converte-o em umcódigo-objeto (ou código de máquina) de modo que ocomputador consiga executá-lo diretamente

Isso faz com que o código-objeto seja específico tipo daarquitetura do computador

Qual é mais rápido?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 79 / 121

Linguagem de Programação – Visão Geral

Linguagens Multi-plataforma

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 80 / 121

Linguagem de Programação – Visão Geral

Grau de Abstração

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 81 / 121

Linguagem de Programação – Visão Geral

Grau de Abstração

Baixo Nível: símbolos são uma representação direta docódigo de máquina que será gerado, onde cadacomando da linguagem equivale a um opcode doprocessador. Ex: Assembly

Médio Nível: símbolos que podem ser convertidosdiretamente para código de máquina (goto, expressõesmatemáticas, atribuição de variáveis), mas tambémsímbolos complexos que são convertidos por umcompilador. Exemplo: C, C++

Alto Nível: símbolos mais complexos, inteligível pelo serhumano e não-executável diretamente pela máquina, nonível da especificação de algoritmos. Ex: Pascal, Fortran,ALGOL, Java, C#

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 82 / 121

Conteúdo

1 Tecnologia da Informação

2 Infra-Estrutura de TI

3 Linguagem de Programação

4 Banco de DadosVisão GeralAplicações Práticas

5 Engenharia de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 83 / 121

Banco de Dados

Visão Geral

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 84 / 121

Banco de Dados – Visão Geral

Definições

Antes de mais nada, definiremos:Banco de Dados

Sistema Gerenciador de Banco de Dados (SGBD)

Sistema de Banco de Dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 85 / 121

Banco de Dados – Visão Geral

Banco de Dados – Definição

Uma coleção de dados interrelacionados, representandoinformações sobre um domínio específico

Exemplos

lista telefônica

controle do acervo de uma biblioteca

controle dos recursos humanos de uma empresa

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 86 / 121

Banco de Dados – Visão Geral

Banco de Dados – Definição

é uma coleção lógica coerente de dados com umsignificado inerente

é projetado, construído e populado com dados para umpropósito específico

possui um conjunto pré definido de usuários e aplicações

um banco de dados representa algum aspecto do mundoreal, o qual é chamado de “mini-mundo”

alterações no “mini-mundo” são automaticamente refletidasno banco de dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 87 / 121

Banco de Dados – Visão Geral

Sistema de Gerenciamento de Bancos de Dados (SGBD) –Definição

É um software com recursos específicos para facilitar amanipulação das informações dos bancos de dados e odesenvolvimento de programas aplicativos

É, portanto, um sistema de software que facilita osprocessos de definição, construção, manipulação ecompartilhamento de dados entre vários usuários

Exemplos:Oracle, DB2, MySql, SQL Server etc

Access?

Falaremos bastante desses SGBDs...

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 88 / 121

Banco de Dados – Visão Geral

Sistema de Gerenciamento de Bancos de Dados (SGBD) –Componentes

DDL (Data Definition Language)especifica conteúdos, estrutura a base de dados e define oselementos de dados

DML (Data Manipulation Language)insert, select, update, delete

Dicionário de dados(guarda definições dos dados e respectivas características,i.e, qual seu tipo, tamanho, quem pode acessá-lo etc)

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 89 / 121

Banco de Dados – Visão Geral

Sistema de Banco de Dados – Definição

É um sistema de manutenção de registros por computador,envolvendo quatro componentes principais:

dados

hardware

software

usuários

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 90 / 121

Banco de Dados – Visão Geral

Sistema de Banco de Dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 91 / 121

Banco de Dados – Visão Geral

Modelando um Banco de DadosExistem diversos modelos de banco de dados (peixe,hierárquico, orientado a objetos etc). No entanto, o maiscomum e amplamente adotado é o modelo relacional

Nele, a modelagem de um banco de dados se baseia emtrês classes de objetos:

Entidadenormalmente representam uma pessoa, lugar, coisa...

Ex: PEÇA, FORNECEDOR, PEDIDO ...

Atributocaracterísticas de uma entidade

Ex: preço, cnpj, data ...

Relacionamentoassociações entre entidades

Ex: PEÇA possui um FORNECEDOR

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 92 / 121

Banco de Dados – Visão Geral

Exercício Simples – puxando para o assunto da próxima aulaComo você faria algo para gerenciar vendas?

Enunciado:Peça possui número, descrição, preço e seu fornecedor

Fornecedor possui número, nome, rua, cidade, estado e cep

Pedido possui a data e diversos itens

Item possui a peça e a respectiva quantidade

Dica: vamos tentar fazer com o Excel!

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 93 / 121

Banco de Dados – Visão Geral

Uma boa modelagem deve levar em consideração os seguintesconceitos:

chave primária: campo que identifica de forma única oregistro

Por exemplo, cada FORNECEDOR é identificado por umcódigo único

chave estrangeira: campo que se refere a chave primáriade uma outra tabela

Por exemplo, cada PEÇA deve ter um código deFORNECEDOR existente

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 94 / 121

Banco de Dados – Visão Geral

Modelagem já com dados

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 95 / 121

Banco de Dados – Visão Geral

Como funciona um SGBD?

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 96 / 121

Banco de Dados – Visão Geral

Vantagens da Utilização

Natureza autodescritiva do sistema de banco de dadosdicionário de dados

Isolamento entre os programas e os dados

Abstração dos dadosrepresentação conceitual dos dados

não diz como são armazenados nem como as operaçõessão realizadas, simplesmente funciona

Suporte para múltiplas visões dos dados

Compartilhamento de dados

Processamento de transações de vários usuários

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 97 / 121

Banco de Dados – Visão Geral

Principais funcionalidadesControle de redundância

Restrição de acesso

Armazenamento persistente

Estruturas para otimização (índices, por exemplo)

Backup and Recover

Múltiplas visões para os usuários

Restrições de Integridade

Inferências

Ações pelo uso de regras

Redução tempo de desenvolvimento...

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 98 / 121

Banco de Dados

Aplicações Práticas

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 99 / 121

Banco de Dados – Aplicações Práticas

Data Warehouse – O que é?

É um banco de dados que armazena dados coerentes ehistóricos de potencial interesse para os tomadores dedecisão de toda a empresa

Os dados se originam de diversas origens e, assim, osconsolida e padroniza as informações oriundas dediferentes banco de dados de modo que elas possam serutilizadas por toda empresa para análise gerencial etomada de decisões

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 100 / 121

Banco de Dados – Aplicações Práticas

Data Warehouse!

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 101 / 121

Banco de Dados – Aplicações Práticas

BI (Business Inteligence)

As ferramentas que analisam dados e descobrem novospadrões, relacionamentos e insights úteis para orientar atomada de decisão são chamadas de BI

Nesse aspecto, destacam-se as ferramentas de consulta erelatório do banco de dados, as ferramentas OLAP e o datamining

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 102 / 121

Banco de Dados – Aplicações Práticas

OLAP – O que é?Permite a análise multidimensional de dados, de forma queos usuários vejam os mesmos dados de diferentes maneiras,pois usa múltiplas dimensões

Exemplo:Por exemplo, “quantos parafusos foram vendidos nos últimos3 meses?” é facilmente respondido por um consulta simplesno banco de dados

Mas, “quantos parafusos foram vendidos em cada região etambém comparar os resultados reais com a projeção devendas?” é possível devido ao OLAP que permite que seveja os dados de diferentes visões

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 103 / 121

Banco de Dados – Aplicações Práticas

OLAP (Online analytical processing)!

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 104 / 121

Banco de Dados – Aplicações Práticas

Data Mining – O que é?

Em comparação com o OLAP. o data mining é maisorientado por descoberta, percepções dos dadoscorporativos que não podem ser obtidas com o OLAP,descobrindo padrões e relacionamentos ocultos emgrande banco de dados

Tais informações podem então ser utilizadas para guiar oprocesso de decisão e prever o efeito de tais decisões

Exemplos de tipos de informações que podem ser obtidascom data mining: associações, sequências, classificações,aglomerações e prognósticos

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 105 / 121

Banco de Dados – Aplicações Práticas

Data Mining!

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 106 / 121

Banco de Dados – Aplicações Práticas

Para fechar, vamos “brincar” com um SGBD?Para entendermos na prática o que é DDL, DML e dicionáriode dados, vamos “brincar” um pouco. Que tal com alunos?

Para iniciar: Aluno tem uma matrícula única, nome e email

Tem que entender:DDL

DML

Dicionário de Dados

Restrições

Segurança

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 107 / 121

Conteúdo

1 Tecnologia da Informação

2 Infra-Estrutura de TI

3 Linguagem de Programação

4 Banco de Dados

5 Engenharia de SoftwareVisão Geral

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 108 / 121

Engenharia de Software

Visão Geral

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 109 / 121

Engenharia de Software – Visão Geral

Sistema de Software

É um subconjunto do Sistema de Informação

Característica intrínseca: complexidade!cresce à medida que cresce o tamanho do sistema

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 110 / 121

Engenharia de Software – Visão Geral

Características do software:O software é desenvolvido e não manufaturado no sentidoclássico. Seus custos estão associados à engenharia

O software não se desgasta, não é sensível aos efeitos dotempo que causam desgaste do hardware

Apesar de não se desgastar, o software se deteriora

A manutenção do software é mais cara e complexa que amanutenção do hardware, pois não há peçassobressalentes no software

Apesar da indústria estar caminhando para odesenvolvimento de componentes, a maior parte dossistemas de software são construídos sob encomenda

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 111 / 121

Engenharia de Software – Visão Geral

Mitos relacionados aos Sistemas de Software:Adicionar mais pessoal qualificado necessariamente reduzo atraso na entrega do produto

A descrição geral dos objetivos é suficiente para começara escrever programas

É possível congelar os requisitos dos sistemas de software nodecorrer do desenvolvimento do mesmo

A qualidade do programa só pode ser avaliada depois queele estiver executando

O único produto do desenvolvimento é o programaexecutável

A engenharia de software cria muita documentação eatrasa o desenvolvimento

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 112 / 121

Engenharia de Software – Visão Geral

FAQsPor que se gasta tanto tempo para concluir o produto?

Por que os custos de desenvolvimento são tão altos?

Por que todos os erros não são eliminados antes de entregaro produto ao cliente?

Por que existe a dificuldade de avaliar o progresso dodesenvolvimento do software?

Essas perguntas são a motivação que levam à adoção daprática de Engenharia de Software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 113 / 121

Engenharia de Software – Visão Geral

Mas, o que é Engenharia de Software?

uma área do conhecimento da computação voltada paraa especificação, desenvolvimento e manutenção desistemas de software aplicando tecnologias e práticas degerência de projetos e outras disciplinas, objetivandoorganização, produtividade e qualidade

Mas, por que Engenharia de Software?

Complexidade!!!Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 114 / 121

Engenharia de Software – Visão Geral

Processo: sequência de passos bem definidos que deve serseguido para para ajudar a criar o produto, dentro doprazo e custo

Métodos: técnicas usadas para construir o software,incluindo análise de requisitos, desenho, implementação,teste, manutenção...

Ferramentas: apoio automatizado às atividades deconstrução do software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 115 / 121

Engenharia de Software – Visão Geral

Bom e velho triângulo mágico

Desenvolvimento de sistemas é uma tarefa árdua

Tentativas de lidar com essa complexidade levam asempresas a definirem seu próprio processo dedesenvolvimento de software

Compreende todas as atividades necessárias para definir,desenvolver, testar e manter um produto de software

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 116 / 121

Engenharia de Software – Visão Geral

Existem vários processos de desenvolvimento propostos naliteratura (RUP, PRAXIS ...)

Cada processo tem sua particularidade em relação aomodo de arranjar e encadear as atividades que devem serexecutadas

No entanto, existem atividades típicas comuns à maioriados processos:

Levantamento de Requisitos: compreensão e especificação

Análise de Requisitos: estudo detalhado dos requisitos

Desenho: arquitetura do sistema

Implementação: codificação

Testes: encontrar ↑ defeitos com ↓ esforço

Implantação: treinamento e instalação

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 117 / 121

Engenharia de Software – Visão Geral

Como saber se uma empresa tem um bom processo?Existem certificações para o processo de software!

Assim, empresas obtêm um nível de maturidadeideia principal: quanto maior a maturidade de umaorganização, melhor a qualidade do produto final

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 118 / 121

Engenharia de Software – Visão Geral

Qualidade do Processo de Software – CMMI

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 119 / 121

Engenharia de Software – Visão Geral

Qualidade do Processo de Software – Mps.BR

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 120 / 121

Referências

Kenneth C. Laudon e Jane P. Laudon.Sistemas de Informação Gerenciais.Prentice Hall, 7 edition, 2007.

Ramez E. Elmasri e Shamkant Navathe.Sistemas de banco de dados.Addison Wesley, 4 edition, 2005.

Pablo Vieira Florentino.Sistemas de informação.http://www.cefetba.br/professores/pablovf/-repositorio/siTiposSi.pdf,2011.

Ricardo Terra (rterrabh [at] gmail.com) Tecnologia da Informação Junho, 2011 121 / 121