In this blog, 25.000 books will be uploaded, so far more than 1400 books are available. Books, will be added daily, please check this blog daily.
Monday, November 8, 2010
Mastering UML with Rational Rose 2002
Table of Contents
Mastering UML with Rational Rose 2002........................................................................................................1
Chapter 1: Introduction to UML.......................................................................................................................4
Introduction to the Object−Oriented Paradigm.......................................................................................4
Encapsulation.............................................................................................................................5
Inheritance.................................................................................................................................6
Polymorphism............................................................................................................................8
What Is Visual Modeling?......................................................................................................................8
Systems of Graphical Notation................................................................................................................9
Booch Notation........................................................................................................................10
Object Management Technology (OMT).................................................................................10
Unified Modeling Language (UML)........................................................................................11
Understanding UML Diagrams..............................................................................................................12
Business Use Case Diagrams....................................................................................................13
Use Case Diagrams...................................................................................................................14
Activity Diagrams.....................................................................................................................14
Sequence Diagrams...................................................................................................................16
Collaboration Diagrams............................................................................................................17
Class Diagrams........................................................................................................................17
Statechart Diagrams..................................................................................................................18
Component Diagrams...............................................................................................................19
Deployment Diagrams..............................................................................................................21
Visual Modeling and the Software Development Process.....................................................................22
Inception..................................................................................................................................24
Elaboration...............................................................................................................................24
Construction.............................................................................................................................25
Transition.................................................................................................................................26
Summary...............................................................................................................................................26
Chapter 2: A Tour of Rose..............................................................................................................................27
What Is Rose?.......................................................................................................................................27
Getting Around in Rose.........................................................................................................................30
Parts of the Screen....................................................................................................................31
Exploring Four Views in a Rose Model................................................................................................38
Use Case View..........................................................................................................................38
Logical View............................................................................................................................40
Component View......................................................................................................................42
Deployment View.....................................................................................................................43
Working with Rose...............................................................................................................................45
Creating Models........................................................................................................................45
Saving Models.........................................................................................................................46
Exporting and Impoting Models..............................................................................................47
Publishing Models to the Web..................................................................................................48
Working with Controlled Units................................................................................................50
Using the Model Integrator.......................................................................................................52
Working with Notes..................................................................................................................53
Working with Packages............................................................................................................54
Adding Files and URLs to Rose Model Elements....................................................................56
Adding and Deleting Diagrams................................................................................................56
Setting Global Options..........................................................................................................................57
Working with Fonts..................................................................................................................58
Working with Colors................................................................................................................58
Chapter 2: A Tour of Rose
Summary...............................................................................................................................................59
Chapter 3: Business Modeling........................................................................................................................61
Introduction to Business Modeling........................................................................................................61
Why Model the Business?........................................................................................................61
Do I Need to Do Business Modeling?......................................................................................62
Business Modeling in an Iterative Process...............................................................................63
Business−Modeling Concepts................................................................................................................66
Business Actors.........................................................................................................................66
Business Workers.....................................................................................................................67
Business Use Cases...................................................................................................................68
Business Use Case Diagrams....................................................................................................69
Activity Diagrams.....................................................................................................................70
Business Entities.......................................................................................................................72
Organization Unit.....................................................................................................................73
Where Do I Start?.................................................................................................................................74
Identifying the Business Actors................................................................................................74
Identifying the Business Workers.............................................................................................75
Identifying the Business Use Cases..........................................................................................76
Showing the Interactions..........................................................................................................76
Documenting the Details..........................................................................................................77
Creating Business Use Case Diagrams..................................................................................................78
Deleting Business Use Case Diagrams.....................................................................................79
The Use Case Diagram Toolbar................................................................................................80
Adding Business Use Cases......................................................................................................80
Business Use Case Specifications.............................................................................................81
Assigning a Priority to a Business Use Case............................................................................83
Viewing Diagrams for a Business Use Case............................................................................83
Viewing Relationships for a Business Use Case......................................................................86
Working with Business Actors..............................................................................................................87
Adding Business Actors............................................................................................................87
Adding Actor Specifications.....................................................................................................88
Assigning an Actor Stereotype.................................................................................................89
Setting Business Actor Multiplicity..........................................................................................89
Viewing Relationships for a Business Actor............................................................................90
Working with Relationships..................................................................................................................91
Association Relationship..........................................................................................................91
Generalization Relationship......................................................................................................92
Working with Organization Units..........................................................................................................94
Adding Organization Units.......................................................................................................94
Deleting Organization Units.....................................................................................................95
Activity Diagrams.................................................................................................................................95
Adding an Activity Diagram.....................................................................................................96
Adding Details to an Activity Diagram....................................................................................97
Summary.............................................................................................................................................102
Chapter 4: Use Cases and Actors..................................................................................................................104
Use Case Modeling Concepts..............................................................................................................104
Actors.....................................................................................................................................104
Use Cases...............................................................................................................................105
Traceability............................................................................................................................107
Flow of Events........................................................................................................................108
Relationships..........................................................................................................................114
Use Case Diagrams.............................................................................................................................118
Activity Diagrams...............................................................................................................................119
Activity..................................................................................................................................120
Start and End States................................................................................................................121
Objects and Object Flows.......................................................................................................121
Transitions.............................................................................................................................122
Synchronization.....................................................................................................................122
Working with Use Cases in Rational Rose..........................................................................................123
The Use Case Diagram Toolbar..............................................................................................123
Creating Use Case Diagrams..................................................................................................124
Deleting Use Case Diagrams..................................................................................................126
Adding Use Cases...................................................................................................................127
Deleting Use Cases.................................................................................................................129
Use Case Specifications..........................................................................................................130
Naming a Use Case.................................................................................................................131
Viewing Participants of a Use Case........................................................................................132
Assigning a Use Case Stereotype...........................................................................................132
Assigning a Priority to a Use Case.........................................................................................133
Creating an Abstract Use Case...............................................................................................133
Viewing Diagrams for a Use Case..........................................................................................134
Viewing Relationships for a Use Case...................................................................................136
Working with Actors...........................................................................................................................137
Adding Actors.........................................................................................................................137
Deleting Actors.......................................................................................................................139
Actor Specifications................................................................................................................139
Naming Actors........................................................................................................................141
Assigning an Actor Stereotype...............................................................................................142
Setting Actor Multiplicity.......................................................................................................142
Creating an Abstract Actor.....................................................................................................143
Viewing Relationships for an Actor.......................................................................................144
Viewing an Actor's Instances..................................................................................................145
Working with Relationships................................................................................................................145
Association Relationship........................................................................................................145
Includes Relationship..............................................................................................................146
Extends Relationship..............................................................................................................148
Generalization Relationship....................................................................................................148
Working with Activity Diagrams.........................................................................................................149
The Activity Diagram Toolbar...............................................................................................149
Creating Activity Diagrams....................................................................................................150
Deleting Activity Diagrams....................................................................................................154
Exercise...............................................................................................................................................154
Problem Statement..................................................................................................................154
Create a Use Case Diagram....................................................................................................154
Summary.............................................................................................................................................157
Chapter 5: Object Interaction......................................................................................................................159
Interaction Diagrams...........................................................................................................................159
What Is an Object?..................................................................................................................161
What Is a Class?......................................................................................................................161
Where Do I Start?...................................................................................................................162
Finding Objects.......................................................................................................................162
Finding the Actor....................................................................................................................163
Using Interaction Diagrams....................................................................................................164
Sequence Diagrams.............................................................................................................................164
The Sequence Diagram Toolbar.............................................................................................165
Collaboration Diagrams.......................................................................................................................166
The Collaboration Diagram Toolbar.......................................................................................167
Working with Actors on an Interaction Diagram................................................................................167
Working with Objects.........................................................................................................................168
Adding Objects to an Interaction Diagram.............................................................................168
Deleting Objects from an Interaction Diagram.......................................................................169
Setting Object Specifications..................................................................................................169
Naming an Object...................................................................................................................170
Mapping an Object to a Class.................................................................................................171
Setting Object Persistence......................................................................................................173
Using Multiple Instances of an Object...................................................................................174
Working with Messages.......................................................................................................................175
Adding Messages to an Interaction Diagram..........................................................................175
Adding Messages to a Sequence Diagram..............................................................................175
Deleting Messages from a Sequence Diagram.......................................................................176
Reordering Messages in a Sequence Diagram........................................................................176
Message Numbering in a Sequence Diagram.........................................................................177
Viewing the Focus of Control in a Sequence Diagram..........................................................178
Adding Messages to a Collaboration Diagram.......................................................................179
Deleting Messages from a Collaboration Diagram.................................................................180
Message Numbering in a Collaboration Diagram..................................................................181
Adding Data Flows to a Collaboration Diagram....................................................................181
Setting Message Specifications..............................................................................................182
Naming a Message..................................................................................................................182
Mapping a Message to an Operation......................................................................................183
Setting Message Synchronization Options.............................................................................185
Setting Message Frequency....................................................................................................188
End of a Lifeline.................................................................................................................................189
Working with Scripts..........................................................................................................................189
Switching Between Sequence and Collaboration Diagrams................................................................191
Two−Pass Approach to Interaction Diagrams.....................................................................................192
Exercise...............................................................................................................................................195
Problem Statement..................................................................................................................195
Create Interaction Diagrams...................................................................................................195
Summary.............................................................................................................................................200
Chapter 6: Classes and Packages..................................................................................................................201
Logical View of a Rose Model............................................................................................................201
Class Diagrams...................................................................................................................................201
What Is a Class?......................................................................................................................202
Finding Classes.......................................................................................................................203
Creating Class Diagrams........................................................................................................205
Deleting Class Diagrams........................................................................................................207
Organizing Items on a Class Diagram....................................................................................207
Using the Class Diagram Toolbar...........................................................................................208
Working with Classes.........................................................................................................................209
Adding Classes.......................................................................................................................209
Class Stereotypes................................................................................................................................212
Analysis Stereotypes...............................................................................................................212
Class Types............................................................................................................................217
Interfaces................................................................................................................................224
Web Modeling Stereotypes.....................................................................................................225
Other Language Stereotypes...................................................................................................228
Class Specifications............................................................................................................................230
Naming a Class.......................................................................................................................231
Setting Class Visibility...........................................................................................................232
Setting Class Multiplicity.......................................................................................................233
Setting Storage Requirements for a Class...............................................................................234
Setting Class Persistence........................................................................................................234
Setting Class Concurrency......................................................................................................235
Creating an Abstract Class......................................................................................................235
Viewing Class Attributes........................................................................................................236
Viewing Class Operations......................................................................................................236
Viewing Class Relationships..................................................................................................237
Using Nested Classes..............................................................................................................237
Viewing the Interaction Diagrams That Contain a Class.......................................................238
Setting Java Class Specifications............................................................................................239
Setting CORBA Class Specifications.....................................................................................241
Working with Packages.......................................................................................................................242
Adding Packages.....................................................................................................................242
Deleting Packages...................................................................................................................243
Exercise...............................................................................................................................................244
Problem Statement..................................................................................................................244
Creating a Class Diagram.......................................................................................................244
Summary.............................................................................................................................................250
Chapter 7: Attributes and Operations..........................................................................................................251
Working with Attributes.....................................................................................................................251
Finding Attributes...................................................................................................................251
Adding Attributes...................................................................................................................252
Deleting Attributes..................................................................................................................255
Setting Attribute Specifications..............................................................................................256
Setting the Attribute Containment..........................................................................................264
Making an Attribute Static......................................................................................................265
Specifying a Derived Attribute...............................................................................................265
Working with Operations.....................................................................................................................266
Finding Operations.................................................................................................................267
Adding Operations..................................................................................................................268
Deleting Operations................................................................................................................271
Setting Operation Specifications............................................................................................272
Adding Arguments to an Operation........................................................................................278
Specifying the Operation Protocol..........................................................................................279
Specifying the Operation Qualifications.................................................................................280
Specifying the Operation Exceptions.....................................................................................281
Specifying the Operation Size................................................................................................281
Specifying the Operation Time...............................................................................................281
Specifying the Operation Concurrency...................................................................................282
Specifying the Operation Preconditions.................................................................................282
Specifying the Operation Postconditions................................................................................283
Specifying the Operation Semantics.......................................................................................284
Displaying Attributes and Operations on Class Diagrams..................................................................285
Showing Attributes.................................................................................................................286
Showing Operations................................................................................................................288
Showing Visibility..................................................................................................................290
Showing Stereotypes...............................................................................................................291
Mapping Operations to Messages........................................................................................................292
Mapping an Operation to a Message on an Interaction Diagram...........................................294
Exercise...............................................................................................................................................295
Problem Statement..................................................................................................................295
Add Attributes and Operations...............................................................................................296
Summary.............................................................................................................................................300
Chapter 8: Relationships...............................................................................................................................301
Relationships.......................................................................................................................................301
Types of Relationships............................................................................................................301
Finding Relationships.............................................................................................................303
Associations........................................................................................................................................304
Using Web Association Stereotypes.......................................................................................306
Creating Associations.............................................................................................................307
Deleting Associations.............................................................................................................310
Dependencies......................................................................................................................................311
Creating Dependencies...........................................................................................................313
Deleting Dependencies...........................................................................................................314
Package Dependencies........................................................................................................................315
Creating Package Dependencies.............................................................................................316
Deleting Package Dependencies.............................................................................................317
Aggregations.......................................................................................................................................317
Creating Aggregations............................................................................................................318
Deleting Aggregations............................................................................................................320
Generalizations...................................................................................................................................321
Creating Generalizations.........................................................................................................322
Deleting Generalizations.........................................................................................................323
Working with Relationships................................................................................................................324
Setting Multiplicity.................................................................................................................324
Using Relationship Names......................................................................................................326
Using Stereotypes...................................................................................................................327
Using Roles............................................................................................................................328
Setting Export Control............................................................................................................330
Using Static Relationships......................................................................................................331
Using Friend Relationships.....................................................................................................332
Setting Containment...............................................................................................................333
Using Qualifiers.....................................................................................................................334
Using Link Elements..............................................................................................................335
Using Constraints....................................................................................................................336
Exercise...............................................................................................................................................338
Problem Statement..................................................................................................................338
Adding Relationships..............................................................................................................338
Summary.............................................................................................................................................340
Chapter 9: Object Behavior..........................................................................................................................341
Statechart Diagrams............................................................................................................................341
Creating a Statechart Diagram................................................................................................342
Adding States.........................................................................................................................343
Adding State Details...............................................................................................................344
Adding Transitions.................................................................................................................349
Adding Transition Details.......................................................................................................350
Adding Special States.............................................................................................................352
Using Nested States and State History...................................................................................353
Exercise...............................................................................................................................................355
Problem Statement..................................................................................................................355
Create a Statechart Diagram...................................................................................................356
Summary.............................................................................................................................................359
Chapter 10: Component View.......................................................................................................................360
What Is a Component?........................................................................................................................360
Types of Components.............................................................................................................360
Component Diagrams.........................................................................................................................362
Creating Component Diagrams..............................................................................................363
Adding Components...............................................................................................................364
Adding Component Details....................................................................................................367
Adding Component Dependencies.........................................................................................372
Exercise...............................................................................................................................................373
Problem Statement..................................................................................................................373
Summary.............................................................................................................................................380
Chapter 11: Deployment View.......................................................................................................................381
Deployment Diagrams........................................................................................................................381
Opening the Deployment Diagram.........................................................................................381
Adding Processors..................................................................................................................382
Adding Processor Details........................................................................................................384
Adding Devices.......................................................................................................................387
Adding Device Details............................................................................................................389
Adding Connections...............................................................................................................391
Adding Connection Details.....................................................................................................392
Adding Processes....................................................................................................................394
Exercise...............................................................................................................................................397
Problem Statement..................................................................................................................397
Create Deployment Diagram..................................................................................................397
Summary.............................................................................................................................................400
Chapter 12: Introduction to Code Generation and Reverse Engineering Using Rational Rose.............401
Preparing for Code Generation............................................................................................................401
Step One: Check the Model....................................................................................................402
Step Two: Create Components...............................................................................................404
Step Three: Map Classes to Components...............................................................................405
Step Four: Set the Code−Generation Properties.....................................................................406
Step Five: Select a Class, Component, or Package.................................................................409
Step Six: Generate Code.........................................................................................................409
What Gets Generated?........................................................................................................................410
Introduction to Reverse Engineering Using Rational Rose.................................................................411
Model Elements Created During Reverse Engineering.......................................................................412
Round−Trip Engineering....................................................................................................................415
Summary.............................................................................................................................................415
Chapter 13: ANSI C++ and Visual C++ Code Generation and Reverse Engineering.............................417
Generating Code in ANSI C++ and Visual C++.................................................................................417
Converting a C++ Model to an ANSI C++ Model..............................................................................418
ANSI C++ Code−Generation Properties.............................................................................................419
Class Properties......................................................................................................................420
Attribute Properties.................................................................................................................421
Operation Properties...............................................................................................................422
Package (Class Category) Properties......................................................................................424
Component (Module Specification) Properties......................................................................424
Role Properties.......................................................................................................................427
Generalization Properties........................................................................................................428
Visual C++ Code−Generation Properties............................................................................................428
Class Model Assistant.............................................................................................................428
Component Properties.............................................................................................................431
Project Properties....................................................................................................................433
Visual C++ and ATL Objects.................................................................................................434
Generated Code...................................................................................................................................435
Code Generated for Classes....................................................................................................435
Code Generated for Attributes................................................................................................439
Code Generated for Operations..............................................................................................441
Visual C++ Code Generation...............................................................................................................443
Reverse Engineering ANSI C++..........................................................................................................443
Reverse Engineering Visual C++........................................................................................................445
Summary.............................................................................................................................................445
Chapter 14: Java Code Generation and Reverse Engineering...................................................................447
Overview.............................................................................................................................................447
Introduction to Rose J..........................................................................................................................448
Beginning a Java Project......................................................................................................................449
Selecting a Java Framework...................................................................................................449
Linking to IBM VisualAge for Java.......................................................................................450
Linking to Microsoft Visual J++............................................................................................451
Java Code−Generation Properties........................................................................................................451
Project Properties....................................................................................................................452
Class Properties......................................................................................................................456
Attribute Properties.................................................................................................................458
Operation Properties...............................................................................................................459
Module Properties...................................................................................................................460
Role Properties.......................................................................................................................461
Generating Code.................................................................................................................................462
Generated Code...................................................................................................................................462
Classes...................................................................................................................................463
Attributes...............................................................................................................................465
Operations..............................................................................................................................466
Bidirectional Associations......................................................................................................468
Unidirectional Associations....................................................................................................471
Associations with a Multiplicity of One to Many...................................................................472
Associations with a Multiplicity of Many to Many................................................................474
Reflexive Associations...........................................................................................................476
Aggregations..........................................................................................................................476
Dependency Relationships......................................................................................................478
Generalization Relationships..................................................................................................479
Interfaces................................................................................................................................480
Java Beans..............................................................................................................................481
Support for J2EE.................................................................................................................................484
EJBs.......................................................................................................................................484
Servlets...................................................................................................................................487
JAR and WAR Files...............................................................................................................488
Automated J2EE Deployment................................................................................................489
Reverse Engineering...........................................................................................................................490
Summary.............................................................................................................................................491
Chapter 15: Visual Basic Code Generation and Reverse Engineering......................................................493
Starting a Visual Basic Project............................................................................................................494
Visual Basic Code−Generation Properties..........................................................................................494
Class Properties......................................................................................................................495
Attribute Properties.................................................................................................................498
Operation Properties...............................................................................................................499
Module Specification Properties.............................................................................................502
Role Properties.......................................................................................................................503
Generalization Properties........................................................................................................504
Using the Code−Generation Wizard....................................................................................................505
Generated Code...................................................................................................................................509
Classes...................................................................................................................................509
Attributes...............................................................................................................................530
Operations..............................................................................................................................531
Bidirectional Associations......................................................................................................531
Unidirectional Associations....................................................................................................533
Associations with a Multiplicity of One to Many...................................................................534
Associations with a Multiplicity of Many to Many................................................................534
Reflexive Associations...........................................................................................................535
Aggregations..........................................................................................................................535
Dependency Relationships......................................................................................................536
Generalization Relationships..................................................................................................536
Reverse Engineering...........................................................................................................................537
Summary.............................................................................................................................................539
Chapter 16: XML DTD Code Generation and Reverse Engineering........................................................541
Overview.............................................................................................................................................541
Introduction to XML DTD...................................................................................................................542
Elements.................................................................................................................................542
Attributes...............................................................................................................................543
Entities and Notations.............................................................................................................543
DTD−to−UML Mapping.....................................................................................................................545
DTD Code−Generation Properties.......................................................................................................546
Project Properties....................................................................................................................546
Class Properties......................................................................................................................547
Attribute Properties.................................................................................................................551
Role Properties.......................................................................................................................552
Component Properties.............................................................................................................553
Generating Code.................................................................................................................................554
Generated Code...................................................................................................................................554
Classes...................................................................................................................................555
Attributes...............................................................................................................................562
Reverse Engineering DTD...................................................................................................................564
Summary.............................................................................................................................................565
Chapter 17: CORBA/IDL Code Generation and Reverse Engineering....................................................567
CORBA/IDL Code−Generation Properties.........................................................................................567
Project Properties....................................................................................................................568
Class Properties......................................................................................................................570
Attribute Properties.................................................................................................................575
Operation Properties...............................................................................................................576
Module Properties...................................................................................................................578
Association (Role) Properties.................................................................................................579
Dependency Properties...........................................................................................................580
Generated Code...................................................................................................................................581
Classes...................................................................................................................................581
Attributes...............................................................................................................................588
Operations..............................................................................................................................591
Bidirectional Associations......................................................................................................591
Unidirectional Associations....................................................................................................595
Associations with a Multiplicity of One to Many...................................................................595
Associations with a Multiplicity of Many to Many................................................................599
Associations with Bounded Multiplicity................................................................................600
Reflexive Associations...........................................................................................................602
Aggregations..........................................................................................................................604
Dependency Relationships......................................................................................................604
Generalization Relationships..................................................................................................605
Reverse Engineering CORBA Source Code...........................................................................608
Summary.............................................................................................................................................609
Chapter 18: Rose Data Modeler....................................................................................................................610
Object Models and Data Models..........................................................................................................610
Creating a Data Model.........................................................................................................................612
Logic in a Data Model.........................................................................................................................613
Adding a Database..............................................................................................................................614
Adding Tablespaces................................................................................................................615
Adding a Schema................................................................................................................................621
Creating a Data Model Diagram.............................................................................................622
Creating Domain Packages and Domains............................................................................................623
Adding Tables.....................................................................................................................................626
Adding Columns.....................................................................................................................628
Setting a Primary Key.............................................................................................................631
Adding Constraints.................................................................................................................631
Adding Triggers......................................................................................................................633
Adding Indexes.......................................................................................................................635
Adding Stored Procedures...................................................................................................................636
Adding Relationships..........................................................................................................................639
Adding Referential Integrity Rules.........................................................................................642
Working with Views...........................................................................................................................644
Generating an Object Model from a Data Model................................................................................648
Generating a Data Model from an Object Model................................................................................649
Generating a Database from a Data Model..........................................................................................651
Updating an Existing Database............................................................................................................653
Reverse Engineering a Database..........................................................................................................655
Summary.............................................................................................................................................656
Chapter 19: Web Modeling...........................................................................................................................657
Modeling a Web Application...............................................................................................................657
Web Class Stereotypes............................................................................................................659
Relationships..........................................................................................................................666
Reverse Engineering a Web Application.............................................................................................668
Generating Code for a Web Application.............................................................................................670
Summary.............................................................................................................................................671
Appendix: Getting Started with UML..........................................................................................................672
Building a Business Use Case Diagram...............................................................................................672
Building a Workflow (Activity) Diagram............................................................................................675
Building a Use Case Diagram..............................................................................................................679
Building an Interaction Diagram.........................................................................................................684
Building a Class Diagram....................................................................................................................688
Web Modeling....................................................................................................................................691
Adding Class Relationships.................................................................................................................694
Building a Statechart Diagram.............................................................................................................696
Building a Component Diagram..........................................................................................................699
Building a Deployment Diagram.........................................................................................................701
Download
Another Software Engineering Books
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment