Aula 3 - Software

Post on 06-Jun-2015

1.897 views 0 download

Transcript of Aula 3 - Software

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