Engenharia de Software - O Papel Evolutivo do Software


O contexto em que o software foi desenvolvido está estreitamente ligado a quase cinco
décadas de evolução dos sistemas computadorizados. O melhor desempenho de hardware,
menor tamanho e custo mais baixo precipitaram o aparecimento de sistemas baseados em
computadores mais sofisticados. Mudamos dos processadores a válvula para os dispositivos
Assombrosa qualidade de armazenamento e processamento
Avanços da Microeletrônica Maior Poder de Computação
a Custo Baixo
O Software é o mecanismo que possibilita aproveitar e dar vazão a esse potencial Engenharia de Software
Prof. Walteno Martins Parreira Jr Página 6
microeletronicos que são capazes de processar 200 milhões de instruções por segundo. Em
livros populares sobre a "revolução do computador", Osborne caracterizou uma "nova
revolução industrial", Toffler chamou o advento da microeletronica de "a terceira onda de
mudança" na historia humana e Naisbitt previu que a transformação de uma sociedade
industrial em uma "sociedade de informação" terá um profundo impacto sobre nossas vidas.
Feigenbaum e McCorduck sugeriram que a informação e o conhecimento (controlados por
computador) serão o foco principal de poder no século XXI, e Stoll argumentou que a
"comunidade eletrônica" criada por redes e software e a chave para a troca de conhecimentos
em todo o mundo. Quando se iniciava a década de 1990, Toffler descreveu uma "mudança de
poder", em que as velhas estruturas de poder (governamental, educacional, industrial,
econômico e militar) se desintegrarão enquanto os computadores e o software levarão a uma
"democratização do conhecimento" .
Primeiros Anos
1950 a 1960
Segunda Era
1960 a 1970
Terceira Era
1970 a 1980
Quarta Era
1980 a 2000
Orientação Batch Multiusuário Interativo Sistemas Distribuídos Sistemas de Desktop
poderosos
Distribuição Limitada Tempo Real Hardware de Baixo Custo Tecnologias Orientadas à
Objetos
Software Customizado Banco de Dados Microprocessadores Sistemas Especialistas
Programação Artesanal Produto de Software Impacto de Consumo Computação paralela
Sem Administração
Específica Software House “inteligência” embutida Ferramentas CASE
Sem Documentação Reutilização
 Redes Neurais artificiais
A tabela descreve a evolução do software dentro do contexto das áreas de aplicação de
sistemas baseados em computador. Durante os primeiros anos do desenvolvimento de
sistemas computadorizados, o hardware sofreu continuas mudanças, enquanto o software era
visto por muitos como uma reflexão posterior. A programação de computador era uma arte
"secundaria" para a qual havia poucos métodos sistemáticos. O desenvolvimento do software
era feito virtualmente sem administração - ate que os prazos começassem a se esgotar e os
custos a subir abruptamente. Durante esse período, era usada uma orientação batch (em lote)
para a maioria dos sistemas. Notáveis exceções foram os sistemas interativos, tais como o
primeiro sistema de reservas da American Airlines e os sistemas de tempo real orientados a
defesa, como o SAGE. Na maior parte, entretanto, o hardware dedicava-se a execução de um
único programa que, por sua vez, dedicava-se a uma aplicação específica.
Durante os primeiros anos, o hardware de propósito geral tornara-se lugar comum. O
software, por outro lado, era projetado sob medida para cada aplicação e tinha uma distribuição
relativamente limitada. O produto software (isto e, programas desenvolvidos para serem
vendidos a um ou mais clientes) estava em sua infância. A maior parte do software era
desenvolvida e, em ultima analise, usada pela própria pessoa ou organização. Você escrevia-o,
colocava-o em funcionamento e, se ele falhasse, era você quem o consertava. Uma vez que a
rotatividade de empregos era baixa, os gerentes podiam dormir tranqüilos com a certeza de
que você estaria lá se defeitos fossem encontrados.
Por causa desse ambiente de software personalizado, o projeto era um processo implícito
realizado no cérebro de alguém, e a documentação muitas vezes não existia. Durante os
primeiros anos, aprendemos muito sobre a implementação de sistemas baseados em
computador, mas relativamente pouco sobre engenharia de sistemas de computador. Por
justiça, entretanto, devemos reconhecer os muito surpreendentes sistemas baseados em
computador desenvolvidos durante essa época. Alguns deles permanecem em uso ate hoje e
constituem feitos que são um marco de referência e que continuam a justificar a admiração. Engenharia de Software
Prof. Walteno Martins Parreira Jr Página 7
A segunda era da evolução dos sistemas computadorizados estendeu-se de meados da
década de 1960 até o final da década de 1970. A multiprogramação e os sistemas
multiusuários introduziram novos conceitos de interação homem-máquina. As técnicas
interativas abriram um novo mundo de aplicações e novos níveis de sofisticação de software e
hardware. Sistemas de tempo real podiam coletar, analisar e transformar dados de múltiplas
fontes, dai controlando processos e produzindo saída em milissegundos, e não em minutos. Os
avanços da armazenagem on-line levaram à primeira geração de sistemas de gerenciamento
de bancos de dados.
A segunda era também foi caracterizada pelo uso do produto de software e pelo advento
das "software houses". O software era desenvolvido para ampla distribuição num mercado
interdisciplinar. Programas para mainframes e minicomputadores eram distribuídos para
centenas e, às vezes, milhares de usuários. Empresários da industria, governos e
universidades puseram-se "desenvolver pacotes de software" e a ganhar muito dinheiro.
A medida que o numero de sistemas baseados em computador crescia, bibliotecas de
software de computador começaram a se expandir. Projetos de desenvolvimento internos nas
empresas produziram dezenas de milhares de instruções de programa. Os produtos de
software comprados no exterior acrescentaram centenas de milhares de novas instruções. Uma
nuvem negra apareceu no horizonte. Todos esses programas - todas essas instruções - tinham
de ser corrigidos quando eram detectadas falhas, alterados conforme as exigências do usuário
se modificavam ou adaptados a um novo hardware que fosse comprado. Essas atividades
foram chamadas coletivamente de manutenção de software. O esforço despendido na
manutenção de software começou a absorver recursos em índices alarmantes.
E, ainda pior, a natureza personalizada de muitos programas tornava-os virtualmente
impossíveis de sofrer manutenção. Uma "crise de software" agigantou-se no horizonte.
A terceira era da evolução dos sistemas computadorizados começou em meados da
década de 1970 e continua ate hoje. Os sistemas distribuídos - múltiplos computadores, cada
um executando funções concorrentemente e comunicando-se um com o outro - aumentaram
intensamente a complexidade dos sistemas baseados em computador. As redes globais e
locais, as comunicações digitais de largura de banda (handwidth) elevada e a crescente
demanda de acesso "instantâneo" a dados exigem muito dos desenvolvedores de software.
A terceira era também foi caracterizada pelo advento e generalização do uso de
microprocessadores, computadores pessoais e poderosas estações de trabalho (workstations)
de mesa. O microprocessador gerou um amplo conjunto de produtos inteligentes - de
automóveis a fornos de microondas, de robôs industriais a equipamentos para diagnostico de
soro sangüíneo. Em muitos casos, a tecnologia de software esta sendo integrada a produtos
por equipes técnicas que entendem de hardware mas que freqüentemente são principiantes
em desenvolvimento de software.
O computador pessoal foi o catalisador do crescimento de muitas empresas de software.
Enquanto as empresas de software da segunda era vendiam centenas ou milhares de copias
de seus programas, as empresas da terceira era vendem dezenas e ate mesmo centenas de
milhares de cópias. O hardware de computador pessoal está se tornando rapidamente um
produto primário, enquanto o software oferece a característica capaz de diferenciar. De fato,
quando a taxa de crescimento das vendas de computadores pessoais se estabilizou em
meados da década de 1980, as vendas de software continuaram a crescer. Na industria ou em
âmbito domestico, muitas pessoas gastaram mais dinheiro cm software do que aquilo que
despenderam para comprar o computador no qual o software seria instalado.
A quarta era do software de computador esta apenas começando. As tecnologias
orientadas a objetos estão rapidamente ocupando o lugar das abordagens mais convencionais
para o desenvolvimento de software em muitas áreas de aplicação. Autores tais como
Feigenhaum, McCorduck e Allman prevêem que os computadores de "quinta geração",
arquiteturas de computação radicalmente diferentes, e seu software correlato exercerão um
profundo impacto sobre o equilíbrio do poder político e industrial em todo o mundo. As técnicas Engenharia de Software
Prof. Walteno Martins Parreira Jr Página 8
de "quarta geração" para o desenvolvimento de software já estão mudando a maneira segundo
a qual alguns segmentos da comunidade de software constróem programas de computador. Os
sistemas especialistas e o software de inteligência artificial finalmente saíram do laboratório
para a aplicação pratica em problemas de amplo espectro do mundo real. O software de rede
neural artificial abriu excitantes possibilidades para o reconhecimento de padrões e para
capacidades de processamento de informações semelhantes as humanas.
Quando nos movimentamos para a quinta era, os problemas associados ao software de
computador continuam a se intensificar:
• A sofisticação do software ultrapassou nossa capacidade de construir um software que
extraia o potencial do hardware.
• Nossa capacidade de construir programas não pode acompanhar o ritmo da demanda
de novos programas.
• Nossa capacidade de manter os programas existentes é ameaçada por projetos ruins
e recursos inadequados.
Em resposta a esses problemas, estão sendo adotadas práticas de engenharia em toda a
industria.

Share:

0 comentários

POPULAR POSTS