® 
IBM Software Group 
© 2006 IBM Corporation 
Rational Software France 
Object-Oriented Analysis and Design with UML2 and 
Rational Software Modeler 
01. Concepts of Object-Orientation
IBM Software Group | Rational software 
Where Are We? 
 What is Modeling? 
 Principles of Object-Orientation 
 The Unified Modeling Language
IBM Software Group | Rational software 
What is a Model? 
 A model is a simplification of reality 
 Modeling achieves four aims: 
Helps you to visualize a system as you want it to be 
Permits you to specify the structure or behavior of a system 
Gives you a template that guides you in constructing a system 
Documents the decisions you have made 
 You build models of complex systems because you cannot 
comprehend such a system in its entirety 
 You build models to better understand the system you are developing
IBM Software Group | Rational software 
Principles of Visual Modeling 
 The model you create influences how the problem is attacked 
 Every model may be expressed at different levels of precision 
 The best models are connected to reality 
 No single model is sufficient
IBM Software Group | Rational software 
Model-Driven Development 
 A natural evolution of object-oriented technologies 
 The encapsulation of business logic in (UML) models 
 The use of these models to automate the development of applications, 
code generation, testing and maintenance 
? ?
IBM Software Group | Rational software 
Model-Driven Architecture (MDA) 
 An architectural style 
 An OMG initiative 
TTrraannssffoorrmmaattiioonn RRuulleess 
PSM PSM PSM 
Plat form Specific 
Model – 
Design/ 
Implementat ion 
Automated Generation 
TTrraannssffoorrmmaattiioonn RRuulleess 
Plat form 
I ndependent 
Model – 
Analysis/ Design 
PIM PIM 
Comput at ion 
I ndependent Model – 
Domain Model, 
Business Model, 
Requirement s, et c. 
CIM 
Code, Files, Artifacts 
Transformation Rules 
http://www.omg.com/
IBM Software Group | Rational software 
Where Are We? 
 What is Modeling? 
 Principles of Object-Orientation 
 The Unified Modeling Language
IBM Software Group | Rational software 
Basic Principles of Object Orientation 
 Abstraction 
 Encapsulation 
 Modularity 
 Hierarchy
IBM Software Group | Rational software 
What Is Abstraction? 
 The essential 
characteristics of an 
entity that distinguishes 
it from all other kinds of 
entities 
 Depends on the 
perspective of the viewer 
 Is not a concrete 
manifestation, denotes 
the ideal essence of 
something 
From Object-Oriented Analysis and Design with Applications by Grady Booch, 1994
IBM Software Group | Rational software 
What Is Encapsulation? 
 Hides implementation 
from clients 
Clients depend on 
interface 
Improves the resiliency 
of the system, i.e. its 
ability to adapt to 
change 
From Object-Oriented Analysis and Design with Applications by Grady Booch , 1994
IBM Software Group | Rational software 
What Is Modularity? 
 Breaks up something complex into manageable pieces. 
 Helps people understand complex systems 
From Object-Oriented Analysis and Design with Applications by Grady Booch , 1994
IBM Software Group | Rational software 
What Is Hierarchy? 
Increasing 
abstraction 
Decreasing 
abstraction 
Asset 
RealEstate 
BankAccount 
Savings 
Security 
Checking Stock 
Bond 
Elements at the same level of the hierarchy should 
be at the same level of abstraction
IBM Software Group | Rational software 
Where Are We? 
 What is Modeling? 
 Principles of Object-Orientation 
 The Unified Modeling Language
IBM Software Group | Rational software 
What Is the UML? 
 The UML is a language for 
 Visualizing 
 Specifying 
 Constructing 
 Documenting 
the artifacts of a software-intensive system
IBM Software Group | Rational software 
UML Covers All Aspects of Software Development 
 The UML addresses system architecture, requirements, tests, project 
planning, and release management 
Use Case Diagram 
Actor A 
Use Case 1 
Use Case 2 
Use Case 3 
Actor B 
GrpFile 
read( ) 
open( ) 
create( ) 
fillFile( ) 
sortByName( ) 
rep 
FileMgr 
fetchDoc( ) 
Repository 
(from Persistence) 
name : char * = 0 
Class Diagram 
readDoc( ) 
readFile( ) 
DocumentList 
add( ) 
delete( ) 
Document 
name : int 
docid : int 
numField : int 
get( ) 
open( ) 
close( ) 
read( ) 
sortFileList( ) 
create( ) 
fillDocument( ) 
fList 
1 
FileList 
add( ) 
delete( ) 
File 
read( ) 
read() fill the 
code. 
user 
mainWnd fileMgr : 
FileMgr 
document : gFile 
repository 
Document 
1: Doc view request ( ) 
2: fetchDoc( ) 
3: create ( ) 
4: create ( ) 
5: readDoc ( ) 
6: filDocument ( ) 
7: readFile ( ) 
8: fil File ( ) 
9: sortByName ( ) 
Sequence Diagram 
ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ 
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. 
È-Àϰü¸®ÀÚ´Â Àоî¿Â 
¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- 
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. 
È-¸é °´Ã¼´Â ÀоîμéÀÎ 
°´Ã¼μé¿¡ ´ëÇØ À̸§º°·Î 
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ 
º¸¿©ÁØ´Ù. 
Deployment Diagram 
Window95 
¹®¼-°ü¸® 
Ŭ¶óÀ̾ðÆ®.EXE 
Windows 
NT 
¹®¼-°ü¸® ¿£Áø.EXE 
Windows 
NT 
Windows95 
Solaris 
ÀÀ¿ë¼-¹ö.EXE 
Alpha 
UNIX 
IBM 
Mainframe 
μ¥ÀÌŸº£À̽º¼-¹ö 
Windows95 
¹®¼-°ü¸® ¾ÖÇø´ 
ºÐ»ê ȯ°æÀÇ ÇÏμå¿þ¾î ¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðμ¨ 
- À©μμ¿ì 95 : Ŭ¶óÀÌ¾ðÆ® 
- À©μμ¿ì NT: ÀÀ¿ë¼-¹ö 
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö 
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
IBM Software Group | Rational software 
History of the UML 
UML 2.0 
(2004) 
UML 1.5 
(March, ‘03) 
UML 1.1 
(Sept. ‘97) 
UML 1.0 
(Jan. ‘97) 
Current 
version = 2.1 
Other 
UML 0.9 
(June ‘96) 
UML 0.91 
(Oct. ‘96) 
and 
Unified Method 0.8 
(OOPSLA ’95) 
Booch ’93 OMT - 2 
OOSE Methods Booch ‘91 OMT - 1
IBM Software Group | Rational software 
A Language Is Not Enough to Build a System 
Team- Based 
Development 
Modeling 
Language 
Unified 
Process
IBM Software Group | Rational software 
Review 
 Why do we model? 
 True or false: A model influences how the problem is attacked. 
 True or false: A single model is sufficient in most cases. 
 How do MDD and MDA differ? 
 What are the four basic principles of object-orientation? 
 True or false: UML is a method to capture the requirements of the 
system to be and build a robust design.

01 concepts of_object-orientation (1)

  • 1.
    ® IBM SoftwareGroup © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 01. Concepts of Object-Orientation
  • 2.
    IBM Software Group| Rational software Where Are We?  What is Modeling?  Principles of Object-Orientation  The Unified Modeling Language
  • 3.
    IBM Software Group| Rational software What is a Model?  A model is a simplification of reality  Modeling achieves four aims: Helps you to visualize a system as you want it to be Permits you to specify the structure or behavior of a system Gives you a template that guides you in constructing a system Documents the decisions you have made  You build models of complex systems because you cannot comprehend such a system in its entirety  You build models to better understand the system you are developing
  • 4.
    IBM Software Group| Rational software Principles of Visual Modeling  The model you create influences how the problem is attacked  Every model may be expressed at different levels of precision  The best models are connected to reality  No single model is sufficient
  • 5.
    IBM Software Group| Rational software Model-Driven Development  A natural evolution of object-oriented technologies  The encapsulation of business logic in (UML) models  The use of these models to automate the development of applications, code generation, testing and maintenance ? ?
  • 6.
    IBM Software Group| Rational software Model-Driven Architecture (MDA)  An architectural style  An OMG initiative TTrraannssffoorrmmaattiioonn RRuulleess PSM PSM PSM Plat form Specific Model – Design/ Implementat ion Automated Generation TTrraannssffoorrmmaattiioonn RRuulleess Plat form I ndependent Model – Analysis/ Design PIM PIM Comput at ion I ndependent Model – Domain Model, Business Model, Requirement s, et c. CIM Code, Files, Artifacts Transformation Rules http://www.omg.com/
  • 7.
    IBM Software Group| Rational software Where Are We?  What is Modeling?  Principles of Object-Orientation  The Unified Modeling Language
  • 8.
    IBM Software Group| Rational software Basic Principles of Object Orientation  Abstraction  Encapsulation  Modularity  Hierarchy
  • 9.
    IBM Software Group| Rational software What Is Abstraction?  The essential characteristics of an entity that distinguishes it from all other kinds of entities  Depends on the perspective of the viewer  Is not a concrete manifestation, denotes the ideal essence of something From Object-Oriented Analysis and Design with Applications by Grady Booch, 1994
  • 10.
    IBM Software Group| Rational software What Is Encapsulation?  Hides implementation from clients Clients depend on interface Improves the resiliency of the system, i.e. its ability to adapt to change From Object-Oriented Analysis and Design with Applications by Grady Booch , 1994
  • 11.
    IBM Software Group| Rational software What Is Modularity?  Breaks up something complex into manageable pieces.  Helps people understand complex systems From Object-Oriented Analysis and Design with Applications by Grady Booch , 1994
  • 12.
    IBM Software Group| Rational software What Is Hierarchy? Increasing abstraction Decreasing abstraction Asset RealEstate BankAccount Savings Security Checking Stock Bond Elements at the same level of the hierarchy should be at the same level of abstraction
  • 13.
    IBM Software Group| Rational software Where Are We?  What is Modeling?  Principles of Object-Orientation  The Unified Modeling Language
  • 14.
    IBM Software Group| Rational software What Is the UML?  The UML is a language for  Visualizing  Specifying  Constructing  Documenting the artifacts of a software-intensive system
  • 15.
    IBM Software Group| Rational software UML Covers All Aspects of Software Development  The UML addresses system architecture, requirements, tests, project planning, and release management Use Case Diagram Actor A Use Case 1 Use Case 2 Use Case 3 Actor B GrpFile read( ) open( ) create( ) fillFile( ) sortByName( ) rep FileMgr fetchDoc( ) Repository (from Persistence) name : char * = 0 Class Diagram readDoc( ) readFile( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) File read( ) read() fill the code. user mainWnd fileMgr : FileMgr document : gFile repository Document 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: filDocument ( ) 7: readFile ( ) 8: fil File ( ) 9: sortByName ( ) Sequence Diagram ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. È-Àϰü¸®ÀÚ´Â Àоî¿Â ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. È-¸é °´Ã¼´Â ÀоîμéÀÎ °´Ã¼μé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ º¸¿©ÁØ´Ù. Deployment Diagram Window95 ¹®¼-°ü¸® Ŭ¶óÀ̾ðÆ®.EXE Windows NT ¹®¼-°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼-¹ö.EXE Alpha UNIX IBM Mainframe μ¥ÀÌŸº£À̽º¼-¹ö Windows95 ¹®¼-°ü¸® ¾ÖÇø´ ºÐ»ê ȯ°æÀÇ ÇÏμå¿þ¾î ¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðμ¨ - À©μμ¿ì 95 : Ŭ¶óÀÌ¾ðÆ® - À©μμ¿ì NT: ÀÀ¿ë¼-¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: μ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
  • 16.
    IBM Software Group| Rational software History of the UML UML 2.0 (2004) UML 1.5 (March, ‘03) UML 1.1 (Sept. ‘97) UML 1.0 (Jan. ‘97) Current version = 2.1 Other UML 0.9 (June ‘96) UML 0.91 (Oct. ‘96) and Unified Method 0.8 (OOPSLA ’95) Booch ’93 OMT - 2 OOSE Methods Booch ‘91 OMT - 1
  • 17.
    IBM Software Group| Rational software A Language Is Not Enough to Build a System Team- Based Development Modeling Language Unified Process
  • 18.
    IBM Software Group| Rational software Review  Why do we model?  True or false: A model influences how the problem is attacked.  True or false: A single model is sufficient in most cases.  How do MDD and MDA differ?  What are the four basic principles of object-orientation?  True or false: UML is a method to capture the requirements of the system to be and build a robust design.

Editor's Notes

  • #4 Software teams often do not model Many software teams build applications approaching the problem like they were building paper airplanes Start coding from project requirements Work longer hours and create more code Lacks any planned architecture Doomed to failure Modeling is a common thread to successful projects