Un logiciel peut être défini comme l'ensemble des concepts, activités et procédures qui aboutissent à la génération de programmes pour un système informatique. En d'autres termes, ce sont les instructions qui ont été prédéfinies par un programmeur pour exécuter les tâches indiquées.
Le logiciel est un ensemble de nombres binaires (bits), ce qui a du sens pour l'ordinateur, et est stocké sur un support physique (matériel), à partir duquel le processeur peut accéder, l'exécuter ou l'afficher. Alors que le matériel est un système informatique visible, tangible et facilement applicable, le logiciel est une entité purement conceptuelle: un produit intellectuel, cela signifie que le matériel est la partie physique et le logiciel est la partie logique de l'ordinateur.
Le but d'un «bon logiciel» est d' augmenter les chances qu'il soit développé à temps et qu'il soit plus rentable grâce à une utilisation plus efficace du personnel et des ressources.
Le logiciel peut être divisé de différentes manières en fonction du type de travail effectué. Le logiciel système, où l'une de ses parties importantes est le système d'exploitation, est la partie qui permet au matériel de fonctionner, contrôle les travaux, traite des tâches essentielles, bien que souvent invisibles, telles que la maintenance des fichiers disque et la gestion de l'écran.
Le logiciel d'application permet aux utilisateurs de réaliser une ou plusieurs tâches spécifiques, dans tout domaine d'activité qui peut être automatisé ou assisté, il réalise des tâches de traitement de texte, de gestion de bases de données, etc. Par exemple, créer un index trié par auteur ou récupérer des informations à partir d'une base de données, etc.
Enfin, il y a le logiciel de programmation, qui fournit des outils pour aider le programmeur à écrire des programmes informatiques et à utiliser différents langages de programmation de manière pratique.