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 this case, a single class (or subsystem) was used to represent complex collaborations such as GUI interfaces due to our limited design vocabulary. This class was regarded, in a sense, as the entry point to complex collaborations, but it really was not a class in the real sense (it did not have a single well-defined set of responsibilities, except in a very loose sense) and it often disappeared in the design process. In the end, one discovers the real classes and collaborations, and distributes the behavior of each place-holder class to them. Some of the work performed in Prototype the User Interface by the Role: User-Interface Designer when producing the Artifact: User-Interface Prototype may be able to be carried forward and reused, depending on the nature of that prototype.



Rational Unified Process   2003.06.13