Post on 20-Jul-2015
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