Introduction to Rational Rose 98i Module 10: Team Development
Objectives:  Team Development <ul><li>You will be able to: </li></ul><ul><ul><li>Create controlled units to facilitate tea...
What are Controlled Units? <ul><li>A controlled unit is an entity that may be placed under configuration control </li></ul...
How Are Controlled Units Stored? <ul><li>Controlled units are stored in files, using specific filename extensions to desig...
Sample Model File .mdl file .cat file .cat file .cat file .cat file .cat file .cat file
Designating Controlled Units
Showing Unit Visibility on a Diagram U means the package is a  controlled unit
Loading and Unloading Controlled Units <ul><li>When a model is opened in Rose, the user is asked if all units should be lo...
Loaded/Unloaded Units in the Browser Unloaded unit Loaded unit
Unresolved Reference Adornment
Unresolved References <ul><li>Specification information for unresolved references is not available </li></ul><ul><li>Once ...
Write-protecting Controlled Units <ul><li>A controlled unit may be write-protected </li></ul><ul><ul><li>A nested controll...
Integrating Rose with a CM System <ul><li>Rose may be integrated with many commercial configuration management systems </l...
Rose Model Integrator <ul><li>The Rose Model Integrator allows you to compare, discover differences, and merge up to seven...
Model Integrator - Load/Unload Subunits <ul><li>When using the Model Integrator, if one or more contributor files has cont...
Model Integrator - Load/Unload Subunits
Rose Model Integrator - Comparing Files Item Changed Item Moved Item Added Item Deleted Set Merge Mode
Rose Model Integrator - Merge Files <ul><li>The Merge mode allows you to compare files and create a recipient into which f...
Rose Model Integrator - Merge Files Number of contributor Merge menu Set Compare Mode
Source Code Control Add-in <ul><li>The source code control add-in allows access to any SCC compliant configuration managem...
Source Code Control Menu
Team Development Step by Step 1.  Identify configuration management system 3.  Identify developer workspaces 2.  Identify ...
Step 1:  Identify CM System <ul><ul><li>Rational ClearCase is the configuration management system used for this example </...
Step 2:  Identify Integration Workspaces <ul><li>In ClearCase, the central repository that contains all versions of all fi...
Integration Workspace integration_view on ‘view’ (Z:) model_vob reuse_vob
Step 3:  Identify Developer Workspaces <ul><li>Each developer has their own private workspace </li></ul><ul><ul><li>Set up...
Step 4: Define Integration Strategy  <ul><li>A consistent integration strategy must be developed </li></ul><ul><ul><li>Ros...
Step 5:  Create Virtual Pathmap Symbols <ul><li>Using Rose’s path map mechanism, define path map names, which are used to ...
How Does Rose Use Virtual Path Names? <ul><li>Rose will create model files whose embedded pathnames are relative to the de...
Step 6:  Provide Access to the CM System <ul><li>The Version Control menu includes the following: </li></ul><ul><ul><li>Ad...
Step 6:  Provide Access to the CM System <ul><li>Version control menu options (con’t) </li></ul><ul><ul><li>Undo Check Out...
Step 7:  Determine Controlled Units <ul><li>All packages should be made controlled units </li></ul><ul><ul><li>Rose will a...
Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat CURLY X:model_vobdatabase.cat, register.c...
Team Development Example <ul><li>Moe, Larry, and Curly views do not contain checked-out copies of packages in the model </...
Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat CURLY X:model_vobdatabase.cat, register.c...
Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat Z:model_vobdatabase.cat, register.cat, er...
Exercise:  Create a CURDIR Pathmap
Exercise:  Controlled Units <ul><li>Make each package a controlled unit </li></ul>
Exercise:  Write Protection <ul><li>Write protect the Business Objects controlled unit  </li></ul>
Exercise:  Verify Write Protection
Upcoming SlideShare
Loading in...5
×

10team

411

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
411
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Each controlled unit is usually owned by one developer. A developer may own more than one controlled unit.
  • To make a package a controlled unit Click right on the package in the Browser to make the pop up menu visible. Select the Units:Control&lt;package name&gt; menu command. Navigate to the desired directory. Enter the name of the controlled unit in the File Name field. Click Save. Each package in the model should be made a controlled unit.
  • To display unit visibility Select the Tools:Options menu command. Select the Diagram tab. Click to select the Unit Adornments checkbox to toggle the selection. Click OK to close the Options window.
  • To load a controlled unit Click right on the package in the Browser. The pop up menu appears. Select the Units:Load menu command. OR To demand load a controlled unit, double click on the package representing the controlled unit on a class diagram.
  • If a package is a controlled unit, an icon is added to the Browser to indicate if the unit is loaded or unloaded.
  • To display unresolved reference adornments Select the Tools:Options menu command. Select the Diagram tab. Click the Unresolved References checkbox to toggle the selection.
  • To manually write protect a controlled unit Click right to select the controlled unit (package) in the Browser. Select the Units:Write Protect &lt;package name&gt; menu command .
  • To use the version control system integration, the Version Control Add-In must be active. It is active if the Tools menu contains a Version Control menu. Note that the Version Control Add-In is available only on Windows. To activate the Version Control Add-In: Click Add-In Manager on the Add-Ins menu. Select the Version Control add-in and click OK. If the Version Control add-in is not present, the Version Control Add-In is not installed. To install the Version Control Add-In: Run the Rational Rose setup program. Select a Custom install, and select the Version Control Add-In feature. If the Version Control Add-In feature is not present, the add-in is not available in your Rational Rose edition. See Rose Help for setting up your version control system .
  • To open the Rose Model Integrator Go to the Tools menu. Select Model Integrator. The Model Integrator dialog box opens. Go to the File menu and select Contributors. Select the files to compare/merge for your project. Select the Compare or Merge button. Notice that the first button changes names to Compare or Merge based on your selection. Click the Compare/Merge button. The Rose Model Integrator allows a team of developers to: work on different model components that reside in different .cat files merge their components into one base model compare differences between model elements and merge the changes as needed
  • To unload a controlled unit Select a unit that has a status of LOAD. Click on the status field for the controlled unit. The unit changes to a status of unloaded. Click OK. To load a controlled unit Select a unit that has a status of unloaded. Click on the status field for the controlled unit. The unit should change to a status of LOAD. Click OK. Note: Only previously controlled units will have a status of LOAD or unloaded. A non-controlled unit will have a status of ‘not a unit’. These units can not be loaded or unloaded.
  • Compare shows all differences between contributor files. The symbols that indicate the results of a Compare are displayed in the ‘C’ column. Item Changed : An item has been changed in one of the contributor files. Item Moved : An item has been moved in one of the contributor files. Item Added : An item has been added in one of the contributor files. Item Deleted : An item has been deleted in one of the contributor files. Note: For a complete list of symbols that can appear in the Compare mode, refer to Rose’s online help or documentation. The user can switch to the Merge mode by clicking on the Set Merge Mode toolbar icon.
  • To resolve a conflict between contributor files Select the unresolved item from the Browser. From the toolbar, select the number of the Contributor from which to accept changes. Note: The recipient field displays only in the Merge mode. To return to the Compare mode clicking on the Set Compare Mode toolbar.
  • The Version control add in includes the frequently used configuration management commands and is located on the Version Control submenu (from the Tools menu) and the CM submenu (from the Units submenu). Add to Version Control: place a new unit under configuration control; associate an element that was controlled outside of Rose with the current CM project; define a CM project. Remove from Version Control: remove units from the current CM project. Start Version Control Explorer: start your SCC provider application from Rational Rose Check in: put a controlled unit into the CM system. Check out: get a controlled unit from the CM system (read-write access, unit is locked) Undo Check out: return unit to CM system, undo any edits by the current developer. Get Latest: update Rose model with any check-ins by other developers which impact the current developer’s view. File Properties and File History: display property and history information about controlled units that have been added to the version control system.
  • Access to the integrated workspace may be provided by various means. Examples: NFS, Novell, Windows for Workgroups The integration workspace can be accessed by all users. The integration workspace is typically located on a server. In ClearCase, the integration workspace is a view.
  • Private workspaces typically contain work in progress. Developer workspaces may be on a view server or on a local disk.
  • The model may be moved or copied among workspaces by redefining the actual directory associated with the model.
  • To place a package under version control, the owning package must be checked out.
  • To get the latest version of a controlled unit (read-only versions) Select the Tools:Version Control: Get Latest menu command. Select the desired controlled units. Click the Get button.
  • Moe now has a read-write version of database.cat, which is locked (no other developer can check out database.cat). Larry now has a read-write version of register.cat, which is locked (no other developer can check out register.cat). Curly now has a read-write version of errors.cat, which is locked (no other developer can check out errors.cat). By checking out a package to a private workspace, developers can make changes to it without impacting our development.
  • To check out a controlled unit In the Browser, click-right to select the package representing the controlled unit. The pop up menu appears. Select the Check Out menu command.
  • To check in a controlled unit In the Browser, click-right to select the package representing the controlled unit. The pop up menu appears. Select the Check In menu command. Other developers will not automatically get the changes to register.cat. They have to execute the Get Latest command to copy the latest version into their private workspaces.
  • Hint: Right click on the package in the Browser and select the Control &lt;package name&gt; menu command.
  • To open the Business Objects main class diagram In the Browser, click the + next to the Business Objects package to expand the package. Double click on the Main class diagram.
  • Transcript of "10team"

    1. 1. Introduction to Rational Rose 98i Module 10: Team Development
    2. 2. Objectives: Team Development <ul><li>You will be able to: </li></ul><ul><ul><li>Create controlled units to facilitate team development </li></ul></ul><ul><ul><li>Discuss a team development process </li></ul></ul>
    3. 3. What are Controlled Units? <ul><li>A controlled unit is an entity that may be placed under configuration control </li></ul><ul><ul><li>The model itself, packages, and the deployment diagram may be made controlled units in Rose </li></ul></ul><ul><li>When the model is loaded, the individual controlled units are loaded only when they are needed </li></ul><ul><ul><li>Reduces “startup” latency </li></ul></ul><ul><ul><li>Reduces resource consumption </li></ul></ul><ul><ul><li>Maintains references to unloaded units </li></ul></ul>
    4. 4. How Are Controlled Units Stored? <ul><li>Controlled units are stored in files, using specific filename extensions to designate their contents </li></ul><ul><li>Example controlled units </li></ul><ul><ul><li>Model itself ==> .mdl </li></ul></ul><ul><ul><li>Logical packages ==> .cat </li></ul></ul><ul><ul><li>Component packages ==> .sub </li></ul></ul><ul><li>A Rose .mdl file references controlled units (if they are in use) </li></ul>
    5. 5. Sample Model File .mdl file .cat file .cat file .cat file .cat file .cat file .cat file
    6. 6. Designating Controlled Units
    7. 7. Showing Unit Visibility on a Diagram U means the package is a controlled unit
    8. 8. Loading and Unloading Controlled Units <ul><li>When a model is opened in Rose, the user is asked if all units should be loaded </li></ul><ul><ul><li>Rose maintains references between components in unloaded units and components in the model </li></ul></ul><ul><ul><ul><li>The references are automatically resolved when the unloaded unit is loaded </li></ul></ul></ul><ul><ul><li>Unloaded components may be adorned with an icon to show that they are not loaded </li></ul></ul><ul><ul><ul><li>The adornment is an octagon containing the letter M with a slash through it </li></ul></ul></ul>
    9. 9. Loaded/Unloaded Units in the Browser Unloaded unit Loaded unit
    10. 10. Unresolved Reference Adornment
    11. 11. Unresolved References <ul><li>Specification information for unresolved references is not available </li></ul><ul><li>Once the package containing the unresolved references is loaded </li></ul><ul><ul><li>Specification information is available </li></ul></ul><ul><ul><li>The adornment is removed from the model </li></ul></ul>
    12. 12. Write-protecting Controlled Units <ul><li>A controlled unit may be write-protected </li></ul><ul><ul><li>A nested controlled unit maintains write-protection independently of its parent </li></ul></ul><ul><ul><li>If a controlled unit is write-protected </li></ul></ul><ul><ul><ul><li>The drawing palette is grayed out on all of its diagrams </li></ul></ul></ul><ul><ul><ul><li>The capability to create a new attribute or operation is removed </li></ul></ul></ul><ul><li>Rose will automatically make a controlled unit write-protected if the file is read-only </li></ul>
    13. 13. Integrating Rose with a CM System <ul><li>Rose may be integrated with many commercial configuration management systems </li></ul><ul><ul><li>On Windows, the chosen CM system must be SCC compliant </li></ul></ul><ul><li>Some popular configuration management systems </li></ul><ul><ul><li>ClearCase </li></ul></ul><ul><ul><li>SourceSafe </li></ul></ul><ul><ul><li>PVCS </li></ul></ul><ul><ul><li>SCCS </li></ul></ul><ul><ul><li>RCS </li></ul></ul>
    14. 14. Rose Model Integrator <ul><li>The Rose Model Integrator allows you to compare, discover differences, and merge up to seven different files. </li></ul><ul><li>The files you can compare are: </li></ul><ul><ul><li>Multiple versions of the same file </li></ul></ul><ul><ul><li>Unrelated models </li></ul></ul><ul><ul><li>Any combination of model files (.mdl) and subunit files (.cat, .prc, .prp, .pty, .sub) </li></ul></ul>
    15. 15. Model Integrator - Load/Unload Subunits <ul><li>When using the Model Integrator, if one or more contributor files has controlled units, the Subunits dialog appears. </li></ul><ul><li>The Subunits dialog box allows you to load or unload controlled units before comparing or merging files. </li></ul>
    16. 16. Model Integrator - Load/Unload Subunits
    17. 17. Rose Model Integrator - Comparing Files Item Changed Item Moved Item Added Item Deleted Set Merge Mode
    18. 18. Rose Model Integrator - Merge Files <ul><li>The Merge mode allows you to compare files and create a recipient into which files can be merged. </li></ul><ul><li>Input files are called contributors. A contributor file can be a model file or a controlled unit. </li></ul><ul><li>If there is a conflict, the Model Integrator will find and mark it with an ‘X’. </li></ul><ul><li>You can click on that item to see more information about that conflict. </li></ul>
    19. 19. Rose Model Integrator - Merge Files Number of contributor Merge menu Set Compare Mode
    20. 20. Source Code Control Add-in <ul><li>The source code control add-in allows access to any SCC compliant configuration management system </li></ul><ul><ul><li>The SCC API is the Microsoft standard API for source code control tools </li></ul></ul><ul><li>The SCC add-in automatically determines what SCC tool is installed </li></ul><ul><li>The add-in adds menu options to the Tools:Source Control menu and to the File:Units:CM menu </li></ul>
    21. 21. Source Code Control Menu
    22. 22. Team Development Step by Step 1. Identify configuration management system 3. Identify developer workspaces 2. Identify integration workspace 4. Define integration strategy 5. Create virtual pathmap symbols 7. Determine controlled units and place them under CM control 6. Provide access to the configuration management tool
    23. 23. Step 1: Identify CM System <ul><ul><li>Rational ClearCase is the configuration management system used for this example </li></ul></ul>
    24. 24. Step 2: Identify Integration Workspaces <ul><li>In ClearCase, the central repository that contains all versions of all files is called a Versioned Object Base (VOB) </li></ul><ul><li>A ClearCase view is a collection of specified versions of some or all of the files in the VOB </li></ul><ul><ul><li>Each view is mapped to a drive letter </li></ul></ul><ul><li>An integration workspace is a directory or set of directories that contain baselined or integrated work </li></ul>
    25. 25. Integration Workspace integration_view on ‘view’ (Z:) model_vob reuse_vob
    26. 26. Step 3: Identify Developer Workspaces <ul><li>Each developer has their own private workspace </li></ul><ul><ul><li>Set up as ClearCase views </li></ul></ul>moe_view on view (Z:) model_vob reuse_vob curly_view on view (X:) model_vob reuse_vob MOE CURLY
    27. 27. Step 4: Define Integration Strategy <ul><li>A consistent integration strategy must be developed </li></ul><ul><ul><li>Rose Team Development strategy </li></ul></ul><ul><ul><ul><li>All development is done on the integration (main) branch </li></ul></ul></ul><ul><ul><ul><li>No branching of model files is permitted </li></ul></ul></ul><ul><ul><ul><li>Only one developer works on a controlled unit at a time (ClearCase reserved checkout) </li></ul></ul></ul>
    28. 28. Step 5: Create Virtual Pathmap Symbols <ul><li>Using Rose’s path map mechanism, define path map names, which are used to store and retrieve Rose components </li></ul><ul><li>Create a path map name to point to the .mdl file’s current directory ($CURDIR = &) </li></ul><ul><li>Allows Rose to reference controlled units relative to the directory containing the model file </li></ul><ul><ul><li>Independent of the directory with which a view is associated </li></ul></ul>
    29. 29. How Does Rose Use Virtual Path Names? <ul><li>Rose will create model files whose embedded pathnames are relative to the defined symbol </li></ul><ul><li>If the model file for moe_view is stored at z:model_vobmodel.mdl </li></ul><ul><ul><li>z:model_voblogicaldatabase.cat is stored as $CURDIRlogicaldatabase.cat </li></ul></ul><ul><li>If the model file for larry_view is stored at y:model_vobmodel.mdl </li></ul><ul><ul><li>z:model_voblogicaldatabase cat will always be referenced as $CURDIRlogicaldatabase.cat </li></ul></ul>
    30. 30. Step 6: Provide Access to the CM System <ul><li>The Version Control menu includes the following: </li></ul><ul><ul><li>Add to Version Control - place a new unit under CM control </li></ul></ul><ul><ul><li>Remove from Version Control </li></ul></ul><ul><ul><li>Start Version Control Explorer - start ClearCase Details tool </li></ul></ul><ul><ul><li>Check In - put controlled unit into the CM system </li></ul></ul><ul><ul><li>Check Out - get controlled unit from CM system (read-write access, unit is locked) </li></ul></ul>
    31. 31. Step 6: Provide Access to the CM System <ul><li>Version control menu options (con’t) </li></ul><ul><ul><li>Undo Check Out - return unit to CM system, undo any edits made by the current developer </li></ul></ul><ul><ul><li>Get Latest - update Rose model with units checked in by other developers which impact the current developers view </li></ul></ul><ul><ul><li>File Properties - display properties of a selected file </li></ul></ul><ul><ul><li>File History - display history of a selected file </li></ul></ul>
    32. 32. Step 7: Determine Controlled Units <ul><li>All packages should be made controlled units </li></ul><ul><ul><li>Rose will automatically make a package a controlled unit when the package is added to a version control system </li></ul></ul><ul><li>Nested packages should also be controlled units </li></ul><ul><ul><li>Allows two developers to check out packages “belonging” to the same higher level package </li></ul></ul>
    33. 33. Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat CURLY X:model_vobdatabase.cat, register.cat, errors.cat Z:model_vobdatabase.cat, register.cat, errors.cat Get Latest Get Latest Get Latest MOE W:model_vobdatabase.cat, register.cat, errors.cat
    34. 34. Team Development Example <ul><li>Moe, Larry, and Curly views do not contain checked-out copies of packages in the model </li></ul><ul><li>The following updates need to be made </li></ul><ul><ul><li>Moe needs to update database.cat </li></ul></ul><ul><ul><li>Larry needs to update register.cat </li></ul></ul><ul><ul><li>Curly needs to update errors.cat </li></ul></ul><ul><li>Each developer will check out the package they need </li></ul><ul><ul><li>They will have read-write access to the packages they check out of the CM system </li></ul></ul>
    35. 35. Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat CURLY X:model_vobdatabase.cat, register.cat, errors.cat Z:model_vobdatabase.cat, register.cat, errors.cat Check out database.cat Check out register.cat Check out errors.cat MOE W:model_vobdatabase.cat, register.cat, errors.cat
    36. 36. Team Development Example LARRY Y:model_vobdatabase.cat, register.cat, errors.cat Z:model_vobdatabase.cat, register.cat, errors.cat Check in register.cat Larry finished his changes and asked the CM system to check-in register.cat A new version of the file is checked in on the element branch that is referenced by Larry’s view Changes to register.cat are available to other developers after it is check-in to the VOB provided their views reference Larry’s branch
    37. 37. Exercise: Create a CURDIR Pathmap
    38. 38. Exercise: Controlled Units <ul><li>Make each package a controlled unit </li></ul>
    39. 39. Exercise: Write Protection <ul><li>Write protect the Business Objects controlled unit </li></ul>
    40. 40. Exercise: Verify Write Protection
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×