Post on 06-Jun-2015
Noções básicas de computação - Software
Profª Jocelma RiosSet/2012
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
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
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...
1a 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
2a 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
3a 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
3a 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
4a 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
5a 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
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
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
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.
Pacotes integrados
São conhecidos como pacotes de produtividade ou automação de escritório
Aplicativos Microsoft Office Lotus SymphonyCorel Office BrOffice / Openoffice
StarOffice
Editor de texto Word Documents WordPerfect Writer StarWriterPlanilha eletrônica
Excel Spreadsheets Quattro Pro Calc StarCalc
Apresentação multimídia
Power Point Presentations Presentations Impress StarImpress
Gerenciador de banco de dados
Access Paradox Base StarBase
Gerenciador de informações pessoais
Outlook Corel Central Star
Outros Publisher, OneNote, Groove
Draw
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
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
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
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
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.
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
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
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
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
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
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
Saiba mais: http://campeche.inf.furb.br/siic/siego/docs/dalfovo__oscar__tirelli__aldiranalisec.pdf
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
● 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
Linguagens de programação
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
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
Para refletir...
Qual a influência dos sistemas operacionais na performance dos sistemas
computacionais?
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