10team

40
Introduction to Rational Rose 98i v 5.2 Copyright 1993-1999 Rational Software, all rights reserved 1 Introduction to Rational Rose 98i Module 10: Team Development

description

 

Transcript of 10team

Page 1: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 1

Introduction to Rational Rose 98i

Module 10: Team Development

Page 2: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 2

Objectives: Team Development

You will be able to: Create controlled units to facilitate team

development Discuss a team development process

Page 3: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 3

What are Controlled Units?

A controlled unit is an entity that may be placed under configuration control The model itself, packages, and the

deployment diagram may be made controlled units in Rose

When the model is loaded, the individual controlled units are loaded only when they are needed Reduces “startup” latency Reduces resource consumption Maintains references to unloaded units

Page 4: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 4

How Are Controlled Units Stored?

Controlled units are stored in files, using specific filename extensions to designate their contents

Example controlled units Model itself ==> .mdl Logical packages ==> .cat Component packages ==> .sub

A Rose .mdl file references controlled units (if they are in use)

Page 5: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 5

Sample Model File

.mdl file

.cat file.cat file.cat file

.cat file.cat file .cat file

Page 6: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 6

Designating Controlled Units

Page 7: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 7

Showing Unit Visibility on a Diagram

U means thepackage is a controlled unit

Page 8: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 8

Loading and Unloading Controlled Units

When a model is opened in Rose, the user is asked if all units should be loaded

Rose maintains references between components in unloaded units and components in the model

• The references are automatically resolved when the unloaded unit is loaded

Unloaded components may be adorned with an icon to show that they are not loaded

• The adornment is an octagon containing the letter M with a slash through it

Page 9: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 9

Loaded/Unloaded Units in the Browser

Unloaded unit

Loaded unit

Page 10: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 10

Unresolved Reference Adornment

Page 11: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 11

Unresolved References

Specification information for unresolved references is not available

Once the package containing the unresolved references is loaded

Specification information is available The adornment is removed from the model

Page 12: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 12

Write-protecting Controlled Units

A controlled unit may be write-protected A nested controlled unit maintains write-

protection independently of its parent If a controlled unit is write-protected

• The drawing palette is grayed out on all of its diagrams

• The capability to create a new attribute or operation is removed

Rose will automatically make a controlled unit write-protected if the file is read-only

Page 13: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 13

Integrating Rose with a CM System

Rose may be integrated with many commercial configuration management systems On Windows, the chosen CM system must be SCC

compliant Some popular configuration management

systems ClearCase SourceSafe PVCS SCCS RCS

Page 14: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 14

Rose Model Integrator

The Rose Model Integrator allows you to compare, discover differences, and merge up to seven different files.

The files you can compare are: Multiple versions of the same file Unrelated models Any combination of model files (.mdl) and

subunit files (.cat, .prc, .prp, .pty, .sub)

Page 15: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 15

Model Integrator - Load/Unload Subunits

When using the Model Integrator, if one or more contributor files has controlled units, the Subunits dialog appears.

The Subunits dialog box allows you to load or unload controlled units before comparing or merging files.

Page 16: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 16

Model Integrator - Load/Unload Subunits

Page 17: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 17

Rose Model Integrator - Comparing Files

Item Changed

Item Moved

Item Added

Item Deleted

Set Merge Mode

Page 18: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 18

Rose Model Integrator - Merge Files

The Merge mode allows you to compare files and create a recipient into which files can be merged.

Input files are called contributors. A contributor file can be a model file or a controlled unit.

If there is a conflict, the Model Integrator will find and mark it with an ‘X’.

You can click on that item to see more information about that conflict.

Page 19: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 19

Rose Model Integrator - Merge FilesNumber of contributorMerge menu

Set Compare Mode

Page 20: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 20

Source Code Control Add-in

The source code control add-in allows access to any SCC compliant configuration management system The SCC API is the Microsoft standard API for

source code control tools The SCC add-in automatically determines

what SCC tool is installed The add-in adds menu options to the

Tools:Source Control menu and to the File:Units:CM menu

Page 21: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 21

Source Code Control Menu

Page 22: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 22

1. Identify configuration management system

3. Identify developer workspaces

2. Identify integration workspace

4. Define integration strategy

Team Development Step by Step

5. Create virtual pathmap symbols

7. Determine controlled units andplace them under CM control

6. Provide access to the configuration management tool

Page 23: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 23

Step 1: Identify CM System

Rational ClearCase is the configuration management system used for this example

Page 24: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 24

Step 2: Identify Integration Workspaces

In ClearCase, the central repository that contains all versions of all files is called a Versioned Object Base (VOB)

A ClearCase view is a collection of specified versions of some or all of the files in the VOB Each view is mapped to a drive letter

An integration workspace is a directory or set of directories that contain baselined or integrated work

Page 25: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 25

Integration Workspace

integration_view on ‘view’ (Z:)

model_vob

reuse_vob

Page 26: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 26

Step 3: Identify Developer Workspaces

Each developer has their own private workspace Set up as ClearCase views

moe_view on view (Z:)model_vobreuse_vob

curly_view on view (X:)model_vobreuse_vob

MOE CURLY

Page 27: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 27

Step 4: Define Integration Strategy

A consistent integration strategy must be developed Rose Team Development strategy

• All development is done on the integration (main) branch

• No branching of model files is permitted• Only one developer works on a controlled

unit at a time (ClearCase reserved checkout)

Page 28: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 28

Step 5: Create Virtual Pathmap Symbols

Using Rose’s path map mechanism, define path map names, which are used to store and retrieve Rose components

Create a path map name to point to the .mdl file’s current directory ($CURDIR = &)

Allows Rose to reference controlled units relative to the directory containing the model file Independent of the directory with which a view

is associated

Page 29: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 29

How Does Rose Use Virtual Path Names? Rose will create model files whose embedded

pathnames are relative to the defined symbol

If the model file for moe_view is stored at z:\model_vob\model.mdl

z:\model_vob\logical\database.cat is stored as $CURDIR\logical\database.cat

If the model file for larry_view is stored at y:\model_vob\model.mdl

z:\model_vob\logical\database cat will always be referenced as $CURDIR\logical\database.cat

Page 30: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 30

Step 6: Provide Access to the CM System The Version Control menu includes the

following: Add to Version Control - place a new unit under CM

control Remove from Version Control Start Version Control Explorer - start ClearCase

Details tool Check In - put controlled unit into the CM system Check Out - get controlled unit from CM system

(read-write access, unit is locked)

Page 31: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 31

Step 6: Provide Access to the CM System

Version control menu options (con’t) Undo Check Out - return unit to CM system,

undo any edits made by the current developer Get Latest - update Rose model with units

checked in by other developers which impact the current developers view

File Properties - display properties of a selected file

File History - display history of a selected file

Page 32: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 32

Step 7: Determine Controlled Units

All packages should be made controlled units

Rose will automatically make a package a controlled unit when the package is added to a version control system

Nested packages should also be controlled units Allows two developers to check out packages

“belonging” to the same higher level package

Page 33: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 33

Team Development Example

LARRY

MOE

W:\model_vob\database.cat,register.cat, errors.cat

Y:\model_vob\database.cat,register.cat, errors.cat

CURLY

X:\model_vob\database.cat,register.cat, errors.cat

Z:\model_vob\database.cat,register.cat, errors.cat

Get Latest

Get Latest

Get Latest

Page 34: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 34

Team Development Example

Moe, Larry, and Curly views do not contain checked-out copies of packages in the model

The following updates need to be made Moe needs to update database.cat Larry needs to update register.cat Curly needs to update errors.cat

Each developer will check out the package they need They will have read-write access to the

packages they check out of the CM system

Page 35: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 35

Team Development Example

LARRY

MOE

W:\model_vob\database.cat,register.cat, errors.cat

Y:\model_vob\database.cat,register.cat, errors.cat

CURLY

X:\model_vob\database.cat,register.cat, errors.cat

Z:\model_vob\database.cat,register.cat, errors.cat

Check outdatabase.cat

Check outregister.cat

Check outerrors.cat

Page 36: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 36

Team Development Example

LARRY

Y:\model_vob\database.cat,register.cat, errors.cat

Z:\model_vob\database.cat,register.cat, errors.cat

Check inregister.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

Page 37: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 37

Exercise: Create a CURDIR Pathmap

Page 38: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 38

Exercise: Controlled Units

Make each package a controlled unit

Page 39: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 39

Exercise: Write Protection

Write protect the Business Objects controlled unit

Page 40: 10team

Introduction to Rational Rose 98i v 5.2Copyright 1993-1999 Rational Software, all rights reserved 40

Exercise: Verify Write Protection