object object oriented oriented development development

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


  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 양 한 한 석

  2. Historical Perspective Historical Perspective Historical Perspective Historical Perspective � Object Object- -Oriented Design Oriented Design � Object & Object Attributes Object & Object Attributes Obj Obj t & Obj t & Obj t Att ib t t Att ib t � Simula Simula b b by Kristen Nygaard & Ole by Kristen Nygaard & Ole- K i t K i t N N d & Ol d & Ol -Johan Dahl J h J h Johan Dahl D hl D hl � SmallTalk SmallTalk b b by PARC (Palo Alto Research Center) by PARC (Palo Alto Research Center) PARC (P l PARC (P l Alt Alt R R h C h C t t ) ) SmallTalk- SmallTalk -80 80 � � 1980 1980 - - Concepts of OOD Concepts of OOD � 1985 � 1985 1985 – OO based Database System 1985 OO based Database System OO based Database System OO based Database System

  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 g j 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

  4. Object Object Oriented Model(1/2) Object Object-Oriented Model(1/2) Oriented Model(1/2) Oriented Model(1/2) � Object Object- -Oriented Model?? Oriented Model?? � Structure and Processing Structure and Processing � Framework Framework F F k k � Abstraction ( Abstraction (추상화 추상화) � Encapsulation ( � Encapsulation ( Encapsulation (캡슐화 Encapsulation (캡슐화 캡슐화) 캡슐화) � Modularity ( Modularity (모듈화 모듈화) � Hierarchy ( Hierarchy (계층화 Hierarchy ( Hierarchy (계층화 계층화) 계층화) � Typing ( Typing (정형성 정형성) � Concurrence ( Concurrence (동시성 동시성) � Persistence ( Persistence (영속성 ( 영속성) ) � Reusability ( Reusability (재사용성 재사용성) � Extensibility ( � Extensibility ( Extensibility (확장성 Extensibility (확장성 확장성) 확장성)

  5. Object Object Oriented Model(2/2) Object Object-Oriented Model(2/2) 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 � New Software Development Approach N N New Software Development Approach S ft S ft D D l l t A t A h h � 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 � Mainstream of Industrial M i Mainstream of Industrial-Strength software M i t t f I d f I d t i l t i l St St Strength software th th ft ft development development

  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

  7. Object Object- -Oriented Programming Oriented Programming (2/2) (2/2) � Languages L 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 Based C B C Based C B d d � 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)

  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 � There is no exact Boundary Th There is no exact Boundary Th i i t B t B d d � Iterative/Incremental Life Cycle Iterative/Incremental Life Cycle � From Boehm � From Boehm From Boehm ’ From Boehm s Spiral Model ’ s Spiral Model s Spiral Model s Spiral Model

  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 ”

  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 6. determine a multilayer object 6. determine a multilayer object oriented model oriented model oriented model

  11. Management Issues Management Issues Management Issues Management Issues � Milestones Milestones � Object Object-Oriented Development is the new Object Object Oriented Development is the new 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

  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 y y j 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.

Recommend


More recommend