Yeah, I'm pretty sure it's A, C and D. The business catalog (A) determines if the app tile can even be assigned, spaces/pages (C) control the layout on the launchpad, and you use Role Maintenance (D) to manage everything. Restrictions (B) don't really block initial display unless they're super specific. Anyone see a scenario where E would matter for this?
Not sure B or E help here, since business role templates and restrictions don't usually block the tile from displaying if the catalogs and spaces are right. I think A, C, D is correct for Fiori app visibility.