
Desenvolver Software séc XXI
Para desenvolver software que esteja preparado para enfrentar os desafios do século vinte e
um, devemos perceber uns poucos fatos reais:
• Software tornou-se profundamente incorporado em praticamente todos os aspectos de
nossas vidas e, consequentemente, o número de pessoas interessadas nos recursos e
nas funções oferecidas por uma determinada aplicação8 tem crescido significativamente.
Quando uma aplicação ou um sistema embutido estão para ser desenvolvidos, muitas
vozes devem ser ouvidas. E, algumas vezes, parece que cada uma delas possui uma ideia
ligeiramente diferente de quais funções ou recursos o software deve oferecer. Depreende-
-se, portanto, que se deve fazer um esforço concentrado para compreender o problema
antes de desenvolver uma solução de software.
• Os requisitos de tecnologia de informação demandados por indivíduos, empresas e órgãos
governamentais estão se tornando cada vez mais complexos a cada ano. Atualmente, equipes
numericamente grandes desenvolvem programas de computador que antigamente eram
desenvolvidos por um único indivíduo. Software sofisticado, outrora implementado em um
ambiente computacional independente e previsível, hoje em dia está incorporado em tudo,
de produtos eletrônicos de consumo a equipamentos médicos e sistemas de armamentos. A
complexidade desses novos produtos e sistemas baseados em computadores demanda uma
maior atenção para com as interações de todos os elementos do sistema. Depreende-se,
portanto, que projetar tornou-se uma atividade-chave ( fundamental ).
• Indivíduos, negócios e governos dependem, de forma crescente, de software para decisões
estratégicas e táticas, assim como para controle e para operações cotidianas. Se
o software falhar, as pessoas e as principais empresas poderão vivenciar desde pequenos
inconvenientes a falhas catastróficas. Depreende-se, portanto, que um software deve
apresentar qualidade elevada.
• À medida que o valor de uma aplicação específica aumente, a probabilidade é de que sua
base de usuários e longevidade também cresçam. À medida que sua base de usuários e seu
tempo em uso forem aumentando, a demanda por adaptação e aperfeiçoamento também
irá aumentar. Conclui-se, portanto, que um software deve ser passível de manutenção
