Object Object- -Oriented Oriented Development Development by - - PowerPoint PPT Presentation

object object oriented oriented development development
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Object Object-

  • Oriented

Oriented Development Development

by Linda M Northdrop by Linda M Northdrop by Linda M. Northdrop by Linda M. Northdrop

200614167 200614167 양 한 한 석

slide-2
SLIDE 2

Historical Perspective Historical Perspective Historical Perspective Historical Perspective

Object

Object-

  • Oriented Design

Oriented Design Obj t & Obj t Att ib t Obj t & Obj t Att ib t

Object & Object Attributes

Object & Object Attributes

Simula

Simula b K i t N d & Ol b K i t N d & Ol J h D hl J h D hl by Kristen Nygaard & Ole by Kristen Nygaard & Ole-

  • Johan Dahl

Johan Dahl

SmallTalk

SmallTalk b PARC (P l Alt R h C t ) b PARC (P l Alt R h C t ) by PARC (Palo Alto Research Center) by PARC (Palo Alto Research Center)

  • SmallTalk

SmallTalk-

  • 80

80

1980

1980 -

  • Concepts of OOD

Concepts of OOD

1985

1985 – OO based Database System OO based Database System

1985

1985 OO based Database System OO based Database System

slide-3
SLIDE 3

Motivation Motivation Motivation Motivation

Object Orientation is Silver Bullet.

Object Orientation is Silver Bullet.

Watching the world as Object is closer to

Watching the world as Object is closer to g j g j Human Thinking. Human Thinking.

OOD supports Information Hiding, Data

OOD supports Information Hiding, Data

OOD supports Information Hiding, Data

OOD supports Information Hiding, Data Abstraction, Encapsulation. Abstraction, Encapsulation.

Object Approach

Object Approach

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

slide-4
SLIDE 4

Object Object Oriented Model(1/2) Oriented Model(1/2) Object Object-Oriented Model(1/2) Oriented Model(1/2)

Object

Object-

  • Oriented Model??

Oriented Model??

Structure and Processing

Structure and Processing

F k F k

Framework

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 (확장성 확장성)

slide-5
SLIDE 5

Object Object Oriented Model(2/2) Oriented Model(2/2) Object Object-Oriented Model(2/2) Oriented Model(2/2)

Approach

Approach

Approach

Approach

Object Orientation is the integration of Procedural

Object Orientation is the integration of Procedural & Data & Data-

  • Driven Approach

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

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

Object-

  • Oriented Techniques

Oriented Techniques

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

slide-6
SLIDE 6

Object Object-

  • Oriented Programming

Oriented Programming (1/2) (1/2)

Concepts

Concepts

Object

Object

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

Polymorphism

superclass with subclass

superclass with subclass

slide-7
SLIDE 7

Object Object-

  • Oriented Programming

Oriented Programming (2/2) (2/2)

L

Languages

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)

80 (the truest OO Language)

C B d C B d

C Based

C Based

Objective

Objective-

  • C, C++ (Encapsulation by STRUCT,

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

Pascal, Turbo Pascal, Eiffel, ADA95 (Not the first ADA) ADA) ADA) ADA)

slide-8
SLIDE 8

Object Object-

  • Oriented Software

Oriented Software Engineering (1/3) Engineering (1/3)

Life Cycle

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

slide-9
SLIDE 9

Object Object-

  • Oriented Software

Oriented Software Engineering (2/3) Engineering (2/3)

Object

Object-

  • Oriented Analysis and Design

Oriented Analysis and Design

Framework

Framework

Object

Object-

  • Oriented Design

Oriented Design

Reusability

Reusability

Meyer

Meyer -

  • Class Diagrams, Class Category diagrams, Class

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”

slide-10
SLIDE 10

Object Object-

  • Oriented Software

Oriented Software Engineering (3/3) Engineering (3/3)

Oriented

Oriented-

  • Object Analysis

Object Analysis

Techniques

Techniques Techniques Techniques

  • 1. find classes and objects
  • 1. find classes and objects

2 identify structures and relationships 2 identify structures and relationships

  • 2. identify structures and relationships
  • 2. identify structures and relationships
  • 3. determine subjects
  • 3. determine subjects

4 define attributes 4 define attributes

  • 4. define attributes
  • 4. define attributes
  • 5. define services
  • 5. define services

6 determine a multilayer object 6 determine a multilayer object-oriented model

  • riented model
  • 6. determine a multilayer object
  • 6. determine a multilayer object oriented model
  • riented model
slide-11
SLIDE 11

Management Issues Management Issues Management Issues Management Issues

Milestones

Milestones

Object

Object-Oriented Development is the new Oriented Development is the new Object Object Oriented Development is the new Oriented Development is the new milestone. milestone.

No LOC (Lines of Code)

No LOC (Lines of Code)

No LOC (Lines of Code)

No LOC (Lines of Code)

Resource Allocation

Resource Allocation

Tools

Tools

Estimates

Estimates

Estimates

Estimates

slide-12
SLIDE 12

Object

Object-

  • Oriented Transition

Oriented Transition

Object

Object-

  • Oriented Approach is the

Oriented Approach is the successful way for any Project successful way for any Project y y j y y j

THE FUTURE

THE FUTURE

Objects are the most exciting innovation in

Objects are the most exciting innovation in software since the 70s software since the 70s

Don

Don’ ’t know about the future. t know about the future.