An even more detailed view of the interface than the statechart is the individual operation. An interface is a named set of operations as well as the protocol that describes their usage. This detailed view can be provided in a number of ways. Another approach is to show a set of objects contained within the component that are accessible to the outside. They can be shown on a class diagram representing the component while the rest of the objects inside the component remain hidden.
Components don t often stand alone.
The reason dependencies must be identified is because these services are not solely encapsulated within the component. Therefore, replacing one component with a new revision might involve replacing one the components on which it depends. Again, this isn t unusual. Objects must do exactly the same thing when they collaborate. In my previous column, I note that objects collaborate to realize large-scale behaviors, and they can do this at various levels of abstraction.