software conceito e principais tipos de softwares unidade 3
TRANSCRIPT
Software
Conceito e principais tipos de softwares
Unidade 3
Objetivo
• Apresentar osconceitos,uma análise dasprincipais categorias de software e das tecnologias utilizadas em sua construção
Conceito
• Um software é umconjunto detalhado deinstruções que controlam a operação dos dispositivos de processamento
Funções dos softwares• Gerenciar os recursos
de informática daorganização
• Prover ferramentas para que as pessoas interajam com estes recursos
• Agir como um intermediário entre a organização e as informações armazenadas
Desenvolvimento de software• Antes de um software
poder ser utilizadopelos usuários, ele deve ser desenvolvido
• Desenvolver um software consiste em escrever as instruções que ele deverá executar durante o processamento dos dados
• As instruções quecompõem um softwaresão redigidas por um programador
• O programador utiliza uma linguagem de programação
• Exemplos: Java, Object Pascal (Delphi), Visual Basic, PL/SQL, COBOL, NATURAL, C, C++, C#, etc.
Código fonte
• O código escrito peloprogramador em umalinguagem de programação é chamado de código fonte
Exemplo de código fonte
procedure Cubo.Converte;{recalcula a novaprojecao do cubona tela apos a movimentacao}
var n, m : integer;begin Inic_posicao; for n:=1 to 27 do for m:=1 to 8 do Tela (self[n].Ponto_tela [m], self[n].Ponto_univ [m]);
end;
Tradução do código fonte
• Para ser compreendidopelo dispositivo deprocessamento, o código fonte deve passar por um processo de tradução
Tradução
• O código fonte, aoser traduzido, irágerar um código executável, em linguagem binária, compreendida pelo dispositivo
• O processo de tradução pode ser por compilação (mais comum) ou interpretação
Utilização dos códigos
• O código executávelé incompreensívelpelos programadores
• Devido a isto, para permitir a modificação de um software é preciso ter acesso ao seu código fonte
Dispositivos deEntrada
Software
MemóriaPrimária
MemóriaSecundária
MemóriaTernária
Dispositivos deSaída
Execução de um softwareO usuário interage com o
software utilizando sua
interface
Dispositivos deEntrada
Software
MemóriaPrimária
MemóriaSecundária
MemóriaTernária
Dispositivos deSaída
Execução de um software Os dados entrados pelo usuários são
armazenados na memória primária, juntamente com o
software
Dispositivos deEntrada
Software
MemóriaPrimária
MemóriaSecundária
MemóriaTernária
Dispositivos deSaída
Execução de um software
O software é executado pelo processador, que carrega instrução a instrução do
código executável, interpretando-as e
executando-as
Dispositivos deEntrada
Software
MemóriaPrimária
MemóriaSecundária
MemóriaTernária
Dispositivos deSaída
Execução de um software
A interação compreende entrada e
saída de dados
Dispositivos deEntrada
Software
MemóriaPrimária
MemóriaSecundária
MemóriaTernária
Dispositivos deSaída
Execução de um software
O software pode ler e gravar dados na
memória secundária (banco de dados)
Execução de um software
Software
MemóriaPrimária
Dispositivos deEntrada
MemóriaSecundária
MemóriaTernária
O software é carregado para a memória primária
(executado)
Dispositivos deSaída
Categorias de softwares
• Os softwaresdividem-sebasicamente em duas categorias– Software BÁSICO– Software APLICATIVO
Software básico
• Os softwares básicoscaracterizam-se porgerenciarem recursos dos dispositivos de processamento (hardware), como processador, memória primária, memória secundária, comunicação de dados, dispositivos de entrada e saída
Software aplicativo
• Softwares aplicativosexecutam tarefasespecíficas, como edição de textos, edição de planilhas, gestão de recursos humanos, controle de estoque, etc.
Relação entre software básico e aplicativo
• Para executar suastarefas, os softwaresaplicativos utilizam os softwares básicos
• Por exemplo: para imprimir, um software aplicativo envia os dados para um software básico, que se comunica com a impressora e controla a impressão
Relação entre software básico
e aplicativoSoftware Aplicativo
Software Básico
Sistema operacional (SO)
• Sistema operacionalé o principal softwarebásico de um computador
• Ao sistema operacional cabe ocultar a complexidade dos dispositivo, tornando sua utilização mais fácil e rápida
Vantagens para os usuários
• Provê formas rápidase organizadas aosrecursos
• Exemplo: o conceito de “arquivo” existe devido ao sistema operacional, que organiza a memória secundária
Ambientes de janelas
• Grande parte dossistemas operacionaisatuais possui um ambiente de janelas, que pode ser operado com dispositivos de apontamento (mouse, trackball, etc.) sobre janelas, botões e outros componentes gráficos
Vantagens para os usuários
• Para osprogramadores,torna desnecessárioconhecer as particularidades de cada dispositivo
• Exemplo: o comando que imprime é o mesmo para qualquer impressora, independente da marca, modelo, etc.
• Tira melhor proveitodo hardware,permitindo,por exemplo, que sejam executados diversos programas “ao mesmo tempo”
Funções dos sistemas operacionais• Execução de
softwares• Controle da utilização da memória primária• Controle da utilização da memória secundária (sistema de
arquivos)• Controle dos dispositivos de entrada saída• Estas quatro primeiras funções formam o núcleo (kernel)
do sistema operacional• Controle de segurança
– Validação de usuários(login e senha)
– Controle de acesso a arquivos, pastas, impressoras, computadores, etc.
• Manutenção de informações gerenciais (logs) e estatísticas
Exemplos de sistemas operacionais
• Existem diversossistemas operacionais,para diferentes tipos de dispositivos de processamento
SOs para computadores pessoais
• Microsoft DOS(obsoleto)
• Microsoft Windows XP• Linux• IBM OS/2 Warp
Windows para computadores pessoais
Windows NT199019931995199619982000
Origem DOS
2002
SOs para computadores servidores
• Microsoft Windows2000
• Linux• FreeBSD• Novell Netware• HP-UX
• SUN Solaris• IBM AIX• IBM VM e VSE
Windows para computadores
servidores
1993
1995199619971998
200?
1994
2000
SOs para dispositivos de computação móvel
• Palm OS• Microsoft Windows CE
– Pocket PC, Handheld PC, Smartphone, Automotive, etc.
• Microsoft Windows XP Tablet PC• Symbian OS
UNIX
• Desenvolvidooriginalmente em 1969,no Bell Labs, por Ken Tompson e Dennis Ritchie
• Deu origem a diversos sistemas operacionais
UNIX
• Originalmente não éacompanhado deambiente de janelas, o que o restringiu a profissionais de informática
UNIX
• Considerado maisrobusto e, emconseqüência, menos sujeito a falhas
• Devido à sua robustez, é utilizado largamente em computadores servidores
Linux
• Criado a partir doMINIX e do BSD 4.3
• Teve o Kernel (núcleo) customizado por Linus Torvalds
• É o mais conhecido e mais utilizado dos “softwares livres”
Distribuições Linux
• Possui diversas“distribuições”
• Uma distribuição Linux é criada por um grupo de usuários ou por uma empresa
• A maioria das distribuição é gratuita, mas começam a surgir as primeiras distribuições pagas
Exemplos de distribuições Linux
• Red Hat• Mandrake• Debian• SuSe• Conectiva• O site www.linux.org contabiliza 167
distribuições
FreeBSD
• Criado a partir doBSD 4.4
• Teve o kernel customizado por um grupo de usuários
• Ao contrário do UNIX, tem uma única distribuição, mantida por um grupo de usuários
Ambientes de janelas• Por não serem
normalmenteacompanhados de ambiente de janelas, devem ser instalados pacotes adicionais
• Existem diversos ambientes de janelas– GNOME– KDS– WindowMaker
Outras versões de UNIX
• HP-UX• SUN Solaris• IBM AIX• SCO UNIX
UNIX versus Windows 2000 Server
• Windows é Microsoft• UNIX é “gratuito”• Windows é mais completo, mas também
costumam identificar mais problemas• UNIX dispõe de diversas ferramentas
gratuitas na Internet e costuma ser mais robusto
UNIX versus Windows 2000 Server
• Windows é muito maisfácil de ser utilizado eadministrado
• UNIX costuma ter um desempenho superior
• Windows e UNIX têm problemas de segurança
O que escolher?
• Não é uma decisãoisolada
• Dependente da estratégia da empresa• Tendência de mercado:
– Adoção de UNIX (FreeBSD e Linux) nos computadores servidores
– Adoção de Windows nos computadores de mesa
Softwares servidores
• São softwares quefornecem serviços aoutros softwares
• Exemplos– Armazenamento e recuperação de dados– Envio e recebimento de correio eletrônico– Acesso a páginas da Internet
Sistemas de gerência de bancos de dados
• São softwares quetêm a função dearmazenar e recuperar, com segurança e agilidade, informações armazenadas em bancos de dados
• Exemplos– Oracle– Microsoft SQL Server– IBM DB2
Servidores de correio eletrônico
• Recebem, enviam emantém mensagens decorreio eletrônico
• Exemplos– Microsoft Exchange– IBM Notes– UNIX sendmail
Servidores de aplicação
• Atualmente osservidores deaplicações estão voltados para a Internet
• Provém acesso a páginas HTML• Montam páginas HTML dinamicamente, a
partir de bancos de dados
Servidores de aplicação
• Executamprocessamentocentralizado
• Controlam acesso, segurança, etc.
Servidores de aplicação
• Exemplos– Microsoft Internet
Information Server (IIS)– Sun iPlanet– IBM WebSphere– Apache– TomCat
Softwares aplicativos
• Entre os principaissoftwares aplicativosdestacam-se os pacotes de automação de escritórios e os navegadores da Internet
Pacotes de automação de escritório
• Incluem, normalmente– Editor de textos– Editor de planilhas eletrônicas– Editor de apresentações– Sistema de bancos de dados pessoais– Cliente de correio eletrônico
Microsoft Office
• Composto de– Word– Excel– PowerPoint– Access– Outlook
• http://www.microsoft.com/brasil/office
SUN StarOffice
• Composto de– Writer– Calc– Impress– ???– Base
• http://www.sun.com/staroffice
openoffice.org
• Derivado do StarOffice,tem a distribuiçãogratuita
• Inclui apenas algumas das melhorias do StarOffice
• Mantido por um grupo de usuários
StarOffice X openoffice.org
• A Sun resolveu iniciara cobrança peladistribuição do StarOffice, mas permitiu a manutenção de uma versão gratuita por um grupo de usuários
Navegadores (browsers)
• Permitem o acesso apáginas HTML daInternet e Intranet
• Normalmente vêm acompanhados de outros softwares adicionais
• Exemplos
Navegadores (browsers)
• Exemplos– Microsoft Internet
Explorer– AOL Netscape– Opera
Outros exemplos de softwares de aplicação
• Existem inúmerasoutras categorias desoftwares aplicativos
• Utilitários são pequenos softwares aplicativos que executam funções bem específicas
Exemplos de utilitários
• Compactadores– WinZIP– PowerArchiver
• Aceleradores de downloads• Tocadores de música• Etc.
Sistemas de Informação
• São uma categoriaespecial de softwareaplicativo
• Automatizam os processos de negócio da empresa
• Podem ser desenvolvidos pela própria organização ou adquiridos
Desenvolvimento X aquisição
• A escolha entre desenvolver internamente ou adquirir de terceiros os sistemas de informação é uma etapa fundamental do planejamento de TI
• O desenvolvimento interno exige um investimento inicial e uma verba de custeio
Desenvolvimento
• Contratar, manter etreinar equipe própria
• Desenvolvimento bastante específico para as necessidades da organização
• Criar cultura interna de sistema de informação
Aquisição
• Não há o custo com acontratação e formaçãoda equipe própria
• O sistema normalmente tem que ser customizado às necessidades da empresa
• Reduz a cultura interna de sistema de informação
Aquisição
• Pode-se gastar comcontratos demanutenção do sistema
• Alternativa: terceirização de mão de obra?
Formas de distribuição e comercialização
• Existem diversasformas de distribuiçãoe comercialização de software
• As principais baseiam-se nos princípios de:– Software Livre– Software Proprietário
Software livre
• O conceito desoftware livre foicriado no início da década de 80 pelo pesquisador Richard Stallman, do MIT
Software livre
• Baseia-se na idéia deque software e seuscódigos-fonte são conhecimentos científicos e, como os teoremas, não podem ser guardados e comercializados
• A ciência em prol da evolução da própria ciência
Free = Liberdade
• Free refere-se aliberdade e não àgratuidade
• Free Software = Software Livre• Free Software ≠ Software Grátis
Liberdades previstas
• 1ª liberdade: – A liberdade de
executar o software, para qualquer uso• 2ª liberdade:
– A liberdade de estudar o funcionamento de um programa e adaptá-lo às suas necessidades
Liberdades previstas
• 3ª liberdade: – A liberdade de
redistribuir cópias• 4ª liberdade:
– A liberdade de melhorar o programa e de tornar as modificações públicas de modo que a comunidade inteira se beneficie da melhoria
Distribuição
• As liberdadesconcedidas permitemque um software livre possa ser distribuído de graça ou cobrando alguma taxa pela distribuição
• Para permitir as modificações, as distribuições devem incluir código-fonte
Software Aberto
• É um modelo similarao do software livre,criado em 1997 por Eric Raymond, Tim O'Reilly e Larry Augustin
• Mais atraente do ponto de vista comercial• Permite até mesmo a inclusão de software
comercial no código de software livre
Software de domínio público
• É um software quenão possui copyright,ou seja, que pode ser copiado e distribuído livremente
• No entanto, para ser considerado software livre, deve estar acompanhado do código-fonte
Software de domínio público
• Um software dedomínio público podeser convertido em um software proprietário por alguém ou alguma empresa
Freeware
• É um software quepossui a distribuiçãoliberada, ou seja, é gratuito, mas não pode ser modificado
Software copylefted
• Copyleft significa ooposto ao copyright
• Um software copylefted deve poder ser modificado
Software copylefted
• Um softwarecopylefted pode serdistribuído livremente e quem recebe uma cópia, modificando-a ou não, deve redistribuí-la também sob as mesmas condições
Projeto GNU
• GNU = GNU is notUnix
• Mantido pela Free Software Foundation – FSF – criada em 1984 por Richard Stallman
Modelo de Licenciamento
• GPL = GNU GeneralPublic License
• Define as características necessárias a um programa para que ele seja considerado software livre
Modelo de Licenciamento
• Pela GPL, todoprograma que utilizefragmentos de software livre licenciados pela GPL, também deve ganhar o status de GPL, ou seja, software livre
• Estimula o desenvolvimento pela reutilização de código
Modelo de Licenciamento
• Existe um modelopadrão de GPL,publicado pela Free Software Foundation
• Este modelo deve ser incluído na distribuição de qualquer software GPL
• É um formalismo
Software Proprietário
• É um softwareque não é livre, ouseja, sua redistribuição ou modificação é proibida ou somente pode ser feita sob autorização
• Copyright = proteção dos direitos autorais
Software Fechado
• É um softwareproprietário que nãopode ser distribuído ou modificado
• É comercializado apenas pelos canais de venda do proprietário do software
Shareware
• É um software quepode ser distribuídolivremente, mas aquele que quiser utilizá-lo deve pagar o valor do licenciamento
Formas de distribuição
Software Livre
Software Aberto
Domínio Público
Copyleft
GPL
Software Proprietário
Software Fechado
Shareware
Download Livre
Freeware
Barreiras ao software livre
• O conceito desoftware livre não foiconsideradoatraente pelas empresas, que visam o lucro e não o progresso da ciência
Avanço do software livre
• Atualmente asempresas vêem nosoftware livre uma oportunidade de venderem não só produtos, mas serviços e conhecimento, agregando valor aos produtos
Avanço do software livre
• Não pagando pelosoftware, as margensde lucro obtidas pelos profissionais de informática na condução de projetos para empresas tendem a ser maiores
• Muitos profissionais passaram a recomendar o software livre
Software proprietário X software comercial
• Logo, se umsoftware livre estásendo utilizado para fins comerciais, ele pode ser considerado um software comercial, embora seja um software livre
• Software comercial ≠ software proprietário
Exemplos de softwares livres
• Distribuições dosistema operacionalUNIX– Red Hat– Caldera– Mandrake– etc.
Exemplos de softwares livres
• Todas estas empresasvisam algum tipo delucro com a distribuição ou suporte ao software
• São softwares comerciais
Exemplos de softwares livres
• Outros exemplos:– GNU/Linux– Debian Linux– FreeBSD– openoffice.org– etc.
Exemplos de software proprietários
• Os softwares dasgrandes empresas:– Microsoft
• Windows• Office
– Oracle
Maiores informações
• Free SoftwareFoundation
www.fsf.orgwww.gnu.org
Questão
• O que aconteceu como StarOffice, após acompra da StarDivision pela SUN?
ATIVIDADE: Software livre
• Os alunos deverãodiscutir sobre softwarelivre na fórum de discussão criada na página da disciplina
ATIVIDADE: Software livre
• Grupos de 10 alunoscom 1 moderador– Passar a nominata dos grupos, indicando o
moderador, para o professor, via e-mail• Ao final de uma semana de discussão,
o grupo deverá entregar um relatório, via e-mail, com suas conclusões
ATIVIDADE: Software livre
• Deverão serrespondidas, nomínimo, as seguintes questões:– Minha empresa usa software livre? Quais?– Que vantagens e desvantagens existem na
adoção do software livre?– Que vantagens e desvantagens existem na
adoção do software proprietário?
ATIVIDADE: Software livre– Você recomendaria
a adoção de softwarelivre? Em que situações?
– Que papel pode ter o software livre na administração pública?