Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML...

40
Lect 1: Rational Rose Tutoria l 1 Huáscar A. Sánchez Rational Rose Tutorial Making use of UML Elements
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    4

Transcript of Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML...

Page 1: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 1

Huáscar A. Sánchez

Rational Rose TutorialMaking use of UML Elements

Page 2: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 2

Objectives

Get to know Rational Rose Get Familiar with general functions of

Rational Rose for Modeling Create a Class Diagram with Rational Rose

1st Part: Guided 2nd Part: Student

Pointed by an icon

Page 3: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 3

Lab Objective: Graphic Model

Specify the Graphics Class Diagram:

Line

start : Pointend : Point

Draw(aPanel : Panel) : voidMove(to : Point) : void

Rectangle

anchor : Pointsize : Point

Draw(aPanel : Panel) : voidMove(to : Point) : void

Circle

origin : Pointradius : Float

Draw(aPanel : Panel) : voidMove(to : Point) : void GraphicSelection

Draw(aPanel : Panel) : voidMove(to : Point) : voidAdd(g : Graphics) : voidRemove(g : Graphics) : GraphicGetChildren(name : String) : Graphic

Graphic

Draw(aPanel : Panel) : voidMove(to : Point) : void

1..n

-selection

1..n

Panel

DrawPoint(p : Point)DrawLine(p1 : Point, p2 : Point)DrawCircle(c : Point, r : Float)OnPaint(e : PaintEvent)

0..n

#graphics

0..n

Page 4: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 4

Graphic Objects

Graphic Selection

Circle

Panel

Page 5: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 5

Graphic Model: UML Elements

Line

start : Pointend : Point

Draw(aPanel : Panel) : voidMove(to : Point) : void

Rectangle

anchor : Pointsize : Point

Draw(aPanel : Panel) : voidMove(to : Point) : void

Circle

origin : Pointradius : Float

Draw(aPanel : Panel) : voidMove(to : Point) : void GraphicSelection

Draw(aPanel : Panel) : voidMove(to : Point) : voidAdd(g : Graphics) : voidRemove(g : Graphics) : GraphicGetChildren(name : String) : Graphic

Graphic

Draw(aPanel : Panel) : voidMove(to : Point) : void

1..n

-selection

1..n

Panel

DrawPoint(p : Point)DrawLine(p1 : Point, p2 : Point)DrawCircle(c : Point, r : Float)OnPaint(e : PaintEvent)

0..n

#graphics

0..n

Generalization

AggregationAssociation

Abstract Class

Concrete Class

Concrete operation

attribute

Abstract operationDependency

role

multiplicity

navigability

Page 6: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 6

Start Rational Rose

Start Rose Start Programs Rational Rose

Rational Rose

Page 7: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 7

Create a New Model

When Rose is started When Rose has been started: File New

Page 8: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 8

Create a New Model

From Scratch Cancel the loaded window

Using a Template or Frame-work Select <model> OK

From File System Existing

OR Recent

Page 9: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 9

To Save a Model

File Save o Save As

Page 10: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 10

Create a Class Diagram Browser: Logical View Right Button Menu New Class

Diagram

Menu : Browse Class Diagram

Page 11: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 11

Creating more Diagrams

Select <View> in Browser Right Button Menu New <diagram>

Browse Menu <diagram>

Page 12: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 12

Toolbar for Class Diagrams

Any element of a diagram can be created by placing the mouse pointer over a Tool in the Toolbar Drag&Drop over the diagram canvas

text

class

interface

asociation

Association class

packageNote Anchor

dependency or instantiation

Notegeneralization

realization

Pointer

Page 13: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 13

Create a Class Place mouse pointer on Class Tool

Toolbar : Click Class button Icon Menu: Tools Create Class

Click on Diagram Window

OR Browser : Sel. Logic View right button menu New Class (Sel.

Clase Drag &Drop over Diagram Window)

Page 14: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 14

Create Diagram Elements

Place Mouse Pointer Click on Toolbar button Sel. Diagram in Browser right button New <element> Menu Tools Create

Click on diagram

Page 15: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 15

Specify Class Name

Directely in the diagram Double click on the class “Class Specification for

NewClass”

Page 16: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 16

Specify Diagram Elements

Specification Window Allows you to specify a

model element (diagrams, classes, packages, relationship...) The attributes or sub-

elements to be specified depend on the selected element

In each TabWindow attributes and sub-elements would be specified

Page 17: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 17

Specify Diagram Elements

Open Specification Window Double Click on element via Browser or Diagram Window Sel. element (Browser,Diagram Window) Mouse right button menu

Open Specification Sel. elemento Browse menu Open Specification

Shorcuts of TabWindows, Properties, WIndow Specification Menus Sel. Element (Browser,Diagram Window) right button Menu new

<subelement> (attribute, operation...) OR <Property> OR <TabWindow>

Page 18: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 18

Class Graphic

Synchronized

An element•Can be in multiple diagrams•Only one instance in the Browser

Page 19: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 19

Delete an Element

Shallow Delete Edit Delete Select element in diagram key DEL

Deep Delete Select element in Browser click right button Delete Select element in diagram Click CTRL+D

It is not deleted from the MODEL!! (only from the diagram, not from Browser)

It is deleted from the MODEL!! (It will disapear from the diagram and from the Browser)

Page 20: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 20

Create an Operation

Diagram: Select class Mouse right button menu New Operation

Browser: Select class Mouse right button menu New Operation

Page 21: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 21

Specify an Operation

Directly: write the signature of the method << stereotype>> nameOperation( param: Typo,...) : Return Type

Indirectly: Class Specifcation tab Operations right button menu Insert (operation) Double click on method Operation Specification Name Details right button menu

Insert (parameter)

Page 22: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 22

Specify an Operation

Name Parameter

Name,Type Return Type Accesibility

Public, Protected, Private Abstract o Concrete

(checkbox Abstract in Details TabWindow)

MyClassObject

GetIsPublic()GetIsProtected()GetIsPrivate()

Page 23: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 23

Create an Attribute Diagram: Select class Mouse right button menu New

Attribute Browser: Select class Mouse right button menu New

Attribute

Browser: would be updated in Diagram Window

Page 24: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 24

Specify Attribute

Directly: write the signature of the attribute << stereotype>> nameAttribute : Type

Indirectly: Class Specification tab Attributes right button menu Insert ( attribute) Double click on attribute Attribute Specification Name Type

Page 25: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 25

Specify Attributes

Name Type Accesibility

Public, Protected,Private Class Abstract or Concrete

(checkbox Abstract in Details TabWindow)

MyClass

isPublicisProtectedisPrivate

Page 26: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 26

Class Relationships

UML Relationships in Rational Rose Generalization Association

Aggregation Composition

Dependency

Page 27: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 27

UML Relationships in Rational Rose

AB

Association

Generalization (Inheritance)

AB

AB

1..n

roleAroleB

multiplicity

Navegability from B to A

Page 28: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 28

Relaciones UML en Rose

Aggregation

Dependency or Instantiation

AB

AB

AB

Composition

Page 29: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 29

Create Generalization

Place Mouse Pointer over Tool Click on button Toolbar Menu Tools Create Generalization

Click on Diagram Window Connect element B to A

Page 30: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 30

Specify Generalization

Like the rest of the elements: Double click on element Sel. element right button menu Open Specification or

Shortcut of TabWindow/Property Sel. Sel element Browse menu Specification (note: it does appear on the Browser)

Page 31: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 31

Create an Association

Place mouse pointer over Tool Click on Toolbar button Menu Tools Create Generalization

Click on Diagram Window Connect element B to A

Page 32: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 32

Specify Association Like the rest of Elements:

Double click, Sel (Browser Diagram Window) + Right Button Menu, Browse menu)

It will appear as another elementelse in the Browser

Page 33: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 33

Specify Association

Specify Navegability Accesibility

public (+), protected (#), private (-) Multiplicity (1..n, 0..n, etc...) Aggregation Role names Association names Content Type:

Reference, Value, no specify

B A

0..n1

-roleAagregationName

0..n1

-roleB

Page 34: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 34

Model Organization

A model can be organized using packages

Graphic Model

“Folder” Structure

(group, include model elements)

Page 35: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 35

Move Elements across Packages

Drag&Drop in each Package Browser from one to another One to One Pay attention: by moving the classes it does not

mean that associations will move as well!! (Rational Rose 2000>) They are elements with Identity

Page 36: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 36

Copy Cut Paste Elements between diagrams

Within the same Rational Rose model we are talking about the diagrams figures The elements appearing in the Browser are the

only elements in the entire model. An element can appear in multiple diagrams

If it is a different package, indicate from where the package come from “from <Package>”

Graphic

Draw(aPanel : Panel) : void

(from Graphic Model)

Page 37: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 37

Copy Cut Paste Elements between diagrams

Between two instances of Rational Rose Copy, Paste create the new elements

If they dont exist in the model destination If they dont exist in the model destination, but the paste

is in the package destination keep the existing if they exist in the model destination

and the paste is in the same package

Page 38: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 38

Exercise 1

Finalize the Graphics Model

Page 39: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 39

Exercise 2

Model of a Work Plan (Project) - Overview

ID Task Name Duration Start Finish

1

2

3

4 Preparación Fiesta 4 days Wed 10/1/03 Mon 10/6/03

5 Invitar Amigos 1 day Wed 10/1/03 Wed 10/1/03

6 Amigos Invitados 0 days Wed 10/1/03 Wed 10/1/03

7 Comprar 3 days Wed 10/1/03 Fri 10/3/03

8 Comprar Comida 2 days Wed 10/1/03 Thu 10/2/03

9 Comprar Bebida 3 days Wed 10/1/03 Fri 10/3/03

10 Limpiar Casa 1 day Mon 10/6/03 Mon 10/6/03

11 Todo Preparado 0 days Mon 10/6/03 Mon 10/6/03

RG

10/1

10/6

F S S M T W T F S S M T W T FSep 21, '03 Sep 28, '03 Oct 5, '03

Task

Milestone

Dependency

Resource

TaskGroup

Project

GanttView

Page 40: Huáscar A. Sánchez Lect 1: Rational Rose Tutorial1 Rational Rose Tutorial Making use of UML Elements.

Lect 1: Rational Rose Tutorial 40

Exercise 2

Think in a class model that describe a work-plan of a project – using Software stability concepts

Draw it with Rational Rose