Computação: do ábaco aos dias atuais Rodrigo Assad

Preview:

Citation preview

Computação: do Computação: do ábaco aos dias atuaisábaco aos dias atuais

Computação: do Computação: do ábaco aos dias atuaisábaco aos dias atuais

Rodrigo AssadRodrigo Assad

Agenda• Introdução• O Inicio• Grandes áreas• O que vem por ai ....

Introdução• Atualmente a sociedade não vive

mais sem a utilização de computadores e os seus sistemas de informação.

• Mas o que é um computador?

Introdução• Para muitos um computador simboliza o

futuro.• No cinema e na televisão vemos maquinas

grandes, complexas, cheias de luzes • Geralmente o computador tem

personalidade: frio, calculista, impessoal.• O operador do computador é visto como

gênio, misterioso uma pessoa diferente.

Introdução• Mas o que é verdade

Introdução• O cenário é bem teatral• O computador não é resultado de

um cientista maluco• Ele surgiu da necessidade

crescente de se fazer cálculos• Os ancestrais do computador tem

mais de 3000 anos

O Início• Se levarmos em conta que o termo

COMPUTAR, significa fazer cálculos, contar, efetuar operações aritméticas, COMPUTADOR seria então o mecanismo ou máquina que auxilia essa tarefa, com vantagens no tempo gasto e na precisão.

O Início• Inicialmente o homem utilizou

seus próprios dedos para essa tarefa, dando origem ao sistema DECIMAL e aos termos DIGITAL e DIGITO . Para auxílio deste método, eram usados gravetos, contas ou marcas na parede

O Início• Tábuas de argila foram desenterradas

por arqueólogos no Oriente Médio, próximo à Babilônia, contendo tabuadas de multiplicação e recíprocos, acredita-se que tenham sido escritas por volta de 1700 a.C. e usavam o sistema sexagesimal (base 60), dando origem às nossas atuais unidades de tempo

O Início

TimeLine

Grandes áreas• Engenharia de Software• Arquitetura de Computadores• Redes e Sistemas Distribuídos• Teoria da Computação• Inteligência Artificial

Grandes áreas• Engenharia de software

– Não mais aprendemos uma linguagem que atenda uma determinada necessidade

– Atualmente temos plataformas de desenvolvimento

– Uma briga enorme entre Java e .NET– Funcionam em quase qualquer dispositivo

Grandes áreas

Programação OO• OO significa orientada a objetos• Não vemos mais programas como

rotinas mas sim como objetos• O código fica mais fácil• A manutenção fica mais fácil• A reusabilidade fica mais fácil• É o paradigma mais utilizado atualmente• Java e VB são bons exemplos

Novos paradigmas• Temos a programação orientada a

agentes– Vemos o mundo como unidades que

podem interoperar

• Programação orientada a aspectos– Os aspectos do mundo são quem nos

interessam

Conceitos • Como vemos programar é a arte de

representar situações do mundo real dentro de um software

• Para isso o ferramental esta ai• Agora so basta escolher seu

compilador e começar????• Será so isso?

Linguagens• C : Para programação baixo nível• Assembler : Para programação baixo nível• Java : sistemas servidores e embarcados• .Net : sistemas servidores, sistemas em

descktop e embarcados (especialmente C#)• Delphi : sistemas em descktop• Visual Basic : sistemas em descktop• PHP: Web• Natural e Cobol: Para Mainframes

Frameworks • Inicialmente se escrevia código

em uma linguagem e este código so funcionava em uma plataforma

• As linguagens foram portadas para as plataformas mas parte dos códigos precisavam ser rescritos

• Isso é custoso mas já é bom

Frameworks • Os frameworks de desenvolvimento

estão facilitando as escrita de apenas um código que possa funcionar em qualquer tipo de dispositivo– Supercomputadores, servidores, PC’s,

palmtops, celulares, smart cards

Frameworks• Atualmente existe uma briga no mercado

– Java x .NET– Para celuares: Java x .NET x Brew x Symbian

• Cada uma tem seus pontos fortes e fracos mas sem dúvida serão as linguagens que terão mais espaço no mercado

Ferramentas• Compiladores: usados para

“compilar” o programa escrito em uma linguagem (Delphi, Visual C, Eclipse, JBuilder, WSAD, Visual Studio .NET, ...)

• Gerencia de configuração: CVS, Clercase, Subversion, ...

Ferramentas• Modelagem: Rose, together, visio,

Jude, Erwin, ...• Acompanhamento de projeto:

Bugzilla, Project, Xplanner, ... • Testes : Ant, JMeter, Wast, Junit, ...

Metodologias• RUP• XP

Processo• ProSCes, baseado no RUP• Define os entregáveis : modelos de

dados, arquitetura de aplicação, ...• Em caso de uma falha no sistema

entregue o processo auxilia a definir onde houve a falha e o que se deve fazer para que ela não ocorra mais

Cargos• Testador de software• Engenheiro de software• Arquiteto de software• Arquiteto de teste• Gerente de configuração• Engenheiro de testes• Analista de sistemas• Gerente de projetos

Componentes • Atualmente se quebra o software em

componentes que podem ser reutilizados

• Temos hoje componentes para a maioria das tarefas

• Existem empresas que apenas produzem e vendem componentes no mercado

Componentes• Sistemas operacionais se utilizam

muito deste conceito• Facilitam a reutilização de código• Facilitam o desenvolvimento de

grandes sistemas• Facilitam o desenvolvimento de

softwares por empresas diferentes

Grandes áreas• Arquitetura de computadores

– Será que vem ai o computador quantico?

– Novas tecnologias que permitam cada vez mais a miniatuarização e aumento da capacidade de processamento

– Clusters– Processamento paralelo

Grandes áreas• Redes e sistemas distribuídos

– Segurança da Informação– Protocolos de rede– Wireless– Topologias– Sistemas redundantes– Alta disponibilidade– Tolerância a falhas

Grandes áreas• Banco de Dados• Computadores são adequados para

armazenar e manipular dados rapidamente• O SGBD (Sistema de Gerenciamento de Banco

de Dados) é o software responsável por estas funcionalidades

• Existes SGBD para cada tipo de aplicações:– Pequeno volume e pequenos sistemas: Access,

FoxPro, Paradox, dBase IV, MySql, Postgres– Grande porte: Oracle, DB2, SQLServer, Ingres e

Informix

O SGBD• O SGBD é um programa que armazena os

dados e permite que eles sejam acessados qualquer momento

• SGBD’s podem armazenar vários Gb dados • Independente do tamanho dos arquivos de

dados o acesso aos dados deve ser rápido• Outra vantagem do SGBD é a existência

de uma linguagem de manipulação para os dados (SQL)

O SGBD• Assim como os sistemas

operacionais o SGBD pode ser acesso pelo usuário como por outro programa

• O SGBD também possui um núcleo que tem a responsabilidade de manipular com os arquivos.

Fundamentos de Bancos de Dados

• Toda informação em um SGBD fica armazenado em uma tabela

• Cada linha recebe o nome de registro• Cada coluna recebe o nome de

campo, cada campo possui um tipo que é definido pelo pessoa que criou a tabela

Fundamentos de Bancos de Dados

• Mas um sistema não é composto apenas por uma tabela. Então como os dados passam a ter sentido?

• Atualmente a maneira mais usual é a de se relacionar os dados utilizando funcionalidades do SGBD.

• Tais bancos de dados são chamados de bancos de dados relacionais

Fundamentos de Bancos de Dados

• Além dos sistemas relacionais existem ainda modelos hierárquicos e orientados a objetos

• Podemos relacionar os dados em uma tabela de várias maneiras:– Um pra um– Um pra muitos– Muitos para muitos

Linguagem de manipulação de dados

• SQL – É a linguagem que esta no coração

do SGBD– É semelhante a uma linguagem de

programação– Foi desenvolvida pela IBM

Considerações finais• Os bancos de dados podem ser

distribuídos– Permitem a utilização de dados

localizados em servidores geograficamente distantes

– Devido as limitações das redes geralmente esta distribuição e feita em servidores localizados na rede local

Considerações finais• A utilização de um servidor de

banco de dados favorece o modelo cliente servidor

• Nele temos um servidor central de banco de dados sendo acessado por diversos programas localizados na estações de trabalho

Grandes áreas• Inteligência Artificial

– Agentes inteligentes– Jogos– Sistemas especialistas– Tomada de decisão

O que vem por ai ...• O mercado esta cada vez mais saturado• Certificações são cada vez mais exigidas• Comprovação de experiência• Convergência , o que chamamos de NG• TV Digital• Sistemas estarão cada vez mais voltados a WEB• Centralização do processamento• Empresas de telefonia virando empresas de redes• ....

Recommended