To build halfway decent UML models (executable or not), you have to have a plan for distributing the dynamics. Failure to do so leads to "controller objects" that require change every time anything changes in the requirements. A more robust approach distributes dynamics according to a limited set of idioms such as those presented here. |