Buscar

06_Tipos_de_Software_Aula_6

Prévia do material em texto

Tipos de Softwares
SOFTWARE - DEFINIÇÃO
� As definições evoluem com o tempo:
� Alcade(1991): “Parte Lógica que dota o equipamento 
físico de capacidade para realizar todo tipo de trabalho”.
� Peter Norton (1997): “Ingrediente que estabelece que o 
2
� Peter Norton (1997): “Ingrediente que estabelece que o 
computador executará uma tarefa específica”.
� Pressmann (2001): “Instruções que, quando executadas, 
produzem a função e o desempenho desejados”.
� Sommerville (2003): “Não é apenas o programa, mas 
também toda a documentação associada e os dados de 
configuração necessários para fazer com que esses 
programas operem corretamente”.
SOFTWARE
� “É A PARTE LÓGICA DO SISTEMA DE 
COMPUTAÇÃO QUE É ARMAZENADA 
ELETRÔNICAMENTE. É COMPOSTO POR 
UM CONJUNTO DE PROGRAMAS QUE 
CAPACITAM O HARDAWARE A REALIZAR 
3
CAPACITAM O HARDWARE A REALIZAR 
TAREFAS ESPECÍFICADAS, PELOS 
DADOS MANIPULADOS POR ELES, PELA 
DOCUMENTAÇÃO DE ESPECIFICAÇÃO 
DOS PROGRAMAS E PELA 
DOCUMENTAÇÃO DE OPERAÇÃO DOS 
PROGRAMAS”. (MARÇULA,2005)
EVOLUÇÃO DO SOFTWARE
� A evolução é um processo continuo, porém 
podemos caracterizar quatro fases distintas, 
que se sobrepõem no seu início e fim.
4A. Fase
4
1950 1960 1970 1980 1990 2000
1A. Fase
2A. Fase
3A. Fase
1a. FASE (1950-1960)
� Processamento continuo. Não era interrompido do 
até o encerramento do processamento, com as 
instruções agrupadas em lotes de Jobs 
denominados Batch.
� Poucas possibilidades de escolha de software no 
5
� Poucas possibilidades de escolha de software no 
mercado. Os softwares eram customizados ao 
Hardaware ( feitos especificamente para cada 
sistema de computação ).
� CPU ociosa devido a espera das operações da I/O 
serem bem mais lentas, propiciando a idéia de 
multiprogramação (programas sendo executados ao 
mesmo tempo).
2a. FASE (1960-1970)
� 1970 - Evolução da multiprogramação para Time Sharing 
(tempo compartilhado), com as trocas de jobs sendo 
executadas rapidamente que permitem ao usuário interagir 
com o sistema.
� Programas passam a ser usados por várias pessoas ao 
mesmo tempo e o processamento em tempo real.
6
mesmo tempo e o processamento em tempo real.
� Sistema específicos de controle industrial, eletrodomésticos, 
computação embarcada, possuem controle rígido de tempo de 
processamento da CPU e Fluxo dos dados.
� Tratamento específico para os dados armazenados, surgem 
os primeiros bancos de dados.
� Tem início a venda do software como um produto, separado 
do Hardware.
� O mesmo software começa a ser utilizado por várias 
empresas, permitindo a redução do custo de desenvolvimento.
3a. FASE (1970-1980)
� Surge o conceito de sistemas distribuídos, que apresentam 
processamento realizado não só no computador central, mas 
também em outros ligados a ele, portanto não compartilham 
memória ou clock.
Crescem as vendas de softwares, transformando-os em 
7
� Crescem as vendas de softwares, transformando-os em 
produtos de massa.
� Redução de tamanho e custo do Hardware, tornando-o 
acessível a um maior número de empresas e pessoas.
� O software é incorporado a equipamentos de uso diário, 
tornando os equipamentos mais “ inteligentes”.
4a. FASE (1980-1990)
� Computadores pessoais passam a ter capacidade de processamento 
superior aos antigos computadores de grande porte.
� Popularização da informática.
� Surgem novas tecnologias de desenvolvimento do software, em especial 
a orientação a objetos, que procura aproximar o mundo virtual do mundo 
8
a orientação a objetos, que procura aproximar o mundo virtual do mundo 
real.
� Software passam a assumir a tomada de decisão, inclusive com 
Sistemas Especialistas, que permitem o uso do conhecimento humano 
como base da tomada de decisão.
� Processamento paralelo, aumento ainda mais o poder e velocidade de 
processamento e quebra o paradigma seqüencial de Von Neumann.
� IA Inteligência Artificial (Redes Neurais) com aplicações práticas, onde o 
programa aprende e corrige decisões futuras.
Tendências.
� Uso cada vez mais intensivo da computação 
distribuída (Redes de Computadores).
� Aplicações de inteligência cada vez mais próximas 
do usuário.
9
do usuário.
� Aumento da capacidade de processamento e 
armazenamento de dados dos computadores, 
permitindo softwares cada vez maiores e mais 
requintados.
� Softwares cada vez mais amigáveis, popularizando 
a arte de desenvolvimento de novas aplicações 
pelo próprio usuário final.
CATEGORIA
� Com a evolução fica cada vez mais difícil a tarefa 
de classificação dos Softwares, porém a seguinte 
pode ser indicada:
� Básico
Aplicativo
10
� Aplicativo
� Linguagem de Programação
� MiddleWare: Software que faz a mediação entre um 
aplicativo e o sistema operacional, ou entre dois softwares 
aplicativos.
� FirmWare: Programa impresso no próprio processador ou 
gravado em memórias ROM, podendo ser caracterizado 
como Hardware ou Software.
BÁSICO
� Trabalha fortemente integrado com o sistema de 
computação, realizando as tarefas de 
gerenciamento necessárias ao seu funcionamento, 
podendo ser dividido em:
11
podendo ser dividido em:
� SISTEMA OPERACIONAL: Software responsável pelo 
funcionamento geral dos sistemas de computação, 
responsável por integrar o hardware as camadas 
superiores de softwares.
� UTILITÁRIOS DE SISTEMA: Softwares que 
acompanham o sistema operacional e o auxiliam nas 
suas tarefas.
SOFTWARES APLICATIVOS
� São softwares responsáveis pela realização dos trabalhos 
para o usuário.
� Como exemplo de aplicativos temos todas as rotinas criadas 
pelos softwares de automação de escritórios.
Folhas de Pagamento.
12
� Folhas de Pagamento.
� Sistemas de Faturamento.
� Controle de Estoque.
� Sistemas Integrados ERP.
� Automação bancária.
� Outros.
LINGUAGENS DE 
PROGRAMAÇÃO
� Softwares utilizados para 
desenvolvimento dos Softwares 
Aplicativos.
13
Aplicativos.
� Existem vários tipos e categorias, 
merecendo um estudo posterior.
Tipos de Softwares
� Existem também várias propostas de classificação 
segundo o tipo.
� FREEWARE: Software distribuído gratuitamente, mas não 
revela o código-fonte (instruções do programa). Possui 
14
licença para redistribuição, mas normalmente tem 
limitação para uso comercial.
� SOFTWARE LIVRE (Free Software): a distribuição pode 
ser gratuita ou não, mas é permitido o seu uso, 
modificação e distribuição, respeitada a licença.
Tipos de Softwares
� Open Source: Software de domínio público ou 
com direitos autores cuja licença permite que o 
código fonte seja livremente modificado, mas na 
redistribuição deve permanecer livre para 
15
redistribuição deve permanecer livre para 
modificações. O nome do autor deve ser 
mantido, existindo pequenas restrições quanto a 
modificação. Como exemplo temos a GNU 
General Public License, Mozilla Public License.
� Domínio Público: Software sem direitos autorais, 
podendo ser distribuído gratuitamente.
Tipos de Softwares
� Shareware: Software distribuído gratuitamente, 
mas que requer pagamento depois de um 
período de teste, ou mesmo para receber a 
versão completa, nesse caso é também 
16
versão completa, nesse caso é também 
conhecido como Cripplewere.
� Adware: Software distribuído gratuitamente, 
mas requer que o usuário visualize 
propagandas para usar o software.
Formas de Distribuição
� As formas mais comuns de distribuição do software 
são as seguintes:
� Discos Flexíveis: pouco utilizados atualmente devido a 
pequena capacidade de armazenamento, porém em 
alguns casos são utilizados como validadores.
17
alguns casos são utilizados como validadores.
� CD-ROM/DVD: Os meios ópticos são os mais utilizados 
devido a suacapacidade e custo reduzido por bytes 
armazenados
� DOWNLOAD: Os softwares são trazidos ao sistema de 
computação através da rede de computadores (internet) 
pelos meios de comunicação disponíveis como: fios 
elétricos, fibra óptica, sinais de rádio, etc.
SISTEMAS OPERACIONAIS
� Dividido entre Kernel e Shell.
� É o sistema mais complexo, sem o qual nada se 
faz no sistema de computação.
� Funções Básicas:
19
� Funções Básicas:
� Fornecer uma interface de comunicação entre o sistema 
de comunicação e o usuário.
� Gerenciar a operação dos dispositivos de hardware do 
computador.
� Gerenciar e manter o sistema de arquivos armazenados.
� Dar suporte aos programas que são executados.
Esquema
USUÁRIO PROGRAMAS
20
SISTEMA
OPERACIONAL
HARDWARE
SISTEMA DE 
ARQUIVOS
Funções dos Sistemas Operacionais
� Gerenciamento de Processos, que consistem na execução 
de programas. Um processo pode ser dividido em threads.
� Gerenciamento da Memória Principal, realizando a alocação 
e liberação de endereços para armazenar dados e 
programas. Responsável também pelo SWAP ( troca entre 
21
programas. Responsável também pelo SWAP ( troca entre 
discos e memória ).
� Gerenciamento de Arquivos. “Arquivo é uma coleção de 
dados relacionados definidos pelo 
criador”(Silberschats,2001). Este podem estar organizados 
em diretórios ou pastas conhecidos como sistemas de 
arquivos. Estes por sua vez podem estar acondicionados em 
Partições, Minidiscos ou Volumes.
Funções dos Sistemas 
Operacionais
� Gerenciamento de Armazenamento secundário. 
Corresponde ao processo de armazenamento físico 
dos dados, Formação Física, que é a criação dos 
Clusters que são blocos lógicos de dados.
22
Clusters que são blocos lógicos de dados.
� Gerenciamento do Sistema de Entrada e Saída de 
Dados (I/O).
� Gerenciamento dos Serviços de Redes
� Gerenciamento do Sistema de Proteção
� Sistema Interpretador de Comandos (Shell)
Serviços Oferecidos pelo SO
� Serviços oferecidos aos programas e aos usuários:
� Executar programas
� Gerenciar operações de (I/O).
� Manipular o sistema de arquivos.
23
� Comunicações
� Detecção de erros
� Serviços necessários para garantir a operação do SO
� Alocar recursos
� Manter registros de usuários
� Proteção.
Modelos de Sistema Operacional
� Windows (Microsoft)
� Windows CE - Usados em palmtops.
� Windows 10 – Computadores Pessoais
� Windows Server – Redes.
MacOs (Apple) – computadores pessoais Macintosh e iMac.
24
� MacOs (Apple) – computadores pessoais Macintosh e iMac.
� UNIX – Sistema Acadêmico, open source.
� UNIX like – BSD, FreeBSD, AtheOS, Syllable, Solaris(Sun), z/OS (IBM)
� LINUX - Derivado do UNIX, também é open source e utilizado em 
computadores de rede, além de alguns poucos pessoais.
� Open VMS(HP): sistema utilizado em minicomputadores e mainframes.
� PalmOS para Palm e o COS para computação embarcada.

Continue navegando