SOFTWARE: Conceito, tipos de software e utilização na Educação

Artigo pubicado em 15-06-2021.

Autor: Douglas Alves do Espirito Santo

www.tecnologiaeducacao.com.br

Resumo. O software é um artefato essencial na vida moderna e sem ele não teríamos chegado à evolução tecnológica atual. Esse artigo visa conceituar software e descrever os tipos de software mais comuns. Também, explicitar como o software pode ser utilizado na educação para melhorar o processo de ensino e aprendizagem, além de fazer uma breve análise sobre o impacto da utilização do software na sociedade atual e futura.

INTRODUÇÃO

Antes de explanar sobre o conceito de software e os tipos existentes é importante entender sua função na sociedade atual. Estamos vivenciando a utilização intensa da internet pelas pessoas em todo mundo; sendo utilizada para diversos fins, essa rede mundial é composta, entre outras tecnologias, de software. Muitos equipamentos médicos, televisores, GPS, computadores, tablets, notebooks, celulares, satélites, aviões, carros e demais veículos automotores, redes de distribuição de energia elétrica ou nuclear e até mesmo fornos micro-ondas, são exemplos de equipamentos que dependem de software para funcionar. Dada sua importância, esse artigo prossegue com a conceituação de software, seus tipos e como ele pode ser utilizado na educação.

CONCEITO DE SOFTWARE

Trazendo a palavra software à tona, é um termo inglês, cunhado pelo estatístico americano “John Wilder Tukey” em 1958 (AMORIM, 2015). SOFT significa algo macio, suave, amigável ou cordial, enquanto WARE significa produto manufaturado ou comercial. Faz diferenciação a Hardware, outro termo da língua inglesa, onde HARD significa “duro”, “palpável”.

Software é um termo técnico de TI (Tecnologia da Informação), traduzido para língua portuguesa como suporte lógico, ou seja, uma sequência de instruções que são executadas na manipulação, redirecionamento ou modificação de uma informação ou acontecimento (Wikipedia, 2021).

Em sua forma mais direta, software pode ser conceituado como um conjunto de instruções, criadas numa linguagem de programação, que visam realizar uma tarefa específica. A tarefa que o software foi programado para realizar, visa a rapidez, normalmente inviável ao ser humano. O software pode também automatizar tarefas repetitivas, enfadonhas e sujeitas a erros.

O software é um conjunto de instruções, logo, ele é criado para ser utilizado num hardware específico. O hardware, a exemplo dos equipamentos citados na introdução, normalmente possuem um processador, entre outros componentes eletrônicos; o processador é capaz de ler e decodificar tais instruções, executando-as na sequência em que foram escritas, a fim de realizar a tarefa que se propõe.

O software é criado utilizando-se uma linguagem de programação legível ao ser humano. Para esclarecer melhor, tomaremos o computador como exemplo. O computador é uma máquina física, feita de componentes eletrônicos que se comunicam, e estão acomodados dentro do gabinete. Esses componentes físicos, chamados de Hardware (parte física, palpável), não são capazes de realizar nenhuma tarefa se não existir um software básico, chamado Sistema Operacional (SO) (Ex. Windows, Linux, Mac OS, Android, etc.). As instruções existentes no SO são lidas e decodificadas pelo processador do computador, e o que visualizamos no monitor é uma interface gráfica, legível a nós, humanos, para que possamos entender, utilizar o computador e ver o resultado das computações.

trecho de código fonte escrito em javascript
Trecho de código escrito na linguagem Javascript
Fonte: Autor.

O SO é um software, e a linguagem de programação também; ambos são escritos utilizando-se alguma outra linguagem de programação. Assim o software, ou programa de computador, é criado por um programador, utilizando uma linguagem de programação legível ao ser humano, que após compilado ou interpretado para hardware especifico, realiza a tarefa proposta. De forma geral, o software não é escrito por um único programador, necessitando de uma equipe multidisciplinar, devido à complexidade inerente a tarefa de produzi-lo.

Para ser compilado ou interpretado pela máquina alvo (em nosso exemplo o computador), é necessário um compilador ou um interpretador, que por sua vez, são softwares específicos para esse propósito. Só após ser compilado ou interpretado para a máquina alvo, é que o conjunto de instruções pode ser executado, realizando a tarefa programada no software.

Para esclarecer o que seriam essas instruções, faremos uma analogia com o cotidiano. imagine a seguinte situação: Alguém pretende realizar a tarefa de tomar um banho. Para tanto, precisa realizar as seguintes etapas:

  • 1. Entrar no banheiro;
  • 2. Retirar toda roupa;
  • 3. Adentrar o box;
  • 4. Ligar o chuveiro;
  • 5. Molhar-se;
  • 6. Utilizar shampoo e sabonete para se lavar;
  • 7. Enxaguar-se para remover o sabão;
  • 8. Desligar o chuveiro;
  • 9. Enxugar-se na toalha;
  • 10. Sair do box;
  • 11. Vestir-se.

Observe que cada passo realizado acima deve ser feito na sequência em que foi escrito. Caso a pessoa resolva realizar o passo 7 (Enxaguar-se para remover o sabão), após o passo 11 (Vestir-se), ele ficaria com a roupa toda molhada. Assim, as instruções de um software, podem ser comparadas aos passos do exemplo, ou seja, são executadas na ordem que foram escritas. Os passos são realizados por um hardware específico, e na analogia, esse hardware é um ser humano. Voltando ao exemplo do computador, e tendo em vista a analogia feita, um Macintosh não seria capaz de utilizar o Sistema Operacional Windows, pois seu hardware não foi projetado para utilizar as instruções desse sistema, assim como uma outra espécie não tomaria banho da mesma forma que um humano.

O software visa realizar uma tarefa, eventualmente, repetitiva e enfadonha, de forma mais rápida que o ser humano. Para evidenciar essa rapidez, usarei de exemplo um software que calcula a folha de pagamento de uma grande empresa, com mais de dez mil funcionários. Imagine-se realizando o mesmo cálculo, contabilizando impostos, direitos trabalhistas, 13º salário, férias, etc., e, posteriormente, anotando os dados em planilhas feitas em papel, para que cada um dos funcionários receba seu pagamento corretamente e em dia. Provavelmente, uma pessoa sozinha não conseguiria fazer isso num único mês.

De outra forma, um software de folha de pagamento, devidamente programado para realizar os cálculos para essa empresa, faria isso em segundos, gerando as planilhas – folha de pagamento - automaticamente, de forma que cada funcionário poderia receber a sua impressa, ou consultar no site interno da empresa (Intranet). Detalhado o conceito vamos aos tipos de software.

CLASSIFICAÇÃO DOS SOFTARES

De forma geral o Software pode ser classificado em Básico e Aplicativo. Com base nessa classificação, os softwares Básicos fariam o interfaceamento entre a máquina que se está instalado e os softwares aplicativos. O SO (sistema Operacional) é um exemplo clássico de software Básico. Em seu núcleo existem diversas rotinas para acesso ao hardware do computador ou máquina em utilização. Já um Software Aplicativo visa resolver ou realizar uma tarefa específica para o usuário da máquina. Um editor de texto é um software aplicativo que possibilita a criação de textos pelo usuário, possibilitando que faça isso de forma rápida, sem precisar de lápis, caneta ou papel. Ainda, o usuário pode salvar o arquivo e consulta-lo ou imprimi-lo quando quiser.

código
Software aplicativo. Player para áudio e vídeo- VCL
Fonte: Autor.

A diferença essencial entre um software Básico e um Aplicativo, é que o Aplicativo auxilia o usuário a realizar uma ou mais tarefas do seu cotidiano, enquanto o software Básico “administra” o hardware possibilitando que o software Aplicativo seja utilizado. O que isso quer dizer? Que não é o Aplicativo, no caso o editor de texto, quem salva diretamente o arquivo no HD (Disco Rígido) do computador, mas o SO. O editor texto, por sua vez, apresenta uma interface gráfica, onde o usuário pode nomear o arquivo e escolher o local onde será armazenado; entretanto, para salvar o arquivo, chama uma rotina do núcleo do sistema operacional.

Estendendo a discussão acima, é possível entender porque um aplicativo criado para Windows, por exemplo, não funciona no Linux. Os aplicativos são criados e compilados para serem usados num SO específico. Conforme explicado anteriormente, o código fonte do editor utilizado no Windows foi compilado para ser utilizado nesse sistema. Para que funcionasse no Linux, tal conjunto de instruções teriam que sofrer ajustes e ser compilado para ser executado nesse outro sistema. Para ratificar o explanado, observe que não é possível usar o pacote Microsoft Office no Linux. Essa suíte de programas de escritório foi criada para Windows, logo nem mesmo seria possível sua instalação nesse último.

DETALHANDO A CLASSIFICAÇÃO

É possível fazer uma classificação mais detalhada dos softwares, até mesmo pela diversidade e variedade existente. Não é uma classificação estritamente técnica, conforme é feito na área da Ciência da Computação, mas uma classificação mais acessível ao público em geral. Assim, consta no site UNIVERSIDADE DA TECNOLOGIA uma classificação conforme enumerada abaixo:

  • Software de Sistema ou software Básico;
  • Software aplicativo;
  • Software de Engenharia ou Científico;
  • Software Embutido;
  • Aplicações WEB;
  • Software de inteligência artificial.

Software de Sistema ou software Básico

Voltando a questão do software de sistema, podemos aumentar o leque dessa categoria, não reduzindo-a apenas aos SOs. A exemplo da impressora, que apesar de ser um acessório que realiza, basicamente, impressão, trata-se de um hardware totalmente separado do computador, comunicando-se com ele através de uma interface USB ou Serial. Essas impressoras também possuem um Software Básico, que visa prover essa comunicação e permitir que ocorram a impressões. Basta lembrar que ao comprar uma impressora nova, vem um DVD com o Software para ser instalado. Observando o DVD, ele tem versões do software para os diferentes sistemas operacionais – normalmente o Windows, Linux e Macintosh.

código
Tela do sistema operacional Linux – Ubuntu
Fonte: pixabay.com/pt/vectors/ubuntu-desktop-sistema-operacional-3344434

Outro software básico é um Driver de dispositivo. Em geral, eles fazem a interface entre o dispositivo e o sistema operacional. Para se ter ideia da importância dos drivers de dispositivos, quando se conecta um mouse, ou um roteador wifi na porta USB do computador, o sistema operacional verifica se existe um driver para que esse dispositivo funcione. Caso não exista, normalmente, pode ser instalado do DVD que vem junto com o periférico, ou, baixado da internet. Apesar de ter citado o mouse, tal dispositivo, normalmente, é reconhecido automaticamente pelo SO, já que existem drivers pré-instalados para diversos modelos de mouse. Da mesma forma ocorre com os teclados. Entretanto, a descrição desse detalhe ajuda a entender que, de forma geral, tudo que está conectado no computador, interna ou externamente, necessita de um driver para seu funcionamento, mesmo um simples mouse.

Software Aplicativo

Atualmente, com a explosão de aplicativos para Smartphones esse termo tornou-se bastante conhecido. E, independentemente de ser um aplicativo para celular ou computador, tal software, visa atender uma necessidade especifica do usuário. Os Smartphones são capazes de executar Aplicativos, não sendo mais utilizados apenas para fazer ligações; portanto, tomemos essa modalidade de hardware para ser nossa máquina alvo.

Você pode estar se perguntando o porquê de um celular ser uma máquina alvo, e a explicação é simples: os Smartphones seguem, certo modo, a mesma arquitetura de um computador pessoal. Eles possuem um processador, memória volátil e física, uma placa básica, similar a placa mãe dos computadores e um SO pré-instalado.

Grande parte dos Smartphones possuem o Android como sistema operacional, mas não todos. E, independente do sistema operacional suportado pelo celular, nota-se que eles trazem alguns aplicativos pré-instalados, para possibilitar que o usuário utilize todas ou a maioria de suas funcionalidades. Fora isso, normalmente, o usuário acessa uma loja virtual de aplicativos, que podem ser pagos ou gratuitos, e o sistema os instala baixando diretamente dessa loja.

Assim, pode-se utilizar Antivírus, Firewall, WhatsApp e outros aplicativos de redes sociais, players de música, editores de texto, leitores de arquivos no formato pdf, jogos e muitos outros. Todos são softwares aplicativos, que na linguagem popular são chamados de App. De forma similar, os pacotes de escritório, navegadores, e aplicativos já citados para celular, também podem ser instalados no computador.

Software de Engenharia ou Científico

Tais softwares são voltados para resolver problemas de engenharia ou que envolvam problemas científicos em geral. Podem fazer cálculos, auxiliar na construção de protótipos para as engenharias, fazer previsões de tempo, previsão de desastres naturais, terremotos, tsunamis, ou simplesmente previsões de tempo, conforme são noticiados nos jornais diariamente; ainda, podem realizar mapeamento genético, ter utilidade na astronomia, na física e na matemática.

Software embutido

São uma categoria estreitamente ligada ao hardware na qual funcionam. Televisores, novamente os Smartphones, fornos micro-ondas, etc., possuem dispositivos eletrônicos com o software embutido, ou seja, funcionando diretamente sob o hardware em questão; esse tipo de software não pode ser instalado separadamente, já que o software foi criado para funcionar apenas no hardware específico.

Muitas industrias necessitam desse tipo de software, pois suas máquinas realizam tarefas ou controlam sistemas vitais para o funcionamento da empresa. Dessa forma, o hardware adquirido para essas finalidades específicas já possui o software embutido. Também, equipamento médicos, que controlam os sinais vitais de um paciente internado numa UTI, já possui o software embutido. Isso é necessário, pois as empresas que desenvolvem tais equipamentos necessitam embutir o software no hardware. A propósito, nenhuma empresa correria o risco de vender equipamento médico que pudesse falhar e causar a morte de um paciente. Ainda, alguns softwares desse tipo são denominados de tempo real, pois não permitem “atrasos” nas respostas; eles são extensivamente testados, e ao funcionar diretamente sobre o hardware são extremamente rápidos.

Software de produtos e de prateleira

São softwares voltados para atender à necessidade de alguns profissionais, empresas e usuários em geral. São criados por empresas especializadas em software, podendo atender um ramo específico. São exemplos os softwares de folha de pagamentos, de contabilidade, pacotes para utilização em consultórios médicos, suítes de escritório, softwares de segurança, para controle de estoque, Jogos offline – que precisam ser instalados no computador - players de músicas, entre muitos outros.

Dessa forma, são softwares criados para uso geral, podendo ser instalados em diferentes sistemas e máquinas. A empresa cria o software e o comercializa num preço padrão para os usuários que desejam utilizá-los.

Aplicações WEB

São softwares que executam num servidor web servindo a diversas finalidades. Podem conter sites Web, aplicativos de chat, atendimento ao cliente, buscadores, realizar vendas online, leilões, etc. Alguns aplicativos Web são uniformes, como um software de prateleira. Ou seja, qualquer pessoa pode adquiri-los e instalá-los num servidor web.

Dentre as Aplicações Web dessa categoria convém destacar os AVAs (Ambientes Virtuais de Aprendizagem), como o Moodle; eles podem ser utilizados por instituições de ensino públicas ou privadas para oferecer cursos online. São customizáveis, podendo a instituição inserir sua logomarca, mudar cores, etc. Grande parte dos cursos de graduação e pós-graduação oferecidos na modalidade a distância utilizam algum Ambiente Virtual de Aprendizagem.

Nesses ambientes, cada aluno, após ser cadastrado (matriculado), pode acessar online as aulas, normalmente separadas por disciplinas; tais ambientes oferecem recursos de chat, troca de mensagens, atendimento aos alunos por e-mail, chat ou no momento da aula online. Podem ser inseridas instruções sobre as disciplinas, disponibilizados materiais para leitura, vídeos, links externos para leituras, avaliações, realizadas videoconferências, além de outras atividades educacionais.

AVA Moodle - tela de fórum
Tela do Ambiente Virtual Moddle mostrando o recurso de fórum
Fonte: docs.moodle.org/311/en/File:FeaturesForum.png

Software de inteligência artificial

São softwares que visam solucionar problemas complexos, normalmente não resolvíveis utilizando as técnicas de programação convencionais. São construídos utilizando-se linguagens de programação específicas, como Lisp, Prolog e Haskell. Entretanto, é preciso desmistificar a ideia de que tais programas são melhores e mais poderosos, ou mesmo, que maquinas ou robôs programados dessa forma seriam capazes de superar o ser humano. Como todo programa, o software de inteligência artificial realiza uma tarefa específica, e só é capaz de resolver os problemas para os quais foi programado. E, ainda, diferente dos filmes futurísticos, estão muito longe de aprender como os seres humanos ou “imitar” a complexidade de nossos cérebros.

UTILIZAÇÃO DO SOFTWARE NO AUXILIO DO PROCESSO DE ENSINO E APRENDIZAGEM

As TICs (Tecnologias de Informação e Comunicação), principalmente com o advento, a disseminação e acesso à internet por mais pessoas, possibilitaram usar softwares na educação. Anteriormente foi discutido como os ambientes virtuais de aprendizagem podem ser utilizados na educação, ampliando o acesso das pessoas a informação e formação formal. Entretanto, essa não é a única forma de se utilizar o software na educação.

O uso do software, criado ou não especificamente com fins educativos, pode acelerar o processo de aprendizagem dos alunos. Não visa substituir o ensino formal instituído, mas atuar como um complemento; são um “aparato” a mais, tanto para professores, quanto para alunos, na realização do ensino e aprendizagem.

Essa assertiva é tão forte, que MEC (Ministério da Cultura e Educação) criou o programa ProInfo, com intuito de introduzir as Tecnologias de Informação e Comunicação nas escolas públicas. Muitas redes públicas de ensino criaram a disciplina Tecnologia Educacional, que visa a utilização das TIC’s (Tecnologias de Informação e comunicação) no processo de ensino e aprendizagem. Verbas e equipamentos foram disponibilizados através do ProInfo, para que essa inserção se tornasse realidade. Ainda, o MEC disponibiliza diversos materiais de apoio para auxiliar professores e alunos. Num deles, pude extrair alguns tipos de softwares que podem ser utilizados na educação. São eles: Tutoriais, Programação, utilização de editores de texto, softwares multimidia, de simulações, modelagens e jogos.

Do ponto de vista da concepção teórica, a utilização das tecnologias e do Software para fins educativos, se dá principalmente na interação entre o aluno e o software. Dessa forma o educando pode construir seu conhecimento de forma mais autônoma, sem muita interferência externa. De certo modo, o construtivismo, possibilitado, também, pelo uso do software na educação, não é visto como a melhor teoria pedagógica; entretanto, isso ocorre por desconhecimento de alguns “teóricos”, que entendem tratar-se apenas de construir conhecimento de forma autônoma.

Entendemos que foco é na interação entre aluno-software, aluno-software-aluno, e entre aluno-software-professor. Dessa forma, ocorre intensa interação através da utilização do software; interação essa, entendida como um dos principais processos capazes de proporcionar o aprendizado. Além disso, essa área ainda está em desenvolvimento, existindo diversas pesquisas que buscam utilizar de forma mais eficaz as TICs e o Software no processo de ensino e aprendizagem.

O SOFTWARE E O FUTURO

É certo que o modo de vida atual não se manteria se o software se extinguisse por completo; ou seja, não podemos mais sobreviver na sociedade moderna sem o software; do contrário o mundo entraria em colapso. E cada vez mais seremos dependentes desses sistemas.

A rapidez com que as TICs avançam, proporcionando novas possibilidades e facilidades, não permitirão que retrocedamos, sem nos extinguir. E nesse caminho, torna-se importante utilizarmos e desenvolver softwares com responsabilidade, para o bem da sociedade e de seu desenvolvimento econômico. A tecnologia existe, se modifica, se aprimora, e não devemos nos tornar escravos dela, mas usá-la para nosso bem estar social.

CONCLUSÃO

A palavra software é um termo cunhado na língua inglesa para diferenciar o que é um programa de computador do hardware, máquina em que ele é executado. Trata-se de um conjunto de instruções que são executadas sequencialmente pela máquina, a fim de realizar uma tarefa ou resolver algum problema para o usuário.

O software é criado por uma equipe multidisciplinar, formada, entre outros, por programadores, e, após escrito deve ser compilado ou interpretado, de forma que a máquina possa executar as instruções do programa. É classificado de forma geral em Software Básico e Aplicativo, podendo, entretanto, ser classificado de forma mais detalhada em Software de Sistema ou software Básico, Software aplicativo, Software de Engenharia ou Científico, Software Embutido, Software para linha de produtos ou de prateleira, Aplicações WEB e Software de inteligência artificial.

A utilização do software na educação já é uma realidade, dada sua eficácia na melhoria do processo de ensino e aprendizagem, podendo ser utilizado de forma complementar no ensino formal. Essa utilização, entretanto, ainda se dá de forma tímida, principalmente por estar numa fase embrionária. Ela carece de treinamento para os profissionais, além da continuidade das pesquisas na área.

A realidade atual e futura tem o software como um elemento vital para o desenvolvimento social e econômico, devendo, portanto, ser criado e utilizado de forma responsável, visando o bem geral da sociedade.

REFERÊNCIAS BIBLIOGRÁFICAS

AMORIN, D. F. B. SOFTWARES DE SISTEMAS E DE APLICAÇÕES LIVRES: Benefícios, limitações no uso dessas tecnologias nos negócios.
Revista Científica Semana Acadêmica, V. 01, n. 69, p. 01-19, 2015.

Tipos de Software e suas classificações.
universidadedatecnologia.com.br/tipos-de-software-e-suas-classificacoes
Acesso em 14/06/2021.