Domain Partitioning  «Prev  Next»
Lesson 1

Domain Partitioning | Systems Design

Domain partitioning is a process for dividing a problem domain into cohesive units before proceeding into detailed object design. The problem domain was defined in the first two phases of the project using the use case model, the object model, and the dynamic model. In this module, you will learn how to perform the domain partitioning process using these tools as your primary source.
After completing this module, you will be able to:
  1. Identify the resources used for domain partitioning
  2. Perform domain partitioning using use cases
  3. Explain how package diagrams may be used to model domain partitions
  4. Assign analysis classes to domain partitions
  5. Test the domain partition for completeness
  6. Identify and define dependencies between partitions

Combining DFD Fragments to Create Event-Partitioned System Model

Data Flow Diagram

System Complexity

Complex systems require careful and detailed analysis and design. Throw-away prototyping is particularly well suited to such detailed analysis and design, but system prototyping is not. The waterfall methodologies[1] can handle complex systems, but without the ability to get the system or prototypes into user's hands early on, some key issues may be overlooked. Although iterative development methodologies enable users to interact with the system early in the process, we have observed that project teams who follow these methodologies tend to devote less attention to the analysis of the complete problem domain than they might if they were using other methodologies.

[1] The waterfall model is a breakdown of project activities into linear sequential phases, where each phase depends on the deliverables of the previous one and corresponds to a specialisation of tasks.