it service configuration is fairly confusing, especially if one wants a service to affect several higher level services. it has to be added as a "hard dependency" for one, then as a "soft dependency" for other such higher level services.
from user point of view, there is no difference of "hard" or "soft" dependency (besides some minor operational difference) - it seems to be an artefact of early technical design.
it would be best to get rid of this difference and allow to treat all services the same. from the user point of view, when adding a dependency on a service that already exists in the tree, offering a way to mark it as 'hard' or 'soft' does not make much sense (especially given that adding a 'hard' dependency from service properties is not possible at all)
when deleting a service that is included in several places in the tree, it would be nice to both ask for confirmation, and if the service is included in several places, ask whether only this location or all locations should be deleted.
when deleting a service that has child services, it would be nice to inform user of those in addition to general confirmation prompt.