Introdução à
Computação
Conceitos de Software
Prof. Danilo Pereira
danilo.pereira@ifal.edu.br
Software
• "Criação intelectual compreendendo os programas, procedimentos,
regras e qualquer documentação correlata à operação de um sistema
de processamento de dados." [ISO 9000-3]
• “(1) Instruções (programas de computador) que, quando executadas,
produzem a função e o desempenho desejados; (2) estruturas de
dados que possibilitam que os programas manipulem adequadamente
a informação e (3) documentos que descrevem a operação e o uso
dos programas” (PRESSMAN, 2001, p.6)
Software
• Os programas de computadores podem ser categorizados como:
• Software de Básico
• Software Aplicativo
• Software Utilitário
• Mas antes, Linguagens de Programação...
Como é feito um software?
• O software é criado através de uma linguagem de programação, que é
um conjunto padronizado de comandos.
• As linguagens podem ser de alto nível ou de baixo nível:
• Alto nível: que é entendida pelo homem
• Baixo nível: uma linguagem de máquina
Exemplos de
Linguagens de
Programação
• Java
• C/C++/C#
• Python
• Javascript
Tipos de Software
Sistemas Operacionais
Software Básico
O que são?
Um conjunto de programas que se situa entre os
softwares aplicativos e o hardware
• Gerencia os recursos do computador (CPU,
dispositivos periféricos).
• Estabelece uma interface com o usuário.
O que são?
• Provê e executa serviços para softwares aplicativos.
Em outras palavras
• O sistema operacional é um programa especial que acorda a máquina
e faz com que ele reconheça a CPU, a memória, o teclado, o sistema
de vídeo e as unidades de discos.
• Além disso, oferece ao usuário a facilidade de se comunicar com o
computador.
• Um conjunto de programas que se situa entre os softwares aplicativos
e o hardware
Tarefas Básicas
do SO
Sistemas Operacionais
• O SO é um software básico:
• A palavra básico não quer dizer que ele é simples, mas sim, quer
dizer que ele é essencial, obrigatório para o funcionamento do
computador;
• Depois da inicialização da placa mãe, o SO é o primeiro programa
a ser inicializado.
Sistemas Operacionais
• o software básico da placa-mãe procura o sistema operacional no disco
para que ele seja carregado;
Assim que o computador é ligado:
• o SO controlará as atividades dos demais programas e do hardware do
computador;
Ao ser inicializado:
• Assim, boot é o processo de inicialização de um sistema operacional.
Esse procedimento se chama boot:
Sistema Operacional ‐
Características
• É o núcleo do sistema operacional, é a parte central que comanda o
hardware
KERNEL
• É a parte que entra em contato com o usuário, como o CLI a GUI
SHELL
• Demais programas que acompanham o sistema
APLICATIVOS
Sistema Operacional ‐
Características
• Executa uma tarefa por vez, entrega os recursos da
máquina a esta única tarefa
• Ex.: MS-DOS
MONOTAREFA
• Várias tarefas por vez, gerenciando o tempo
• Poder ser: preemptiva ou cooperativa
MULTITAREFA
Sistema Operacional ‐
Características
• Somente um usuário por vez
MONOUSUÁRIO
• Vários usuários ao mesmo tempo
MULTIUSUÁRIO
Tipos de SO
• Para desktop e notebook:
• Windows
• Linux
• Mac
• Smartphones e Tablets:
• iOS
• Android
Windows
• É uma família de sistemas operacionais
desenvolvidos, comercializados e vendidos pela
Microsoft;
• Possui cerca de 80% do market share para a
versão de desktop no mundo;
• SO mais pirateado no mundo.
• Muitos dos computadores o usam dessa
maneira.
Windows
Prós:
• SO amigável;
• Muito bom para jogos devido ao DirectX
• Os drivers de placa de vídeo são
focados nele;
• Abundância de drivers de hardware;
• Oferta enorme de apps para ele;
• Plug-and-play;
• Compatível com versões anteriores
Contras:
• Custos;
• Exige muito do hardware;
• Fonte fechada;
• Suscetível a vírus;
• Custo adicional com antivírus dedicado;
Windows
Windows
Linux
• Sistema operacional livre;
• O código-fonte do Linux é disponibilizado livremente para quem
quiser o executar, estudar, distribuir ou melhorar;
• Muitas disbruições:
• debian e etc;
• RHEL e etc;
• FreeBSD e etc;
• Arch e etc
• Usado por pesquisadores e empresas que queiram economizar
Linux
Prós:
• Geralmente é grátis;
• Segurança e privacidade;
• Permite aprendizado;
• Adaptável
Contras:
• Possui muitos aplicativos, mas não todos;
• Alguns são versões substitutas
• Dificuldade de adaptação
• Tem melhorado, mas ainda não é tão bom
para jogos;
• Principalmente os lançamentos
• Muitos drivers são feitos via engenharia
reversa pela comunidade
Linux
MacOS
• Exclusivo para computadores Apple;
• SO de código aberto que é baseado no kernel Unix chamado
OpenDarwin;
• Possui excelentes aplicativos de edição de imagem, vídeo, música,
animação, etc;
• Por conta disso é conhecido como o SO das indústrias ligadas à
arte e entretenimento
MacOS
Prós:
• Muito bem otimizado para o hardware;
• Excelentes apps para edição de áudio e
imagens e vídeos;
• Permite automatizar fluxos de trabalho
complexos com o AppleScript;
• Atualizações são grátis
• Preço embutido
Contras:
• Apenas disponível para hardware da Apple
• Caro!!!
• Manutenção é cara
• Poucos especialistas
MacOS
• Big Sur
iOS
• Basicamente a mesma coisa para o MacOS
• Touch e para dispositivos móveis (tablet e smartphone);
Android
• Criado pelo Google
• Baseado em Linux;
• Código aberto
• Permite modificações
• O SO mais utilizado no mundo;
• Atualizado constantemente;
• Geralmente, novas versões vêm somente
para novos dispositivos
• Grande oferta de Apps;
• Permitir instalar apps fora da loja do google
(APKs)
Software Aplicativo
Software Aplicativo
• O software de aplicativo é responsável por auxiliar o usuário a
realizar as suas tarefas.
• Eles são bem mais específicos que um Sistema Operacional.
• São os programas voltados para a solução de problemas do usuário.
• Podem ser de uso geral ou de uso específico.
Software
Aplicativo
• Uso geral:
• Programas que podem ser
utilizados em vários tipos de
aplicações.
Software Aplicativo
• Uso específico:
• Se destinam exclusivamente a um
único tipo de aplicação.
• Exemplos: folha de pagamento,
crediário, imposto de renda,
• cadastro, contas a pagar e receber,
etc.
Software Utilitário
• Os programas utilitários do sistema fornecem um complemento
necessário para uma ferramenta básica de gerenciamento do Sistema
Operacional.
• Eles podem estar incluídos no Sistema Operacional ou vendidos por
fornecedores independentes.
• Fornecem ao usuário ferramentas para organizar os discos, verificar
disponibilidade de memória, corrigir falhas de Processamento.
• Úteis ao sistema computacional.
Software Utilitário
• Utilitários de Backup:
• Copiam dados do HD para a mídia de
backup.
• É uma cópia de segurança dos arquivos de
trabalho.
• Justificativas:
• falha de energia
• mau funcionamento do disco rígido ou
drive
• mau uso de software
Software Utilitário
• Compressores de arquivos:
• Reduz o tamanho de um arquivo sem
prejudicar os dados.
• A maioria deles funciona pesquisando
o arquivo a procura de padrões
extensos e frequentemente repetidos
e substituindo este padrões por
códigos menores.
• Quando descompactado o utilitário
restaura o padrão extenso (onde cada
código é encontrado).
Software Antivírus
• Vírus: programas que se instalam nos
sistemas computacionais com a
finalidade de danificar arquivos ou
causar inconveniências.
• Antivírus: desenvolvidos para
detectar a presença de algum vírus no
sistema e tentar eliminá-lo.
Tipos de Licença de
Software
Software
Proprietário
• Código fonte fechado (Só o dono sabe)
• Possui finalidade específica
• Proibido redistribuição
• Ex.: Windows, Photoshop, Avast!
Software Livre
• É o software que respeita a liberdade e senso de comunidade dos
usuários;
• Liberdade de executar, copiar, distribuir, estudar, mudar e melhorar o
software;
• Refere-se à liberdade, não preço
4 Liberdades Essenciais
• A liberdade de executar o programa como você desejar, para qualquer
propósito (liberdade 0);
• A liberdade de estudar como o programa funciona, e adaptá-lo às suas
necessidades (liberdade 1);
• Para tanto, acesso ao código-fonte é um pré-requisito
• A liberdade de redistribuir cópias de modo que você possa ajudar
outros (liberdade 2);
• A liberdade de distribuir cópias de suas versões modificadas a outros
(liberdade 3);
• A comunidade pode se beneficiar de suas mudanças.
• Acesso ao código-fonte é um pré-requisito.
Referências
• Introdução à Informática (H. L. Capron e J. A. Johnson)
• Engenharia de Software (Pressman)

03 - Conceitos de Software.pdf

  • 1.
    Introdução à Computação Conceitos deSoftware Prof. Danilo Pereira danilo.pereira@ifal.edu.br
  • 2.
    Software • "Criação intelectualcompreendendo os programas, procedimentos, regras e qualquer documentação correlata à operação de um sistema de processamento de dados." [ISO 9000-3] • “(1) Instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados; (2) estruturas de dados que possibilitam que os programas manipulem adequadamente a informação e (3) documentos que descrevem a operação e o uso dos programas” (PRESSMAN, 2001, p.6)
  • 3.
    Software • Os programasde computadores podem ser categorizados como: • Software de Básico • Software Aplicativo • Software Utilitário • Mas antes, Linguagens de Programação...
  • 4.
    Como é feitoum software? • O software é criado através de uma linguagem de programação, que é um conjunto padronizado de comandos. • As linguagens podem ser de alto nível ou de baixo nível: • Alto nível: que é entendida pelo homem • Baixo nível: uma linguagem de máquina
  • 5.
    Exemplos de Linguagens de Programação •Java • C/C++/C# • Python • Javascript
  • 6.
  • 7.
  • 8.
    O que são? Umconjunto de programas que se situa entre os softwares aplicativos e o hardware • Gerencia os recursos do computador (CPU, dispositivos periféricos). • Estabelece uma interface com o usuário.
  • 9.
    O que são? •Provê e executa serviços para softwares aplicativos.
  • 10.
    Em outras palavras •O sistema operacional é um programa especial que acorda a máquina e faz com que ele reconheça a CPU, a memória, o teclado, o sistema de vídeo e as unidades de discos. • Além disso, oferece ao usuário a facilidade de se comunicar com o computador. • Um conjunto de programas que se situa entre os softwares aplicativos e o hardware
  • 11.
  • 12.
    Sistemas Operacionais • OSO é um software básico: • A palavra básico não quer dizer que ele é simples, mas sim, quer dizer que ele é essencial, obrigatório para o funcionamento do computador; • Depois da inicialização da placa mãe, o SO é o primeiro programa a ser inicializado.
  • 13.
    Sistemas Operacionais • osoftware básico da placa-mãe procura o sistema operacional no disco para que ele seja carregado; Assim que o computador é ligado: • o SO controlará as atividades dos demais programas e do hardware do computador; Ao ser inicializado: • Assim, boot é o processo de inicialização de um sistema operacional. Esse procedimento se chama boot:
  • 14.
    Sistema Operacional ‐ Características •É o núcleo do sistema operacional, é a parte central que comanda o hardware KERNEL • É a parte que entra em contato com o usuário, como o CLI a GUI SHELL • Demais programas que acompanham o sistema APLICATIVOS
  • 15.
    Sistema Operacional ‐ Características •Executa uma tarefa por vez, entrega os recursos da máquina a esta única tarefa • Ex.: MS-DOS MONOTAREFA • Várias tarefas por vez, gerenciando o tempo • Poder ser: preemptiva ou cooperativa MULTITAREFA
  • 17.
    Sistema Operacional ‐ Características •Somente um usuário por vez MONOUSUÁRIO • Vários usuários ao mesmo tempo MULTIUSUÁRIO
  • 19.
    Tipos de SO •Para desktop e notebook: • Windows • Linux • Mac • Smartphones e Tablets: • iOS • Android
  • 20.
    Windows • É umafamília de sistemas operacionais desenvolvidos, comercializados e vendidos pela Microsoft; • Possui cerca de 80% do market share para a versão de desktop no mundo; • SO mais pirateado no mundo. • Muitos dos computadores o usam dessa maneira.
  • 21.
    Windows Prós: • SO amigável; •Muito bom para jogos devido ao DirectX • Os drivers de placa de vídeo são focados nele; • Abundância de drivers de hardware; • Oferta enorme de apps para ele; • Plug-and-play; • Compatível com versões anteriores Contras: • Custos; • Exige muito do hardware; • Fonte fechada; • Suscetível a vírus; • Custo adicional com antivírus dedicado;
  • 22.
  • 23.
  • 24.
    Linux • Sistema operacionallivre; • O código-fonte do Linux é disponibilizado livremente para quem quiser o executar, estudar, distribuir ou melhorar; • Muitas disbruições: • debian e etc; • RHEL e etc; • FreeBSD e etc; • Arch e etc • Usado por pesquisadores e empresas que queiram economizar
  • 25.
    Linux Prós: • Geralmente égrátis; • Segurança e privacidade; • Permite aprendizado; • Adaptável Contras: • Possui muitos aplicativos, mas não todos; • Alguns são versões substitutas • Dificuldade de adaptação • Tem melhorado, mas ainda não é tão bom para jogos; • Principalmente os lançamentos • Muitos drivers são feitos via engenharia reversa pela comunidade
  • 26.
  • 27.
    MacOS • Exclusivo paracomputadores Apple; • SO de código aberto que é baseado no kernel Unix chamado OpenDarwin; • Possui excelentes aplicativos de edição de imagem, vídeo, música, animação, etc; • Por conta disso é conhecido como o SO das indústrias ligadas à arte e entretenimento
  • 28.
    MacOS Prós: • Muito bemotimizado para o hardware; • Excelentes apps para edição de áudio e imagens e vídeos; • Permite automatizar fluxos de trabalho complexos com o AppleScript; • Atualizações são grátis • Preço embutido Contras: • Apenas disponível para hardware da Apple • Caro!!! • Manutenção é cara • Poucos especialistas
  • 29.
  • 30.
    iOS • Basicamente amesma coisa para o MacOS • Touch e para dispositivos móveis (tablet e smartphone);
  • 31.
    Android • Criado peloGoogle • Baseado em Linux; • Código aberto • Permite modificações • O SO mais utilizado no mundo; • Atualizado constantemente; • Geralmente, novas versões vêm somente para novos dispositivos • Grande oferta de Apps; • Permitir instalar apps fora da loja do google (APKs)
  • 32.
  • 33.
    Software Aplicativo • Osoftware de aplicativo é responsável por auxiliar o usuário a realizar as suas tarefas. • Eles são bem mais específicos que um Sistema Operacional. • São os programas voltados para a solução de problemas do usuário. • Podem ser de uso geral ou de uso específico.
  • 34.
    Software Aplicativo • Uso geral: •Programas que podem ser utilizados em vários tipos de aplicações.
  • 35.
    Software Aplicativo • Usoespecífico: • Se destinam exclusivamente a um único tipo de aplicação. • Exemplos: folha de pagamento, crediário, imposto de renda, • cadastro, contas a pagar e receber, etc.
  • 36.
    Software Utilitário • Osprogramas utilitários do sistema fornecem um complemento necessário para uma ferramenta básica de gerenciamento do Sistema Operacional. • Eles podem estar incluídos no Sistema Operacional ou vendidos por fornecedores independentes. • Fornecem ao usuário ferramentas para organizar os discos, verificar disponibilidade de memória, corrigir falhas de Processamento. • Úteis ao sistema computacional.
  • 37.
    Software Utilitário • Utilitáriosde Backup: • Copiam dados do HD para a mídia de backup. • É uma cópia de segurança dos arquivos de trabalho. • Justificativas: • falha de energia • mau funcionamento do disco rígido ou drive • mau uso de software
  • 38.
    Software Utilitário • Compressoresde arquivos: • Reduz o tamanho de um arquivo sem prejudicar os dados. • A maioria deles funciona pesquisando o arquivo a procura de padrões extensos e frequentemente repetidos e substituindo este padrões por códigos menores. • Quando descompactado o utilitário restaura o padrão extenso (onde cada código é encontrado).
  • 39.
    Software Antivírus • Vírus:programas que se instalam nos sistemas computacionais com a finalidade de danificar arquivos ou causar inconveniências. • Antivírus: desenvolvidos para detectar a presença de algum vírus no sistema e tentar eliminá-lo.
  • 40.
    Tipos de Licençade Software
  • 41.
    Software Proprietário • Código fontefechado (Só o dono sabe) • Possui finalidade específica • Proibido redistribuição • Ex.: Windows, Photoshop, Avast!
  • 42.
    Software Livre • Éo software que respeita a liberdade e senso de comunidade dos usuários; • Liberdade de executar, copiar, distribuir, estudar, mudar e melhorar o software; • Refere-se à liberdade, não preço
  • 43.
    4 Liberdades Essenciais •A liberdade de executar o programa como você desejar, para qualquer propósito (liberdade 0); • A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades (liberdade 1); • Para tanto, acesso ao código-fonte é um pré-requisito • A liberdade de redistribuir cópias de modo que você possa ajudar outros (liberdade 2); • A liberdade de distribuir cópias de suas versões modificadas a outros (liberdade 3); • A comunidade pode se beneficiar de suas mudanças. • Acesso ao código-fonte é um pré-requisito.
  • 44.
    Referências • Introdução àInformática (H. L. Capron e J. A. Johnson) • Engenharia de Software (Pressman)