Software
Até não muito pouco tempo, software e hardware estavam tão próximos que se dizia que "software is shipped free with hardware". Essa situação foi evoluindo até que em 1968, o primeiro gerenciador independente de banco de dados foi introduzido, marcando o descolamento, em termos comerciais e de desenvolvimento, do software e do hardware.
Outros bancos de dados (gerenciadores de) foram surgindo, adotando estruturas hierárquicas e assemelhadas, até que no final dos anos 70, surgiu um novo modelo - o modelo relacional, que por suas características de flexibilidade, entre outras, tornou-o extremamente atrativo para os usuários. O desenvolvimento de sistemas ficou mais fácil, e os bancos de dados relacionais rapidamente tornaram-se o padrão aceito pela indústria; pode-se dizer que desde o final dos anos 80, a maioria absoluta das aplicações foi desenvolvida "em cima" dos DB relacionais.
No entanto, à medida em que o uso de computadores se expandiu, diferentes trabalhos passaram a ser executados com a utilização dos mesmos - tornou-se necessário trabalhar com diferentes tipos de dados, como sons, imagens, etc. Rapidamente se compreendeu que o trabalho com esses tipos de dados necessitaria de um suporte diferente em termos de gerenciadores de bancos de dados, de linguagens e, por conseqüência, de técnicas de desenvolvimento. Nos dias de hoje, tabelas seguem sendo o melhor meio para se armazenar dados acerca das vendas ou da folha de pagamento de uma empresa, pois esses dados tendem a ser bidimensionais por natureza - agora, se adicionarmos a eles uma foto ou uma impressão digital, por exemplo, uma tabela começa a ser inadequada para esse fim - lembrando que todo software é uma abstração ou modelo de alguma coisa do mundo real, podemos dizer que a tecnologia OO torna possível refletir mais claramente essas realidades.
Software
DEFINIÇÃO:
Software, logiciário ou suporte lógico é uma seqüência de instruções a serem seguidas e/ou executadas, na