Você está na página 1de 7

Polimig Escola Politcnica de Minas Gerais

Trabalho de
Informatica












Polimig Escola Politcnica de Minas Gerais

Tipos de software
Em todas as plataformas virtuais de computadores, software pode ser agrupado em algumas
amplas categorias.
Propsito, ou domnio de uso.
Baseado na meta, softwares de computadores podem ser divididos em:
Aplicaes - usa o sistema do computador para realizar um trabalho til ou fornecer
funes de entretenimento alm da operao bsica do prprio computador.
Programas do sistema - feito pra operar o hardware do computador, pra fornecer
funcionalidade bsica, e proporcionar a plataforma para rodar as aplicaes.
Programas do sistema incluem:
Sistema operacional, uma coleo essencial de programas de computador que
administra recursos e fornece servios em comum para outro software. Programas
de superviso, inicializao, interfaces do usurio e janelas do sistema so a parte
central do sistema operacional. Na prtica, um sistema operacional vem
empacotado com softwares adicionais(incluindo aplicaes) que um usurio pode
potencialmente fazer alguns trabalhos com um computador que tem somente um
sistema operacional.
Driver de dispositivos, um programa que opera ou controla um tipo particular de
dispositivo que ligado a um computador. Cada dispositivo precisa de, no
mnimo, um driver; portanto um computador precisa de mais de um driver de
dispositivos.
Utilitrios, software feito para auxiliar usurios na manuteno e cuidado dos
seus computadores.
Software malicioso ou malware software de computador desenvolvido para
prejudicar e quebrar computadores. Como tal, malwares so indesejveis. Malware
frequentemente associado com crimes computacionais relatados, embora alguns
programas maliciosos podem ter sido feitos para brincadeiras.
Natureza, ou domnio de execuo.
Aplicaes da rea de trabalho como navegadores, e Microsoft Office, como tambm
aplicaes de smartphones e tablets (chamados apps).
Servidores
Scripts, como Javascript script so pedaos de softwares tradicionalmente embutidos
em pginas da web que rodam diretamente dentro do navegador quando uma pgina
Polimig Escola Politcnica de Minas Gerais

carregada, sem a necessidade de um plugin. Softwares escritos em outras
linguagens de programao tambm podem rodar dentro de um navegador se o
software for traduzido para Javascript ou se algum plugin do navegador que suporte a
linguagem est instalado; o exemplo mais comum deste ultimo ActionScript scripts,
que so suportados pelo Adobe Flash plugin.
Aplicaes Web geralmente so executadas no servidor web gera dinamicamente
pginas da web para navegadores, usando, por exemplo, PHP, Java ou ASP.NET, ou
at mesmo JavaScript que executado no servidor, nos tempos atuais eles
comumente incluem um pouco de JavaScript para tambm ser executado no
navegador, no caso eles tipicamente rodam parte no servidor, parte no navegador.
Plugins e extenses so softwares que estendem ou modificam a funcionalidade de
outro software, e requerem que o sotware seja usado a fim de uma determinada
funo.
Softwares embarcados como firmware com sistemas embarcados, dispositivos
dedicados para uma funo ou algumas funes como carros e televises (embora
alguns dispositivos embarcados como chips de rede sem fio podem fazer parte de
comuns, no embarcados sistema de computador, como PCs ou smartphones). No
contexto do sistema embarcado as vezes no h distino entre programas de sistema
e aplicaes. Porm, alguns sistemas embarcados executam sistemas operacionais
embarcados, e esses sistemas preservam a distino entre programas do sistema e
aplicaes (porm, tipicamente haver somente uma, fixa aplicao que sempre
executada).
Microcodigo um especial, relativamente obscuro, tipo de software embarcado que
diz ao processador como executar um cdigo de mquina, ento ele na verdade um
nvel mais baixo que o cdigo de mquina. tipicamente propriedade do fabricante
do processador, e qualquer atualizao de software microcodigo correcionais
necessrios so fornecidos por eles para os usurios (o que muito mais barato do
que substituir o hardware). Assim, um programador comum no esperaria nunca ter
que lidar com isso.
Ferramentas de Programao
Ferramentas de programao so softwares na forma de programas ou aplicaes que
desenvolvedores de softwares (tambm conhecidos como programadores, codificadores,
hackers ou engenheiros de software) usam para criar, depurar, manter (isto , programar ou
corrigir) ou de outro modo dar suporte ao software. Um software escrito em uma ou mais
linguagens de programao; existem muitas linguagens de programao, e cada uma tem ao
menos uma implementao, cada um consiste do seu prprio conjunto de ferramentas de
programao. Essas ferramentas podem ser programas relativamente independentes como,
compiladores, depuradores, intrpretes, conectores, e editores de texto, que podem ser
Polimig Escola Politcnica de Minas Gerais

combinados para realizar uma tarefa; ou eles podem formar um ambiente de
desenvolvimento integrado (IDE), que combina muitas ou todas as funcionalidades de tais
ferramentas independentes. IDEs pode fazer isso seja invocando as ferramentas individuais
relevantes ou seja reimplementando sua funcionalidade em uma nova forma. Um IDE pode
tornar mais fcil fazer tarefas especficas, como procurar por arquivos em um projeto
particular. Muitas implementaes de linguagens de programao fornecem as duas opes,
usar ferramentas individuais ou uma IDE.

Tpicos de software
Usurios frequentemente veem coisas diferentes dos programadores. Pessoas que usam
computadores de um modo geral (em oposio ao sistema embarcado, computadores
analgicos e supercomputadores) geralmente veem trs camadas do software
desempenhando uma variedade de tarefas: plataforma, aplicao e software do usurio.
Plataforma: Plataforma inclui o drivers de dispositivo, um sistema operacional, e
normalmente uma interface grfica para o usurio que, no final, permite o usurio
interagir com o computador e seus perifricos (equipamentos associados). Software
de plataforma geralmente vem junto com o computador. Em um computador, algum
geralmente tem a habilidade de mudar a plataforma de software.
Aplicaes: Aplicaes so o que a maioria das pessoas pensam quando pensam em
software. Exemplos tpicos incluem programas de escritrio e jogos. Aplicaes so
frequentemente comprados separadamente do hardware do computador. Algumas
vezes aplicaes vm junto com o computador, mas isso no muda o fato de que eles
funcionam como aplicaes independentes. Aplicaes geralmente so programas
independentes do sistema operacional, porem eles so frequentemente adaptados para
plataformas especificas. A maioria dos usurios pensam que compiladores, bancos de
dados, e outros softwares do sistema so aplicaes.
Software escrito pelo usurio: Desenvolvedores finais adaptam o sistema a conhecer
as necessidades especificas dos usurios. Software do usurio incluem modelos de
planilhas e modelos de processadores de palavras. At mesmo filtros de e-mail so
tipos de software do usurio. Usurios criam seus prprios softwares e
frequentemente esquecem o quo importante ele . Dependendo de quo
competentemente o software escrito pelo usurio foi integrado em pacotes de
aplicativos padro, muitos usurios podem no estar cientes da distino entre
pacotes originais e os que foram adicionados por colegas de trabalho.
Execuo
O software do computador tem que ser carregado no armazenamento do computador
(como o disco rgido ou a memoria). Uma vez que o software foi carregado, o computador
capaz de executar o software. Isso envolve passar instrues do aplicativo, atravs o
Polimig Escola Politcnica de Minas Gerais

software do sistema, para o hardware que no final recebe a instruo do cdigo da maquina.
Cada instruo faz com que o computador execute uma operao movendo dados,
realizando clculos, ou alterando o controlando o fluxo de instrues.
O movimento dos dados tipicamente de um lugar na memria para outro. Algumas vezes
isso envolve mover dados entre a memoria e os registradores que habilitam o acesso rpido
de dados no CPU. O movimento de dados, especialmente grandes quantidades, pode ser
custoso. Ento, isso as vezes evitado usando ponteiros para dados no lugar. Clculos
incluem simples operaes como incrementar o valor de um elemento. Clculos mais
complexos podem envolver varias operaes e elementos juntos.
Qualidade e confiana
A qualidade do software muito importante, especialmente para um software comercial
como Microsoft Office, Microsoft Windows e Linux. Se o software falho(bugado), ele
pode deletar o trabalho de uma pessoa, quebrar o computador e fazer outras coisas
inesperadas. Falhas e erros so chamados bugs. Muitos bugs so descobertos e eliminados
(debugged) atravs do teste de software. No entanto, o teste de software raramente se no
nunca elimina todos os bugs; alguns programadores dizem que todo programa tem ao
menos um bug (Lubarskys Lwa). Todas as principais companhias de software, como
Microsoft, Novell e Sun Microsystems, tem seu prprio departamento de testes com metas
especificas de somente testar. Softwares podem ser testados atravs de teste de unidades,
testes de regresso e outros mtodos, que so feitos manualmente, ou mais comumente,
automaticamente, desde que a quantidade de cdigo a ser testado seja grande. Por exemplo,
NASA tem um procedimento extremamente rigoroso de teste de software para muitos
sistemas operacionais e funes de comunicao. Muitas operaes baseadas na NASA
interagem e identificam cada um atravs de comando de programas chamados software. Isso
permite muitas pessoas que trabalham na NASA a checar e avaliar sistemas funcionais.
Programas contendo comandos de software permitem engenharia de hardware e sistema
operacional funcionando facilmente juntos.
Licena
A licena de software da ao usurio o direito de usar o software no ambiente de licena.
Alguns softwares vm com a licena quando so comprados nas prateleiras, ou uma licena
OEM quando vem junto com o hardware. Outros softwares vm com uma licena grtis,
garantindo o receptor os direitos para modificar e redistribuir o software. Software pode
tambm ser na forma de freeware ou shareware.
Patentes
Softwares podem ser patenteados em alguns, mas no todos, pases; porem, patentes de
softwares podem ser controversas na indstria de softwares com muitas pessoas com
diferentes vises sobre isso. A controvrsia sobre as patentes de software sobre algoritmos
Polimig Escola Politcnica de Minas Gerais

especficos ou tcnicas que o software contm que no podem ser duplicadas por outros e
consideradas propriedade intelectual e violao de direitos autorais dependendo da
severidade.

Design and implementao
Design e implementao do software varia dependendo da complexidade do software. Por
exemplo, design e criao do Microsoft Word vai tomar muito mais tempo do que desenhar
e desenvolver o bloco de notas da Microsoft, por causa da diferena das funcionalidades de
cada um.
Software frequentemente desenhado e criado (codificado/escrito/programado) em um
ambiente de desenvolvimento integrado (IDE) como Eclipse, Emacs e Microsoft Visual
Studio que podem simplificar o processo de compilao do programa. Como notado numa
seo diferente, software geralmente criado no topo de um software existente e a interface
de programao (API) que o software bsico fornece, como GTK+, JavaBeans ou Swing.
Livrarias (APIs) so categorizadas para diferentes propsitos. Por exemplo, a livraria do
JavaBeans usada para desenhar aplicaes empresariais, a livraria do Windows Forms
usada para desenhar a aplicaes de interface grfica do usurio (GUI) como Microsoft
Word, e Windows Communication Foundation usada para desenhar servios web. Na
programao bsica conceitos como classificao rpida, tabela hash, vetores, e arvore
binaria podem ser uteis para criar softwares. Quando um programa desenhado, isso
depende da API. Por exemplo, se um usurio est desenhando uma aplicao para Microsoft
Windows, ele/ela pode usar a livraria .NET Windows Forms para desenhar a aplicao para
computador de mesa e chamar suas APIs como Form1.close() e Form1.show() para fechar
ou abrir a aplicao e escrever operaes adicionais para ele/ela precisa ter. Sem essas APIs,
o programador precisa escrever APIs ele/ela mesma. Companhias como a Sun
Microsystems, Novell, e Microsoft fornecem suas prprias APIs ento muitos softwares so
escritos usando suas livrarias que normalmente tem numerosas APIs.
Software de computadores tem caractersticas econmicas especiais que fazem seu design,
criao e distribuio diferente da maioria dos outros produtos econmicos.
A pessoa que cria o software chamada programador, engenheiro de software ou
desenvolvedor de software, termos que tem um significado similar.
Industria e organizaes
Uma grande variedade de companhias de software e programadores no mundo formam a
indstria de software. Softwares podem ser uma indstria muito rentvel: Bill Gates, o
fundador da Microsoft foi a pessoa mais rica do mundo em 2009 vendendo o Microsoft
Windows e o Microsoft Office. O mesmo aconteceu com Larry Ellison, em grande parte por
meio do seu software de banco de dados Oracle. Atravs do tempo que a indstria de
Polimig Escola Politcnica de Minas Gerais

software se tornou altamente especializada.
Organizaes sem fins lucrativos de softwares incluem a Free Software Foundation, GNU
Project e Mozilla Foundation. Organizaes padro de softwares como W3C, IETF
desenvolvem softwares padro que a maioria dos softwares podem interoperar atravs de
padres como XML, HTML, HTTP ou FTP.
Outras conhecidas companhias de softwares incluem Novell, SAP, Symantec, Adobe
Systems, e Corel, enquanto pequenas companhias frequentemente fornecem inovao.

Você também pode gostar