Designers can use responsibilities to make modules more cohesive and less tightly coupled in several ways such as?
(a) Assign modules at most one operational and one data responsibility
(b) Assign complementary data and operational responsibilities
(c) Make sure module responsibilities do not overlap
(d) All of the mentioned
This question was posed to me during an internship interview.
Enquiry is from Static Modelling Heuristics topic in portion Unified Modelling Language of Software Architecture