OBJECT-ORIENTEDNESS KCDCC. WHAT IS OBJECT-ORIENTEDNESS? KCDCC model system as a collection of interacting objects O-O Modelling O-O Programming similar.

Slides:



Advertisements
Similar presentations
OBJECT-ORIENTEDNESS. What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual.
Advertisements

Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Chapter 10 Introduction to Objects and Classess 1.
Object-Oriented Analysis and Design
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.
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.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
7M701 1 Software Engineering Systems Models Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 7 (some items)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Object-Oriented Databases
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Object-oriented concepts.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Chapter Assistance -- Lamimi V. Kamat February 14, 1999 R. A. Volz1 OBJECT ORIENTED MODELING, CONCEPTS AND PRINCIPLES Chapter 20.
7M822 Software Engineering: System Models 14 September 2009.
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 design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
BACS 287 Basics of Object-Oriented Programming 1.
Chapter 14: Object-Oriented Data Modeling
Introduction To System Analysis and design
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Stephenson College DP 96 1 Object-Orientation by Derek Peacock.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
CSCI-383 Object-Oriented Programming & Design Lecture 10.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Object-Oriented Design Concepts University of Sunderland.
Basic ER modeling was adequate for simpler databases, but in the 1980’s more demanding databases required more extensive modeling requirements. Some such.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Object Oriented Programming in Java Habib Rostami Lecture 2.
Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Object Oriented Programming
Object-Oriented Modeling
Object-Oriented Database Management System (ODBMS)
UML Class Diagrams: Basic Concepts
System models October 5, 2005.
Lec 3: Object-Oriented Data Modeling
Appendix A Object-Oriented Analysis and Design
Understand and Use Object Oriented Methods
ITEC 3220A Using and Designing Database Systems
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Cheng (Sp2001): Object-Oriented Development Overview
Presentation transcript:

OBJECT-ORIENTEDNESS KCDCC

WHAT IS OBJECT-ORIENTEDNESS? KCDCC model system as a collection of interacting objects O-O Modelling O-O Programming similar conceptual philosophy different purpose

OBJECTS KCDCC what is an object? individuality properties real world thing - something tangible conceptual / virtual / abstract all objects have identity all objects are distinguishable - twins identity - state - behaviour (identity - data - operations)

There are many THINGS in the World From: Sigfried S (1996). Understanding Object-Oriented Software Engineering

The WorldOur Model From: Sigfried S (1996). Understanding Object-Oriented Software Engineering 5/26

OBJECTS (cont..) KCDCC individual, identifiable entity (real or abstract) with a well defined role in the problem domain

OBJECT PROPERTIES KCDCC identity state (data) behaviour (operations/methods) property of an object which distinguishes it from all other objects attributes of an object attributes have values describes how object acts & reacts procedures / operations (messages)

OBJECT PROPERTIES (cont.) KCDCC attributes (data) behaviour (operations/methods) descriptor (variable) that holds value e.g. name, weight, colour, model, may have same across classes e.g. weight function or procedure that may be applied to or by an object e.g. Move, Open, Draw,... all objects in a class share same operations

CLASSES AND INSTANCES KCDCC instance (object) class unique individual all values unique individuality from differences in attribute values (but may differ in only location & orientation) abstraction - generalization group of objects with common properties differentiation in attributes attributes can have ranges / options

From: Sigfried S (1996). Understanding Object-Oriented Software Engineering Similar THINGS can be GROUPED 10/26

From: Rumbaugh et al. (1991). Object-Oriented Modeling and Design

CLASS RELATIONSHIPS KCDCC taxonomical / typological aggregation others a_kind_of, a_type_of, is_a, an_instance_of ako, ato, isa, aio a_part_of, a_component_of apo, aco functional, ownership, connectivity,... provides_access, owned_by, joins

depends on purpose CLASSIFICATION KCDCC brings order no simple recipe knowledge ordered hierarchically linked to categorization no perfect class structure & set of objects difficult - boundaries are fuzzy e.g. where does knee begin and end difficult to define precisely attributes & values e.g. cup and bowl different views

CLASSIFICATION (cont.) KCDCC superclass, subclass, instance general to specific fewer members - more specific ancestors - descendants parent - child 15/26

INHERITANCE KCDCC superclass, subclass, instance C1 superclass instance superclass subclass A B C ato aio recursive reuse subclass inherits all properties of superclass instance special case of subclass inherit ‘up the line’ if class B subclass of class A and class C subclass of class B then class C inherits from class B and class A avoids redundancy

From: Rumbaugh et al. (1991). Object-Oriented Modeling and Design

vehicle land vehicle water vehicle amphibious vehicle carboat MULTIPLE INHERITANCE ato 18/26

GENERALIZATION / SPECIALIZATION KCDCC generalization specialization extract common characteristics create higher-level abstraction bottom-up top-down may constrain ancestor attributes e.g. circle special case of ellipse must do one of above add new features - extension e.g. hinged door adds swing behaviour

AGGREGATION / DECOMPOSITION assembly / component KCDCC recursive structural hierarchy special form of relationship aggregate object made up of component objects treated as one unit - an object orthogonal concept to generalization/specialization components may be aggregations part/whole vs subclass/class apo, aco vs ako, ato, isa, aio 20/26

KCDCC lamp fluorescent lamp incandescent lamp ballaststarter socket AGGREGATION / DECOMPOSITION addition of components basecover switch ato aco

KCDCC lamp fluorescent lamp ballaststarter AGGREGATION / DECOMPOSITION addition of components (cont.) basecover switch ato aco L1 base1cover1 switch1 aco ballast1starter1 isa 22/26

O-O CONCEPTS encapsulation / modularity KCDCC classification inheritance aggregation localize data & procedures in a module taxonomic / typologic hierarchy makes order reusability structural hierarchy hides / adds details

O-O LANGUAGES Smalltalk first popular OOL C++ strongly typed - lots of housekeeping Eiffel strongly typed - garbage collection CLOS (Common Lisp Object System) O-O extension of COMMON LISP encapsulation not enforced Objective C Java cleaned-up version of C++ - no pointers distributed KCDCC

O-O DATABASES databases KCDCC O-O programming OODMS relationships used to store persistent data data doesn’t vanish when program stops execution objects not persistent object information persistent 25/26

IMPACT OF 0-0 SYSTEMS ON MODELLING CAD systems & applications KCDCC data exchange & integration no standard model for O-O systems implemented using O-O technology systems create and manipulate objects information embedded in objects use O-O concepts concepts of state and behaviour fundamental 26/26