Tool Mentor:
Managing Subsystems Using Rational Rose
      
       Purpose
      
       This tool mentor describes how to represent design subsystems and 
       related artifacts in Rational Rose. 
      
 Related Rational Unified Process information:  
      
      
       Overview
      
       The following steps are performed to manage subsystems: 
      
       - 
       
        Create subsystems in the Design Model
          - Create
          subsystem interfaces
        
 - Create
          classes within the subsystem
        
 - Document
          package and subsystem dependencies
        
 - Document
          subsystem contents
        
 - Document
          subsystem behavior
       
  
      
       1. Create
       subsystems in the Design Model  
      
       You create a subsystem by creating a package in the Design Model and 
       using the Package Specification to assign it a stereotype of "subsystem". 
      
       In order to show the subsystem in sequence and collaboration diagrams 
       in Rational Rose, you create a class that acts as a "proxy" 
       for the subsystem in diagrams. To create this class in the subsystem, 
       read about creating a class in Tool Mentor:
       Managing Classes. This "proxy" 
       class should have the same name as the subsystem, and should be 
       stereotyped "subsystem proxy" to indicate that it exists as 
       a "proxy" for the subsystem. 
      
        
       For
        more information, refer to the following topics in the Rational Rose 
       online help: 
      
      
       2. Create subsystem
       interfaces  
      
       See Tool Mentor: Managing Interfaces. 
      
       In this step, you enable the "subsystem proxy" to provide 
       all of the operations defined by the interfaces realized by the subsystem. To 
       do this, you first create a new Class Diagram in the subsystem 
       package and give it the name "Interface Realizations." You 
       can then drag and drop the "subsystem proxy" class into the 
       new diagram. Using Rational Rose's drawing tool, you should draw 
       realization dependencies from the "subsystem proxy" class 
       to the interface classes that the proxy realizes, making sure that 
       all the interface operations are defined in the "subsystem 
       proxy" class. This may require creating one or more operations 
       on the "subsystem proxy" class. See Tool
        Mentor: Managing Classes for more information. 
      
        
       For
        more information, refer to the following topics in the Rational Rose 
       online help: 
      
       - 
       
        Realize Relationship
          - Interface
       
  
      
       3.  Create classes within the
       subsystem  
      
       To create classes inside the subsystem, see Tool
       Mentor: Managing Classes. 
      
       With the exception of the subsystem's "subsystem proxy", all contents of the subsystem should be 
       "invisible" to model elements outside the subsystem. This 
       is done by setting the class export control to 
       "implementation" in the Class Specification. Ideally, the
       interfaces realized by the subsystem should be defined outside the
       package that represents the subsystem (so that the subsystem is easily
       replaceable), but if defined inside the package representing the subsystem, must also be visible. 
      
       4. Document
       package and subsystem dependencies  
      
       You should document the dependencies between packages/subsystems in 
       the Design Model. To do this, you create a new class diagram for the 
       Design Model and name it "Package/Subsystem Dependencies." 
       You can then drag and drop the packages and subsystems from the 
       browser into the new diagram. Any existing dependency relationships 
       will be displayed automatically. You can also visually arrange the 
       packages and subsystems into layers in the diagram and use the Text 
       Box tool icon to annotate the layers. Finally, you can create 
       additional package and subsystem dependency relationships using the 
       Dependency tool icon. 
      
        
       For
        more information, refer to the Dependency
        Relationship topic in the Rational Rose online help: 
      
       5. Document subsystem
       contents  
      
       Each package and subsystem should contain one or more class diagrams 
       to document and illustrate the classes contained in the package/subsystem. 
      
       6. Document subsystem
       behavior  
      
       Each Subsystem should have one or more sequence diagrams to 
       illustrate how the operations offered by the interfaces of the 
       subsystem are distributed to the contents of the subsystem. For more 
       details, see Tool Mentor: Managing Sequence Diagrams. 
      
       The sequence diagram should illustrate how a particular operation 
       offered by a subsystem interface is performed by model elements 
       contained in the subsystem. The left-most object in these 
       "interface operation" diagrams should be the "subsystem
        proxy" class. The remainder of the objects represent the 
       private classes of the subsystem. The messages between them 
       illustrate how the interface operation is realized. 
      
       It is recommended that you name the diagram  "<interface 
       name>::<operation name>". This naming convention 
       simplifies future tracing of interface behaviors to the classes which 
       implement the interface operations. 
      
 
 
Copyright 
© 1987 - 2001 Rational Software Corporation
 
 |