Alguns ambientes de modelagem UML oferecem uma funcionalidade chamada descoberta ou identificação de dependências, que cria dependências explícitas entre pacotes com base nas dependências entre seus elementos, e podem também gerar diagramas de pacotes que facilitam a visualização das mesmas. Considerando que uma aplicação OO seja modelada em camadas, correspondentes a diferentes níveis de abstração, e que cada camada contenha um ou mais pacotes, são considerados(as) indesejáveis, por causarem problemas de acoplamento e manutenibilidade,