2. O que pretendemos:
● Apresentar o histórico do softwares na
computação
● Apresentar definição, classificação e
características dos principais tipos de
software
● Explorar as funcionalidades e importância dos
sistemas operacionais
Refletir sobre a importância dos softwares,
especialmente os sistemas operacionais, e sua
influência na performance dos sistemas
computacionais
3. O que é um software?
● Conjunto de programas que executam determinadas
tarefas
● É a parte lógica do computador
● São grupos de instruções e dados que o computador
é capaz de entender e executar
Consiste em programas de computador
que controlam o trabalho do hardware - Stair
------------------
É o conjunto de elementos lógicos
necessários à realização das tarefas
requeridas por um sistema - Alcalde
4. O que é um software?
● Alguns exemplos: editor de texto, planilha
eletrônica, jogo, folha de pagamento,
sistema operacional, banco de dados etc.
● Tipos: básico, aplicativo, específico, de
rede
● Categoria de uso: proprietário, livre,
shareware, freeware
Veremos agora um pouco do seu histórico...
5. a
1 geração
● Programas escritos pelo usuário
● Ausência de compilador
● Difícil/Impossível portabilidade
● Linguagens de máquina
– Utilização de códigos binários exclusivos
para cada computador
– A programação consumia muitas horas de
trabalho, porém resultando em poucos
benefícios de processamento
– De difícil utilização e sujeita a erros
6. a
2 geração
● Programas em lotes (batch) – com programação
de janela de tempo do processador e espaço
em disco
● Linguagens de montagem ou simbólicas
– É individual para cada arquitetura de
máquina
– Ex: Assembly
● Instruções aritméticas:
– Adição: ADD, ADC, INC, XADD, AAA e DAA
– Subtração: SUB, SBB, DEC, AAS e DAS
– Multiplicação: MUL, IMUL e AAM
– Divisão: DIV, IDIV e AAD
Conheça um pouco sobre o Assembly: http://pt.wikipedia.org/wiki/Assembly
7. a
3 geração
● Sistemas Operacionais
– O primeiro SO de propósito geral foi o
CPSS, construído no MIT
– Depois segui-se com o Multics,
desenvolvido pela AT&T e GE
● Programação estruturada
● Linguagens de Alto Nível
– Projetadas para serem facilmente
entendidas pelos seres humanos
– Incluía o uso de variáveis com nomes
– Exemplos: Pascal, Basic, Fortran, Cobol,
C, Ada
8. a
3 geração
● Sistemas Operacionais
● Programação estruturada
● Linguagens de Alto Nível
– Projetadas para serem facilmente
entendidas pelos seres humanos
– Incluía o uso de variáveis com nomes
– Exemplos: Pascal, Basic, Fortran, Cobol,
C, Ada
9. a
4 geração
● Sistemas de gerenciamento de banco de dados
● Linguagens de 4ª geração (4GL)
– utiliza instruções naturais e não procedurais
– ex.: Natural, Progress 4GL, Focus, SQL,
PL/SQL (Oracle)
– menos flexível que as linguagens de alto
nível
● Surgimento da linguagem SQL → padrão para
manipulação e consulta em banco de dados
● Pacotes para microcomputador
● Redes de computadores
10. a
5 geração
● Linguagem natural → comandos similares à
linguagem humana
● Linguagem orientada a objetos
– Small Talk, C++, Java
● Pacotes multiuso
● Popularização da interface gráfica, para
todo e qualquer software
● Agentes inteligentes → aplicação da
inteligência artificial
11. Tendências
● Pacotes de aplicativos fáceis de utilizar, para
múltiplas finalidades e com capacidade para uso
em redes para produtividade e colaboração
● Software livre
● Uso de múltiplas linguagens em um único
software
● Linguagens e ferramentas visuais e de
conversação
● Substituição dos programas personalizados
“feitos em casa” por pacotes customizáveis
● Computação em nuvens / Computação ubíqua e
pervasiva
12. Classificação
● Softwares Aplicativos
– Executa tarefas de processamento de
Informações para usuários finais
● Softwares de Sistema
– Gerencia e apoia operações de sistemas e
redes de computadores
13. Software aplicativo
● Aplicativos específicos: apoiam aplicações
específicas de usuários finais em empresas e
outros campos
– Ex.: suporte à decisão, administração de vendas,
contabilidade, finanças, entretenimento,
educação a distância, etc.
● Aplicativos com finalidades gerais: executam
trabalhos comuns de processamento de
informações
– processadores de textos, planilhas eletrônicas,
editores gráficos, etc.
14. Pacotes integrados
Aplicativos Microsoft Office Lotus Symphony
Corel Office BrOffice / StarOffice
Openoffice
Editor de texto Word Documents WordPerfect Writer StarWriter
Planilha Excel Spreadsheets Quattro Pro Calc StarCalc
eletrônica
Apresentação Power Point Presentations Presentations Impress StarImpress
multimídia
Gerenciador Access Paradox Base StarBase
de banco de
dados
Gerenciador Outlook Corel Central Star
de
informações
pessoais
Outros Publisher, Draw
OneNote,
Groove
São conhecidos como pacotes de produtividade ou
automação de escritório
15. Editor de textos
● Podem fornecer uma ampla variedade de
documentos, impressos de forma atraente por
meio de suas possibilidades de editoração
eletrônica
● Revolucionou o processo de redação
● Possui diversos recursos avançados:
– Verificador ortográfico e gramatical
– Conversor para HTML
– Criação de gráficos e organogramas, entre
outros
16. Planilha eletrônica
● Utilizadas para análise, planejamento e
modelagem de negócios
– Suporte à tomada de decisão
● Possibilita a criação de gráficos a partir
dos resultados da planilha
● Podem também ser publicados na Internet
● Em resposta aos dados introduzidos, são
realizados cálculos necessários com base em
fórmulas
17. Apresentação multimídia
● Auxiliam no preparo de apresentações
multimídia, com utilização de gráficos, textos,
imagens, sons e vídeo
● Facilitam a compreensão do que se quer
apresentar
● Mais eficazes que tabelas numéricas e
relatórios administrativos
● Podem ser publicados na Internet sem alterações
18. Gerenciador de banco de dados
● Permite montar e gerenciar banco de dados
● Possuem tarefas básicas:
– Desenvolvimento de banco de dados
– Consulta ao banco de dados
– Manutenção do banco de dados
– Desenvolvimento de aplicação
19. Correio eletrônico
● Baseado na transmissão de mensagens com ou
sem arquivos
● Modificou o modo de trabalho dentro das
empresas e as relações interpessoais
– Ex.: Microsoft Outlook, Outlook Express,
Lotus Notes, GroupWise, Webmails (Gmail,
IG, Hotmail, etc.)
● Utilizado em todo o mundo
● Funcionalidades: envio de e-mails para
listas, encaminhamento automático de e-
mails, controle de senha, gerenciamento de
recebimento de e-mails, etc.
20. Groupware
● Também chamado de software colaborativo
– Ex: IBM Lotus Notes, Novell GroupWise,
Microsoft Outlook e Netscape Communicator
● Delegação e acompanhamento de tarefas
● Acesso à Intranet e também à Internet
● Agregam funcionalidades de correio
eletrônico
● Fórum de discussão
● Divulgação de notícias
21. Navegadores Internet
● É a interface de software utilizada para
apontar e clicar através dos recursos de
hiperlink na WEB e/ou na Intranet
● Conhecido como browser
– Ex.: Netscape Navigator, Internet
Explorer
● Com o tempo incorporaram as funções de FTP,
Correio Eletrônico e Newsgroup
22. Softwares de sistema
● Consiste em programas que gerenciam e apoiam
um sistema de computador e suas atividades
de processamento de informações
● Atuam como interface de software entre o
hardware e os aplicativos dos usuários
finais
●
● Ex: drivers, sistemas de gerenciamento de
banco de dados, sistemas operacionais,
sistemas de gerenciamento de rede
23. Sistemas Operacionais
● É o mais importante pacote de software de uma
máquina → qualquer outro sistema opera sobre ele
– Ex.: Windows 9x, Windows NT, OS/2, Unix, Linux,
MAC OS, Android, etc.
● Funcionalidades:
– Interface com o usuário
– Gerenciamento de processos
– Gerenciamento de memória
– Gerenciamento de arquivos
– Gerenciamento de dispositivos
– Gerenciamento de proteção e segurança
24. Gerenciador de redes
● Ferramentas: IBM Tivoli, HP Open View, Nagios
(software livre), Cacti, Zabbix (software livre)
● SO de rede: Novell Netware, Windows NT Server,
Windows Server 2008, Unix
● Funcionalidades:
– monitoramento do desempenho de rede
– monitoramento da utilização de recursos
– atribuição de prioridades para solicitação de
máquinas de usuários
– verificação automática de máquinas de usuários
– detecção e correção de erros
25. Saiba mais: http://campeche.inf.furb.br/siic/siego/docs/dalfovo__oscar__tirelli__aldiranalisec.pdf
Gerenciador de banco de dados
● Controla o desenvolvimento, utilização e
manutenção dos banco de dados
– Ex.: Access(Microsoft), Oracle,
Microsoft SQL Server, Adabas, Paradox, Sybase,
MySQL, Progress, Ingres, DB2(IBM) etc.
● Possibilita que várias aplicações de usuários
possam acessar uma mesma base de dados
(informações) simultaneamente, sem perda da
integridade e consistência dos dados
● Possuem linguagem de programação proprietária, ou
seja, específica para cada um deles → ex: Oracle
usa PL/SQL
26. Linguagens de programação
● Linguagem de máquina
– instruções de baixo nível utilizando sequências
de bits, com manipulação direta por parte dos
operadores
● Linguagem de montagem
– é necessário um interpretador para transformar
suas funções em linguagem de máquina
● Linguagem de alto nível
– utilizam comandos e/ou expressões aritméticas
que são quebrados em instruções menores, que
por sua vez transformados em linguagem de
máquina
27. Linguagens de programação
● Linguagem de 4ª geração
– utiliza instruções naturais (próximas da
linguagem humana) e não procedurais
– é menos flexível que as linguagens de alto
nível
– ideal para projetos de IA
● Linguagem baseada em objetos (5a geração)
– os objetos consistem em atributos (dados) e
métodos (funções)
– Ex: Java, Delphi (sucessor da Pascal),
Visual Basic (sucessor da Basic), PHP
– Muito utilizadas na criação de páginas Web
28. Tradutores de linguagem
● Os softwares consistem em conjuntos de
instruções escritas em uma linguagem própria,
que são traduzidos para uma linguagem de
máquina específica
● Compiladores → cria um arquivo executável
– Ex.: Java, Delphi, Visual Basic
● Interpretadores → traduz linha a linha do
programa e não cria arquivo executável
– Ex.: HTML, XML, Java Applet, VB Script,
Java Script
29. Ferramentas de programação
● É uma interface de programação
● Auxilia o programador a depurar
(identificar/resolver) erros
● Melhora a produtividade da programação
● Facilita a documentação dos sistemas
– Ex.: JBuilder (Java), Delphi (Delphi),
Visual Studio (Visual Basic), FrontPage (HTML),
Microsoft .NET
● Incluem: geradores de código, biblioteca de objetos e
funções, ferramentas de prototipação
30. Para refletir...
Qual a influência dos
sistemas operacionais na
performance dos sistemas
computacionais?
31. Referências
● ALCALDE, E.; LOPEZ, M.; FERNANDEZ, S. Informática Básica. 1.
ed. São Paulo: Makron Books, 1991.
● BROOKSHEAR, J. Ciência da computação: uma visão abrangente.
7. ed. Rio de Janeiro: Bookman, 2003. Cap. 3
● LAUDON, K.; LAUDON, J.. Sistemas de Informação: com Internet.
4. ed. Rio de Janeiro: Livros Técnicos e Científicos Editora,
2001. Cap. 5.
● OBRIEN, J. Sistemas de Informação e as decisões gerenciais na
era da Internet. 1. ed. São Paulo: Editora Saraiva, 2001.
Cap. 3.
● STAIR, R.; REYNOLDS, G. Princípios de Sistemas de Informação:
Uma Abordagem Gerencial. 4. ed. Rio de Janeiro: Livros
Técnicos e Científicos Editora, 2002. Cap. 4.
● TANENBAWN, A. Sistemas operacionais Modernos. Tradução de
Nery Machado Filho. Rio de Janeiro: Prentice Hall, 1995. Cap.
1