Software pode ser definido como todos aqueles conceitos, atividades e procedimentos que resultam na geração de programas para um sistema de computador. Em outras palavras, são as instruções que foram predefinidas por um programador para executar as tarefas indicadas.
Software é um conjunto de números binários (bits), que faz algum sentido para o computador, e é armazenado em algum suporte físico (hardware), de onde o processador pode acessar, executá-lo ou exibi-lo. Enquanto o hardware é um sistema de computador visível, tangível e facilmente aplicável, o software é uma entidade puramente conceitual: um produto intelectual, isso significa que o hardware é a parte física e o software é a parte lógica do computador.
O objetivo de um “bom software” é aumentar as chances de ele ser desenvolvido no prazo e de ser mais econômico devido ao uso mais eficiente de pessoal e recursos.
O software pode ser dividido em diferentes formas com base no tipo de trabalho executado. O software do sistema, onde uma de suas partes importantes é o sistema operacional, é a parte que permite o funcionamento do hardware, controla as tarefas, processos tão essenciais, embora muitas vezes invisíveis, como manutenção de arquivos de disco e administração da tela.
O software aplicativo permite ao usuário realizar uma ou mais tarefas específicas, em qualquer campo de atividade que pode ser automatizado ou assistido, realiza tarefas de processamento de texto, gerenciamento de banco de dados e afins. Por exemplo, faça um índice ordenado por autor ou recupere informações de um banco de dados, etc.
Por fim, existe o software de programação, que fornece ferramentas para ajudar o programador a escrever programas de computador e usar diferentes linguagens de programação de forma prática.