Une dépendance logicielle se conçoit dans le cadre d'une intégration de paquet logiciel en vue de construire un agrégat logiciel. Une dépendance exprime des relations entre paquets :
Les conditions portent notamment sur :
Ceci permet de généraliser une installation logicielle, et de déporter l'intelligence servant à déterminer, et installer les paquets logiciels dans l'ordre, du paquet lui-même vers un outil appelé outil d'installation. Ainsi, cela diminue les efforts des développeurs de paquets logiciels.
Ces dépendances sont un élément nécessaire dans l'architecture de paquets logiciels, qui sont la base des distributions Linux et systèmes BSD.
Ceci est un élément constitutif de bonne pratique en intégration logicielle.
Un programme écrit à partir de source en C dépend pour son exécution de la présence (inclusion) des bibliothèques logicielles adéquates.
L'installation d'un serveur pour un protocole d'impression exclut l'installation d'autres implémentations de ce même protocole.
L'installation d'une interface graphique d'affichage peut suggérer les polices de caractères spécifiques nécessaires pour certaines régions du monde, mais inutiles pour les autres.
Sous Unix/linux, l'utilitaire ldd en ligne de commande permet de lister les dépendances logicielles d'un exécutable.
Pour les autres systèmes d'exploitation (notamment Windows), des utilitaires graphiques (fournis par Steve P. Miller) permettent de lister les dépendances logicielles. Il y a un utilitaire pour chaque architecture : x86 (32 bits), x64 et IA-64 (64 bits), MIPS, PowerPC...etc. Voir (en) Dependency walker