Você está na página 1de 27

1- O QUE É SOFTWARE ?

Conceito formal: “Instruções (programas de computador) que, quando executadas,


produzem a função e o desempenho desejados; estruturas de dados que
possibilitam que os programas manipulem adequadamente a informação; e
documentos que descrevem a operação e o uso dos programas” – Engenharia de
Software – Roger Pressman.

O software, por ser um elemento de sistema lógico, tem características diferentes


dos outros produtos “físicos” construídos pelo homem, como o hardware.

Características do software:

a) O software é desenvolvido ou projetado por engenharia, não manufaturado no


sentido clássico.
Alta qualidade  depende de um bom projeto
O trabalho executado pelas pessoas é inteiramente diferente do que numa fábrica
de hardware, por exemplo.
Os custos de software estão concentrados no trabalho de engenharia.

b) Software não se “desgasta”


Ao contrário do hardware, o software não sofre a ação do tempo, poeira, vibração,
abuso, temperaturas extremas, males ambientais.
O software, entretanto, está sujeito a manutenções, que podem introduzir falhas
não existentes anteriormente.

c) Ao contrário do hardware, ainda há pouco uso de componentes reutilizáveis na


construção do software.
Os componentes reutilizáveis compreendem dados e processamento sobre estes
dados empacotados de forma que possam ser utilizados em várias aplicações.

Uma outra definição de software: “Seqüência de instruções a serem seguidas e/ou


executadas, na manipulação, redirecionamento ou modificação de um
dado/informação ou acontecimento” – Wikipedia.

O software é construído usando uma linguagem de programação.


Esta linguagem tem como objetivo permitir que programadores tenham uma maior
produtividade, utilizando uma sintaxe de alto nível, ao invés de usar a linguagem
que o computador entende nativamente (código de máquina).
Estas linguagens também tornam os programas menos dependentes de
computadores ou ambientes computacionais específicos (PORTABILIDADE).

Uma linguagem de programação pode ser convertida em código de máquina por


COMPILAÇÃO ou INTERPRETAÇÃO.
COMPILAÇÃO – conversão de todo o texto do programa (código-fonte) para
linguagem de máquina, para ser executado posteriormente.
A versão compilada é armazenada, e é executada sempre que necessário, sem
necessidade de ser compilada novamente. Ex: Pascal, Delphi, C.

INTERPRETAÇÃO – o código-fonte é traduzido à medida que vai sendo


executado. Quem traduz o código-fonte é o INTERPRETADOR. São, em geral,
mais lentos que os compilados. Ex: Perl, Javascript, ASP, PHP.

Também existem os casos híbridos, como no caso do Java, onde o código-fonte é


“compilado” para um código de máquina (BYTECODE) de uma máquina virtual, e
esta máquina virtual atua como interpretador, traduzindo o BYTECODE para o
código de máquina específico.

O “produto” software, do ponto de vista do construtor (engenheiro de software), é


composto de programas, dados e documentos. Do ponto de vista do usuário,
pode ser considerado como sendo a informação resultante que facilita a vida do
usuário.

2- ÁREAS (CATEGORIAS) DE SOFTWARE:

2.1- Software Básico


- forte interação com o hardware
- intenso uso por múltiplos usuários
- operações concorrentes
- compartilhamento de recursos
Ex: compiladores, componentes do sistema operacional, drivers, etc.

2.2- Software de tempo real


- monitora / analisa / controla eventos do mundo real
Ex: sistemas de controle, equipamentos científicos, militares, etc.

2.3- Software comercial


- processamento de transações
- sistemas de apoio a decisão
Ex: folha de pagamento, contas a pagar e receber, estoques, etc.

2.4- Software científico e de engenharia


- algoritmos de processamento de números
Ex: CAD, aeroespaciais, balística, etc.

2.5- Software embutido


- produtos “inteligentes”
- mercados industriais e de consumo
Ex: teclado para forno de microondas, painel de controle de automóvel, etc.
2.6- Software de computador pessoal
Ex: processamento de texto, planilhas, bancos de dados desktop, jogos,
navegadores, etc.

2.7- Software de inteligência artificial


- “aprendem” com a experiência passada (redes neurais artificiais)
- sistemas especialistas
- sistemas baseados em conhecimento

3- EXEMPLOS DE SOFTWARE

3.1- SISTEMAS OPERACIONAIS


- Windows
- Linux
- Unix
- Mac OS
- OS / 2

3.2- APLICATIVOS
3.2.1- Automação de Escritório
- Microsoft Office
- Open Office

3.2.2- Navegadores
- Internet Explorer
-Mozilla Firefox
- Mozilla
- Netscape
- Opera

3.2.3- Correio Eletrônico


- Microsoft Outlook Express
- Microsoft Outlook
- Eudora
- Mozilla Thunderbird

3.2.4- Mensagens
- ICQ
- MSN Messenger (Microsoft)
- Yahoo Messenger
- Google Talk

3.2.5- Gráficos
- Photoshop
- Gimp

3.2.6- Utilitários
- Winzip
- Winrar
- McAfee Anti-Vírus
- Norton Anti-Vírus

3.2.7- Bancos de Dados


- Oracle
- Microsoft SQL Server
- MySQL
- PostgreSQL
- DB2
- Firebird
- Microsoft Access

3.2.8- Servidores Web


- Apache
- IIS (Microsoft)

3.3- SOFTWARE LIVRE E CÓDIGO ABERTO

Software livre tem a ver com a liberdade, não com o preço.


É a liberdade dos usuários executarem, copiarem, distribuírem, estudarem,
modificarem e aperfeiçoarem o software.
São 4 tipos de liberdade:
a) Liberdade de executar o programa, para qualquer propósito (liberdade 0).
b) LIberdade de estudar como o programa funciona, e adaptá-lo para suas
necessidades (liberdade 1). O acesso ao código-fonte é um pré-requisito para esta
liberdade
c) Liberdade de redistribuir cópias de modo a ajudar o próximo (liberdade 2).
d) Liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de
modo que toda a comunidade se beneficie (liberdade 3). Acesso ao código-fonte
é um pré-requisito para esta liberdade.

O idealizador do software livre, e fundados da FSF (Free Software Foundation) é


Richard Stallman, que, na década de 80 delineou os princípios éticos do
movimento e estabeleceu as quatro liberdades que fundamentam o movimento.

O principal projeto da FSF é o projeto GNU (GNU's Not Unix), que é um sistema
operacional livre baseado no Unix.
O projeto teve início no começo dos anos 80 e a Free Software Foundation foi
criada para levantar fundos para este projeto.
Em 1990, todos os componentes maiores do sistema operacional etavam prontos,
exceto o seu núcleo central – o kernel.
Linus Torvalds desenvolveu o Linux, um kernel baseado em Unix, que foi tornado
software livre em 1992. Combinando o Linux com o quase completo GNU surgiu o
GNU/Linux, sistema operacional hoje usado por mais de dez milhões de pessaos,
em suas várias distribuições.
Uma distribuição GNU/Linux nada mais é do que um empacotamento do kernel
Linux junto com os outros softwares que compõem o sistema operacional
(compiladores, editores, processadores de texto, software de e-mail, navegadores,
etc.), acrescidos ou não de manuais do sistema. Este empacotamento é
distribuído de forma gratuita, ou não.
Existem várias distribuições GNU/Linux, tais como Slackware, Mandrake, Red Hat,
Fedora, Debian, Suse, Kurumin, e outras. O que diferencia estas distribuições é a
quantidade de softwares que vêm junto com o kernel, os manuais e a gratuidade.

Você pode redistribuir as cópias de graça ou cobrando uma taxa pela distribuição,
para qualquer um em qualquer lugar.
Você pode também modificar a cópia para seu próprio uso, sem que seja
necessário comunicar o fato ao desenvolvedor ou quem quer que seja.

Os softwares livres são regidos por licenças do tipo GPL (General Public License),
aplicáveis às necessidades do software. O que não pode ser colocado nas
licenças GPL é algo que possa restringir as quatro liberdades fundamentais.

COPYLEFT – ao redistribuir um programa, você não pode adicionar restrições


para negar a outras pessoas as liberdades principais.

Software livre não significa “não-comercial”.

Open Source (código aberto) – software cujo código-fonte é público. Respeita as


quatro liberdades definidas pela Free Software Foundation.

No Open Source não é preciso seguir a licença GPL, mas, na prática, a maioria
dos softwares de código aberto é regida por licenças GPL.

Os defensores do código aberto têm, na verdade, uma preocupação mais técnica,


ou seja, com o fato do software poder ser "fiscalizado" por quem quiser,
garantindo sua qualidade, estabilidade e segurança.
Os defensores do software livre têm uma preocupação mais política, ideológica,
que tem a ver com a liberdade (as quatro liberdades que definem o software livre).
Vale dizer que, para ser open source, o código tem que estar aberto por completo,
e para todos que quiserem ver.
Iniciativas como, por exemplo, a da Microsoft que recentemente abriu parte do
código de um de seus produtos para uma comunidade de desenvolvedores não
faz deste produto um produto open source.
Na prática, todo software de código aberto é também software livre. As diferenças
são políticas e ideológicas.

Algumas vantagens do software livre / open source

Confiabilidade

O cõdigo aberto permite a validação por profissionais do mundo inteiro,


aumentando sua estabilidade.

- Segurança

Pelo mesmo motivo, o código aberto acaba sendo mais seguro, porque com tantos
profissionais estudando o código, sabe-se exatamente o que ele faz.

- Velocidade

A velocidade de desenvolvimento é bem maior, já que, ao invés do produto ter


uma equipe alocada a ele, conta com uma comunidade imensa ao redor do mundo
"alocada" a ele.

- Proximidade do cliente

O código aberto permite que a equipe de desenvolvimento do cliente participe do


desenvolvimento do produto.

- Maior quantidade de plataformas

Por haver esta equipe mundial de desenvolvimento, o software é portado para


várias plataformas muito mais rapidamente.

Maneiras de ganhar dinheiro com software livre / código aberto

Como já foi dito, o fato do software ser livre não o impede de ser comercial.
Mas também existem outras formas de ganhar dinheiro com ele:

a) Suporte técnico

Como não há um vendedor por trás do software para dar suporte, é lucrativo dar
suporte técnico ao software para quem não tem este conhecimento.

b) "Gancho" para versões maiores, com mais recursos, pagas.

O software livre pode ser um "gancho", ou atrativo, para que o consumidor compre
versões aumentadas, com mais recursos, do mesmo software.

c) Com software "embutido" em hardwares.

Neste caso, o objetivo é baratear o custo do hardware, como roteadores,


microcomputadores, etc, que já vêm com software instalado.

Do ponto de vista de quem é consumidor do software, uma das grandes


vantagens é que ele não precisa se preocupar em comprar licenças, ou com o
número delas, nem de estar usando software pirata (liberdade legal).
Outra vantagem é a independência de fabricante, ou seja, o consumidor não fica
nas mãos do fabricante.

Classificação de software segundo a propriedade:

A) Software livre – como já vimos, é o que possui as quatro liberdades definidas


pelo movimento de software livre.

B) Open Source – na prática, funciona como o software livre.

C) Software não-livre:
C.1) Software semi-livre – não é livre, mas vem com as mesmas permissões do
software livre, mas apenas para fins não-lucrativos.
C.2) Software proprietário – o uso, redistribuição e modificação são proibidos. O
código é fechado.

D) Freeware – software que permite redistribuição gratuita, mas não modificação.

E) Shareware – não é possível modificar o programa. Código não é aberto.


Pode redistribuir, mas quem continuar usando tem que pagar pela licença.

Links úteis – o material desta aula pode ser encontrado, com uma quantidade bem
maior de detalhes em http://www.gnu.org e http://www.opensource.org

4- SISTEMAS OPERACIONAIS

4.1- Windows x Linux

4.1.1 – Histórico do Windows

DESKTOP

1985 – Windows 1.0

. clicar ao invés da linha de comando.


. usuário podia permutar entre aplicações concorrentes.

1987 – Windows 2.0

. aproveitamento do aumento da velocidade dos processadores.

1990 – Windows 3.0

. melhoria de performance.
. gráficos de 16 cores
. program manager, file manager, print manager.
1993 – Windows NT 3.1

. “new technology”
. aumento da quantidade de aplicações de terceiros para Windows.

1993 – Windows for Workgroups 3.11

. redes locais

1994 – Windows NT Workstation 3.5

1995 – Windows 95

. protocolo TCP/IP integrado ao sistema operacional.


. suporte a Internet “built-in”.
. rede dial-up.
. plug and play.

1996 – Windows NT Workstation 4.0

. interface do Windows 95.

1998 – Windows 98

. upgrade do Windows 95.


. suporte a USB

1999 – Windows 98 Second Edition

. upgrade do Windows 98
. Internet Explorer 5.0

2000 – Windows Millenium Edition (ME)


. System Restore
. último baseado no Windows 95

2000 – Windows 2000 Professional

. baseado no Windows NT Workstation 4.0


. melhoria no plug and play
. maior estabilidade e confiabilidade

2001 – Windows XP Professional

. melhoria de performance, confiabilidade e segurança.


. criptografia do sistema de arquivos.
. System Restore.

2001 – Windows XP Home

. feito para usuários domésticos.

2001 – Windows XP 64-bit Edition

. para uso com o processador Intel Itanium 64-bit

2002 – Windows XP Media Center Edition

. para uso doméstico e entretenimento.


. todos os benefícios do Windows XP Professional.

2002 – Windows XP Tablet PC Edition

. para uso com tablets.

SERVER
1993 – Windows NT Adv anced Server 3.1

. escalabilidade.
. tolerância a falha.

1994 – Windows NT Server 3.5

. conectividade a outros sistemas (Novell, Unix).

1995 – Windows NT Server 3.5.1

1996 - Windows NT Server 4.0

. interface do Windows 95.


. melhoria de performance de rede.
. melhoria dos serviços de arquivo e impressão.
. servidor web integrado (IIS 2.0)

1997 – Windows NT Server 4.0, Enterprise Edition

. melhor performance e escalabilidade.

1998 – Windows NT Server 4.0, Terminal Server Edition

. conexão por terminais não-Windows.

2000 – Windows 2000 Server


Windows 2000 Advanced Server
Windows 2000 Datacenter Server

2003 – Windows Server 2003, Standard Edition


Windows Server 2003, Enterprise Edition
Windows Server 2003, Datacenter Edition
Windows Server 2003, Web Edition

4.1.2- Histórico do Linux

1991 – Linus Torvalds começou o trabalho no Linux na Universidade de Helsinki


(Finlândia)

1994 – Kernel 1.0 do Linux é lançado.

1996 – Kernel 2.0 do Linux é lançado. (suporte a multiprocessadores)

1999 – Kernel 2.2 do Linux é lançado.

2001 - Kernel 2.4 do Linux é lançado. (estabilidade, alta performance)

2004 – Kernel 2.6 do Linux é lançado.


. suporte a grandes quantidades de memória (64 GB).
. muitos terabytes (TB) de disco.

4.1.3 – Vantagens e desvantagens

WINDOWS

a) Vantagens:
- Facilidade de uso.
- Facilidade de instalação (plug and play – reconhecimento de hardware).
- Facilidade de manutenção
. grande número de profissionais com conhecimento do sistema operacional.
. mão-de-obra mais barata.
. grande quantidade de referências técnicas e bibliografia.
. facilidade de suporte técnico.
- Grande quantidade de software para Windows.

b) Desvantagens:

- Preço.
- Estabilidade.
- Código fechado.
- Falta de segurança.
- Grande quantidade de vírus.

LINUX

a) Vantagens:

- Preço (mesmo com distribuição paga).


- Código aberto.
- Segurança.
- Estabilidade.
- Poucos vírus.

b) Desvantagens:

- Uso mais complicado (resistência por parte do usuário comum).


- Instalação mais complicada (não reconhecimento de alguns hardwares).
- Dificuldade de manutenção.
. poucos profissionais com conhecimento.
. mão-de-obra cara.
. dificuldade de suporte técnico.
. menos softwares que para Windows (mas crescendo).
4.2- Operações no Windows

O MODO MS-DOS E O PROMPT DE COMANDO

É importante saber os comandos básicos de sistema operacional no DOS porque,


algumas vezes, é necessário que adotemos este procedimento mesmo com o
Windows instalado. Os casos mais comuns são os que envolvem ataque por vírus
ou corrupção de arquivos, mas também pode ser necessário rodar algum
programa para DOS dentro do Windows.
Existem, basicamente, três formas de acessar o DOS pelo Windows:
a) Estando no Windows, clicar em Iniciar/Desligar e depois em "Reiniciar o
computador em modo MS-DOS".
b) Ao ligar o computador, clicar em F8 até aparecer uma lista de opções de
entrada no Windows. Escolher "Somente Prompt de Comando". Isto fará com que
se vá direto para o DOS, sem passar pelo Windows.
c) Com o Windows rodando, clicar em Iniciar/Programas e selecionar "Prompt do
MS-DOS". Esta última opção acessará o DOS com o Windows ainda carregado, o
que pode fazer com que alguns comandos não funcionem.

Com o Windows 98 não se tem o DOS completo (já que este foi feito para rodar
sozinho, como um sistema operacional único). Alguns comandos foram retirados e
deixados apenas os essenciais.

4.2.1- Alterando a data e hora do sistema operacional

a)Pelo Windows:
Ir em Iniciar -> Configurações -> Painel de Controle. Acessar a opção de
Data/Hora
OU

Clicar duas vezes no relógio do canto inferior direito da janela.


b) Pelo DOS

Para alterar a data, usa-se o comando DATE:


Para alterar a hora, usa-se o comando TIME:
4.2.2- Criando Pastas:

a) Pelo Windows:

No Windows Explorer, ir em Arquivo -> Novo -> Pasta


OU
Na área onde se deseja criar a nova pasta, clicar com o botão da direita e escolher
a opção Novo -> Pasta
b) Pelo DOS:

Utiliza-se o comando MKDIR ou o comando MD


4.2.3 – Trocando de diretório

a) Pelo Windows

Para trocar de diretório (= pasta) no Windows, basta clicar duas vezes no diretório
desejado.

b) Pelo DOS

Para trocar de diretório no DOS, utiliza-se o comando CD (change directory)


Por exemplo, assumindo que se está no diretório TESTE e se deseja ir para o
diretório WINDOWS, basta fazer CD \WINDOWS (repare que neste caso a barra
invertida é obrigatória)
Para irmos para um diretório que é subdiretório do diretório atual, a barra invertida
antes do nome do diretório não deve ser colocada.
Por exemplo, se estivermos no diretório TESTE e quisermos ir para um diretório
UVA abaixo deste, podemos fazer simplesmente CD UVA
Estando dentro de um diretório, para irmos para o diretório imediatamente acima
do diretório atual, podemos usar dois pontos seguidos. Ex: se estivermos no
diretório C:\TESTE\UVA e quisermos voltar para o diretório C:\TESTE, podemos
usar o comando CD ..
4.2.4 – Copiando arquivos

a) Pelo Windows

Para copiar arquivos pelo Windows podemos marcar (clicar uma vez) o arquivo
desejado no Windows Explorer e proceder de uma das duas formas:

a.1 – Ir no menu do topo, em Editar -> Copiar (ou apertar a tecla CTRL, e com ela
apertada, apertar a tecla C). Em seguida, mudar para a pasta desejada, ir no
menu de topo, em Editar -> Colar
a.2 – Com o botão da direita, clicar sobre o arquivo desejado. No menu que
aparece escolher a opção Copiar.
Em seguida, ir para a pasta (subdiretório) desejada, clicar com o botão direito em
uma área vazia dentro da pasta, e escolher a opção Colar no menu que aparece.
b) Pelo DOS

Para copiar um arquivo pelo DOS deve-se usar o comando COPY, cuja sintaxe é
COPY arquivo-de-origem diretório-de-destino
Ex: COPY E:\APACHE\WWW\siteA\default.htm E:\APACHE\WWW

Você também pode gostar