Object-Oriented Programming

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Unified Modeling Language
Object-Oriented Analysis and Design
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Programming languages Prepared by : Jyrald Aquino.
Introduction To System Analysis and design
MCS 270 Spring 2014 Object-Oriented Software Development.
Introduction to Object-oriented programming and software development Lecture 1.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
The Evolution of the Object Model OOAD. The Evolution of the Object Model software engineering trends observed The shift in focus from programming-in-the-small.
CS6359 Introduction to OO An Introduction to Object-oriented Analysis and Design.
1 Programming Languages Marjan Sirjani Course web site:
1 Programming Language History and Evolution In Text: Chapter 2.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
1 Scope Rules (Section 3.3) CSCI 431 Programming Languages Fall 2003 A compilation of material developed by Felix Hernandez-Campos and Michael Scott.
Maria Grazia Pia, INFN Genova 1 Part II Software engineering Geant4 rigorous approach to software.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
The Evolution of Programming Languages Day 2 Lecturer: Xiao Jia The Evolution of PLs1.
Introducing Allors Applications, Tools & Platform.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
Introduction to OOP Mehdi Einali Advanced Programming in Java 1.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Introduction to OOP Mehdi Einali Advanced Programming in Java 1.
MANAGING COMPLEXITY Lecture OO01 Introduction to Object-oriented Analysis and Design Abstract Data Types.
LThe C++ programming language Department of Information Engineering INFORMATION TECHNOLOGY dr. László Dudás 4./0. lThe object oriented view of the world.
Cs205: engineering software university of virginia fall 2006 David Evans Object-Oriented Programming.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
MAITRAYEE MUKERJI Object Oriented Programming in C++
Programming Language History and Evolution
Programming paradigms
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Object-Oriented Analysis and Design
CS 326 Programming Languages, Concepts and Implementation
Differents between Structured Analysis and UML
About the Presentations
Lecture 2 of Computer Science II
Object-Orientated Programming
Programming Language History and Evolution
Elizabeth Pruett, Eric Gonzalez and Nick Puig
Component-Based & Software Reuse
Chapter 10 Thinking in Objects
OOP vs Structured Programming
Ada – 1983 History’s largest design effort
Advanced Programming in Java
Introduction To System Analysis and Design PART 2
Programming Languages
The Object model The Evolution of the Object Model Elements of the Object Model Applying the Object Model.
Programming Language Design
Programming Languages 2nd edition Tucker and Noonan
Parameter Passing Actual vs formal parameters
Final Review In Text: Chapters 1-3, 5-12,
The Programming Process
CIS601: Object-Oriented Programming in C++
Chapter 1: Introduction to Object Oriented Design
Final Review In Text: Chapters 1-3, 5-16.
Overview of Programming Paradigms
Software engineering Geant4 rigorous approach to software
The C++ programming language
Programming Languages and Paradigms
Chapter 2. Problem Solving and Software Engineering
Final Review In Text: Chapters 1-3, 5-16.
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 11 Abstraction - The concept of abstraction is fundamental in
Presentation transcript:

Object-Oriented Programming Lecture 2 Objects and Object Model

The Object Model Object-oriented technology is built upon a sound engineering foundation, whose elements we collectively call the object model. object model principles: Abstraction Encapsulation Modularity Hierarchy Typing Concurrency Persistence Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

The Objects Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

The Goal We will show clearly what object-oriented development is and what it is not How it differs from other methods through its use of the seven elements of the object model. Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

The Evolution of the Object Model Trends in Software Engineering The Generations of Programming Languages based on: The shift in focus from programming-in-the-small to programming-in-the-large The evolution of high-order programming languages First-Generation Languages (1954-1958) FORTRANI Mathematical expressions ALGOL 58 Mathematical expressions Flowmatic Mathematical expressions IPL V Mathematical expressions Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Second-Generation Languages (1959~1961) FORTRANII Subroutines, separate compilation ALGOL 60 Block structure, data types COBOL Data description, file handling Lisp List processing, pointers, garbage collection Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Late 2nd and 3rd GL Third-Generation Languages (1962-1970) PL/1 FORTRAN + ALGOL + COBOL ALGOL 68 Rigorous successor to ALGOL 60 Pascal Simple successor to ALGOL 60 Simula Classes, data abstraction Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Late 3rd Generation Language Ex., Fortran II Start modules programming Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

The Generation Gap (1970-1980) Many different languages were invented, but few endured. The Topology of Object-Based and Object-Oriented P. L. data abstraction to mastering complexity is clearly stated Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Object-Based or Object-Oriented Lang. Formulated by classes (blocks) and objects (inside blocks) Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Foundations of the Object Model Structured design methods evolved to guide developers who were trying to build complex systems using algorithms as their fundamental building blocks. (Early languages) Similarly, object-oriented design methods have evolved to help developers exploit the expressive power of object-based and object-oriented programming languages, using the class and object as basic building blocks. (OO languages) Obj. Oriented Analysis Obj. Oriented Design Obj. Oriented Program. Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)

Object Oriented Trends Object-Oriented Analysis Object-oriented analysis is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain. Object-Oriented Design Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design. Object-Oriented Programming Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships. Dr. Bassam Basim AlKindy | OOP Reference 4: Chapter 2: Object Model (pages 33 - 45)