Executable UML: A Foundation for Model-Driven Architecture
Domain partitioning is a way to factor out a single cross-cutting concern as a single subject matter. Each domain constitutes a single aspect of the system. As such, domains are the largest unit of reuse, because domains form cohesive wholes, autonomous of one another. We represent domains and the bridges between them as UML packages and dependencies, respectively, though this is a stretch because UML does not directly support the concepts. Nonetheless, domains are important because each domain becomes a set of executable UML models with defined behaviors. To build the executable UML models, however, we need to gather and understand the requirements. One approach to this problem is use cases, the topic we pick up in the next chapter. |