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

Slides:



Advertisements
Similar presentations
Object-Oriented Programming Session 9 Course : T Programming Language Concept Year : February 2011.
Advertisements

Entity Relationship (E-R) Modeling
2006 Pearson Education, Inc. All rights reserved Object-Oriented Programming: Inheritance.
Final and Abstract Classes
UML and Classes, Objects and Relationships [1]
Use Case Diagrams.
Chapter 9 Structuring System Data Requirements
Chapter 7 System Models.
Copyright: SIPC From Ontology to Data Model: Choices and Design Decisions Matthew West Reference Data Architecture and Standards Manager Shell International.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Year 6 mental test 5 second questions
Conceptual / semantic modelling
Database Design: ER Modelling (Continued)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Chapter 7 – Design and Implementation
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
ABC Technology Project
By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
Object-Oriented Programming. 2 An object, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain.
Jane Reid, BSc/IT DB, QMUL, 25/2/02 1 Object-oriented DBMS Background to ODBMS ODBMS requirements Object components ODB conceptual design –Graphical ODB.
Problem Solving and Algorithm Design
the Entity-Relationship (ER) Model
Lecture plan Outline of DB design process Entity-relationship model
Lecture 6: Software Design (Part I)
آزمایشگاه مهندسی نرم افزار
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Week 1.
We will resume in: 25 Minutes.
Distributed DBMS©M. T. Özsu & P. Valduriez Ch.15/1 Outline Introduction Background Distributed Database Design Database Integration Semantic Data Control.
Chapter 11 Component-Level Design
Abstract Class, Packages and interface from Chapter 9
Modeling Main issues: What do we want to build How do we write this down.
Enhanced/Extended Relationship-Diagram
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
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.
7M822 Software Engineering: System Models 14 September 2009.
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.
OBJECT-ORIENTEDNESS KCDCC. WHAT IS OBJECT-ORIENTEDNESS? KCDCC model system as a collection of interacting objects O-O Modelling O-O Programming similar.
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.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
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: 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.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
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.
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
The Movement To Objects
OBJECT RELATIONSHIPS, ATTRIBUTES, AND METHODS
UML Class Diagrams: Basic Concepts
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
Presentation transcript:

OBJECT-ORIENTEDNESS

What is Object-Orientedness? model system as a collection of interacting objects O-O Modelling  O-O Programming ► similar conceptual philosophy ► different purpose 2/26

Objects 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) 3/26

there are many THINGS in the world 5/25 From: Sigfried S (1996). Understanding Object-Oriented Software Engineering

the World our Model From: Sigfried S (1996). Understanding Object-Oriented Software Engineering 5/26

Objects (cont..) individual, identifiable entity (real or abstract) with a well defined role in the problem domain 6/26

Object Properties 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) 7/26

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

Classes and Instances 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 9/26

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

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

12/26

Class Relationships 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 13/26

depends on purpose Classification brings order no simple recipe ► knowledge ordered hierarchically ► no perfect class structure & set of objects ► difficult - boundaries are fuzzy ► difficult to define precisely attributes & values e.g. cup and bowl ► different views 14/26

Classification (cont.) ● superclass, subclass, instance ► general to specific ► fewer members - more specific ► ancestors - descendants ► parent - child 15/26 15/25

Inheritance 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’ ►avoids redundancy 16/26

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

vehicle land vehicle water vehicle amphibious vehicle carboat Multiple Inheritance ato 18/26

Generalization / Specialization 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 19/26

Aggregation / Decomposition assembly / component 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 20/25

lamp fluorescent lamp incandescent lamp ballaststarter socket Aggregation / Decomposition addition of components basecover switch ato aco 21/26

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 classification inheritance aggregation ► localize data & procedures in a module ► taxonomic / typologic hierarchy ► makes order ► reusability ► structural hierarchy ► hides / adds details 23/26

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 24/26

O-O Databases databases 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 25/25