SlideShare a Scribd company logo
® 
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.

More Related Content

PDF
SOFTWARE ENGINEERING FILE IN SLIDESHARE
PDF
MDD with Executable UML Models
PPTX
Review of object orientation
PDF
Basic object oriented approach
PPTX
Object Oriented Approach for Software Development
PPTX
Object oriented methodology & unified modeling language
PPT
Object oriented analysis
SOFTWARE ENGINEERING FILE IN SLIDESHARE
MDD with Executable UML Models
Review of object orientation
Basic object oriented approach
Object Oriented Approach for Software Development
Object oriented methodology & unified modeling language
Object oriented analysis

Similar to 01 concepts of_object-orientation (1) (20)

PPT
UML_Training.ppt
PPT
ERP_Up_Down.ppt
PPTX
SE - Lecture 3 - Software Tools n Environment.pptx
PPT
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
DOCX
Ooad unit 1
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PDF
4 (uml basic)
PPTX
Introduction to Unified Modeling Language
PPTX
Unified Modeling Language
PPT
xUMLFinalPresentation.ppt
PDF
Ooad with uml
PDF
[0201699613]visual modeling with rational rose 2000 and uml
PPT
Unit 1( modelling concepts & class modeling)
PDF
Software Engineering : OOAD using UML
PPTX
UNIFIED MODELLING LANGUAGE (UML)
PPS
03 ooad-uml 03
DOCX
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
PDF
Object Orientation Fundamentals
UML_Training.ppt
ERP_Up_Down.ppt
SE - Lecture 3 - Software Tools n Environment.pptx
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Ooad unit 1
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
4 (uml basic)
Introduction to Unified Modeling Language
Unified Modeling Language
xUMLFinalPresentation.ppt
Ooad with uml
[0201699613]visual modeling with rational rose 2000 and uml
Unit 1( modelling concepts & class modeling)
Software Engineering : OOAD using UML
UNIFIED MODELLING LANGUAGE (UML)
03 ooad-uml 03
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.docx
Object Orientation Fundamentals
Ad

Recently uploaded (20)

PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Geodesy 1.pptx...............................................
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
PPT on Performance Review to get promotions
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Construction Project Organization Group 2.pptx
PPTX
additive manufacturing of ss316l using mig welding
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
Geodesy 1.pptx...............................................
bas. eng. economics group 4 presentation 1.pptx
OOP with Java - Java Introduction (Basics)
Lecture Notes Electrical Wiring System Components
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPT on Performance Review to get promotions
Model Code of Practice - Construction Work - 21102022 .pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Construction Project Organization Group 2.pptx
additive manufacturing of ss316l using mig welding
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Foundation to blockchain - A guide to Blockchain Tech
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Ad

01 concepts of_object-orientation (1)

  • 1. ® 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
  • 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