In systems in which there is a great deal of user interaction, it is often desirable to represent the entire user interface as a single analysis class during Use Case Analysis. These classes are, in reality, composed of many different kinds of other classes: buttons, windows, menus, sub-panes, controls, etc. Using a single class to represent this complex collaboration is sometimes too great an over-simplification. While a single class could be used, refining it as we go along, it is often easier to represent this with a more encompassing concept, the subsystem.

In the past, we have accepted the use of a single class to represent complex collaborations such as GUI interfaces due to our limited design vocabulary. These classes were regarded, in a sense, as the entry points to complex collaborations, but they really were not classes in the real sense (they did not have a single well-defined set of responsibilities, except in a very loose sense) and they often disappeared in the design process. In the end, we discovered the real classes and collaborations, and distributed the behavior of these place-holder classes to them.

Display Rational Unified Process using frames

 

© Rational Software Corporation 1998 Rational Unified Process 5.1 (build 43)