Domain partitioning To partition the domain means to organize the different types of functions that the system must support. These functions were defined in the use cases model. The use cases should be organized using the principles of cohesion and coupling so that related use cases appear together. Each of the resulting groups should provide all of the data resources that users need to successfully complete a reasonable unit of work. These resources are defined in the problem domain class diagram and interaction diagrams. Domain partitioning is somewhat subjective and involves significant interaction with the users. However, as you learn the process, you will develop techniques to measure the quality of the groupings more objectively.