Você está na página 1de 17

_Turban_GT_02 26.03.

04 15:55 Page 1

Guias de Tecnologia
T.1 Hardware (ver o site www.bookman.com.br)
➤ T.2 Software (ver o site www.bookman.com.br)
T.3 Dados e Bancos de Dados
T.4 Telecomunicações
T.5 A Internet e a Web (ver o site www.bookman.com.br)

Guia de
Tecnologia

Software 2
T2.1
Tipos de Software
T2.2
Software Aplicativo
T2.3
Software Básico
T2.4
Linguagens de Programação
T2.5
Desenvolvimento de Software e Ferramentas CASE
T2.6
Questões e Tendências de Software

Este guia foi atualizado por Linda Lai, da City University de


Hong Kong.
_Turban_GT_02 26.03.04 15:55 Page 2

2 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

T2.1 Tipos de Software Ao contrário do hardware, que pode ser projetado e fabri-
cado por linhas de montagem automatizadas, o software preci-
O hardware não consegue executar qualquer ação sem receber sa ser programado à mão. De uma maneira geral, pode-se dizer
instrução. Essas instruções são chamadas de software ou pro- que a potência do hardware duplica a cada 18 meses (ver a Lei
gramas de computador. O software é o coração de todos os de Moore no Capítulo 13), mas a do software duplica somente
aplicativos de computador. Por causa de seu desenho, o hard- a cada oito anos. Essa diferença representa um grande desafio
ware é de uso geral. O software, por outro lado, permite ao para os desenvolvedores de software e para os usuários de sis-
usuário configurar o computador para que proporcione valor temas de informação em geral.
específico de negócio. Existem dois tipos principais de softwa- Tanto o software aplicativo como o software básico são es-
re: software aplicativo e software básico. critos em esquemas de codificação chamados linguagens de
O software aplicativo é um conjunto de instruções de com- programação, que também serão apresentadas neste Guia.
putador escritas em linguagem de programação. As instruções
orientam o hardware na execução de atividades específicas de T2.2 Software Aplicativo
processamento de dados ou informação que proporcionem fun-
cionalidade ao usuário. Essa funcionalidade pode ser ampla,
TIPOS DE SOFTWARE APLICATIVO
como o processamento de texto, ou estrita, como um programa
de folha de pagamento. O programa aplicativo aplica o com- Tendo em vista a grande variedade de usos do computador ho-
putador a uma necessidade, como o aumento de produtividade je em dia, existe também um grande número de diferentes pro-
dos contadores ou melhores decisões em relação ao nível de es- gramas de aplicativos, alguns dos quais possuem objetivos es-
toques. A programação de aplicativos é a criação ou a modi- pecíficos ou são “pacotes” criados para uma finalidade especí-
ficação e a melhoria do software de aplicativo. fica (por exemplo, controle de estoque ou folha de pagamento).
O software básico age basicamente como intermediário en- O pacote é um termo usado para designar um programa de
tre o hardware e os programas de aplicativos, e os usuários computador (ou grupo de programas) desenvolvido por um for-
mais avançados também podem manipulá-lo diretamente. O necedor e disponível à venda pré-embalado.
software básico proporciona importantes funções de auto-regu- Se não existe um pacote para uma situação específica, é
lação para os sistemas de computadores, como inicializar-se possível criar o aplicativo com o auxílio de linguagens de pro-
quando o computador é ligado, como no Windows Professio- gramação ou de ferramentas de desenvolvimento de software.
nal; gerenciar recursos de hardware, tais como armazenamen- Também existem programas aplicativos de uso geral que não
to secundário para todos os aplicativos e fornecer conjuntos de estão ligados a nenhuma tarefa empresarial específica, mas que
instruções mais utilizadas para uso de todos os aplicativos. A dão suporte ao processamento de informações gerais. Os paco-
programação de sistemas é a criação ou a modificação do tes de aplicativos de uso geral mais utilizados são as planilhas
software básico. eletrônicas, administração de dados, processamento de texto,
Os programas de aplicativos basicamente manipulam dados editoração eletrônica, gráficos, multimídia e comunicações.
ou texto para criar ou fornecer informação. Os programas de Algumas dessas ferramentas de uso geral são na verdade
software básico manipulam recursos de hardware. O software ferramentas de desenvolvimento. Isto é, elas são usadas para
básico disponível no computador oferece recursos e limitações construir aplicativos. Por exemplo, pode-se usar o Excel para
dentro dos quais o computador pode operar. A Figura T-2.1 construir aplicativos de apoio à decisão, tais como alocação de
mostra que o software básico é necessariamente um interme- recursos, cronogramas ou controle de estoque. Também se po-
diário entre o hardware e o software de aplicativo; o software de utilizar esses e outros pacotes semelhantes para fazer análi-
de aplicativo não consegue rodar sem o software básico. se estatística, análise financeira ou dar suporte à pesquisa de
marketing.
Muitos aplicativos de negócio e de apoio à decisão são
construídos com linguagens de programação em vez de pro-
gramas aplicativos de uso geral. Isso ocorre normalmente no
caso de problemas complexos e não-estruturados. Os aplica-
tivos de sistemas de informação também podem ser construí-
dos com um mix de programas de uso geral e/ou com um
Hardware
grande número de ferramentas de desenvolvimento, desde
editores até geradores de números aleatórios. Alguns pacotes
de software são de especial interesse, como o Microsoft Offi-
ce. Estes são conjuntos integrados de ferramentas que podem
agilizar o desenvolvimento de aplicativos. Da mesma forma,
as ferramentas CASE e o software empresarial integrado tam-
FIGURA T-2.1 O software básico é um intermediário entre o hardware bém são de grande interesse e serão descritos mais adiante
e as aplicações funcionais. neste Guia.
_Turban_GT_02 26.03.04 15:55 Page 3

GUIA DE TECNOLOGIA 2 • SOFTWARE 3

PROGRAMAS APLICATIVOS DE USO GERAL O arquivo é um conjunto simples de registros correlaciona-


dos, organizados em ordem alfabética, cronológica, hierárqui-
PLANILHAS ELETRÔNICAS. O software de planilha eletrô- ca, em níveis ou de alguma outra forma. O software de geren-
nica transforma a tela do computador em uma folha ou grade ciamento baseado em arquivos é normalmente fácil de ser usa-
com linhas e colunas numeradas. Os usuários podem inserir do e muito rápido, mas o processo para modificá-lo é compli-
dados numéricos ou texto em qualquer ponto, ou célula, da cado e demorado por causa da forma estruturada na qual os ar-
grade. Além disso, também é possível inserir fórmulas ou ma- quivos são criados.
cros na célula para obter uma resposta de cálculo na mesma. O O software de gerenciamento de banco de dados foi desen-
termo macro se refere a uma única instrução ou fórmula que volvido para corrigir os problemas do software de gerenciamen-
combine um certo número de outras instruções simples. Uma to baseado em arquivos. O banco de dados é um conjunto de ar-
macro definida pelo usuário pode melhorar ou ampliar instru- quivos servindo de recurso de dados para os sistemas de infor-
ções e comandos básicos fornecidos com a planilha. Os paco- mação baseados em computador. No banco de dados, todos os
tes de planilha eletrônica oferecem um grande número de fór- dados são integrados com relações estabelecidas. Na Figura
mulas estatísticas, financeiras e outras, já pré-programadas. T-2.2, mostramos um exemplo de software de banco de dados.
São chamadas funções.
Os pacotes de planilhas eletrônicas são usados basicamente PROCESSAMENTO DE TEXTO. O software de processa-
para apoio à decisão, como no processamento de informações fi- mento de texto permite ao usuário manipular texto ao invés de
nanceiras (por exemplo, em demonstrativos financeiros ou aná- somente números. Os modernos processadores de texto contêm
lise de fluxo de caixa). No entanto, eles também são importantes inúmeros recursos de escrita. Um pacote comum de processa-
para muitos outros tipos de dados que podem ser organizados em mento de texto consiste de um conjunto integrado de progra-
colunas e linhas. As planilhas eletrônicas normalmente vêm in- mas, incluindo programa editor, programa de formatação, pro-
tegradas com outros software, tais como gráficos e administra- grama de impressão, dicionário, análise léxica, corretor orto-
ção de dados, para formar conjuntos de software. gráfico, programa de correio eletrônico e programas integrados
de gráficos, mapas e desenho. Os processadores WYSIWYG
ADMINISTRAÇÃO DE DADOS. O software de administração (What You See Is What You Get – O Que Você Vê é O Que Vo-
de dados suporta o armazenamento, a recuperação e a manipu- cê Terá) têm a vantagem adicional de mostrar o material em
lação de dados. Existem dois tipos básicos de software de admi- texto na tela exatamente – ou quase da mesma forma – como
nistração de dados: simples programas de arquivamento for- irá aparecer na página impressa (baseado no tipo de impresso-
matados segundo técnicas tradicionais de arquivamento manual ra acoplada ao computador).
de dados, bem como sistemas de gerenciamento de banco de
dados (SGBDs) que utilizam a rapidez e a precisão do compu- EDITORAÇÃO ELETRÔNICA. No passado, os boletins de
tador para armazenar e recuperar dados contidos nas memórias notícias, anúncios e propagandas e outros documentos espe-
principal e secundária (ver Guia de Tecnologia 3). cializados precisavam ser preparados à mão e depois tipogra-

Com o software de planilha eletrônica, pode-se criar planilhas com dados numéricos organizados em linhas e colunas.
_Turban_GT_02 26.03.04 15:55 Page 4

4 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

FIGURA T-2.2 O software de banco


de dados.

fados. O software de editoração eletrônica permite que os jetistas e engenheiros. Os de maior destaque são o desenho as-
microcomputadores executem essas tarefas diretamente. Ago- sistido por computador (CAD) e a manufatura assistida por
ra, pode-se combinar fotos, diagramas e outras imagens com computador (CAM) (ver detalhes no Capítulo 7).
texto, inclusive com diferentes tipos de fontes, para criar um
documento acabado, pronto para ser impresso. Se for impres- MULTIMÍDIA. Existem dois tipos gerais de software de multi-
so por uma impressora a laser de alta resolução, difícil distin- mídia: de apresentação e interativo. O software de apresenta-
guir entre esse documento e aquele produzido por gráfica ção apresenta uma progressão seqüencial de informações de
profissional. forma semelhante a um filme ou programa de TV. A ordem dos
eventos é fixa, e a apresentação pode ser parada e reiniciada. O
GRÁFICOS. O software gráfico possibilita ao usuário criar, software de apresentação multimídia é muito utilizado por pa-
armazenar e mostrar ou imprimir esquemas, gráficos, mapas e lestrantes, bem como em estandes de exposições, com finalida-
desenhos. Ele permite aos usuários absorver mais informações des de marketing. O software interativo permite ao usuário al-
de forma mais rápida, identificar relações e tendências nos da- terar a seqüência ou o fluxo de informação, da mesma forma
dos de forma mais fácil e dar maior destaque a alguns aspectos. como consultar uma enciclopédia ou álbum de fotos.
Existem três categorias básicas de pacotes de software gráfico: Os produtos educativos de multimídia interativa são bastan-
gráficos de apresentação, gráficos de análise e gráficos de en- te usados em museus ou quiosques de informações e têm um
genharia. grande potencial na educação pública e privada, tanto dentro
Gráficos de apresentação. Este software permite aos como fora das salas de aula.
usuários criar imagens que parecem tridimensionais, sobrepor
múltiplas imagens, destacar determinados aspectos do desenho SOFTWARE DE COMUNICAÇÃO. Os computadores muitas
e criar desenhos à mão livre. Esses pacotes normalmente pos- vezes estão interligados para compartilhar ou relacionar infor-
suem ferramentas de desenho, modelos de apresentação, diver- mações. Os computadores utilizam software de comunicação
sos estilos de fonte, rotinas de correção ortográfica, ferramen- para fazer a troca de informações. Este software permite aos
tas de gráficos e outras para ajudar a montar múltiplas imagens computadores localizados próximos ou distantes trocar dados
dentro de uma apresentação complexa. Muitos pacotes pos- por meio de linhas dedicadas ou públicas, linhas telefônicas,
suem programas de ajuda embutidos, bem como bibliotecas de sistemas de retransmissão via satélite ou circuitos de microon-
clipart – figuras que podem ser “recortadas” e ”coladas” ele- das (ver Guia de Tecnologia 4).
tronicamente sobre a imagem acabada. Em havendo software de comunicação tanto no computa-
Gráficos de análise. Estes aplicativos também oferecem a dor de origem como no de destino, eles podem criar e desfazer
possibilidade de converter dados previamente analisados, tais elos eletrônicos, codificar e decodificar transmissões de dados,
como dados estatísticos, em formatos gráficos, como gráficos de verificar erros de transmissão (e corrigi-los automaticamente),
barras, de linhas, tipo pizza e de dispersão. Os gráficos também comprimir fluxos de dados para uma transmissão mais eficien-
podem incluir elementos de diferentes texturas, rótulos e cabeça- te e gerenciar a transmissão de documentos. O software de co-
lhos. Alguns pacotes preparam apresentações tridimensionais. municação define rotas comutadas que garantam o êxito das
Gráficos de engenharia. Existem diversos programas de transmissões “ponta a ponta”; ele estabelece contato eletrônico
software de engenharia para reduzir o tempo de desenvolvi- (“aperto de mãos”) entre os computadores e faz com que os da-
mento de aplicativos e para aumentar a produtividade dos pro- dos sejam enviados no formato e na velocidade adequados. Ele
_Turban_GT_02 26.03.04 15:55 Page 5

GUIA DE TECNOLOGIA 2 • SOFTWARE 5

detecta a velocidade e o código de transmissão e direciona a in- Muitos produtos de groupware são desenhados para dar
formação para o hardware apropriado. O software de comuni- suporte a tarefas específicas relacionadas a grupos, tais como
cação verifica interrupções de transmissão e conflitos de prio- gerenciamento de projeto, cronogramas (chamado de agenda-
ridades de transmissão. Outros software de comunicação in- mento), workflow e recuperação de dados de bancos de dados
cluem simuladores de terminais, software de controle remoto e compartilhados. Por exemplo, o Lotus Notes foi projetado co-
programas de fax. mo sistema de compartilhamento de texto e imagens; ele pos-
sui uma estrutura de dados que é uma combinação de banco
CONJUNTOS DE SOFTWARE. Os conjuntos de software de dados orientado para tabelas e uma estrutura de objetos.
(software suites) são conjuntos de pacotes de software de apli- Com o Lotus Notes, os grupos de usuários trabalhando em
cativos. Eles podem incluir processador de texto, planilha ele- conjunto em projetos podem ver as telas de todos os partici-
trônica, sistema de gerenciamento de banco de dados, progra- pantes, compartilhar dados e trocar idéias e anotações de for-
ma gráfico, ferramentas de comunicação, etc. O Microsoft Of- ma interativa. Esses recursos aumentam a produtividade dos
fice, o Corel Perfect Office e o Lotus SmartSuite são alguns grupos de trabalho.
conjuntos de software bastante utilizados em microcomputado- Outros produtos de groupware dão ênfase basicamente ao
res pessoais. Cada um deles inclui um programa de planilha fluxo de trabalho em ambientes de escritório. Esses produtos
eletrônica, processador de texto, programa de banco de dados fornecem ferramentas para estruturar o processo pelo qual se
e um pacote gráfico com capacidade de transferir documentos, gerencia, transfere e encaminha a informação para uma tare-
dados e diagramas entre si. Além dos conjuntos do tipo usuário fa específica. Outros sistemas de groupware são basicamente
final descritos acima, existem também kits de software para de- sistemas de e-mail ampliados para classificar mensagens e
senvolvedores de sistemas, tais como as ferramentas CASE, usar essa classificação para controlar a forma como as men-
que descreveremos mais adiante. sagens são manejadas. Um produto de especial interesse é o
sistema de apoio à decisão em grupo (SAD-G), apresentado
SOFTWARE PARA TRABALHO EM GRUPO. O software pa- no Capítulo 10.
ra trabalho em grupo, também chamado groupware, ajuda gru-
pos e equipes a trabalhar juntos, compartilhando informações e SOFTWARE INTEGRADO CORPORATIVO. O software inte-
controlando o fluxo de trabalho dentro do grupo. O uso deste grado corporativo consiste de programas que administram as
tipo de software cresceu por causa da necessidade dos grupos operações mais importantes de uma empresa, desde o recebi-
de trabalharem em conjunto e de forma mais eficiente, aliado mento de pedido, até a contabilidade, passando pela produção.
ao progresso tecnológico dos produtos para redes e de apoio a Este software dá suporte ao gerenciamento da cadeia de supri-
grupos. mentos bem como à gestão de recursos humanos e gestão fi-

Um conjunto de software bastante popular, o Mi-


crosoft Office.
_Turban_GT_02 26.03.04 15:55 Page 6

6 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

nanceira. As principais empresas fornecedoras são a SAP, Ora- PROGRAMAS DE CONTROLE DO SISTEMA
cle, J.D. Edwards, PeopleSoft e Baan, sendo a SAP a maior de- Os programas de controle do sistema mais importantes são:
las (ver detalhes no Capítulo 6).
SISTEMAS OPERACIONAIS. O principal componente do
OUTROS SOFTWARES APLICATIVOS. Existem centenas de software básico é um conjunto de programas conhecido cole-
outros softwares aplicativos. Para os administradores de negó- tivamente como sistema operacional. O sistema operacional,
cios, os de maior interesse são: como o Windows Professional, supervisiona a operação geral
• Melhoria da geração de idéias (criatividade) do computador, incluindo monitorar o modo do computador,
lidar com interrupções de programas executáveis e agendar
• Gestão de marketing
operações, incluindo o controle dos processos de entrada e
• Geradores de SAD e de EIS saída.
• Software de produtividade Os computadores mainframe e os minicomputadores con-
• Ferramentas de desenvolvimento de sistemas especialis- têm somente uma CPU, mas eles executam diversas tarefas si-
tas Contabilidade e auditoria multaneamente (tais como o preparo e a transferência de resul-
• Gestão de projetos tados). Nesses casos, o sistema operacional controla quais tare-
fas específicas têm acesso aos diversos recursos do computa-
• Gestão de recursos humanos dor. Ao mesmo tempo, o sistema operacional controla o fluxo
• Gestão financeira geral de informações dentro do computador.
• Produção e operações No microcomputador, o sistema operacional controla a co-
• Software de treinamento municação do computador com o monitor, a impressora e os
dispositivos de armazenamento. Ele também recebe e encami-
Exemplos de sistemas de informação nas áreas acima são nha as entradas inseridas por meio do teclado e outras fontes de
fornecidos ao longo de todo o livro. entrada de dados. O sistema operacional foi desenhado para
maximizar a quantidade de trabalho útil que o hardware do sis-
tema computacional realiza.
T2.3 Software Básico
Os programas que rodam no computador utilizam diversos
recursos controlados pelo sistema operacional. Esses recursos
O software básico é a classe de programas que controla e dá incluem o tempo da CPU, a memória principal e os dispositi-
suporte ao hardware e suas atividades de processamento de in- vos de entrada/saída. O sistema operacional procura alocar o
formações. O software básico também facilita a programação, uso desses recursos da forma mais eficiente possível.
os testes e a correção de falhas em programas de computador. O sistema operacional também faz a interface entre o usuá-
Ele é mais genérico que o software de aplicativo e normalmen- rio e o hardware. Ao mascarar diversos recursos do hardware,
te independe de qualquer tipo específico de aplicativo. Os pro- tanto o desenvolvedor profissional como o usuário final dis-
gramas de software básico dão suporte ao software de aplicati- põem de um sistema mais amigável.
vo dirigindo as funções básicas do computador. Por exemplo, Uma característica desejável dos sistemas operacionais, a
quando se liga o computador, o programa de inicialização (um portabilidade, significa que o mesmo software de sistema ope-
programa de software básico) prepara e deixa de prontidão to- racional pode ser rodado em diferentes computadores. Exemplo
dos os equipamentos para processamento. O software básico disso é o Unix. As versões do Unix podem rodar em hardware
pode ser agrupado em três categorias funcionais principais: produzido por fornecedores diferentes. No entanto, não existe
• Programas de controle do sistema são programas que uma versão padrão do Unix que rode em todas as máquinas.
controlam o uso de hardware, software e recursos de da- Funções do Sistema Operacional. O sistema operacional
dos do sistema computacional durante a execução de uma executa três funções principais na operação de um sistema
tarefa de processamento de dados pelo usuário. O siste- computacional: gerenciamento de tarefas, gerenciamento de
ma operacional é o melhor exemplo de programa de recursos e gerenciamento de dados.
controle do sistema. • Gerenciamento de tarefas é o preparo, agendamento e
• Programas de suporte do sistema dão suporte às opera- monitoramento de tarefas para processamento contínuo
ções, gestão e usuários do sistema computacional, forne- pelo sistema computacional. A linguagem de controle de
cendo-lhes uma infinidade de serviços. Exemplos de pro- tarefas é uma linguagem especial de computador encon-
gramas de suporte do sistema são os programas utilitários trada no ambiente de computação com mainframe e que
de sistemas, monitores de desempenho e de segurança. permite ao programador comunicar-se com o sistema
• Programas de desenvolvimento de sistemas ajudam os operacional.
usuários a desenvolver programas e procedimentos de • Gerenciamento de recursos é o controle do uso dos re-
processamento de informações e a preparar aplicativos de cursos do sistema computacional utilizados pelos outros
usuário. Os principais programas de desenvolvimento são programas do software básico e software de aplicativos
compiladores, tradutores e interpretadores de linguagem. sendo executados no computador. Esses recursos incluem
_Turban_GT_02 26.03.04 15:56 Page 7

GUIA DE TECNOLOGIA 2 • SOFTWARE 7

a memória principal, a memória secundária, o tempo de de GUI será incorporar recursos como realidade virtual, som e
processamento da CPU e os dispositivos de entrada/saída. voz, reconhecimento de escrita e movimentos, animação, mul-
• Gerenciamento de dados é o controle da entrada/saída timídia, inteligência artificial, e computadores altamente portá-
dos dados, bem como sua localização, armazenamento e teis com recursos de comunicação celular/sem fio.
recuperação. Os programas de gerenciamento de dados As GUIs mais conhecidas são o Windows da Microsoft
controlam a alocação dos dispositivos de armazenamento Corporation e as interfaces embutidas dos computadores da
secundário, o formato físico e a catalogação do armazena- Apple. O Windows 95 é um sistema operacional de 32 bits que
mento de dados, bem como a movimentação dos dados proporciona uma GUI dinâmica com ícones de acesso instantâ-
entre os dispositivos de memória principal e secundária. neo a tarefas comuns. Ele pode suportar software escrito para
DOS e Windows, como também rodar programas que utilizam
Atualmente existe uma infinidade de sistemas operacionais
mais de 640 K de memória. O Windows 95 e 98 conseguem
em uso. O sistema operacional usado na maioria dos computa-
executar múltiplas tarefas simultaneamente e oferecem recur-
dores pessoais normalmente é uma das versões do Windows ou
sos de rede, podendo inclusive integrar fax, e-mail e programas
do NT da Microsoft. Muitos minicomputadores usam uma ver-
são do sistema operacional Unix. Os mainframes utilizam basi- de agendamento de tarefas.
camente os sistemas operacionais chamados de sistema de me- O Windows NT pode proporcionar ampla capacidade com-
mória virtual (VMS) ou sistema virtual múltiplo (MVS). putacional para novos aplicativos com grande necessidade de
Apesar de os sistemas operacionais serem projetados para memória e de arquivos. Ele suporta multiprocessamento com
auxiliar o usuário a utilizar os recursos do computador, as ins- múltiplas CPUs. Ao contrário do OS/2, o Windows NT não es-
truções e comandos necessários para que isso aconteça não são tá ligado exclusivamente ao hardware baseado em micropro-
muito amigáveis. Tais comandos não são intuitivos, e perde-se cessadores da Intel. Ele pode rodar em microcomputadores e
muito tempo até dominá-los totalmente. Os agentes inteligen- workstations que usam microprocessadores da Mips Computer
tes (Capítulos 5 e 12) oferecem alguma ajuda nessa área. Systems, Inc. ou chip Alpha da DEC.
Construído sobre Tecnologia NT, o Windows 2000 Profes-
SISTEMAS OPERACIONAIS COM INTERFACE GRÁFICA sional oferece confiabilidade e melhor capacidade de gerencia-
DE USUÁRIO. A interface gráfica de usuário (GUI) é um mento que simplificam o gerenciamento da área de trabalho.
sistema no qual o usuário tem controle direto dos objetos visí- Seus recursos de Web embutidos e amplo suporte para compu-
veis (por exemplo, os ícones) e das ações que substituem a tadores móveis e dispositivos de hardware permitem fácil aces-
complexa sintaxe de comando. O próximo passo na tecnologia so à Internet.

Esta interface gráfica de usuário incorpora ícones que funcionam como links de Web, e as páginas de notícias e de tempo são empurradas para
cima da área de trabalho. (Fonte: C/netNews.com.).
_Turban_GT_02 26.03.04 15:56 Page 8

8 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

O Windows Millenium Edition, ou Windows ME, é o novo multiprogramação é implementada inteiramente via software,
sistema operacional para microcomputadores que traz a rique- enquanto que o multiprocessamento é basicamente uma imple-
za e a conveniência do mundo digital para os usuários de PCs. mentação de hardware, assistida por software sofisticado.
O OS/2 é um sistema operacional de 32 bits utilizado com Compartilhamento de tempo. O compartilhamento de
microprocessadores Intel. Ele dá suporte a multitarefas, aceita tempo é uma extensão da multiprogramação. Neste modo, um
grandes aplicativos, permite que os aplicativos rodem simulta- certo número de usuários opera online com a mesma CPU, mas
neamente e suporta multimídia em rede e aplicações de reco- cada um utiliza um terminal de entrada/saída diferente. O mó-
nhecimento de escrita. A versão mais recente do OS/2 é chama- dulo aplicativo de um usuário é colocado numa partição (uma
da OS/2 Warp 4. área reservada da memória principal). A execução é feita du-
O Mac OS 9, para uso em microcomputadores Apple Ma- rante certo tempo, ou intervalo de tempo, ou até que se faça
cintosh, possui capacidade de multitarefas e potentes recursos uma solicitação de entrada/saída (uma interrupção). Do mesmo
gráficos. Uma versão do Mac OS 9, chamada QuickTime5, per- modo como na multiprogramação, os módulos dos outros
mite aos usuários integrar videoclipes, som estéreo e seqüên- usuários também são colocados na memória principal em ou-
cias animadas com software convencional de texto e gráficos. tras partições. A execução passa para outro módulo aplicativo
O Mac OS X, disponível a partir de 2001, continua sendo uma ao final do intervalo de tempo, atendendo a todos os usuários.
das mais preciosas tradições da plataforma Macintosh – a liber-
dade de personalizar seu computador pessoal. MEMÓRIA VIRTUAL. A memória virtual permite ao usuário
O Linux é um sistema operacional tipo Unix e seu código escrever um programa como se a memória principal fosse
fonte pode ser obtido gratuitamente. A atual versão completa maior do que na verdade é. Os usuários recebem toda a memó-
2.4 foi lançada em 2001. O Linux inclui multitarefa real, me- ria principal de que precisam “de forma virtual”. Com a memó-
mória virtual, bibliotecas compartilhadas, carga sob demanda, ria virtual, não é preciso carregar todas as páginas de um mó-
gerenciamento adequado de memória, rede TCP/IP e outras ca- dulo aplicativo para a memória principal ao mesmo tempo. À
racterísticas compatíveis com os sistemas do tipo Unix. O Li- medida que se executa o programa, o controle passa de uma pá-
nux pode ser usado para uma infinidade de objetivos, incluindo gina para outra. Se a página subseqüente já estiver na memória
redes, desenvolvimento de software e como plataforma de principal, a execução prossegue. Se ela ainda não estiver lá,
usuário final. O Linux é freqüentemente considerado uma ex- ocorre uma espera até que a página seja carregada. Na verdade,
a memória principal é ampliada para um dispositivo de memó-
celente alternativa de baixo custo para outros sistemas opera-
ria secundária.
cionais mais caros.
Sistema Operacional de Máquina Virtual. Uma máquina
PROCESSAMENTO DE TAREFAS. Os sistemas operacionais
virtual é um sistema de computador que para o usuário parece
gerenciam atividades de processamento com alguns recursos ser um computador real, mas que na verdade foi criado pelo
de gerenciamento de tarefas que alocam os recursos computa- sistema operacional. O sistema operacional de máquina virtual
faz com que um único computador real pareça ser diversos
cionais para otimizar os ativos de cada sistema. Os recursos
computadores para seus usuários, cada um deles com seu siste-
mais importantes serão descritos a seguir.
ma operacional independente. Assim, podem existir simulta-
Multiprogramação e Multiprocessamento. A multipro-
neamente diversos sistemas operacionais no computador real.
gramação envolve dois ou mais módulos ou programas aplica-
O sistema operacional de máquina virtual mais popular é o
tivos colocados na memória principal ao mesmo tempo. O pri-
VM/ESA da IBM. Um programa de controle supervisiona a
meiro módulo é executado na CPU até haver uma interrupção,
máquina real e mantém registro de operação de cada máquina
como por exemplo a solicitação de entrada de dados. A solici-
virtual. O sistema de monitoramento conversacional (CMS)
tação de entrada é iniciada e atendida enquanto a execução do
proporciona ao usuário um ambiente altamente interativo alia-
segundo módulo aplicativo é iniciada. A execução do segundo
do a fácil acesso a tradutores, editores e ferramentas de corre-
módulo continua até haver uma interrupção, quando inicia en-
ção de falhas. Entre as ferramentas mais recentes, o Virtual
tão a execução de um terceiro módulo. Ao completar o proces-
Machine da Java desperta maior interesse.
samento da interrupção, o controle retorna para o programa in-
terrompido e o ciclo se repete. Como a alternância entre os pro- PROGRAMAS DE SUPORTE A SISTEMAS
gramas ocorre de forma muito rápida, todos os programas pa-
recem estar sendo executados ao mesmo tempo. PROGRAMAS UTILITÁRIOS DE SISTEMAS. São programas
Em um sistema de multiprocessamento, mais de um pro- escritos para executar tarefas comuns, tais como classificar re-
cessador está envolvido. Eles podem ser dispositivos de entra- gistros, fundir conjuntos de dados, verificar a integridade de
da/saída, apesar que cada processador também poder controlar discos magnéticos, criar diretórios e subdiretórios, restaurar ar-
alguns dispositivos de forma exclusiva. Em alguns casos, todos quivos apagados por engano, localizar arquivos dentro da es-
os processadores podem compartilhar a memória principal. As- trutura de diretório, gerenciar o uso da memória e redirecionar
sim, mais de uma operação de CPU pode ser executada exata- a saída. O TestDrive, por exemplo, permite fazer download de
mente ao mesmo tempo; ou seja, cada processador pode execu- software, testá-lo e ainda ajuda o usuário com seu pagamento
tar um módulo aplicativo, ou porção dele, simultaneamente. A ou sua remoção do computador.
_Turban_GT_02 26.03.04 15:56 Page 9

GUIA DE TECNOLOGIA 2 • SOFTWARE 9

MONITORES DE DESEMPENHO DO SISTEMA. Os monito- processamento em tempo real. As linguagens para programas
res de desempenho de sistema monitoram o desempenho dos de Internet diferem daquelas projetadas para rodar aplicações
sistemas de computador e emitem relatórios contendo dados es- em mainframes. As linguagens também diferem segundo a
tatísticos detalhados referentes ao uso dos recursos do sistema, época em que foram desenvolvidas; as linguagens atuais são
como por exemplo o tempo do processador, espaço de memória, mais sofisticadas do que aquelas escritas na década de 50 e 60.
dispositivos de entrada/saída e programas de aplicativos.
A EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO
MONITORES DE SEGURANÇA DO SISTEMA. Os monitores Os diferentes estágios observados nas linguagens de programa-
de segurança de sistema são programas que monitoram o uso ção ao longo do tempo são chamados de “gerações”. O termo
do sistema para proteger o computador e seus recursos contra geração pode ser enganoso. Nas gerações de hardware, as
uso indevido, fraudes ou destruição. Esses programas dão a se- mais antigas se tornam obsoletas e não são mais usadas. Po-
gurança necessária para permitir que somente usuários autori- rém, todas as gerações de software ainda estão em uso. Elas
zados tenham acesso ao sistema. Os monitores de segurança são mostradas na Figura T-2.3 e serão discutidas a seguir.
também controlam o uso do hardware, software e recursos de
dados do sistema computacional. E, ainda, esses programas LINGUAGEM DE MÁQUINA. A linguagem de máquina é o ní-
monitoram o uso do computador e reúnem estatísticas sobre vel mais baixo de linguagem de computador, consistindo da re-
tentativas de uso indevido. presentação interna de instruções e dados. Esse código de má-
quina, as instruções efetivas entendidas e diretamente executá-
PROGRAMAS DE DESENVOLVIMENTO DE SISTEMAS veis pela CPU, é composta de dígitos binários. O programa que
Para traduzir programas de usuário escritos em código fonte utiliza esse nível inferior de codificação é chamado programa
para código de objeto ou de máquina é necessário o uso de de linguagem de máquina e representa a primeira geração de
compiladores ou interpretadores, que são exemplos de progra- linguagens de programação. A CPU é capaz de executar so-
mas de desenvolvimento de sistemas. Outro exemplo são os mente programas em linguagem de máquina, as quais depen-
programas de engenharia de software assistida por computa- dem da mesma. Ou seja, a linguagem de máquina para um tipo
dor (CASE). de processador central não roda em outras máquinas.
A linguagem de máquina é extremamente difícil de ser en-
tendida e utilizada pelos programadores. Em vista disso, estão
T2.4 Linguagens de Programação sendo desenvolvidas cada vez mais linguagens voltadas para o
usuário. Essas linguagens facilitam a programação, mas o
As linguagens de programação são os elementos básicos de to- computador não consegue executá-las sem primeiro traduzir o
dos os softwares aplicativos e software básico. Elas permitem programa para a linguagem de máquina. O conjunto de instru-
dizer aos computadores o que fazer e representam a forma pe- ções escrito em linguagem de usuário é chamado programa-
la qual os sistemas são desenvolvidos. As linguagens de pro- fonte. O conjunto de instruções obtido após a tradução em lin-
gramação são basicamente um conjunto de símbolos e regras guagem de máquina é chamado de programa-objeto.
usadas para escrever o código do programa. Cada linguagem
utiliza um conjunto diferente de regras e uma sintaxe que de- LINGUAGEM DE MONTAGEM. A linguagem de montagem é
termina como os símbolos devem ser organizados para que te- uma linguagem voltada para o usuário e que representa locali-
nham significado. zações de instruções e dados por meio de mnemônica, ou dicas
As características das linguagens dependem de seu objeti- de memória, que as pessoas podem utilizar com maior facilida-
vo. Por exemplo, se o objetivo do programa é rodar processa- de. As linguagens de montagem são consideradas a segunda
mento batch, elas serão diferentes daquelas voltadas para o geração de linguagens de computador. Em comparação com a

Gerações
1a– 2a– 3a– 4a– 5a–
Homem
Máquina
Linguagem Linguagem Linguagens Linguagens Linguagens
de Máquina de Montagem Procedurais Não-Procedurais Inteligentes

O-1, Monta Inclui Geradores Processamento


Longa, instruções comandos, de aplicativos, de linguagem
programação repetitivas, código comandos natural
difícil código mais mais curto especificam
curto resultados Linguagem
Natural
Evolução

FIGURA T-2.3 Evolução das linguagens de programação. A cada geração, avança-se um passo em direção à linguagem natural, semelhante à
humana.
_Turban_GT_02 26.03.04 15:56 Page 10

10 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

linguagem de máquina, ela facilita muito o trabalho do progra- Compiladores. A tradução de um programa em lingua-
mador. No entanto, uma declaração em linguagem de monta- gem de alto nível para código-objeto é feito por um programa
gem precisa ser traduzida em declaração em linguagem de má- chamado compilador, e o processo é chamado de compilação.
quina. Como a linguagem de máquina depende do hardware e Interpretadores. O interpretador é um compilador que
as declarações nos programas em linguagem de montagem são traduz e executa uma declaração em programa-fonte por vez.
basicamente traduzidos na base de um-para-um, as linguagens Por isso, os interpretadores costumam ser mais simples que os
de máquina também dependem do hardware. compiladores. Essa simplicidade permite haver maior disponi-
O programa de software de sistemas, chamado assembler, bilidade de dispositivos de diagnóstico e de depuração nos in-
executa a tradução do programa em linguagem de montagem terpretadores.
para linguagem de máquina. O assembler aceita o programa- Exemplos de Linguagens Procedurais. A linguagem
fonte como entrada e fornece um programa-objeto como saída. FORTRAN (Formula Translator) é uma linguagem procedu-
O programa-objeto transforma-se então em dados para proces- ral algébrica e tipo fórmula. A FORTRAN foi desenvolvida pa-
samento (ver Figura T-2.4). ra atender às necessidades de processamento científico.
A linguagem COBOL (Common Business-Oriented Lan-
LINGUAGENS DE ALTO NÍVEL guage) foi desenvolvida como linguagem de programação pa-
As linguagens de alto nível são o passo seguinte na evolução ra a comunidade empresarial. A intenção original era aproxi-
das linguagens de programação voltadas para o usuário. Elas mar as instruções em COBOL da forma de expressão em in-
estão muito mais próximas da linguagem natural e são portan- glês. Assim, as linguagens seriam “autodocumentadas”. Exis-
to mais fáceis de escrever, ler e alterar. Além disso, uma decla- tem atualmente mais programas escritos em COBOL do que
ração em linguagem de alto nível é traduzida para uma série de em qualquer outra linguagem de computador.
instruções em linguagem de máquina, tornando a programação A linguagem de programação C experimentou em 2001 o
mais produtiva. maior crescimento entre todas as linguagens. A linguagem C é
considerada mais transportável do que outras, significando que
LINGUAGENS PROCEDURAIS: TERCEIRA GERAÇÃO. As um programa escrito em C para um tipo de computador pode
linguagens procedurais exigem que o programador especifi- normalmente ser rodado em outro tipo, necessitando de pouca
que, passo a passo, exatamente como o computador deve exe- ou nenhuma modificação. Além disso, a linguagem C pode ser
cutar uma tarefa. A linguagem procedural é voltada para a for- facilmente modificada. Outras linguagens procedurais são Pas-
ma como o resultado deve ser produzido. Tendo em vista que cal, BASIC, APL, RPG, PL/1, Ada, LISP e PROLOG.
os computadores somente entendem linguagem de máquina
(ou seja, 0 e 1), as linguagens de alto nível precisam ser tradu- LINGUAGENS NÃO-PROCEDURAIS: QUARTA GERAÇÃO.
zidas para linguagem de máquina antes da execução. Essa tra- Outro tipo de linguagem de alto nível, chamada de linguagem
dução é feita por software básicos chamados tradutores de lin- não-procedural ou de quarta geração, permite ao usuário es-
guagem. O tradutor de linguagem converte o programa de alto pecificar resultados desejados sem ter que especificar os pro-
nível, chamado código-fonte, em código de linguagem de má- cedimentos detalhados necessários para obter os resultados.
quina, chamado código-objeto. Existem dois tipos de traduto- Uma linguagem não-procedural é voltada para aquilo que se
res de linguagem: compiladores e interpretadores. deseja. Uma vantagem das linguagens não-procedurais é que

(a)
Tradutor

Programa Programa
CPU objeto
fonte

Escrito por um Convertido por Pronto para rodar


programador um tradutor como código de máquina

(b)
Programa
objeto

Dados CPU Saída

São inseridos Programa São produzidos


FIGURA T-2.4 O processo de tradução da linguagem. dados é executado resultados
_Turban_GT_02 26.03.04 15:56 Page 11

GUIA DE TECNOLOGIA 2 • SOFTWARE 11

elas podem ser manipuladas por usuários leigos para realizar tulo 12), não existem atualmente linguagens comerciais mais
tarefas funcionais específicas. As linguagens de quarta gera- próximas das linguagens humana ou natural do que as lingua-
ção, também chamadas de linguagens de comando, simplifi- gens de programação de linguagem natural. Alguns institutos
cam e aceleram muito o processo de programação, bem como de pesquisa estão trabalhando no conceito deste tipo de lingua-
reduzem o número de erros de codificação. gem, que poderá vir a ser comercializado o futuro.
O termo linguagem de quarta geração é usado para dife-
renciá-las das linguagens de máquina (primeira geração), das NOVAS LINGUAGENS DE PROGRAMAÇÃO
linguagens de montagem (segunda geração) e linguagens pro- Nos últimos 10 a 15 anos, foram desenvolvidas inúmeras no-
cedurais (terceira geração). Por exemplo, os geradores (ou pro- vas linguagens de programação, projetadas para se adaptar a
gramas) de aplicativos são considerados linguagens de quarta novas tecnologias, tais como multimídia, hipermídia, geren-
geração, assim como também a linguagem de consulta (por ciamento de documentos e Internet. A seguir, descreveremos
exemplo, a RAMIS da MPG), gerador de relatório (por exem- as principais.
plo, a RPG da IBM) e as linguagens de manipulação de dados
(por exemplo, a Natural da ADABAS), oferecidas pela maioria LINGUAGENS DE PROGRAMAÇÃO ORIENTADAS PARA
dos sistemas de gerenciamento de banco de dados (SGBD). Os OBJETOS. A programação orientada para objetos (OOP)
SGBD permitem aos usuários e programadores interrogar e modela o sistema como um conjunto de objetos em coopera-
acessar bancos de dados do computador, usando declarações ção. Da mesma forma como a programação estruturada, a pro-
semelhantes à linguagem natural. Muitas linguagens gráficas gramação orientada para objetos procura gerenciar a complexi-
(Powerpoint, Harvard Graphics, Corel Draw e Lotus Freelan- dade comportamental do sistema, mas vai além da programa-
ce Graphics) são consideradas linguagens de quarta geração. ção estruturada, procurando também gerenciar a complexidade
Outras são FOCUS, PowerHouse, Unifare, Centura, Cactus e de informações do sistema. A abordagem orientada para obje-
Developer/2000. tos envolve a programação, o ambiente dos sistemas operacio-
nais, os bancos de dados orientados para objetos e uma nova
LINGUAGENS DE QUINTA GERAÇÃO. As linguagens de
forma de abordar os aplicativos empresariais.
programação de linguagem natural (NPL) são o passo seguin-
A abordagem orientada para objetos vê o sistema de com-
te na evolução das linguagens e às vezes são conhecidas como
putador como um conjunto de objetos interativos. Esses obje-
linguagens de quinta geração. Os programas tradutores que tra-
duzem linguagens naturais para um formato estruturado que tos possuem certas características, ou atributos, que podem exi-
possa ser lido pela máquina são extremamente complexos e bir determinados comportamentos. Além disso, objetos simila-
exigem grandes quantidades de recursos do computador. res no computador podem ser agrupados e classificados como
Exemplos disso são a INTELLECT e a ELF. Elas normalmente uma classe específica de coisas. Os objetos de um sistema de
são front-ends para linguagens de quarta geração (por exemplo, computador podem interagir entre si, da mesma forma como as
a FOCUS), melhorando a interface de usuário com as lingua- pessoas e os objetos. As pessoas interagem com os objetos en-
gens de quarta geração. Diversas linguagens procedurais de in- viando-lhes mensagens que lhes dizem o que fazer. Os objetos
teligência artificial (como a LISP) são classificadas por algu- também interagem enviando mensagens entre si.
mas pessoas como linguagens de quinta geração. Um projeto Conceitos da Abordagem Orientada para Objetos. Os
inicial na área de inteligência artificial no Japão foi chamado conceitos básicos da abordagem orientada para objetos são ob-
de Projeto de Quinta Geração. A Tabela T-2.1 mostra um com- jetos, classes, passagem de mensagens, encapsulamento, he-
parativo entre as cinco gerações de linguagens. rança e polimorfismo. Como esses conceitos parecem ser mui-
to complexos e técnicos à primeira vista, pode ser útil relacio-
LINGUAGENS DE SEXTA GERAÇÃO. Apesar de alguns cha- ná-los a aspectos das interfaces gráficas de usuário nos siste-
marem as linguagens avançadas de aprendizado de máquina de mas operacionais mais utilizados, tais como o Windows e o
linguagens de sexta geração (ver computação neural no Capí- Mac OS 9 para computadores Apple. Essas interfaces foram

TABELA T-2.1 Tabela de Gerações de Linguagem


Características
Portátil Concisa Uso
(Independe (Um-para- de Mnemônica
Geração da Máquina) Muitos) e Rótulos Procedural Estruturada
a
1 – de Máquina não não não sim sim
2a – Assembler não não sim sim sim
3a – Procedural sim sim sim sim sim
4a – Não-procedural sim sim sim não sim
5a – Linguagem natural sim sim sim não não
_Turban_GT_02 26.03.04 15:56 Page 12

12 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

desenvolvidas por meio de programação orientada para objetos A definição de uma classe de objetos como um caso espe-
e incorporam características orientadas para objetos. cial de uma classe mais genérica, automaticamente incluindo
Os sistemas orientados para objetos vêem o software como as definições do método e das variáveis da classe genérica é
um conjunto de objetos interativos. O objeto modela coisas no chamada herança. As classes especiais de uma classe genéri-
mundo real. Essas coisas podem ser entidades físicas, tais como ca são as subclasses, e a classe mais genérica é a superclasse.
carros, alunos ou eventos. Ou então podem ser coisas abstratas, Por exemplo, a classe aluno é uma subclasse de ser humano,
tais como contas bancárias, ou aspectos de uma interface, como que representa a superclasse. A classe aluno pode ser ainda di-
um botão ou uma caixa para inserção de texto. vidida em alunos do estado, alunos de outros estados, alunos
Quando mencionamos um objeto, podemos estar nos refe- com bolsas de estudo, que seriam as subclasses da classe alu-
rindo a dois significados: uma classe ou uma instância. A clas- no. Esse tipo de organização resulta em hierarquias de classes.
se é um gabarito ou estrutura geral que define os métodos e os A subclasse pode cancelar ou acrescentar definições dos atri-
atributos a serem incluídos em um tipo de objeto em particular. butos e métodos da superclasse. Em outras palavras, as sub-
O objeto é uma instância específica de uma classe, capaz de classes herdam todas as características das classes de nível
executar serviços e conter dados. Por exemplo, “aluno” pode mais alto.
ser uma classe no sistema de matrículas de alunos. Um aluno A herança é especialmente valiosa porque os analistas po-
em particular, João da Silva, pode ser uma instância daquela dem pesquisar hierarquias de classes predefinidas, chamadas
classe e, portanto, um objeto. de bibliotecas de classes, para localizar classes que são seme-
Os objetos possuem dados associados a eles. Os elementos lhantes às classes que necessitam num novo sistema. Isso eco-
de dados são chamados de atributos ou variáveis, pois seus nomiza bastante tempo. Por exemplo, se o usuário final tiver
valores podem mudar. Por exemplo, o objeto João da Silva po- que lidar com alunos na forma de uma classe de objetos, o ana-
deria conter dados sobre ele: que está no segundo ano da facul- lista pode localizar uma classe genérica que seja semelhante à
dade, cursando sistemas de informações gerenciais e que já fez classe de alunos, da maneira como é vista pelo usuário final.
a matrícula para o próximo semestre. Por isso, o analista pode reutilizar informações de uma classe
Os objetos exibem comportamentos, que são as ações que já existente em vez de ter que começar do zero para definir uma
eles executam. O programador implementa esses comporta- classe de alunos. A relação entre classes e subclasses é ilustra-
mentos, escrevendo seções de código que executam os méto- da na Figura T-2.5
dos de cada objeto. Os métodos são procedimentos, ou com- O polimorfismo é a capacidade de enviar a mesma mensa-
portamentos adotados por um objeto, que irão mudar os valo- gem para diversos destinatários diferentes (objetos) e fazer
res dos atributos daquele objeto. Os métodos às vezes são cha- com que essa mensagem inicie a ação desejada. Por exemplo,
mados de operações que manipulam o objeto. Os comporta- supondo que existam três classes de objetos num sistema de
mentos usuais incluem alterar os dados de um objeto e comu- matrículas: alunos do estado, alunos de outros estados e alunos
nicar informações sobre os valores dos objetos. Ao marcar uma com bolsas de estudos. Precisamos calcular os valores das ma-
“caixa” no sistema Windows, o usuário ativa o comportamento trículas para os três tipos de alunos (classes), observando que
que modifica o atributo para “marcado” e mostra um X ou ✓ as taxas de matrícula variam para cada uma delas. O polimor-
naquela caixa. fismo permite que se envie a mesma mensagem de “calcule as
Os objetos interagem entre si por meio de mensagens. Elas taxas” para essas três classes diferentes, a fim de obter o cálcu-
representam solicitações para exibir os comportamentos dese- lo correto para cada uma delas.
jados. O objeto que inicia a mensagem é o remetente e o obje- A Programação Por Meio da Abordagem Orientada Pa-
to que recebe a mensagem é o destinatário. Quando interagi- ra Objetos. Construir programas e aplicativos utilizando lin-
mos com objetos, enviamos mensagens para eles e eles tam- guagens de programação orientadas para objetos é como cons-
bém podem nos enviar mensagens. Clicar sobre um botão, se- truir um edifício usando peças pré-fabricadas. O objeto que
lecionar um item de menu, arrastar e soltar ícones são formas contém os dados e procedimentos é um componente de progra-
de enviar mensagens para os objetos. Essas mensagens podem mação. Os mesmos objetos podem ser usados repetidamente,
ativar métodos nos objetos destinatários e, em troca, novas em um processo chamado reutilização. Reutilizando código de
mensagens podem ser geradas. programa, os programadores podem escrever programas de
A troca de mensagens é a única forma de obter informações forma muito mais eficiente e com menos erros. As linguagens
de um objeto, pois os atributos de um objeto não podem ser de programação orientadas para objetos oferecem vantagens
acessados diretamente. A impossibilidade de acesso aos dados como código reutilizável, custo mais baixo, menor índice de
de um objeto é chamada de encapsulamento ou ocultação de erros e de necessidade de testes e menos tempo para a imple-
informação. Ao ocultar suas variáveis, o objeto protege outros mentação. As linguagens mais populares de programação
objetos das complicações de depender de sua estrutura interna. orientada para objetos são a Smalltalk, a C++ e a Java.
Os outros objetos não precisam saber o nome de cada variável, Smalltalk. A Smalltalk é uma linguagem pura orientada
o tipo de informação que ela contém ou formato físico de ar- para objetos, desenvolvida no Centro de Pesquisas da Xerox
mazenamento da informação. Eles só precisam saber como pe- em Palo Alto. A sintaxe é relativamente fácil de aprender, sen-
dir informações para um objeto. do muito menos complicada do que a C e a C++.
_Turban_GT_02 26.03.04 15:56 Page 13

GUIA DE TECNOLOGIA 2 • SOFTWARE 13

Funcionário (Classe)
Nome (Variáveis de classe)
Função

Imprimir Métodos

Contratante (Subclasse de Funcionário) Pagamento semanal (Subclasse de Funcionário)


Nome Nome
Função Função
Número_do_contrato
Valor_em_moeda
Imprimir Imprimir
Fazer_pagamento_semanal

Por hora (Subclasse de Pagamento semanal) Assalariado (Subclasse de Pagamento semanal)


Nome Nome
Função Função
Valor_hora Salário
Horas_por_semana
Imprimir Imprimir – CANCELAR
Fazer_pagamento_semanal – CANCELAR Fazer_pagamento_semanal – CANCELAR

FIGURA T-2.5 Classes e subclasses de objetos, herança e cancelamento. (Fonte: © Cortesia da Apple Corporation. Utilizando sob licença. Todos
os direitos reservados.)

C++. A C++ é uma extensão direta da linguagem C, e 80 sobre o layout (estilo de texto, títulos de documentos, pará-
a 90% dela é C pura. grafos, listas) e hyperlinks. O padrão HTML suporta a criação
e o layout básicos de documentos em hipertexto, bem como
LINGUAGENS DE PROGRAMAÇÃO VISUAL. As linguagens formulários interativos e “pontos ativos” (hot spots) definidos
de programação usadas dentro do ambiente gráfico muitas ve- em imagens.
zes são chamadas linguagens de programação visual. A pro- O hipertexto é uma abordagem de gerenciamento de da-
gramação visual permite aos desenvolvedores criar aplicativos dos, em que os dados são armazenados em uma rede de nós co-
manipulando imagens gráficas diretamente, em vez de especi- nectados a links (chamados hyperlinks). Os usuários acessam
ficar as características visuais em código. Essas linguagens uti- os dados por meio de um sistema interativo de navegação. A
lizam mouse, ícones, símbolos na tela ou menus para tornar a combinação de nós, links e catálogos de suporte para qualquer
programação mais fácil e intuitiva. Exemplos da linguagem de tópico em particular forma um documento em hipertexto. Ele
programação visual são: Visual Basic, DELPHI, CA Visual, Po- pode conter texto, imagens e outros tipos de informações, tais
wer Objects e Visual C++. como arquivos de dados, áudio, vídeo e programas executáveis.
A World Wide Web utiliza URLs (Universal Resource Lo-
LINGUAGENS ORIENTADAS PARA INTERNET cators) para representar links de hipermídia e links para servi-
ços de rede dentro dos documentos HTML. A primeira parte da
LINGUAGEM DE MARCAÇÃO DE HIPERTEXTO. A lingua- URL, antes das duas barras, especifica o método de acesso. A
gem-padrão utilizada na Web para criar e reconhecer documen- segunda parte é normalmente o endereço do computador onde
tos em hipermídia é a linguagem de marcação de hipertexto os dados ou o serviço estão localizados. A URL é sempre uma
ou HTML (Hypertext Markup Language). A HTML está li- única linha contínua, sem espaços.
geiramente relacionada à linguagem SGML (Standard Genera- A HTML Dinâmica é uma evolução da HTML e oferece
lized Markup Language) que é um método de representar lin- avanços que incluem:
guagens de formatação de documentos. Linguagens como a
HTML, que segue o formato SGML, permitem separar a infor- • uma experiência mais rica e dinâmica para quem navega
mação da apresentação do documento, isto é, documentos con- pelas páginas da Web, transformando-as mais em aplica-
tendo a mesma informação podem ser apresentados de várias ções dinâmicas e menos em conteúdo estático. Ela permi-
formas diferentes. Os usuários têm a opção de controlar ele- te ao usuário interagir com o conteúdo daquelas páginas
mentos visuais, tais como fontes, tamanho de fonte e espaça- sem ter que fazer download de conteúdo adicional do ser-
mento entre parágrafos sem mudar a informação original. vidor. Isso significa que as páginas que utilizam HTML
A HTML é muito fácil de usar. Documentos de Web nor- Dinâmica proporcionam informações mais úteis e inte-
malmente são escritos em HTML e nomeados com um sufixo ressantes.
“.html”. Os documentos HTML são arquivos ASCII padrão • A HTML Dinâmica dá aos desenvolvedores um controle
de 7 ou 8 bits com códigos de formatação com informação preciso sobre a formatação, as fontes e o layout, e propor-
_Turban_GT_02 26.03.04 15:56 Page 14

14 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

ciona um modelo aperfeiçoado de objeto para transfor- permite criar páginas de Web geradas de forma dinâmica a par-
mar as páginas em páginas interativas. tir do lado do servidor, usando uma linguagem de geração de
• Ela serve como base para o crossware, uma nova classe de script. Como a ASP pode se comunicar com os controles da
aplicativos sob demanda e independentes de plataforma, ActiveX e outros programas OLE, os usuários podem utilizar
inteiramente construídos com HTML Dinâmica, Java e Ja- inúmeros geradores de relatórios, controles gráficos e todos os
vaScript. O Netscape Netcaster, um componente do Nets- controles da ActiveX aos quais estão acostumados. A ASP tam-
cape Communicator, é a primeira aplicação crossware da bém pode ser programada em VBScript ou JavaScript, permi-
Netscape. tindo aos usuários trabalhar na linguagem com a qual se sen-
tem mais à vontade.
XML. A XML (eXtensible Markup Language) é otimizada
para envio de documentos através da Internet. Ela é construída LINGUAGEM DE MODELAGEM DE REALIDADE VIRTUAL.
com base na SGML. A XML é uma linguagem para definir, va- A linguagem de modelagem de realidade virtual (VRML) é um
lidar e compartilhar formatos de documentos. Ela permite que formato de arquivo para descrever objetos e mundos tridimen-
os autores criem, administrem e tenham acesso a conteúdo di- sionais interativos. Ela pode ser usada para criar representações
nâmico, personalizado e customizado na Web, sem introduzir tridimensionais de cenas complexas, tais como ilustrações, de-
extensões HTML proprietárias. A XML é especialmente indi- finições de produtos e apresentações de realidade virtual. A
cada para aplicações de comércio eletrônico. VRML pode representar objetos estáticos ou animados e pode
Java. A Java é uma linguagem de programação orientada conter hyperlinks para outros meios, tais como som, vídeo e
para objetos, desenvolvida pela Sun Microsystems. A lingua- imagem.
gem permite aos programadores desenvolver aplicações que
operam por meio da Internet. A Java é usada para desenvolver NAVEGADORES DA WEB. A principal ferramenta de softwa-
aplicativos pequenos, chamados applets, os quais podem ser in- re para acessar e trabalhar com a Web é o navegador. Ele inclui
cluídos numa página HTML na Internet. Quando o usuário uti- uma GUI de apontar e clicar, controlada por mouse ou algumas
liza um navegador compatível com a Java para visualizar uma teclas do teclado. Os navegadores podem mostrar mídia varia-
página contendo um applet Java, o código do applet é transferi- da e também são usados para ativar os hyperlinks. Os princi-
do para o sistema do usuário e executado no navegador. pais navegadores são o Navigator e Communicator, da Netsca-
JavaScript. A JavaScript é uma linguagem de geração de pe, e o Explorer, da Microsoft.
script orientada para objetos, desenvolvida pela Netscape
Communications, para aplicações cliente/servidor. Ela permite
aos usuários adicionar uma certa interatividade às páginas de T2.5 Desenvolvimento de Software e
Web. Muitas pessoas confundem a JavaScript com a linguagem Ferramentas CASE
de programação Java. Não há inter-relação entre ambas. A Ja-
vaScript é uma linguagem de programação bastante básica e Atualmente, grande parte da programação é feita pela divisão
não possui nenhuma relação com a complexa e sofisticada lin- de um processo grande em módulos menores, mais fáceis de
guagem Java. compreender. Esse método normalmente é chamado de progra-
JavaBeans. Esta é a arquitetura de componentes de pla- mação top-down, refinamento escalonado ou programação es-
taforma neutra para Java. Ela é usada para desenvolver ou truturada.
montar soluções de rede para hardware e ambientes de siste- A programação estruturada modela um sistema como se
mas operacionais heterogêneos, dentro da empresa ou por fosse um conjunto de módulos funcionais em camadas. Esses
meio da Internet. A JavaBeans amplia o recurso “escrever módulos são construídos em pirâmide, tendo cada camada uma
uma vez, rodar em qualquer lugar” da linguagem Java para o visão mais elevada do sistema. No entanto, apesar dessa abor-
desenvolvimento de componentes reutilizáveis. A JavaBeans dagem, inúmeros sistemas apresentam uma complexidade
roda em qualquer sistema operacional e dentro de qualquer muito grande. Milhares de módulos com links cruzados entre si
ambiente aplicativo. são muitas vezes chamados “código spaghetti”. A possibilida-
ActiveX. A ActiveX é um conjunto de tecnologias da Mi- de de dividir a tarefa de programação em partes menores pos-
crosoft que combina diferentes linguagens de programação sibilita a instalação de ferramentas especiais de produtividade,
num único site Web integrado. Antes da ActiveX, o conteúdo sendo a mais conhecida delas a CASE.
Web era constituído de texto e gráficos estáticos. Com ela, os
sites de Web se tornam dinâmicos, usando efeitos multimídia, CASE
objetos interativos e aplicações sofisticadas que criam uma ex- A engenharia de software assistida por computador (CASE)
periência para o usuário comparável à dos títulos CD-ROM de é uma ferramenta para programadores, analistas de sistemas,
alta qualidade. A ActiveX não é uma linguagem de programa- analistas de negócio e desenvolvedores de sistemas, para ajudar
ção em si, mas um conjunto de regras que orientam como os a automatizar o desenvolvimento de software e, ao mesmo
aplicativos devem compartilhar informação. tempo, melhorar a qualidade do mesmo.
ASP (Active Server Pages). A ASP é uma tecnologia se- A CASE é uma combinação de ferramentas de software e
melhante à CGI (common gateway interface) da Microsoft que métodos de desenvolvimento estruturado de software. As ferra-
_Turban_GT_02 26.03.04 15:56 Page 15

GUIA DE TECNOLOGIA 2 • SOFTWARE 15

mentas automatizam o processo de desenvolvimento de soft- de dados contendo todas as informações técnicas e gerenciais
ware, enquanto as metodologias ajudam a identificar aqueles necessárias para construir o sistema de software. Elas dão supor-
processos que devem ser automatizados com as ferramentas. te ao longo de todo o processo de desenvolvimento de software
As ferramentas CASE muitas vezes utilizam gráficos ou dia- e ajudam a produzir um sistema documentado e executável.
gramas para ajudar a descrever e documentar os sistemas e a As ferramentas CASE possuem diversas vantagens:
esclarecer as interfaces ou interligações entre os componentes
• Elas aumentam a produtividade ao ajudar o analista a en-
(ver Figura T-2.6). Elas em geral são integradas, permitindo
tender o problema e a solucioná-lo de forma organizada.
que os dados sejam passados de ferramenta para ferramenta.
• Elas facilitam as sessões de projeto conjunto de aplicati-
CATEGORIAS DE FERRAMENTAS CASE. As ferramentas vo (JAD), resultando em uma melhor interação entre os
CASE suportam aspectos ou estágios individuais do processo de usuários e os profissionais dos sistemas de informação.
desenvolvimento de sistemas, grupos ou aspectos relacionados • Elas facilitam a criação de protótipos, de modo que os
ou o processo todo. As ferramentas Upper CASE (U-CASE) dão usuários podem ver os resultados já em uma fase inicial
ênfase basicamente aos aspectos de projeto do desenvolvimen- do processo de desenvolvimento.
to de sistemas, por exemplo, ferramentas que criam fluxo de da- • Elas facilitam mudanças no projeto do sistema à medida
dos ou diagramas entidade-relacionamento. As ferramentas Lo- que as circunstâncias também mudam.
wer CASE (L-CASE) ajudam com a programação e atividades
relacionadas, tais como testes, nos estágios finais do ciclo de vi- Tarefas repetitivas podem ser automatizadas com ferramen-
da do desenvolvimento de software. As ferramentas CASE Inte- tas CASE, como por exemplo o desenho de diagramas de fluxo
gradas (I-CASE) incorporam tanto a funcionalidade da U-CASE de dados (uma técnica gráfica para representar o sistema em de-
como da L-CASE e dão suporte para inúmeras tarefas por todo senvolvimento) ou desenhar gráficos de sistema. A eficiência
o SDLC (Ciclo de Vida de Desenvolvimento de Sistemas). resulta de forçar o desenvolvedor a realizar a tarefa de forma or-
As ferramentas CASE podem ser divididas em duas subcate- ganizada e consistente, como ditada pela ferramenta CASE.
gorias: kit de ferramentas e bancadas de trabalho. O kit de ferra- Uma vez que a maioria das ferramentas CASE é de nature-
mentas é um conjunto de ferramentas de software que automati- za gráfica e tem a capacidade de criar protótipos funcionais ra-
za um tipo de tarefa de software ou uma fase do processo de de- pidamente, mesmo os usuários sem treinamento técnico podem
senvolvimento de software. A bancada de trabalho CASE é um participar de forma mais ativa do processo de desenvolvimen-
conjunto de ferramentas de software inter-relacionadas, basea- to. Eles podem ver como o sistema terminado irá se parecer an-
das em premissas comuns sobre a metodologia de desenvolvi- tes mesmo de ser construído, causando menos desentendimen-
mento em uso. A bancada de trabalho também usa o repositório tos e erros de projeto.

FIGURA T-2.6 Uma tela CASE.


_Turban_GT_02 26.03.04 15:56 Page 16

16 TECNOLOGIA DA INFORMAÇÃO PARA GESTÃO

A CASE facilita a revisão de aplicativos. Quando isso for as ferramentas CASE não são capazes de superar especifica-
necessário, somente será preciso alterar especificações no re- ções insuficientes, incompletas ou inconsistentes. Algumas das
positório de dados, em vez de no próprio código-fonte. Isso ferramentas CASE mais populares são a Designer/2000, da
também permite desenvolver sistemas de protótipos de forma Oracle; a Seer*HPS, da Seer Technologies; e a Composer, da
mais rápida e fácil. Algumas ferramentas CASE ajudam a ge- Texas Instruments. Ver na Tabela T-2.2 uma lista completa de
rar código-fonte diretamente e os benefícios podem ser signi- ferramentas CASE.
ficativos.
As ferramentas CASE também apresentam algumas des-
vantagens. A falta de apoio da administração da empresa para T2.6 Questões e Tendências de Software
a ferramenta pode ser um problema. A instalação e o treina-
mento de desenvolvedores em seu uso são caros. Muitas em- A importância do software nos sistemas computacionais levou
presas não sabem como medir a qualidade ou produtividade no ao surgimento de diversas questões e tendências. Essas ques-
desenvolvimento de software e dessa forma entendem ser difí- tões incluem o licenciamento e os upgrades de software, sha-
cil justificar a despesa de implantação de CASE. Além disso, a reware e freeware, e a escolha do software.
receptividade dos programadores profissionais pode influen-
ciar fortemente a eficiência da CASE. Muito programadores LICENCIAMENTO DE SOFTWARE
que dominam uma abordagem de desenvolvimento resistem Os fornecedores gastam tempo e dinheiro no desenvolvimento
em migrar para um novo método. de software, de modo que precisam protegê-lo contra cópia e
Além disso, a insistência em um método estruturado na fer- distribuição por terceiros, quer sejam pessoas ou empresas.
ramenta CASE é positivo para a padronização, mas pode res- Eles possuem os direitos autorais do software, mas essa prote-
tringir a criatividade e a flexibilidade. Se um analista trabalhar ção é limitada. Outra abordagem é as empresas usarem as leis
em uma empresa que não utiliza uma metodologia estruturada de patentes já existentes, mas essa abordagem não vem sendo
para acompanhar a CASE, então a eficiência desta será consi- muito aceita pelos tribunais.
deravelmente menor. Criar software muitas vezes exige solu- A Software & Information Industry Association [Asso-
ções criativas para problemas procedurais; assim, ficar restrito ciação do Setor de Informação e de Software], antiga-
a uma metodologia e às ferramentas incluídas no pacote CASE mente chamada Software Publishers Association [Associação
pode fazer com que as pessoas se sintam tolhidas. Por último, de Editores de Software] aplica as leis de direitos autorais de

TABELA T-2.2 As principais ferramentas CASE


Categoria Características
Ferramentas de análise e de projeto • Criam fluxo de dados, diagramas entidade-relacionamento, etc.
• Genéricas ou específicas para metodologias proprietárias de projeto de sistemas
Geradores de código ou aplicativos • Algumas convertem especificações diretamente em código
• Muitas vezes possuem recursos de arrastar e soltar para o desenvolvimento de apli-
cativos e interfaces
Ferramentas de prototipação • Geradores de tela e menu
• Geradores de relatórios/4GLs
Suporte a linguagem de programação • Gabaritos para seqüências comuns de código em linguagens específicas
• Bibliotecas de sub-rotinas para funções comuns
Ferramentas de teste • Produzir dados para programas de teste
• Monitorar a execução de programas
• Verificar se os diagramas de análise de sistemas estão completos e consistentes
Ferramentas de detecção de problemas • Identificar a responsabilidade de corrigir falhas e monitorar o andamento de sua
solução
Ferramentas de controle de mudanças • Repositório de diferentes versões do código, com recursos de chegagem de
de gerenciamento/versão “entrada” e “saída”
• Permitir acesso somente a pessoal autorizado
• Manter informações sobre alterações entre as versões dos programas
Ferramentas de gestão de projetos • Método do caminho crítico (gráficos PERT)
• Gráficos Gantt
• Rastreamento de tempo e gastos
Ferramentas de estimativas • Avaliar necessidades de pessoal e custos dos projetos de desenvolvimento de siste-
mas
Geradores de documentação • Criar fluxogramas e outros documentos para sistemas com pouca ou nenhuma do-
cumentação
Ferramentas de engenharia reversa • Ajudar a reestruturar o código de sistemas legados
Ferramentas de BPR • Analisar e melhorar os processos existentes
• Desenhar novos processos
_Turban_GT_02 26.03.04 15:56 Page 17

GUIA DE TECNOLOGIA 2 • SOFTWARE 17

software nas empresas por meio de um conjunto de diretrizes. erros. Decidir se e quando comprar a versão mais recente de
Tais diretrizes orientam os gerentes de sistemas de informação um software pode representar um grande problema para as
(SI) a se livrar de software do qual não tenham comprovante de empresas.
compra ou procurar obter novo licenciamento para ele. Os ge-
rentes de SI devem fazer um levantamento de seus ativos de SHAREWARE E FREEWARE
software para assegurar que possuem o número das licenças. O shareware é um software de que o usuário deve pagar um pe-
À medida que cresce o número de computadores desktop, e queno preço ao autor pelo privilégio de utilizá-lo. O freeware é
os negócios ficam cada vez mais descentralizados, torna-se um software grátis. Ambos ajudam a manter os custos do soft-
mais difícil para os gerentes de SI administrar os ativos de soft- ware baixos. O shareware e o freeware muitas vezes não são
ware da empresa. Por isso, muitas empresas se especializam no tão potentes, isto é, não possuem o conjunto completo de ca-
rastreamento de licenças de software, cobrando uma taxa para racterísticas como as versões oficiais, mas alguns usuários ob-
fazer isso. têm com eles aquilo que precisam a um preço acessível. Uma
infinidade deles pode ser obtida via Internet.
UPGRADES DE SOFTWARE
As empresas de software estão constantemente atualizando ESCOLHA DE SOFTWARE
seus programas e vendendo novas versões. O software atuali- Existem dezenas ou mesmo centenas de pacotes de software
zado pode oferecer aperfeiçoamentos valiosos, mas, por outro praticamente sobre qualquer assunto entre os quais escolher. A
lado, pode também oferecer muito pouco em termos de recur- escolha do software é uma questão importante no desenvolvi-
sos adicionais. Além disso, o software atualizado pode conter mento de sistemas e foi discutida no Capítulo 14.

REFERÊNCIAS E BIBLIOGRAFIA

1. Barker, J., Beginning Java Objects: From Concepts to Code. 12. Feibus, A., “A Garden of Visual Delights,” Information Week, Ju-
Birm-ingham: Wrox Press, 2000. ly 1, 1996.
2. Booker, E., “Better Java,” Internet Week, February 16, 1998. 13. Katz, H., ed., Technology Forecast: 1998 (also 1999, 2000).
3. Burns, J., “So, You Want ASP, Huh?” Datamation, September 24, Menlo Park, CA: Price Waterhouse World Technology Center,
1998. 1998, 1999, 2000.
4. Burns, J., “Java vs. JavaScript: So. . . What Is the Difference Bet- 14. Korson, T., and V. Vaishnave, “Managing Emerging Software
ween Java and JavaScript Anyway?,” Datamation, January 3, Technologies: A Technology Transfer Framework,” Communi-
2000. cations of the ACM, Vol. 35, No. 9, September 1992.
5. Cortese, A., et al., “The Software Revolutions,” Business Week, 15. Gaudin, S., “ActiveX,” ComputerWorld, August 10, 1998.
December 4, 1995. 16. Pont, M. J., Software Engineering with Cand CASE Tools. Rea-
6. Courter, G., and A. Marquis, “Mastering Microsoft Office 2000: ding, MA: Addison-Wesley, 1996.
Premium Edition,” Sybex, July 1999. 17. Shelly, G. B., et al., Microsoft Windows 2000: Complete Con-
7. Deckmyn, D., and J. Vijayan, “Linux Applications Make Leap to cepts and Techniques. Cambridge, MA: Course Technology Inc.,
Unix,” Computerworld, August 21, 2000. 2000.
8. Dick, K., XML: A Manager’s Guide. Reading, MA: Addison- 18. Wallace, N., “ActiveX Template Library Development With Vi-
Wesley, 2000. sual C6.0,” Wordware Publishing, May 1999.
9. Doke, E. R., and B. C. Hardgrave, An Introduction to Object CO- 19. Welsh, M., et al., “Running Linux,” O’Reilly & Associates, Au-
BOL. New York: Wiley, 1998. gust 1999.
10. Dorfman, M., and R. H. Thayer, Software Engineering. Los Ala- 20. Titchenell, D., Getting Started with HTML. Fort Worth,TX: Dry-
mits, CA: IEEE Computer Society Press, 1996. den Press, 1999.
11. Fayad, M., and M. P. Cline, “Aspects of Software Adaptability,”
Communications of the ACM, No. 10, October 1996.

Você também pode gostar