Montag, 7. September 2009

Decomposing Systems Into Modules

I recently stumbled across a nice article about modular programming.

On the Criteria To Be Used in Decomposing Systems into Modules

Sidenote: Its written back in december 1972

This article contains some (very) smart statements, which are probably still effective for most current software developments.
What's left for me is the mission to find more articles and books about how to detect the right responsibility assignments for my components.
How to make the right design decisions *before* I begin with the layout of my modules?
Two (slightly modified) snippets from the document:
The most common approach to decompose a system is by choosing a flowchart. This is naive in the first place and almost always incorrect.

Maybe one can say the same thing in a more positive manner:
A component is characterized by its knowledge of a design decision. Its interface reveal as little as possible about its inner workings.

Excellent.