Tipos de Software Nome aluno: Lucas Braz R. Instituto Federal de Educação, Ciência e Tecnologia de São Paulo – Campus Presidente Epitácio 1 Sumário Introdução ................................................................................................................................... 3 Tipos de Software........................................................................................................................ 4 Software Aplicativo..................................................................................................................... 4 Software de sistema..................................................................................................................... 5 Software Livre…..........................................................................................................................7 Software Proprietário....................................................................................................................7 Software Freeware........................................................................................................................8 Software Shareware......................................................................................................................8 Software Demo.............................................................................................................................8 Software de Domínio Público.......................................................................................................8 Conclusão......................................................................................................................................9 Bibliografia.................................................................................................................................10 2 Introdução Software, logiciário ou suporte lógico é uma sequência de instruções a serem seguidas e/ou executadas, na manipulação, redirecionamento ou modificação de um dado/informação ou acontecimento. Software também é o nome dado ao comportamento exibido por essa seqüência de instruções quando executada em um computador ou máquina semelhante além de um produto desenvolvido pela Engenharia de software, e inclui não só o programa de computador propriamente dito, mas também manuais e especificações. Para fins contábeis e financeiros, o Software é considerado um bem de capital.[1] Este produto passa por várias etapas como: análise econômica, análise de requisitos, especificação, codificação, teste, documentação, Treinamento, manutenção e implantação nos ambientes.[ 3 Tipos de Software Software aplicativo Software aplicativo é um programa de computador que tem por objetivo ajudar o seu usuário a desempenhar uma tarefa específica, em geral ligada a processamento de dados. Sua natureza é diferente de outros tipos de software, como sistemas operacionais e ferramentas a eles ligadas, jogos e outros softwares lúdicos. Exemplos: Navegador web (Internet Explorer, Google Chrome, Mozilla Firefox, Opera, etc.); Janela do Firefox 4.0 no Ubuntu Janela do Google Chrome no Ubuntu Utilizados para acessar a internet e seu conteúdo. Antigamente funcionavam apenas como visualizador de mídia mas agora podem ser utilizados para jogos, edição de textos 4 e demais serviços na nuvem. Os mais famosos são o Internet Explorer da Microsoft, o Firefox da Mozilla e o Chrome do Google. Correio eletrônico; Cliente de e-mails Thunderbird Aplicativos de gerenciamento e leitura de e-mails. Existem soluções pagas, como o Microsoft Outlook e soluções gratuitas como o Mozilla Thunderbird. Também existem soluções como o Mail do Macintosh que vem como parte do sistema. Software de sistema Software de sistema é um termo genérico referente aos programas de computador usados para iniciar e executar redes e sistemas de computador. Software de sistema contrasta com Software aplicativo que é a designação geral de programas de computador para realizar tarefas do utilizador. Software aplicativo podem possuir propósito geral (processamento de textos, navegadores de rede ...) ou específico (contabilidade, controle de carga, ...) e ferramentas de programação, como compiladores e ligadores, utilizados para traduzir e combinar código-fonte e bibliotecas em programas executáveis Um programa, desde sua criação em uma linguagem de alto nível, é manipulado por um grande conjunto de outros programas que traduzem seu código para linguagem de máquina 5 e controlam sua execução no computador. Este conjunto de programas recebe a denominação genérica de software de sistema e é o objeto de estudo deste texto. No desenvolvimento de programas, o software de sistema é extensamente utilizado, com as várias etapas inter-relacionadas para a criação e execução de um programa (Fig. 1.7). Tipicamente, esse relacionamento dá-se de forma transparente para o programador. Programas são usualmente descritos em linguagens de alto nível. O compilador é o programa do sistema que traduz um programa descrito através de uma linguagem de alto nível específica para um programa equivalente em linguagem assembly. Esse processo de tradução é denominado compilação. O montador (assembler) é o programa do sistema responsável por traduzir um programa assembly para o código de máquina. Esse processo de tradução de um programa-fonte assembly para um programa em código de máquina é denominado montagem; o resultado da montagem é um módulo objeto contendo pelo menos o código binário que será posteriormente executado. Programas complexos raramente são descritos através de um único arquivo-fonte, mas sim organizados em módulos objetos interrelacionados. Tais módulos podem agregar funcionalidades da aplicação sendo desenvolvida ou recursos comuns do sistema que devem ser integrados à aplicação. O programa do sistema ligador é o responsável por interligar os diversos módulos de um programa para gerar o programa que será posteriormente carregado para a memória. Essa etapa de preparação de um programa para sua execução é denominada ligação. Para que um programa possa ser executado, seu código de máquina deve estar presente na memória. O carregador é o programa do sistema responsável por transferir o código de máquina de um módulo objeto para a memória e encaminhar o início de sua execução. O processo de transferir o conteúdo de um módulo objeto para a memória principal é denominado carregamento. A execução de qualquer programa deve ser precedida por seu carregamento. Figura: Etapas para execução de programa. A execução de cada programa se dá sob o controle do sistema operacional. A um programa em execução dá-se o nome de processo. Além das instruções do programa, um processo necessita de todo um conjunto de informações adicionais para o controle de sua execução. O estado corrente dessas informações associadas a cada programa em execução constitui o estado do processo. O sistema operacional é o responsável por gerenciar cada processo no computador, estabelecendo como será realizada sua execução. Ele também atua como um 6 programa supervisor que estabelece uma camada de controle entre o hardware do computador e as aplicações de usuários. Uma de suas funções é estabelecer uma interface de software uniforme entre o computador, outros programas do sistema e programas de aplicação de usuários. Outra função fundamental de um sistema operacional é gerenciar os recursos de um computador de forma a promover sua eficiente utilização. Exemplos de sistemas operacionais são MS-DOS, Windows NT, OS/2, Linux e Solaris -- estes dois implementações do sistema operacional Unix. Software Livre Software Livre, software de código aberto ou software aberto é qualquer programa de computador cujo código-fonte deve ser disponibilizado para permitir o uso, a cópia, o estudo e a redistribuição. O conceito de livre ou aberto se opõe ao conceito de software restritivo (software proprietário), mas não ao software que é vendido com intenção de lucro (software comercial). Ao distribuir o software livre, o detentor dos direitos deve escolher uma licença de software livre que normalmente é anexada ao código-fonte. Esta licença informará quais os direitos que o autor estará transferindo e quais as condições que serão aplicadas. Software Proprietário Software proprietário ou não livre é aquele cuja cópia, redistribuição ou modificação são em alguma medida restritos pelo seu criador ou distribuidor. A expressão foi cunhada em oposição ao conceito de software livre. O termo "proprietário" é uma tradução equivocada do inglês "proprietary", que tem o sentido de "pertencente a um proprietário", "particular", "registrado". Aplicando-se o termo a software, a tradução mais apropriada talvez seria "patenteado". Normalmente, a fim de que se possa utilizar, copiar, ter acesso ao código-fonte ou redistribuir, deve-se solicitar permissão ao proprietário, ou pagar para poder fazê-lo: será necessário, portanto, adquirir uma licença. Alguns dos mais conhecidos softwares proprietários são o Microsoft Windows, o Microsoft Office, o RealPlayer, o Adobe Photoshop, o Mac OS, o WinZip, algumas versões do Unix, entre outros. 7 Software freeware Software freeware é qualquer programa de computador cuja utilização não implica o pagamento de licenças de uso ou royalties. É importante não confundir o free de freeware com o free de free software, pois no primeiro uso o significado é de gratuito, e no segundo de livre. Um programa licenciado como freeware não é necessariamente um software livre, pode não ter código aberto e pode acompanhar licenças restritivas, limitando o uso comercial, a redistribuição não autorizada, a modificação não autorizada ou outros tipos de restrições. O freeware diferencia-se do shareware, no qual o usuário deve pagar para acessar a funcionalidade completa ou tem um tempo limitado de uso gratuito. Software shareware Shareware é um programa de computador disponibilizado gratuitamente, porém com algum tipo de limitação. Sharewares geralmente possuem funcionalidades limitadas ou tempo de uso gratuito do software limitado, após o fim do qual o usuário é requisitado a pagar para acessar a funcionalidade completa ou poder continuar utilizando o programa. Um shareware está protegido por direitos autorais. Esse tipo de distribuição tem como objetivo comum divulgar o software, assim os usuários podem testá-lo antes da aquisição. Software Demo Os Software demo são versões dos programas normais que não apresentam toda a sua funcionalidade. Muitas vezes estes programas funcionam apenas como apresentação ou demonstração do programa completo, daí o seu nome. Geralmente os programas demo são usados para jogos, a sua utilidade consiste em permitir que o usuário conheça a interface e as principais características do programa antes de adquiri-lo. Software de domínio público Software de dominio publico o autor abdica de todos os direitos sobre o seu produto e não reclama direitos autorais. 8 Conclusão Software, logiciário ou suporte lógico é uma sequência de instruções a serem seguidas e/ou executadas, na manipulação, redirecionamento ou modificação de um dado/informação ou acontecimento. Software também é o nome dado ao comportamento exibido por essa seqüência de instruções quando executada em um computador ou máquina semelhante. Software também é um produto e é desenvolvido pela Engenharia de software, e inclui não só o programa de computador propriamente dito, mas também manuais e especificações. Para fins contábeis e financeiros, o Software é considerado um Bens de capital. Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um programa correto e funcional, essa sequência segue padrões específicos que resultam em um comportamento desejado Um programa pode ser executado por qualquer dispositivo capaz de interpretar e executar as instruções de que é formado. 9 Bibliografia http://forum.pcproject.com.br/software-de-dominio-publico-x-software-livre/11462 http://pt.wikipedia.org/wiki/Software http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node9.html 10