Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Classes & Objects Computer Science I Last updated 9/30/10.
Chapter 10 Introduction to Objects and Classess 1.
Chapter 1 Object-Oriented System Development
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Basic OOP Concepts and Terms
© Wolfgang Pelz Introduction Object-Oriented Methods: Analysis, Design & Programming Dr. Wolfgang Pelz Dr. Yingcai Xiao The University of Akron.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
BACS 287 Basics of Object-Oriented Programming 1.
Object Oriented Programming
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Introduction To System Analysis and design
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Introduction to Object-oriented programming and software development Lecture 1.
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
An Object-Oriented Approach to Programming Logic and Design
Sadegh Aliakbary Sharif University of Technology Fall 2011.
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
© S Ramakrishnan, Monash University oops1.ppt 1 Object-Oriented Programming Systems SFT3021 Semester Lecturer: Sita Ramakrishnan
Object-Oriented Programming (OOP) CSC-2071 (3+1=4 Credits) Lecture No. 1 MBY.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Learners Support Publications Object Oriented Programming.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Salman Marvasti Sharif University of Technology Winter 2015.
OOP Review CS 124.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
1 CSE Programming in C++. 2 Overview Sign roster list Syllabus and Course Policies Introduction to C++ About Lab 1 Fill Questionnaire.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Programming paradigms
Object Oriented Programming
Sachin Malhotra Saurabh Choudhary
JAVA By Waqas.
The Movement To Objects
CHAPTER 5 GENERAL OOP CONCEPTS.
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
OOP What is problem? Solution? OOP
Object Oriented Concepts -I
Advanced Programming Behnam Hatami Fall 2017.
Basic OOP Concepts and Terms
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI

Basic Concepts of OO2 Prepared by: Bavy LI What is Object-Orientation? Object-orientation is the use of objects and classes in analysis, design, and programming. The use of objects distinguishes object- orientation from other techniques such as  traditional structured methods (process-based: data and function are separate)  knowledge based systems (logic programming: Prolog)  mathematical methods (functional programming: Scheme).

Basic Concepts of OO3 Prepared by: Bavy LI Why did OO Arise? Modeling in analysis and software design and languages for programming originally focused on process. But many results indicated the process approach was problematic and led to the software crisis.  Hierarchical Functional Decomposition  Top-Down Design (TDD)  What are the advantages/disadvantages of TDD?

Basic Concepts of OO4 Prepared by: Bavy LI Why does “Organization” need Object-Orientation? Organizationally, OO provides a superior means of:  Problem/Business Analysis and Requirements  Better Software Development/Modern programming practice  Superior Software Engineering Metrics  Web Presence and Utilization  Software Reuse  Software Use  Enterprise Engineering

Basic Concepts of OO5 Prepared by: Bavy LI Terminology – 1 OOA – Object Oriented Analysis  analyzing your problem by decomposition into objects OOD – Object Oriented Design  designing your code into objects OOP – Object Oriented Programming  programming using the concepts of object orientation

Basic Concepts of OO6 Prepared by: Bavy LI Terminology – 2 Class  a design (like a blueprint for a house) of an object that contains data and methods Object  an instance (like a particular house with a street address) of a class with a unique identity Abstraction  only exposing the important, relevant qualities of an object or system

Basic Concepts of OO7 Prepared by: Bavy LI Terminology – 3 Attribute  a named property of an object capable of holding state, as similar as instance variables or data members Method  an operation on an object, also called a function or operation

Basic Concepts of OO8 Prepared by: Bavy LI What are the Primary Object- Oriented Languages Today? C++ added classes to C as early as 1985  A hybrid object-oriented languages with powerful features including multiple inheritance, exceptions, templates, operator overloading …etc Java was created as a simplification of C++ that could run on any machine, providing a write- once/run anywhere capability. EJB 2.0 is the new standard for the J2EE, or Java 2 Platform, Enterprise Edition

Basic Concepts of OO9 Prepared by: Bavy LI What are the Primary Object- Oriented Methodologies Today? The Unified Modeling Language, or UML, has become the industry standard design and analysis notation, which lends itself to a methodology.

Basic Concepts of OO10 Prepared by: Bavy LI What are the Benefits Of Object- Orientation? Reuse, quality, an emphasis on modeling the real world, a consistent OOA/OOD/OOP package, naturalness (our "object concept"), resistance to change, encapsulation and abstraction, and etc. On resistance to change, system objects change infrequently while processes and procedures (top-down) are frequently changed.

Basic Concepts of OO11 Prepared by: Bavy LI Big Three (and a half) The three and a half key ingredients of OOP are  Encapsulation,  Inheritance,  Polymorphism, and  Message Passing

Basic Concepts of OO12 Prepared by: Bavy LI Encapsulation hides implementation, shows only interface  "Encapsulation is the process of hiding all of the details of an object that do not contribute to its essential characteristics." – Booch

Basic Concepts of OO13 Prepared by: Bavy LI Inheritance IS A relationship  A new class can be created by "Inheriting" from another class or multiple classes.  The new class inherits methods and data members of the "parent" class.  This is also called "extending" the base class, or "sub-classing".

Basic Concepts of OO14 Prepared by: Bavy LI Message Passing a message is an invocation of a method on an object  "an object-oriented program is a bunch of objects laying around sending messages to one another."

Basic Concepts of OO15 Prepared by: Bavy LI Polymorphism the ability to hide many different implementations behind a single interface. When objects respond differently to the same message this is a form of Polymorphism.