Связи должны быть между объектами (таблицами) - то, что было в СППР (IDEF0) в целом как раз то, что нужно. Там связи двух видов: "входы" (справочники ...) и "выходы" (объекты, которые меняются), а также вид пользователя (профиль), который меняет "выходы". Тогда можно для профиля пользователя собрать список ролей для чтения "входов" и список ролей для изменения "выходов". И будут как раз роли профиля.
И вход-выход это у каждой элементарной прикладной функции. Получается меняем модель (укрупняем профили пользователей или делаем их мельче) и быстро пересобираем профили.
А модель ERP в СППР поставляется вместе с конфигурацией ERP