Subscribe by Email

Friday, June 19, 2009

Software Design - Structural Partitioning

The program structure should be partitioned both horizontally and vertically.

(1) Horizontal partitioning defines separate branches of the modular hierarchy for each major program function.

Simplest way is to partition a system into: input, data transformation (processing), and output

Advantages of horizontal partition:
- easy to test, maintain, and extend
- fewer side effects in change propagation or error propagation

Disadvantage: more data to be passed across module interfaces
- complicate the overall control of program flow

(2) Vertical partitioning suggests the control and work should be distributed top-down in program structure.

- good at dealing with changes:
- easy to maintain the changes
- reduce the change impact and and propagation

No comments:

Facebook activity