CONCEITOS DE SOFTWARE Prof. Erion Monteiro PENSAMENTO DO DIA “Imagine uma nova história para a sua vida e acredite nela!” Paulo Coelho O QUE É SOFTWARE? É o produto que os engenheiros de software projetam e constroem. Abrangem programas que executam em computadores de qualquer tamanho e arquitetura, documentos que incluem formas impressas e virtuais e dados que combinam números e texto, mas também incluem representações de informação em figuras, em vídeo e em áudio. APLICAÇÕES DE SOFTWARE ::. SOFTWARE DE SISTEMAS É uma coleção de programas escritos para servir outros programas. Por exemplo: compiladores, drivers de dispositivos, sistemas operacionais e BIOS. Também são conhecidos como Software Básico. Windows e Linux são software básicos, assim como qualquer outro sistema operacional. APLICAÇÕES DE SOFTWARE ::. SOFTWARE COMERCIAL Processamento de informação comercial é a maior área de aplicação de software. P. Ex.: folha de pagamento, contas a pagar/receber, controle de estoque, gerenciamento de pessoal. Estes programas evoluíram para os chamados SGI – Sistemas de Gestão da Informação, muitas vezes tratados simplesmente como Sistemas de Informação. APLICAÇÕES DE SOFTWARE ::. SOFTWARE EMBUTIDO Produtos inteligentes tornaram-se comuns em praticamente todo o mercado consumidor e industrial. Software embutido reside situado nas memórias ROM. Podem realizar funções muito limitadas e particulares, por exemplo, controle de um forno micro-ondas, painel digital de um carro, ajustes de um aparelho televisor, inicialização de um microcomputador. É o mesmo que Firmware! APLICAÇÕES DE SOFTWARE ::. SOFTWARE PARA PC Esse mercado de software explodiu nas últimas duas décadas. Processadores de texto, planilhas eletrônicas, aplicações gráficas, multimídia, entretenimento, gestão de base de dados, aplicações financeiras pessoais e comerciais, rede são apenas algumas das centenas de aplicações possíveis. Software para PC envolve os Sistemas Operacionais, que já vimos na categoria de software básico, além de outros conhecidos como Aplicativos e Utilitários. APLICAÇÕES DE SOFTWARE ::. SOFTWARE PARA WEB As páginas Web apresentadas por um browser constituem software que incorpora instruções executáveis (p. ex. CGI, HTML, Perl ou Java) e dados de hipertexto, além de uma variedade de formatos visuais e de áudio. Em resumo, a rede mundial se transforma num grande computador que fornece recursos quase ilimitados de software que pode ser acessado por qualquer um que tenha um modem. PROGRAMAÇÃO ::. DESENVOLVIMENTO DE SOFTWARE O programa é escrito em Linguagem de Programação ou diretamente em Linguagem de Máquina. São exemplos de linguagem de programação: Java, C, C++, Delphi, Python, PHP, C♯, Visual Basic, .NET, Perl, Ruby, Lisp, Kylix, Pascal, Cobol, Fortran, dentre centenas de outras. PROGRAMAÇÃO ::. DESENVOLVIMENTO DE SOFTWARE O programador escreve o Código Fonte e posteriormente este irá gerar um Código de Máquina (binário) que será executado pelo Processador. PROGRAMAÇÃO ::. DESENVOLVIMENTO DE SOFTWARE DISTRIBUIÇÃO ::. SOFTWARE LIVRE Segundo a definição criada pela FSF - Free Software Foundation é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído com algumas restrições. Conceito defendido pelo Governo Federal, divulgado pela Presidência da República no sítio www.softwarelivre.gov.br. http://www.softwarelivre.gov.br/tire-suas-duvidas/o-que-e-software-livre PRINCÍPIOS BÁSICOS DO ::. SOFTWARE LIVRE 1. 2. 3. 4. A liberdade de executar o programa, para qualquer propósito; A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. O acesso ao código-fonte é um pré-requisito para esta liberdade; A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo; A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie deles. O acesso ao códigofonte é um pré-requisito para esta liberdade. PRINCÍPIOS BÁSICOS DO ::. SOFTWARE LIVRE CUIDADO! Ainda é muito difundido o conceito de que: Software livre é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. DISTRIBUIÇÃO ::. SOFTWARE LIVRE DISTRIBUIÇÃO ::. FREEWARE São os softwares gratuitos. Você pode utilizálos livremente que não terá que pagar nada por isso. Mas, seu código fonte não é disponibilizado. Não podem ser classificados como Software Livre. DISTRIBUIÇÃO ::. SHAREWARE São disponibilizados para uso gratuito por um determinado período de tempo. Logo após esse período, o usuário deve decidir se realmente quer comprá-lo. Esse período de tempo chamase período de avaliação e após seu término o software perde suas funcionalidades. Gratuito para testar. DISTRIBUIÇÃO ::. DEMO Software distribuído como "demonstração“. Trata-se de uma fração de um produto maior, lançado com a intenção de dar a oportunidade de o produto ser avaliado por possíveis clientes. O termo é bastante usado nos contextos dos games. DISTRIBUIÇÃO ::. TRIAL São distribuídos a título de demonstração. Mas possui limitações, ou seja, parte de seus recursos não são disponibilizados. Por exemplo: podem não salvar, imprimir ou exportar os trabalhos realizados. Não possui prazo para expirar. DISTRIBUIÇÃO ::. ADWARE Abreviação para advertising-supported software – são programas suportados por propagandas, assim como sites. Ou seja, a condição para manter o programa em funcionamento é também manter a propaganda ativa (normalmente um banner no navegador de Internet). . DISTRIBUIÇÃO ::. PAYWARE O termo refere-se ao software desenvolvido por uma empresa com o objetivo de lucrar com sua utilização (Software Comercial). ::. SOFTWARE PROPRIETÁRIO É aquele cuja cópia, redistribuição ou modificação são em alguma medida proibidos pelo seu proprietário. Não disponibilizam o Código Fonte. DISTRIBUIÇÃO ::. PLUGIN Também conhecido por plug-in, add-in, add-on São programas que agregam funcionalidades a outros programas já instalados no computador. Muito utilizado em navegadores de Internet. DISTRIBUIÇÃO ::. GADGETS Pequeno software, módulo, ferramenta ou serviço que pode ser agregado a um ambiente maior. Possui função específica, acrescentando funcionalidades ao sistema. DISTRIBUIÇÃO ::. VERSÃO BETA É a versão de um software que ainda se encontra em fase de desenvolvimento e testes. Podem ser distribuídos e popularizados bem antes de sair a versão final. Na prática, sempre que um programa é lançado em versão Beta, significa que o próprio desenvolvedor admite que o programa ainda não está pronto e pode ter problemas, porém já está em um nível pronto para a utilização, mesmo que sem nenhuma garantia. DISTRIBUIÇÃO ::. SOFTWARE EM DOMÍNIO PÚBLICO Oficialmente, um software é considerado de domínio público quando se passam os anos previstos nas leis de cada país de proteção dos direitos autorais e este se torna bem comum. Como estes anos pode significar várias décadas, tornando impraticável o uso do software, o que se vê na prática é que quando o autor relega seus direitos autorais, o software se torna de domínio público. Ou seja, é software sem copyright. DISTRIBUIÇÃO ::. SOFTWARE PÚBLICO BRASILEIRO O Software Público Brasileiro (SPB) é um conceito que há alguns anos vem sendo mencionado no âmbito do poder executivo federal, para se referir a um repositório de softwares livres cujas aplicações são de interesse público, mantido pelo Ministério do Planejamento. Geralmente são programas desenvolvidos na esfera pública ou paraestatal. Disponível no site www.softwarepublico.gov.br LICENÇA Um acordo de licença de software é um contrato que define ações autorizadas (ou proibidas) no âmbito do direito de autor de um programa de computador concedidas (ou impostas) ao usuário deste software. Entendese por usuário qualquer entidade legal, empresas ou um "usuário final (doméstico). PRINCIPAIS LICENÇAS ::. EULA Acrônimo para End User License Agreement – é uma licença proprietária, usada em todos os produtos da Microsoft e também nos produzidos por outros fabricantes de software. PRINCIPAIS LICENÇAS ::. COPYLEFT É uma forma de usar a legislação de proteção dos direitos autorais com o objetivo de retirar barreiras à utilização, difusão e modificação de uma obra. Copyleft é uma cláusula da licença de software livre que estabelece as condições para que o software possa ser modificado e como será redistribuído após essas modificações PRINCIPAIS LICENÇAS ::. GPL A Licença Pública Geral é a licença que acompanha a maioria dos softwares livres, incluindo o núcleo do sistema operacional Linux. Ela foi criada para garantir que os programas licenciados por ela possam ser a qualquer momento modificados e redistribuídos. Ao mesmo tempo em que garante que ninguém impeça que o código fonte seja disponibilizado nas cópias redistribuídas. PRINCIPAIS LICENÇAS ::. BSD É uma licença considerada 'permissiva' porque impõe poucas restrições sobre a forma de uso, alterações e redistribuição do software licenciado. O software pode ser vendido e não há obrigações quanto a inclusão do código fonte, podendo o mesmo ser incluído em software proprietário. Esta licença garante o crédito aos autores do software mas não tenta garantir que trabalhos derivados permanecem como software livre. QUESTÕES (BADESC/2010) A respeito das características do software livre, analise as afirmativas a seguir. I. É disponibilizado com a permissão para qualquer um usá-lo, copiálo, e distribuí-lo, seja na sua forma original ou com modificações, seja gratuitamente ou com custo. II. É gratuito com a permissão para qualquer um usá-lo ou copiá-lo, exclusivamente na sua forma original, não podendo ser modificado. III.É freeware disponível com a permissão para qualquer pessoa usá-lo e modificá-lo, não podendo ser copiado ou distribuído. Assinale: a) se somente a afirmativa I estiver correta. b) se somente as afirmativas I e II estiverem corretas. c) se somente as afirmativas I e III estiverem corretas. d) se somente as afirmativas II e III estiverem corretas. e) se todas as afirmativas estiverem corretas. QUESTÕES (MEC/2009) É considerado software livre, aquele que atende à seguinte condição: a) software freeware disponível com a permissão para qualquer pessoa usá-lo, não podendo ser copiado ou distribuído. b) software shareware com licença gratuita de uso a órgãos de governo na sua forma original, não podendo ser copiado nem distribuído. c) software gratuito com a permissão para qualquer um usá-lo ou copiá-lo, exclusivamente na sua forma original, não podendo ser modificado. d) software licenciado pelo fornecedor, com custo reduzido e permissão exclusiva de uso, não podendo ser modificado e nem distribuído na sua forma original. e) software disponível com a permissão para qualquer um usá-lo, copiá-lo, e distribuí-lo, seja na sua forma original ou com modificações, seja gratuitamente ou com custo. QUESTÕES (MS/Ag. Administrativo/2008) Do ponto de vista da tecnologia da informação, os termos dado, informação e conhecimento são sinônimos. (MS/Ag. Administrativo/2008) Software básicos são software gratuitos ou livres que desempenham funções básicas como edição de textos e de planilhas eletrônicas. QUESTÕES (ADAGRI-CE/2009) Freeware são software sem qualquer proteção de direitos autorais, que podem ser utilizados sem restrição de uso e de código fonte. (ADAGRI-CE/2009) De acordo com o disposto a respeito do direito de uso, os software utilizados nos computadores para diversas finalidades operacionais podem ser de vários tipos de função, como, por exemplo, software proprietários, software comerciais, sharewares e freewares. QUESTÕES (PC-DF/Delegado/1998) Um sistema operacional é caracterizado como a) um programa utilitário que tem como função o gerenciamento de arquivos e de programas armazenados. b) um programa de sistema que tem como função o gerenciamento do hardware e do software da máquina, embora não forneça uma interface para usuários e programas aplicativos. c) um programa utilitário responsável pela operação dos recursos da máquina, fornecendo uma interface amigável de edição e de manipulação de documentos. d) um programa de sistema responsável pela gerência dos dados, fornecendo operações matemáticas sobre os dados e funções de totalizações. e) um programa de sistema, implementando a tradução dos comandos de operações em linha de texto ou via janelas e ícones, para comandos de baixo nível. QUESTÕES (PRF/2008) Com relação a software livres, suas licenças de uso, distribuição modificação, assinale a opção correta, tendo como referência as definições e os conceitos atualmente empregados pela Free Software Foundation. a) Todo software livre deve ser desenvolvido para uso por pessoa física em ambiente com sistema operacional da família Linux, devendo haver restrições de uso a serem impostas por fornecedor no caso de outros sistemas operacionais. b) O código-fonte de um software livre pode ser adaptado ou aperfeiçoado pelo usuário, para necessidades próprias, e o resultado de aperfeiçoamentos desse software pode ser liberado e redistribuído para outros usuários, sem necessidade de permissão do fornecedor do código original. c) Toda licença de software livre deve estabelecer a liberdade de que esse software seja, a qualquer momento, convertido em software proprietário e, a partir desse momento, passem a ser respeitados os direitos de propriedade intelectual do código-fonte do software convertido. QUESTÕES d) Quando a licença de um software livre contém cláusula denominada copyleft, significa que esse software, além de livre, é também de domínio público e, dessa forma, empresas interessadas em comercializar versões não-gratuitas do referido software poderão fazê-lo, desde que não haja alterações nas funcionalidades originais do software. e) Um software livre é considerado software de código aberto quando o seu código-fonte está disponível em sítio da Internet com designação .org, podendo, assim, ser continuamente atualizado, aperfeiçoado e estendido às necessidades dos usuários, que, para executá-lo, devem compilá-lo em seus computadores pessoais. Essa característica garante a superioridade do software livre em face dos seus concorrentes comerciais proprietários QUESTÕES (PERITO CRIMINAL/ 2007) Analise as afirmativas relacionadas ao uso de softwares livres e softwares de domínio público e assinale a alternativa correta. I – O software livre, quando utilizado em combinação com licenças típicas (como as licenças GPL e BSD), garante a autoria do desenvolvedor ou da organização. II – A liberdade de copiar, modificar e redistribuir software livre depende de que este seja gratuito. III – Um software de domínio público torna-se um bem disponível para toda a comunidade, garantindo a autoria da propriedade do programa. IV – Torna-se necessária a autorização do autor ou do distribuidor de software livre para que ele possa ser redistribuído. (A) Todas as afirmativas estão erradas. (B) Há apenas uma afirmativa certa. (C) Há apenas duas afirmativas certas. (D) Há apenas três afirmativas certas. (E) Todas as afirmativas estão certas. QUESTÕES (TÉCNICO PENITENCIÁRIO 2008) Assinale a alternativa correta de acordo com os conceitos relativos a softwares livres. (A) Softwares livres relacionam-se com a liberdade dos usuários de executar, copiar redistribuir e estudar os programas sem necessidade de receber permissão do fornecedor; mas, para modificar e melhorar, há necessidade de permissão. (B) Softwares livres relacionam-se com a liberdade dos usuários de executar e copiar redistribuir e estudar os programas sem necessidade de receber permissão do fornecedor; mas, para modificar e melhorar, há necessidade de permissão. (C) Softwares livres relacionam-se com a liberdade dos usuários de executar, copiar, redistribuir, estudar, modificar e melhorar os programas sem necessidade de receber permissão do fornecedor. QUESTÕES (D) Softwares livres relacionam-se com a liberdade dos usuários de executar e estudar os programas sem necessidade de receber permissão do fornecedor; mas, para copiar, redistribuir, modificar e melhorar, há necessidade de permissão. (E) Softwares livres relacionam-se com a liberdade dos usuários de executar, copiar e estudar os programas sem necessidade de receber permissão do fornecedor; mas, para modificar e melhorar, há necessidade de permissão. QUESTÕES (Auditor Fiscal do Trabalho/2009) A exemplo do Linux, um software é denominado livre, quando é possível usá-lo sem precisar pagar. Nesse tipo de software, não se tem acesso ao seu código fonte, não sendo possível alterá-lo ou simplesmente estudá-lo. Somente pode-se usá-lo, da forma como ele foi disponibilizado. QUESTÕES (PAPILOSCOPISTA 2007) A maioria das licenças usadas na publicação de software livre permite que os programas sejam modificados e redistribuídos. Estas práticas são geralmente proibidas pela legislação internacional, que tenta justamente impedir que alterações e cópias sejam efetuadas sem a autorização do(s) autor(es). Que nome se dá às licenças que acompanham o software livre e fazem uso da legislação para impedir utilização não-autorizada, definindo clara e explicitamente as condições sob as quais cópias, modificações, bem como garantindo as liberdades de modificar e redistribuir o software assim licenciado? (A) Licença de domínio público (B) copyleft. (C) copyright. (D) freeware. (E) EULA QUESTÕES (CAESB/2005) Sobre as modalidades de licenciamento de software, assinale a alternativa correta: a. Legalmente só é permitida a utilização de programas “freeware” para pessoas físicas ou instituições sem fins lucrativos. b. Grandes empresas, que adquirem programas pela modalidade de licenciamento “payware” podem fazer a instalação dos programas nas filiais da empresa com as mesmas licenças adquiras para a sede da matriz c. Programas da categoria “Open Source” são aqueles cujo autor libera aos usuários não só o direito de usar gratuitamente o programa, mas também seu estudo e modificação do código-fonte. d. Qualquer programa licenciado pela modalidade “Shareware” pode ser copiado e instalado em qualquer computador, sem que haja pagamento de licenças ao autor. e. Programas obtidos através de download da internet são considerados, automaticamente, programas “Open Source” e, por isso, de domínio público QUESTÕES (CEB/2004) Sobre as modalidades de licenciamento de software, assinale a alternativa correta: a) Softwares proprietários são programas em que o comprador tornase dono do software, mas somente quando este é adquirido legalmente numa loja, com a emissão de nota fiscal. b) Softwares piratas são programas importados, transportados em navios, por isso relacionados à idéia dos antigos navegadores piratas. c) Softwares livres são programas gratuitos, de livre distribuição e domínio público. Para sua utilização não é obrigatório um pagamento de licença ao autor. d) Software shareware são todos os programas compartilhados que, quando instalados em um servidor, podem ser utilizados em vários computadores de forma compartilhada. e) Um software proprietário pode ser copiado e distribuído livremente, desde que não seja para fins comerciais. QUESTÕES (MTur/Ag. Administrativo/2010) A forma de distribuição de software que permite copiar, distribuir sem restrições e usar experimentalmente por um determinado período, após o qual, para continuar o uso, é necessário pagar um valor que geralmente é pequeno em relação a outros softwares proprietários, é denominada a) freeware. b) litewaire. c) shareware. d) firmware. e) mallware. QUESTÕES (MJ/2009) Existem diversas categorias comerciais de software. Aquela que é disponibilizada, ainda não acabada, para avaliação e testes é chamada de uma versão de software A) Trial. B) Freeware. C) ShareWare. D) Demo. E) Beta. QUESTÕES (TRF-4ª Região/2007) Em relação à Internet, I. Plugins são programas que adicionam funções auxiliares ao navegador. II. Certificado Digital destina-se a garantir a procedência, o conteúdo e a segurança das informações. III. site é um conjunto de arquivos na Internet denominados homepage. IV. o Supervisor de Conteúdo é um serviço de classificação que impede o usuário de acessar sites não liberados. É correto o que consta APENAS em a) II, III e IV. b) I, II e IV. c) I, II e III. d) I e III. e) II e IV. QUESTÕES (Auditor Fiscal do Trabalho/2003) - Analise as seguintes afirmações relativas à liberdade dos usuários de um Software livre. I. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades, exceto alteração no código-fonte. II. A liberdade de executar o programa, para qualquer propósito. III. A liberdade de utilizar cópias de modo que se possa ajudar outros usuários, sendo vedada a redistribuição. IV. Aquele que redistribuir um software GNU poderá cobrar pelo ato de transferir uma cópia ou poderá distribuí-las gratuitamente. Indique a opção que contenha todas as afirmações verdadeiras. a) I e II b) II e III c) III e IV d) I e III e) II e IV