Object Object-
- Oriented
Object Object- -Oriented Oriented Development Development by - - PowerPoint PPT Presentation
Object Object- -Oriented Oriented Development Development by Linda M Northdrop by Linda M Northdrop by Linda M. Northdrop by Linda M. Northdrop 200614167 200614167 Historical Perspective Historical Perspective
Object
Object & Object Attributes
Simula
SmallTalk
1980
1985
1985
Object Orientation is Silver Bullet.
Watching the world as Object is closer to
OOD supports Information Hiding, Data
OOD supports Information Hiding, Data
Object Approach
Object Approach
naturally offers Prototype.
naturally offers Prototype.
Reusability is for SW Design and Analysis Model
Reusability is for SW Design and Analysis Model
Reusability is for SW, Design, and Analysis Model.
Reusability is for SW, Design, and Analysis Model.
Reduce Risk of Complex Systems
Reduce Risk of Complex Systems
Object
Structure and Processing
Structure and Processing
Framework
Abstraction (
Abstraction (추상화 추상화)
Encapsulation (
Encapsulation (캡슐화 캡슐화)
Encapsulation (
Encapsulation (캡슐화 캡슐화)
Modularity (
Modularity (모듈화 모듈화)
Hierarchy (
Hierarchy (계층화 계층화) Hierarchy ( Hierarchy (계층화 계층화)
Typing (
Typing (정형성 정형성)
Concurrence (
Concurrence (동시성 동시성) ( )
Persistence (
Persistence (영속성 영속성)
Reusability (
Reusability (재사용성 재사용성)
Extensibility (
Extensibility (확장성 확장성)
Extensibility (
Extensibility (확장성 확장성)
Approach
Approach
Object Orientation is the integration of Procedural
Object Orientation is the integration of Procedural & Data & Data-
Driven Approach N S ft D l t A h N S ft D l t A h
New Software Development Approach
New Software Development Approach
Progress
Major factor is the advance in Programming
Major factor is the advance in Programming
Major factor is the advance in Programming
Major factor is the advance in Programming Methodology Methodology
Abstractions From Address, to name (Assembly),
Abstractions From Address, to name (Assembly), ( ) ( ) ( ) ( ) to expression (FORTRAN), to control (COBOL), to to expression (FORTRAN), to control (COBOL), to procedure and function (Pascal), to modules and procedure and function (Pascal), to modules and data (Modula 2), and to object (OO based & OO data (Modula 2), and to object (OO based & OO j j Languages) Languages)
Object
M i t f I d t i l M i t f I d t i l St th ft St th ft
Mainstream of Industrial
Mainstream of Industrial-Strength software Strength software development development
Concepts
Object
Object
Data Structure and Operations
Data Structure and Operations
Message
Message
Message
Message
Method or Routine
Method or Routine Object Chain Object Chain
Object Chain
Object Chain
Polymorphism
superclass with subclass
superclass with subclass
Languages
Simula is the common ancestor of all of these
Simula is the common ancestor of all of these languages languages languages languages
SmallTalk Based
SmallTalk Based
SmallTalk
SmallTalk-
80 (the truest OO Language)
C B d C B d
C Based
C Based
Objective
Objective-
C, C++ (Encapsulation by STRUCT, Polymorphism, Multiple Inheritance), Java Polymorphism, Multiple Inheritance), Java
LISP Based
LISP Based
LOOPS, Flavors, Common LOOPS, CLOS (Common LISP
LOOPS, Flavors, Common LOOPS, CLOS (Common LISP Object System) Object System)
Pascal Based
Pascal Based
Object
Object-
Pascal, Turbo Pascal, Eiffel, ADA95 (Not the first ADA) ADA) ADA) ADA)
Life Cycle
Coding is not the first consideration
Coding is not the first consideration
Waterfall / Structured Life Cycle
Waterfall / Structured Life Cycle
The software crisis by sequential processing
The software crisis by sequential processing
Water Fountain Life Cycle
Water Fountain Life Cycle
Supported by Prototyping and Feedback Loop
Supported by Prototyping and Feedback Loop Th i t B d Th i t B d
There is no exact Boundary
There is no exact Boundary
Iterative/Incremental Life Cycle
Iterative/Incremental Life Cycle
From Boehm
From Boehm’ ’s Spiral Model s Spiral Model
From Boehm
From Boehm s Spiral Model s Spiral Model
Object
Framework
Framework
Object
Object-
Oriented Design
Reusability
Reusability
Meyer
Meyer -
Class Diagrams, Class Category diagrams, Class Templates, and Object Diagrams to record Design by Templates, and Object Diagrams to record Design by Harel state chart Harel state chart
Rumbaugh
Rumbaugh – the Object, Dynamic, Functional Model the Object, Dynamic, Functional Model
Technique
Technique – MultiLayer & MultiComponent MultiLayer & MultiComponent
Ivar Jacopson
Ivar Jacopson’ ’s Method s Method – Objectory with Objectory with “use case use case”
Oriented
Techniques
2 identify structures and relationships 2 identify structures and relationships
4 define attributes 4 define attributes
6 determine a multilayer object 6 determine a multilayer object-oriented model
Milestones
Object
No LOC (Lines of Code)
No LOC (Lines of Code)
Resource Allocation
Tools
Estimates
Estimates
Object
Object
THE FUTURE
Objects are the most exciting innovation in
Don